]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - samples/bpf/Makefile
Merge tag 'rtc-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
[linux.git] / samples / bpf / Makefile
index 100a49d35c7742f8750fbc863fef4a3e3305ed84..66ae15f27c70d8ecd7c52760e0c84d469b9faf0f 100644 (file)
@@ -208,12 +208,20 @@ endif
 BTF_LLC_PROBE := $(shell $(LLC) -march=bpf -mattr=help 2>&1 | grep dwarfris)
 BTF_PAHOLE_PROBE := $(shell $(BTF_PAHOLE) --help 2>&1 | grep BTF)
 BTF_OBJCOPY_PROBE := $(shell $(LLVM_OBJCOPY) --help 2>&1 | grep -i 'usage.*llvm')
+BTF_LLVM_PROBE := $(shell echo "int main() { return 0; }" | \
+                         $(CLANG) -target bpf -O2 -g -c -x c - -o ./llvm_btf_verify.o; \
+                         readelf -S ./llvm_btf_verify.o | grep BTF; \
+                         /bin/rm -f ./llvm_btf_verify.o)
 
+ifneq ($(BTF_LLVM_PROBE),)
+       EXTRA_CFLAGS += -g
+else
 ifneq ($(and $(BTF_LLC_PROBE),$(BTF_PAHOLE_PROBE),$(BTF_OBJCOPY_PROBE)),)
        EXTRA_CFLAGS += -g
        LLC_FLAGS += -mattr=dwarfris
        DWARF2BTF = y
 endif
+endif
 
 # Trick to allow make to be run from this directory
 all:
@@ -230,6 +238,7 @@ $(LIBBPF): FORCE
 $(obj)/syscall_nrs.h:  $(obj)/syscall_nrs.s FORCE
        $(call filechk,offsets,__SYSCALL_NRS_H__)
 
+targets += syscall_nrs.s
 clean-files += syscall_nrs.h
 
 FORCE: