mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 02:09:42 +00:00
perf build: Add sdt feature detection
This checks whether sys/sdt.h is available or not, which is required for DTRACE_PROBE(). We can disable this feature by passing NO_SDT=1 when building. This flag will be used for SDT test case and further SDT events in perftools. Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> 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: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/146831795615.17065.17513820540591053933.stgit@devbox Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
7e9fca51fb
commit
e26e63be64
7 changed files with 34 additions and 3 deletions
|
@ -62,7 +62,8 @@ FEATURE_TESTS_BASIC := \
|
|||
zlib \
|
||||
lzma \
|
||||
get_cpuid \
|
||||
bpf
|
||||
bpf \
|
||||
sdt
|
||||
|
||||
# FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
|
||||
# of all feature tests
|
||||
|
|
|
@ -45,7 +45,8 @@ FILES= \
|
|||
test-zlib.bin \
|
||||
test-lzma.bin \
|
||||
test-bpf.bin \
|
||||
test-get_cpuid.bin
|
||||
test-get_cpuid.bin \
|
||||
test-sdt.bin
|
||||
|
||||
FILES := $(addprefix $(OUTPUT),$(FILES))
|
||||
|
||||
|
@ -213,6 +214,9 @@ $(OUTPUT)test-get_cpuid.bin:
|
|||
$(OUTPUT)test-bpf.bin:
|
||||
$(BUILD)
|
||||
|
||||
$(OUTPUT)test-sdt.bin:
|
||||
$(BUILD)
|
||||
|
||||
-include $(OUTPUT)*.d
|
||||
|
||||
###############################
|
||||
|
|
|
@ -145,6 +145,10 @@
|
|||
# include "test-libcrypto.c"
|
||||
#undef main
|
||||
|
||||
#define main main_test_sdt
|
||||
# include "test-sdt.c"
|
||||
#undef main
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
main_test_libpython();
|
||||
|
@ -178,6 +182,7 @@ int main(int argc, char *argv[])
|
|||
main_test_get_cpuid();
|
||||
main_test_bpf();
|
||||
main_test_libcrypto();
|
||||
main_test_sdt();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
7
tools/build/feature/test-sdt.c
Normal file
7
tools/build/feature/test-sdt.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
#include <sys/sdt.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
DTRACE_PROBE(provider, name);
|
||||
return 0;
|
||||
}
|
|
@ -81,6 +81,9 @@ include ../scripts/utilities.mak
|
|||
#
|
||||
# Define NO_LIBBPF if you do not want BPF support
|
||||
#
|
||||
# Define NO_SDT if you do not want to define SDT event in perf tools,
|
||||
# note that it doesn't disable SDT scanning support.
|
||||
#
|
||||
# Define FEATURES_DUMP to provide features detection dump file
|
||||
# and bypass the feature detection
|
||||
|
||||
|
|
|
@ -355,6 +355,16 @@ ifndef NO_LIBELF
|
|||
endif # NO_LIBBPF
|
||||
endif # NO_LIBELF
|
||||
|
||||
ifndef NO_SDT
|
||||
ifneq ($(feature-sdt), 1)
|
||||
msg := $(warning No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev);
|
||||
NO_SDT := 1;
|
||||
else
|
||||
CFLAGS += -DHAVE_SDT_EVENT
|
||||
$(call detected,CONFIG_SDT_EVENT)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef PERF_HAVE_JITDUMP
|
||||
ifndef NO_DWARF
|
||||
$(call detected,CONFIG_JITDUMP)
|
||||
|
|
|
@ -82,6 +82,7 @@ make_no_auxtrace := NO_AUXTRACE=1
|
|||
make_no_libbpf := NO_LIBBPF=1
|
||||
make_no_libcrypto := NO_LIBCRYPTO=1
|
||||
make_with_babeltrace:= LIBBABELTRACE=1
|
||||
make_no_sdt := NO_SDT=1
|
||||
make_tags := tags
|
||||
make_cscope := cscope
|
||||
make_help := help
|
||||
|
@ -105,7 +106,7 @@ make_minimal := NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1
|
|||
make_minimal += NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1
|
||||
make_minimal += NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1
|
||||
make_minimal += NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1
|
||||
make_minimal += NO_LIBCRYPTO=1
|
||||
make_minimal += NO_LIBCRYPTO=1 NO_SDT=1
|
||||
|
||||
# $(run) contains all available tests
|
||||
run := make_pure
|
||||
|
|
Loading…
Reference in a new issue