summaryrefslogtreecommitdiffstats
path: root/tools/build
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2016-07-04 18:35:47 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-07-04 18:38:59 -0400
commit2492c465ad3ae6860ebfff1c9032865017835e70 (patch)
tree3d90bb4516d8e7bfbff757a824954c8b91a046bd /tools/build
parent4a0f65c102ec3a718b4a0b90981232b6cb019477 (diff)
perf build: Add feature detection for libelf's elf_getshdrstrndx()
That appeared after 0.140, and will be used in the SDT code, so, to avoid bisection break on older systems, add a feature detection and provide a stub with a pr_debug() to keep it building. Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com> Cc: Brendan Gregg <brendan.d.gregg@gmail.com> Cc: Hemant Kumar <hemant@linux.vnet.ibm.com> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/tip-80y0eldgweorqnwha9rvfxjr@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/build')
-rw-r--r--tools/build/Makefile.feature1
-rw-r--r--tools/build/feature/Makefile4
-rw-r--r--tools/build/feature/test-all.c5
-rw-r--r--tools/build/feature/test-libelf-getshdrstrndx.c8
4 files changed, 18 insertions, 0 deletions
diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
index 57c8f98874e8..3dd529bb0604 100644
--- a/tools/build/Makefile.feature
+++ b/tools/build/Makefile.feature
@@ -40,6 +40,7 @@ FEATURE_TESTS_BASIC := \
40 libbfd \ 40 libbfd \
41 libelf \ 41 libelf \
42 libelf-getphdrnum \ 42 libelf-getphdrnum \
43 libelf-getshdrstrndx \
43 libelf-mmap \ 44 libelf-mmap \
44 libnuma \ 45 libnuma \
45 numa_num_possible_cpus \ 46 numa_num_possible_cpus \
diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 3d88f09e188b..674711629ef0 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -17,6 +17,7 @@ FILES= \
17 test-cplus-demangle.bin \ 17 test-cplus-demangle.bin \
18 test-libelf.bin \ 18 test-libelf.bin \
19 test-libelf-getphdrnum.bin \ 19 test-libelf-getphdrnum.bin \
20 test-libelf-getshdrstrndx.bin \
20 test-libelf-mmap.bin \ 21 test-libelf-mmap.bin \
21 test-libnuma.bin \ 22 test-libnuma.bin \
22 test-numa_num_possible_cpus.bin \ 23 test-numa_num_possible_cpus.bin \
@@ -98,6 +99,9 @@ $(OUTPUT)test-libelf-mmap.bin:
98$(OUTPUT)test-libelf-getphdrnum.bin: 99$(OUTPUT)test-libelf-getphdrnum.bin:
99 $(BUILD) -lelf 100 $(BUILD) -lelf
100 101
102$(OUTPUT)test-libelf-getshdrstrndx.bin:
103 $(BUILD) -lelf
104
101$(OUTPUT)test-libnuma.bin: 105$(OUTPUT)test-libnuma.bin:
102 $(BUILD) -lnuma 106 $(BUILD) -lnuma
103 107
diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c
index a282e8cb84f3..7433cca33306 100644
--- a/tools/build/feature/test-all.c
+++ b/tools/build/feature/test-all.c
@@ -49,6 +49,10 @@
49# include "test-libelf-getphdrnum.c" 49# include "test-libelf-getphdrnum.c"
50#undef main 50#undef main
51 51
52#define main main_test_libelf_getshdrstrndx
53# include "test-libelf-getshdrstrndx.c"
54#undef main
55
52#define main main_test_libunwind 56#define main main_test_libunwind
53# include "test-libunwind.c" 57# include "test-libunwind.c"
54#undef main 58#undef main
@@ -149,6 +153,7 @@ int main(int argc, char *argv[])
149 main_test_dwarf(); 153 main_test_dwarf();
150 main_test_dwarf_getlocations(); 154 main_test_dwarf_getlocations();
151 main_test_libelf_getphdrnum(); 155 main_test_libelf_getphdrnum();
156 main_test_libelf_getshdrstrndx();
152 main_test_libunwind(); 157 main_test_libunwind();
153 main_test_libaudit(); 158 main_test_libaudit();
154 main_test_libslang(); 159 main_test_libslang();
diff --git a/tools/build/feature/test-libelf-getshdrstrndx.c b/tools/build/feature/test-libelf-getshdrstrndx.c
new file mode 100644
index 000000000000..f0c3b47cce28
--- /dev/null
+++ b/tools/build/feature/test-libelf-getshdrstrndx.c
@@ -0,0 +1,8 @@
1#include <libelf.h>
2
3int main(void)
4{
5 size_t dst;
6
7 return elf_getshdrstrndx(0, &dst);
8}