Re: [RFC PATCH v9 02/50] tools build: Add feature check for eBPF API

From: Arnaldo Carvalho de Melo
Date: Mon Jun 29 2015 - 15:22:07 EST


Em Fri, Jun 26, 2015 at 02:15:07PM +0000, Wang Nan escreveu:
> In this patch, eBPF API is checked by compiling a c source file which
> uses fields in bpf_attr which will be used by libbpf.
>
> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>

So, I just applied this and after trying:

[acme@felicio linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf
; make O=/tmp/build/perf -C tools/perf install-bin
make: Entering directory `/home/acme/git/linux/tools/perf'
BUILD: Doing 'make -j4' parallel build

Auto-detecting system features:
... dwarf: [ on ]
... glibc: [ on ]
... gtk2: [ on ]
... libaudit: [ on ]
... libbfd: [ on ]
... libelf: [ on ]
... libnuma: [ on ]
... libperl: [ on ]
... libpython: [ on ]
... libslang: [ on ]
... libunwind: [ on ]
... libdw-dwarf-unwind: [ on ]
... zlib: [ on ]
... lzma: [ on ]
... bpf: [ OFF ]

MKDIR /tmp/build/perf/util/
CC /tmp/build/perf/util/abspath.o

--------------------------------------------------------

So, what should I do now? I want to have that OFF line turned to "on",
so that I can test this stuff.

But the changelog says nothing about it, lemme check the cover letter,
but having to do that is annoying, one expects to have instructions
related to some specific changeset in its comments...

- Arnaldo


> ---
> tools/build/Makefile.feature | 6 ++++--
> tools/build/feature/Makefile | 6 +++++-
> tools/build/feature/test-bpf.c | 18 ++++++++++++++++++
> 3 files changed, 27 insertions(+), 3 deletions(-)
> create mode 100644 tools/build/feature/test-bpf.c
>
> diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> index 2975632..5ec6b37 100644
> --- a/tools/build/Makefile.feature
> +++ b/tools/build/Makefile.feature
> @@ -51,7 +51,8 @@ FEATURE_TESTS ?= \
> timerfd \
> libdw-dwarf-unwind \
> zlib \
> - lzma
> + lzma \
> + bpf
>
> FEATURE_DISPLAY ?= \
> dwarf \
> @@ -67,7 +68,8 @@ FEATURE_DISPLAY ?= \
> libunwind \
> libdw-dwarf-unwind \
> zlib \
> - lzma
> + lzma \
> + bpf
>
> # 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
> diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
> index 463ed8f..1c0d69f 100644
> --- a/tools/build/feature/Makefile
> +++ b/tools/build/feature/Makefile
> @@ -33,7 +33,8 @@ FILES= \
> test-compile-32.bin \
> test-compile-x32.bin \
> test-zlib.bin \
> - test-lzma.bin
> + test-lzma.bin \
> + test-bpf.bin
>
> CC := $(CROSS_COMPILE)gcc -MD
> PKG_CONFIG := $(CROSS_COMPILE)pkg-config
> @@ -156,6 +157,9 @@ test-zlib.bin:
> test-lzma.bin:
> $(BUILD) -llzma
>
> +test-bpf.bin:
> + $(BUILD)
> +
> -include *.d
>
> ###############################
> diff --git a/tools/build/feature/test-bpf.c b/tools/build/feature/test-bpf.c
> new file mode 100644
> index 0000000..062bac8
> --- /dev/null
> +++ b/tools/build/feature/test-bpf.c
> @@ -0,0 +1,18 @@
> +#include <linux/bpf.h>
> +
> +int main(void)
> +{
> + union bpf_attr attr;
> +
> + attr.prog_type = BPF_PROG_TYPE_KPROBE;
> + attr.insn_cnt = 0;
> + attr.insns = 0;
> + attr.license = 0;
> + attr.log_buf = 0;
> + attr.log_size = 0;
> + attr.log_level = 0;
> + attr.kern_version = 0;
> +
> + attr = attr;
> + return 0;
> +}
> --
> 1.8.3.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/