mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
tools build: Add test for presence of __get_cpuid() gcc builtin
The auxtrace code needed by Intel PT uses the __get_cpuid() gcc builtin,
that is not present in old systems, breaking the build.
Add a test to check for that builtin and disable AUXTRACE in those
systems.
[acme@rhel5 linux]$ make NO_LIBPERL=1 -C tools/perf O=/tmp/build/perf install-bin
make: Entering directory `/home/acme/git/linux/tools/perf'
BUILD: Doing 'make -j2' parallel build
Auto-detecting system features:
<SNIP>
... lzma: [ on ]
... get_cpuid: [ OFF ]
<SNIP>
config/Makefile:630: Your gcc lacks the __get_cpuid() builtin, disables support for auxtrace/Intel PT, please install a newer gcc
MKDIR /tmp/build/perf/util/
<SNIP>
This fixes the build on old systems such as RHEL/CentOS 5.11.
Cc: Adrian Hunter <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: "Naveen N. Rao" <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Srikar Dronamraju <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: Victor Kamensky <[email protected]>
Cc: Vinson Lee <[email protected]>
Cc: Wang Nan <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
parent
f8ac8606fd
commit
b0063dbfb0
5 changed files with 28 additions and 5 deletions
|
|
@ -52,7 +52,8 @@ FEATURE_TESTS ?= \
|
|||
timerfd \
|
||||
libdw-dwarf-unwind \
|
||||
zlib \
|
||||
lzma
|
||||
lzma \
|
||||
get_cpuid
|
||||
|
||||
FEATURE_DISPLAY ?= \
|
||||
dwarf \
|
||||
|
|
@ -69,7 +70,8 @@ FEATURE_DISPLAY ?= \
|
|||
libunwind \
|
||||
libdw-dwarf-unwind \
|
||||
zlib \
|
||||
lzma
|
||||
lzma \
|
||||
get_cpuid
|
||||
|
||||
# Set FEATURE_CHECK_(C|LD)FLAGS-all for all FEATURE_TESTS features.
|
||||
# If in the future we need per-feature checks/flags for features not
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@ FILES= \
|
|||
test-compile-x32.bin \
|
||||
test-zlib.bin \
|
||||
test-lzma.bin \
|
||||
test-bpf.bin
|
||||
test-bpf.bin \
|
||||
test-get_cpuid.bin
|
||||
|
||||
CC := $(CROSS_COMPILE)gcc -MD
|
||||
PKG_CONFIG := $(CROSS_COMPILE)pkg-config
|
||||
|
|
@ -166,6 +167,9 @@ test-zlib.bin:
|
|||
test-lzma.bin:
|
||||
$(BUILD) -llzma
|
||||
|
||||
test-get_cpuid.bin:
|
||||
$(BUILD)
|
||||
|
||||
test-bpf.bin:
|
||||
$(BUILD)
|
||||
|
||||
|
|
|
|||
|
|
@ -121,6 +121,10 @@
|
|||
# include "test-lzma.c"
|
||||
#undef main
|
||||
|
||||
#define main main_test_get_cpuid
|
||||
# include "test-get_cpuid.c"
|
||||
#undef main
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
main_test_libpython();
|
||||
|
|
@ -148,6 +152,7 @@ int main(int argc, char *argv[])
|
|||
main_test_zlib();
|
||||
main_test_pthread_attr_setaffinity_np();
|
||||
main_test_lzma();
|
||||
main_test_get_cpuid();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
7
tools/build/feature/test-get_cpuid.c
Normal file
7
tools/build/feature/test-get_cpuid.c
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#include <cpuid.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
unsigned int eax = 0, ebx = 0, ecx = 0, edx = 0;
|
||||
return __get_cpuid(0x15, &eax, &ebx, &ecx, &edx);
|
||||
}
|
||||
Loading…
Reference in a new issue