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 <wangn...@huawei.com>
Acked-by: Alexei Starovoitov <a...@plumgrid.com>
---
 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..a96160b
--- /dev/null
+++ b/tools/build/feature/test-bpf.c
@@ -0,0 +1,18 @@
+#include <linux/bpf.h>
+
+int main()
+{
+       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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to