Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'selftest-makefile-cleanup'

Andrii Nakryiko says:

====================
Fix issues with bpf_helper_defs.h usage in selftests/bpf. As part of that, fix
the way clean up is performed for libbpf and selftests/bpf. Some for Makefile
output clean ups as well.
====================

Signed-off-by: Alexei Starovoitov <ast@kernel.org>

+22 -18
+5 -4
tools/lib/bpf/Makefile
··· 273 273 $(Q)$(MAKE) -C $(srctree)/tools/build/feature/ clean >/dev/null 274 274 275 275 clean: 276 - $(call QUIET_CLEAN, libbpf) $(RM) -rf $(CMD_TARGETS) \ 277 - *.o *~ *.a *.so *.so.$(LIBBPF_MAJOR_VERSION) .*.d .*.cmd \ 278 - *.pc LIBBPF-CFLAGS $(BPF_HELPER_DEFS) \ 279 - $(SHARED_OBJDIR) $(STATIC_OBJDIR) 276 + $(call QUIET_CLEAN, libbpf) $(RM) -rf $(CMD_TARGETS) \ 277 + *~ .*.d .*.cmd LIBBPF-CFLAGS $(BPF_HELPER_DEFS) \ 278 + $(SHARED_OBJDIR) $(STATIC_OBJDIR) \ 279 + $(addprefix $(OUTPUT), \ 280 + *.o *.a *.so *.so.$(LIBBPF_MAJOR_VERSION) *.pc) 280 281 $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf 281 282 282 283
+1 -1
tools/lib/bpf/bpf_helpers.h
··· 2 2 #ifndef __BPF_HELPERS__ 3 3 #define __BPF_HELPERS__ 4 4 5 - #include "bpf_helper_defs.h" 5 + #include <bpf_helper_defs.h> 6 6 7 7 #define __uint(name, val) int (*name)[val] 8 8 #define __type(name, val) typeof(val) *name
-2
tools/testing/selftests/bpf/.gitignore
··· 22 22 test_skb_cgroup_id_user 23 23 test_socket_cookie 24 24 test_cgroup_storage 25 - test_select_reuseport 26 25 test_flow_dissector 27 26 flow_dissector_load 28 27 test_netcnt 29 - test_section_names 30 28 test_tcpnotify_user 31 29 test_libbpf 32 30 test_tcp_check_syncookie_user
+16 -11
tools/testing/selftests/bpf/Makefile
··· 20 20 LLC ?= llc 21 21 LLVM_OBJCOPY ?= llvm-objcopy 22 22 BPF_GCC ?= $(shell command -v bpf-gcc;) 23 - CFLAGS += -g -Wall -O2 $(GENFLAGS) -I$(APIDIR) -I$(LIBDIR) -I$(BPFDIR) \ 24 - -I$(GENDIR) -I$(TOOLSINCDIR) -I$(CURDIR) \ 23 + CFLAGS += -g -Wall -O2 $(GENFLAGS) -I$(CURDIR) -I$(APIDIR) -I$(LIBDIR) \ 24 + -I$(BPFDIR) -I$(GENDIR) -I$(TOOLSINCDIR) \ 25 25 -Dbpf_prog_load=bpf_prog_test_load \ 26 26 -Dbpf_load_program=bpf_test_load_program 27 27 LDLIBS += -lcap -lelf -lz -lrt -lpthread ··· 83 83 # $3 - target (assumed to be file); only file name will be emitted; 84 84 # $4 - optional extra arg, emitted as-is, if provided. 85 85 ifeq ($(V),1) 86 + Q = 86 87 msg = 87 88 else 89 + Q = @ 88 90 msg = @$(info $(1)$(if $(2), [$(2)]) $(notdir $(3)))$(if $(4), $(4)) 91 + MAKEFLAGS += --no-print-directory 89 92 endif 90 93 91 94 # override lib.mk's default rules ··· 96 93 override define CLEAN 97 94 $(call msg, CLEAN) 98 95 $(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN) 96 + $(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/ clean 99 97 endef 100 98 101 99 include ../lib.mk ··· 150 146 BPFTOOL ?= $(DEFAULT_BPFTOOL) 151 147 152 148 $(DEFAULT_BPFTOOL): force 153 - $(MAKE) -C $(BPFTOOLDIR) DESTDIR=$(OUTPUT)/tools install 149 + $(Q)$(MAKE) -C $(BPFTOOLDIR) DESTDIR=$(OUTPUT)/tools install 154 150 155 151 $(BPFOBJ): force 156 - $(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/ 152 + $(Q)$(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/ 157 153 158 154 BPF_HELPERS := $(OUTPUT)/bpf_helper_defs.h $(wildcard $(BPFDIR)/bpf_*.h) 159 - $(OUTPUT)/bpf_helper_defs.h: 160 - $(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/ $(OUTPUT)/bpf_helper_defs.h 155 + $(OUTPUT)/bpf_helper_defs.h: $(BPFOBJ) 156 + $(Q)$(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/ $(OUTPUT)/bpf_helper_defs.h 161 157 162 158 # Get Clang's default includes on this system, as opposed to those seen by 163 159 # '-target bpf'. This fixes "missing" files on some architectures/distros, ··· 177 173 178 174 CLANG_SYS_INCLUDES = $(call get_sys_includes,$(CLANG)) 179 175 BPF_CFLAGS = -g -D__TARGET_ARCH_$(SRCARCH) $(MENDIAN) \ 180 - -I. -I./include/uapi -I$(APIDIR) \ 181 - -I$(BPFDIR) -I$(abspath $(OUTPUT)/../usr/include) 176 + -I$(OUTPUT) -I$(CURDIR) -I$(CURDIR)/include/uapi \ 177 + -I$(APIDIR) -I$(BPFDIR) -I$(abspath $(OUTPUT)/../usr/include) 182 178 183 179 CLANG_CFLAGS = $(CLANG_SYS_INCLUDES) \ 184 180 -Wno-compare-distinct-pointer-types ··· 256 252 ifeq ($($(TRUNNER_OUTPUT)-dir),) 257 253 $(TRUNNER_OUTPUT)-dir := y 258 254 $(TRUNNER_OUTPUT): 255 + $$(call msg, MKDIR,,$$@) 259 256 mkdir -p $$@ 260 257 endif 261 258 ··· 333 328 TRUNNER_EXTRA_FILES := $(OUTPUT)/urandom_read \ 334 329 $(wildcard progs/btf_dump_test_case_*.c) 335 330 TRUNNER_BPF_BUILD_RULE := CLANG_BPF_BUILD_RULE 336 - TRUNNER_BPF_CFLAGS := -I. -I$(OUTPUT) $(BPF_CFLAGS) $(CLANG_CFLAGS) 331 + TRUNNER_BPF_CFLAGS := $(BPF_CFLAGS) $(CLANG_CFLAGS) 337 332 TRUNNER_BPF_LDFLAGS := -mattr=+alu32 338 333 $(eval $(call DEFINE_TEST_RUNNER,test_progs)) 339 334 ··· 382 377 383 378 EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) \ 384 379 prog_tests/tests.h map_tests/tests.h verifier/tests.h \ 385 - feature $(OUTPUT)/*.o $(OUTPUT)/no_alu32 $(OUTPUT)/bpf_gcc \ 386 - tools *.skel.h 380 + feature \ 381 + $(addprefix $(OUTPUT)/,*.o *.skel.h no_alu32 bpf_gcc tools)