lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 30 Aug 2013 17:18:36 +0200
From:	Sedat Dilek <sedat.dilek@...il.com>
To:	LKML <linux-kernel@...r.kernel.org>
Cc:	Sedat Dilek <sedat.dilek@...il.com>,
	Ingo Molnar <mingo@...nel.org>,
	Peter Zijlstra <peterz@...radead.org>,
	Arnaldo Carvalho de Melo <acme@...hat.com>,
	Linus Torvalds <torvalds@...ux-foundation.org>
Subject: [PATCH] tools: perf: Fix liblk not built when using perf_install target

After a successful Linux-kernel build I wanted to build only perf
as a linux-tools to do some benchmarking of the spinlock-lockref
changes together with a test-case from Linus.

I followed the advices in "tools/Makefile".

[ tools/Makefile ]
...
        @echo 'You can do:'
        @echo ' $$ make -C tools/ <tool>_install' <--- NOTE THIS ONE!
        @echo ''
        @echo '  from the kernel command line to build and install one of'
        @echo '  the tools above'
...

So, I tried to build perf the "official" way:

   $ make -C tools/ perf_install

Unfortunately, my build breaks like this:
...
make[2]: Entering directory
`~/src/linux-kernel/linux/tools/lib/traceevent'
make[2]: Leaving directory
`~/src/linux-kernel/linux/tools/lib/traceevent'
    LINK perf
gcc: error: ~/src/linux-kernel/linux/tools/lib/lk/liblk.a: No such file or directory
make[1]: *** [perf] Error 1
make[1]: Leaving directory `~/src/linux-kernel/linux/tools/perf'
make: *** [perf_install] Error 2

After some discussion on IRC with peterz and acme and a closer look at
the targets in "tools/Makefile", I have noticed that the perf_install
target misses liblk to be built beforehand.
On the contrary the perf_clean target invokes to clean liblk when perf
is cleaned.

[ tools/Makefile ]
...
perf_clean: liblk_clean
	$(call descend,$(@:_clean=),clean)
...

Fix this by adding liblk target to perf_install target.

For more details see this thread in [1]:
"[3.11-rc7] Building perf-only the "official" way seems to be BROKEN?"

[1] http://marc.info/?t=137786599400001&r=1&w=2

Cc: Ingo Molnar <mingo@...nel.org>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Signed-off-by: Sedat Dilek <sedat.dilek@...il.com>
---
 tools/Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/Makefile b/tools/Makefile
index 41067f3..c15f0e7 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -53,7 +53,10 @@ turbostat x86_energy_perf_policy: FORCE
 cpupower_install:
 	$(call descend,power/$(@:_install=),install)
 
-cgroup_install firewire_install lguest_install perf_install usb_install virtio_install vm_install net_install:
+cgroup_install firewire_install lguest_install usb_install virtio_install vm_install net_install:
+	$(call descend,$(@:_install=),install)
+
+perf_install: liblk
 	$(call descend,$(@:_install=),install)
 
 selftests_install:
-- 
1.8.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ