samples/bpf: Clean up samples/bpf build failes
[ Upstream commit 527024f7ae
]
Remove xdp_samples_user.o rule redefinition which generates Makefile
warning and instead override TPROGS_CFLAGS. This seems to work fine when
building inside selftests/bpf.
That was one big head-scratcher before I found that generic
Makefile.target hid this surprising specialization for for xdp_samples_user.o.
Main change is to use actual locally installed libbpf headers.
Also drop printk macro re-definition (not even used!).
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20211201232824.3166325-8-andrii@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
7b4a30bbf8
Коммит
c7d36c19cf
|
@ -325,7 +325,7 @@ $(BPF_SAMPLES_PATH)/*.c: verify_target_bpf $(LIBBPF)
|
|||
$(src)/*.c: verify_target_bpf $(LIBBPF)
|
||||
|
||||
libbpf_hdrs: $(LIBBPF)
|
||||
$(obj)/$(TRACE_HELPERS): | libbpf_hdrs
|
||||
$(obj)/$(TRACE_HELPERS) $(obj)/$(CGROUP_HELPERS) $(obj)/$(XDP_SAMPLE): | libbpf_hdrs
|
||||
|
||||
.PHONY: libbpf_hdrs
|
||||
|
||||
|
@ -340,6 +340,17 @@ $(obj)/hbm_out_kern.o: $(src)/hbm.h $(src)/hbm_kern.h
|
|||
$(obj)/hbm.o: $(src)/hbm.h
|
||||
$(obj)/hbm_edt_kern.o: $(src)/hbm.h $(src)/hbm_kern.h
|
||||
|
||||
# Override includes for xdp_sample_user.o because $(srctree)/usr/include in
|
||||
# TPROGS_CFLAGS causes conflicts
|
||||
XDP_SAMPLE_CFLAGS += -Wall -O2 -lm \
|
||||
-I$(src)/../../tools/include \
|
||||
-I$(src)/../../tools/include/uapi \
|
||||
-I$(LIBBPF_INCLUDE) \
|
||||
-I$(src)/../../tools/testing/selftests/bpf
|
||||
|
||||
$(obj)/$(XDP_SAMPLE): TPROGS_CFLAGS = $(XDP_SAMPLE_CFLAGS)
|
||||
$(obj)/$(XDP_SAMPLE): $(src)/xdp_sample_user.h $(src)/xdp_sample_shared.h
|
||||
|
||||
-include $(BPF_SAMPLES_PATH)/Makefile.target
|
||||
|
||||
VMLINUX_BTF_PATHS ?= $(abspath $(if $(O),$(O)/vmlinux)) \
|
||||
|
|
|
@ -73,14 +73,3 @@ quiet_cmd_tprog-cobjs = CC $@
|
|||
cmd_tprog-cobjs = $(CC) $(tprogc_flags) -c -o $@ $<
|
||||
$(tprog-cobjs): $(obj)/%.o: $(src)/%.c FORCE
|
||||
$(call if_changed_dep,tprog-cobjs)
|
||||
|
||||
# Override includes for xdp_sample_user.o because $(srctree)/usr/include in
|
||||
# TPROGS_CFLAGS causes conflicts
|
||||
XDP_SAMPLE_CFLAGS += -Wall -O2 -lm \
|
||||
-I./tools/include \
|
||||
-I./tools/include/uapi \
|
||||
-I./tools/lib \
|
||||
-I./tools/testing/selftests/bpf
|
||||
$(obj)/xdp_sample_user.o: $(src)/xdp_sample_user.c \
|
||||
$(src)/xdp_sample_user.h $(src)/xdp_sample_shared.h
|
||||
$(CC) $(XDP_SAMPLE_CFLAGS) -c -o $@ $<
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
* Include file for sample Host Bandwidth Manager (HBM) BPF programs
|
||||
*/
|
||||
#define KBUILD_MODNAME "foo"
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
#include <uapi/linux/bpf.h>
|
||||
#include <uapi/linux/if_ether.h>
|
||||
#include <uapi/linux/if_packet.h>
|
||||
|
|
|
@ -16,13 +16,6 @@
|
|||
#include <uapi/linux/in.h>
|
||||
#include <bpf/bpf_helpers.h>
|
||||
|
||||
# define printk(fmt, ...) \
|
||||
({ \
|
||||
char ____fmt[] = fmt; \
|
||||
bpf_trace_printk(____fmt, sizeof(____fmt), \
|
||||
##__VA_ARGS__); \
|
||||
})
|
||||
|
||||
struct bpf_elf_map {
|
||||
__u32 type;
|
||||
__u32 size_key;
|
||||
|
|
Загрузка…
Ссылка в новой задаче