The urandom_read helper and its shared library are built with $(CLANG)
directly rather than through the normal selftest $(CC) rules.

The CFLAGS variable can contain specific flags only for $(CC) but might
be imcompatible for $(CLANG) and those flags are not necessarily valid
for the clang-only urandom_read build.

Split the BPF selftest local flags into COMMON_CFLAGS and append them to
CFLAGS for the normal build path. Use COMMON_CFLAGS directly for
urandom_read and liburandom_read.so, while still filtering out -static as
before.

Signed-off-by: Leo Yan <[email protected]>
---
 tools/testing/selftests/bpf/Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/bpf/Makefile 
b/tools/testing/selftests/bpf/Makefile
index 
bc049620c7745ce35976f5e0922eb680e38def13..1e47e29ba4214925c62afc0595a7edb859ace944
 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -51,7 +51,7 @@ srctree := $(patsubst %/,%,$(dir $(srctree)))
 srctree := $(patsubst %/,%,$(dir $(srctree)))
 endif
 
-CFLAGS += -g $(OPT_FLAGS) -rdynamic -std=gnu11                         \
+COMMON_CFLAGS = -g $(OPT_FLAGS) -rdynamic -std=gnu11                           
\
          -Wall -Werror -fno-omit-frame-pointer                         \
          -Wno-unused-but-set-variable                                  \
          $(GENFLAGS) $(SAN_CFLAGS) $(LIBELF_CFLAGS)                    \
@@ -64,7 +64,7 @@ LDLIBS += $(LIBELF_LIBS) -lz -lrt -lpthread
 PCAP_CFLAGS    := $(shell $(PKG_CONFIG) --cflags libpcap 2>/dev/null && echo 
"-DTRAFFIC_MONITOR=1")
 PCAP_LIBS      := $(shell $(PKG_CONFIG) --libs libpcap 2>/dev/null)
 LDLIBS += $(PCAP_LIBS)
-CFLAGS += $(PCAP_CFLAGS)
+CFLAGS += $(COMMON_CFLAGS) $(PCAP_CFLAGS)
 
 # Some utility functions use LLVM libraries
 jit_disasm_helpers.c-CFLAGS = $(LLVM_CFLAGS)
@@ -261,7 +261,7 @@ endif
 $(OUTPUT)/liburandom_read.so: urandom_read_lib1.c urandom_read_lib2.c 
liburandom_read.map
        $(call msg,LIB,,$@)
        $(Q)$(CLANG) $(CLANG_TARGET_ARCH) \
-                    $(filter-out -static,$(CFLAGS) $(LDFLAGS)) \
+                    $(filter-out -static,$(COMMON_CFLAGS) $(LDFLAGS)) \
                     $(filter %.c,$^) $(filter-out -static,$(LDLIBS)) \
                     -Wno-unused-command-line-argument \
                     -fuse-ld=$(LLD) -Wl,-znoseparate-code -Wl,--build-id=sha1 \
@@ -271,7 +271,7 @@ $(OUTPUT)/liburandom_read.so: urandom_read_lib1.c 
urandom_read_lib2.c liburandom
 $(OUTPUT)/urandom_read: urandom_read.c urandom_read_aux.c 
$(OUTPUT)/liburandom_read.so
        $(call msg,BINARY,,$@)
        $(Q)$(CLANG) $(CLANG_TARGET_ARCH) \
-                    $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $(filter 
%.c,$^) \
+                    $(filter-out -static,$(COMMON_CFLAGS) $(LDFLAGS)) $(filter 
%.c,$^) \
                     -Wno-unused-command-line-argument \
                     -lurandom_read $(filter-out -static,$(LDLIBS)) -L$(OUTPUT) 
\
                     -fuse-ld=$(LLD) -Wl,-znoseparate-code -Wl,--build-id=sha1 \

-- 
2.34.1


Reply via email to