tools build: Add test for sched_getcpu()
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 120010cb1eea151d38a3e66f5ffc79a0c3110292 Gitweb: http://git.kernel.org/tip/120010cb1eea151d38a3e66f5ffc79a0c3110292 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Thu, 2 Mar 2017 12:55:49 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Fri, 3 Mar 2017 19:07:19 -0300
tools build: Add test for sched_getcpu()
Instead of trying to go on adding more ifdef conditions, do a feature test and define HAVE_SCHED_GETCPU_SUPPORT instead, then use it to provide the prototype. No need to change the stub, as it is already a __weak symbol.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/build/Makefile.feature | 1 + tools/build/feature/Makefile | 6 +++++- tools/build/feature/test-all.c | 5 +++++ tools/build/feature/test-sched_getcpu.c | 7 +++++++ tools/perf/Makefile.config | 4 ++++ tools/perf/util/cloexec.h | 6 ------ tools/perf/util/util.h | 4 ++-- 7 files changed, 24 insertions(+), 9 deletions(-)
tools/build/Makefile.feature +1 -0
@@ -63,6 +63,7 @@ FEATURE_TESTS_BASIC := \ lzma \ get_cpuid \ bpf \ + sched_getcpu \ sdt # FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
tools/build/feature/Makefile +5 -1
@@ -48,7 +48,8 @@ FILES= \ test-get_cpuid.bin \ test-sdt.bin \ test-cxx.bin \ - test-jvmti.bin + test-jvmti.bin \ + test-sched_getcpu.bin FILES := $(addprefix $(OUTPUT),$(FILES))
@@ -91,6 +92,9 @@ $(OUTPUT)test-libelf.bin: $(OUTPUT)test-glibc.bin: $(BUILD) +$(OUTPUT)test-sched_getcpu.bin: + $(BUILD) + DWARFLIBS := -ldw ifeq ($(findstring -static,${LDFLAGS}),-static) DWARFLIBS += -lelf -lebl -lz -llzma -lbz2
tools/build/feature/test-all.c +5 -0
@@ -117,6 +117,10 @@# include "test-pthread-attr-setaffinity-np.c" #undef main +#define main main_test_sched_getcpu +# include "test-sched_getcpu.c" +#undef main +# if 0 /* * Disable libbabeltrace check for test-all, because the requested
@@ -182,6 +186,7 @@ int main(int argc, char *argv[])main_test_get_cpuid ();main_test_bpf ();main_test_libcrypto (); +main_test_sched_getcpu ();main_test_sdt ();return 0 ;
tools/build/feature/test-sched_getcpu.c new file +7 -0
@@ -0,0 +1,7 @@ +#define _GNU_SOURCE +#include <sched.h> + +int main (void ) +{ +return sched_getcpu (); +}
tools/perf/Makefile.config +4 -0
@@ -317,6 +317,10 @@ ifdef NO_DWARF NO_LIBDW_DWARF_UNWIND := 1 endif +ifeq ($(feature-sched_getcpu), 1) + CFLAGS += -DHAVE_SCHED_GETCPU_SUPPORT +endif + ifndef NO_LIBELF CFLAGS += -DHAVE_LIBELF_SUPPORT EXTLIBS += -lelf
tools/perf/util/cloexec.h +0 -6
@@ -3,10 +3,4 @@unsigned long perf_event_open_cloexec_flag (void ); -#ifdef __GLIBC_PREREQ -#if !__GLIBC_PREREQ (2 ,6 ) && !defined(__UCLIBC__) -int sched_getcpu(void) __THROW; -#endif -#endif -#endif /* __PERF_CLOEXEC_H */
tools/perf/util/util.h +2 -2
@@ -355,8 +355,8 @@ void print_binary(unsigned char *data, size_t len, size_t bytes_per_line, print_binary_t printer, void *extra); -#if !defined(__GLIBC__) && !defined(__ANDROID__) -extern int sched_getcpu (void ); +#ifndef HAVE_SCHED_GETCPU_SUPPORT +int sched_getcpu (void );#endif int is_printable_array (char *p,unsigned int len);