selftests/bpf: Forward SAN_CFLAGS and SAN_LDFLAGS to runqslower and libbpf
authorIlya Leoshkevich <iii@linux.ibm.com>
Fri, 10 Feb 2023 00:11:58 +0000 (01:11 +0100)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 10 Feb 2023 23:21:27 +0000 (15:21 -0800)
To get useful results from the Memory Sanitizer, all code running in a
process needs to be instrumented. When building tests with other
sanitizers, it's not strictly necessary, but is also helpful.
So make sure runqslower and libbpf are compiled with SAN_CFLAGS and
linked with SAN_LDFLAGS.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20230210001210.395194-5-iii@linux.ibm.com
tools/testing/selftests/bpf/Makefile

index 9b5786ac676ed14ac6211ff329fcb9b52574a3a5..c4b5c44cdee2513b51e2040051db16edabfca071 100644 (file)
@@ -215,7 +215,9 @@ $(OUTPUT)/runqslower: $(BPFOBJ) | $(DEFAULT_BPFTOOL) $(RUNQSLOWER_OUTPUT)
                    OUTPUT=$(RUNQSLOWER_OUTPUT) VMLINUX_BTF=$(VMLINUX_BTF)     \
                    BPFTOOL_OUTPUT=$(HOST_BUILD_DIR)/bpftool/                  \
                    BPFOBJ_OUTPUT=$(BUILD_DIR)/libbpf                          \
-                   BPFOBJ=$(BPFOBJ) BPF_INCLUDE=$(INCLUDE_DIR) &&             \
+                   BPFOBJ=$(BPFOBJ) BPF_INCLUDE=$(INCLUDE_DIR)                \
+                   EXTRA_CFLAGS='-g -O0 $(SAN_CFLAGS)'                        \
+                   EXTRA_LDFLAGS='$(SAN_LDFLAGS)' &&                          \
                    cp $(RUNQSLOWER_OUTPUT)runqslower $@
 
 TEST_GEN_PROGS_EXTENDED += $(DEFAULT_BPFTOOL)
@@ -272,7 +274,8 @@ $(BPFOBJ): $(wildcard $(BPFDIR)/*.[ch] $(BPFDIR)/Makefile)                 \
           $(APIDIR)/linux/bpf.h                                               \
           | $(BUILD_DIR)/libbpf
        $(Q)$(MAKE) $(submake_extras) -C $(BPFDIR) OUTPUT=$(BUILD_DIR)/libbpf/ \
-                   EXTRA_CFLAGS='-g -O0'                                      \
+                   EXTRA_CFLAGS='-g -O0 $(SAN_CFLAGS)'                        \
+                   EXTRA_LDFLAGS='$(SAN_LDFLAGS)'                             \
                    DESTDIR=$(SCRATCH_DIR) prefix= all install_headers
 
 ifneq ($(BPFOBJ),$(HOST_BPFOBJ))