selftests/bpf: Store BPF object files with .bpf.o extension
authorDaniel Müller <deso@posteo.net>
Thu, 1 Sep 2022 22:22:53 +0000 (22:22 +0000)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 2 Sep 2022 13:55:37 +0000 (15:55 +0200)
BPF object files are, in a way, the final artifact produced as part of
the ahead-of-time compilation process. That makes them somewhat special
compared to "regular" object files, which are a intermediate build
artifacts that can typically be removed safely. As such, it can make
sense to name them differently to make it easier to spot this difference
at a glance.

Among others, libbpf-bootstrap [0] has established the extension .bpf.o
for BPF object files. It seems reasonable to follow this example and
establish the same denomination for selftest build artifacts. To that
end, this change adjusts the corresponding part of the build system and
the test programs loading BPF object files to work with .bpf.o files.

  [0] https://github.com/libbpf/libbpf-bootstrap

Suggested-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Müller <deso@posteo.net>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220901222253.1199242-1-deso@posteo.net
68 files changed:
tools/testing/selftests/bpf/Makefile
tools/testing/selftests/bpf/README.rst
tools/testing/selftests/bpf/get_cgroup_id_user.c
tools/testing/selftests/bpf/prog_tests/bpf_obj_id.c
tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c
tools/testing/selftests/bpf/prog_tests/btf.c
tools/testing/selftests/bpf/prog_tests/btf_dump.c
tools/testing/selftests/bpf/prog_tests/btf_endian.c
tools/testing/selftests/bpf/prog_tests/connect_force_port.c
tools/testing/selftests/bpf/prog_tests/core_reloc.c
tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
tools/testing/selftests/bpf/prog_tests/get_stack_raw_tp.c
tools/testing/selftests/bpf/prog_tests/global_data.c
tools/testing/selftests/bpf/prog_tests/global_data_init.c
tools/testing/selftests/bpf/prog_tests/global_func_args.c
tools/testing/selftests/bpf/prog_tests/kfree_skb.c
tools/testing/selftests/bpf/prog_tests/l4lb_all.c
tools/testing/selftests/bpf/prog_tests/load_bytes_relative.c
tools/testing/selftests/bpf/prog_tests/map_lock.c
tools/testing/selftests/bpf/prog_tests/pinning.c
tools/testing/selftests/bpf/prog_tests/pkt_access.c
tools/testing/selftests/bpf/prog_tests/pkt_md_access.c
tools/testing/selftests/bpf/prog_tests/probe_user.c
tools/testing/selftests/bpf/prog_tests/queue_stack_map.c
tools/testing/selftests/bpf/prog_tests/rdonly_maps.c
tools/testing/selftests/bpf/prog_tests/reference_tracking.c
tools/testing/selftests/bpf/prog_tests/resolve_btfids.c
tools/testing/selftests/bpf/prog_tests/select_reuseport.c
tools/testing/selftests/bpf/prog_tests/sk_assign.c
tools/testing/selftests/bpf/prog_tests/skb_ctx.c
tools/testing/selftests/bpf/prog_tests/skb_helpers.c
tools/testing/selftests/bpf/prog_tests/sockopt_inherit.c
tools/testing/selftests/bpf/prog_tests/sockopt_multi.c
tools/testing/selftests/bpf/prog_tests/spinlock.c
tools/testing/selftests/bpf/prog_tests/stacktrace_map.c
tools/testing/selftests/bpf/prog_tests/stacktrace_map_raw_tp.c
tools/testing/selftests/bpf/prog_tests/tailcalls.c
tools/testing/selftests/bpf/prog_tests/task_fd_query_rawtp.c
tools/testing/selftests/bpf/prog_tests/task_fd_query_tp.c
tools/testing/selftests/bpf/prog_tests/tcp_estats.c
tools/testing/selftests/bpf/prog_tests/test_global_funcs.c
tools/testing/selftests/bpf/prog_tests/test_overhead.c
tools/testing/selftests/bpf/prog_tests/tp_attach_query.c
tools/testing/selftests/bpf/prog_tests/trampoline_count.c
tools/testing/selftests/bpf/prog_tests/xdp.c
tools/testing/selftests/bpf/prog_tests/xdp_adjust_frags.c
tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c
tools/testing/selftests/bpf/prog_tests/xdp_attach.c
tools/testing/selftests/bpf/prog_tests/xdp_info.c
tools/testing/selftests/bpf/prog_tests/xdp_perf.c
tools/testing/selftests/bpf/prog_tests/xdp_synproxy.c
tools/testing/selftests/bpf/progs/fexit_bpf2bpf.c
tools/testing/selftests/bpf/test_dev_cgroup.c
tools/testing/selftests/bpf/test_lirc_mode2_user.c
tools/testing/selftests/bpf/test_maps.c
tools/testing/selftests/bpf/test_offload.py
tools/testing/selftests/bpf/test_skb_cgroup_id.sh
tools/testing/selftests/bpf/test_sock_addr.c
tools/testing/selftests/bpf/test_sockmap.c
tools/testing/selftests/bpf/test_sysctl.c
tools/testing/selftests/bpf/test_tcp_check_syncookie.sh
tools/testing/selftests/bpf/test_tcpnotify_user.c
tools/testing/selftests/bpf/test_xdp_redirect.sh
tools/testing/selftests/bpf/test_xdp_redirect_multi.sh
tools/testing/selftests/bpf/test_xdp_veth.sh
tools/testing/selftests/bpf/xdp_redirect_multi.c
tools/testing/selftests/bpf/xdp_synproxy.c
tools/testing/selftests/bpf/xdping.c

index eecad99f17351fbe0e6ea86e1b63ca586909a8fc..c10adecb5a73d9834593d381878a02d45468dd0a 100644 (file)
@@ -45,7 +45,7 @@ ifneq ($(BPF_GCC),)
 TEST_GEN_PROGS += test_progs-bpf_gcc
 endif
 
-TEST_GEN_FILES = test_lwt_ip_encap.o test_tc_edt.o
+TEST_GEN_FILES = test_lwt_ip_encap.bpf.o test_tc_edt.bpf.o
 TEST_FILES = xsk_prereqs.sh $(wildcard progs/btf_dump_test_case_*.c)
 
 # Order correspond to 'make run_tests' order
@@ -358,17 +358,17 @@ LSKELS := kfunc_call_test.c fentry_test.c fexit_test.c fexit_sleep.c \
 LSKELS_EXTRA := test_ksyms_module.c test_ksyms_weak.c kfunc_call_test_subprog.c
 SKEL_BLACKLIST += $$(LSKELS)
 
-test_static_linked.skel.h-deps := test_static_linked1.o test_static_linked2.o
-linked_funcs.skel.h-deps := linked_funcs1.o linked_funcs2.o
-linked_vars.skel.h-deps := linked_vars1.o linked_vars2.o
-linked_maps.skel.h-deps := linked_maps1.o linked_maps2.o
+test_static_linked.skel.h-deps := test_static_linked1.bpf.o test_static_linked2.bpf.o
+linked_funcs.skel.h-deps := linked_funcs1.bpf.o linked_funcs2.bpf.o
+linked_vars.skel.h-deps := linked_vars1.bpf.o linked_vars2.bpf.o
+linked_maps.skel.h-deps := linked_maps1.bpf.o linked_maps2.bpf.o
 # In the subskeleton case, we want the test_subskeleton_lib.subskel.h file
 # but that's created as a side-effect of the skel.h generation.
-test_subskeleton.skel.h-deps := test_subskeleton_lib2.o test_subskeleton_lib.o test_subskeleton.o
-test_subskeleton_lib.skel.h-deps := test_subskeleton_lib2.o test_subskeleton_lib.o
-test_usdt.skel.h-deps := test_usdt.o test_usdt_multispec.o
+test_subskeleton.skel.h-deps := test_subskeleton_lib2.bpf.o test_subskeleton_lib.bpf.o test_subskeleton.bpf.o
+test_subskeleton_lib.skel.h-deps := test_subskeleton_lib2.bpf.o test_subskeleton_lib.bpf.o
+test_usdt.skel.h-deps := test_usdt.bpf.o test_usdt_multispec.bpf.o
 
-LINKED_BPF_SRCS := $(patsubst %.o,%.c,$(foreach skel,$(LINKED_SKELS),$($(skel)-deps)))
+LINKED_BPF_SRCS := $(patsubst %.bpf.o,%.c,$(foreach skel,$(LINKED_SKELS),$($(skel)-deps)))
 
 # Set up extra TRUNNER_XXX "temporary" variables in the environment (relies on
 # $eval()) and pass control to DEFINE_TEST_RUNNER_RULES.
@@ -386,7 +386,7 @@ TRUNNER_EXTRA_OBJS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.o,               \
 TRUNNER_EXTRA_HDRS := $$(filter %.h,$(TRUNNER_EXTRA_SOURCES))
 TRUNNER_TESTS_HDR := $(TRUNNER_TESTS_DIR)/tests.h
 TRUNNER_BPF_SRCS := $$(notdir $$(wildcard $(TRUNNER_BPF_PROGS_DIR)/*.c))
-TRUNNER_BPF_OBJS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.o, $$(TRUNNER_BPF_SRCS))
+TRUNNER_BPF_OBJS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.bpf.o, $$(TRUNNER_BPF_SRCS))
 TRUNNER_BPF_SKELS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.skel.h,      \
                                 $$(filter-out $(SKEL_BLACKLIST) $(LINKED_BPF_SRCS),\
                                               $$(TRUNNER_BPF_SRCS)))
@@ -416,7 +416,7 @@ endif
 # input/output directory combination
 ifeq ($($(TRUNNER_BPF_PROGS_DIR)$(if $2,-)$2-bpfobjs),)
 $(TRUNNER_BPF_PROGS_DIR)$(if $2,-)$2-bpfobjs := y
-$(TRUNNER_BPF_OBJS): $(TRUNNER_OUTPUT)/%.o:                            \
+$(TRUNNER_BPF_OBJS): $(TRUNNER_OUTPUT)/%.bpf.o:                                \
                     $(TRUNNER_BPF_PROGS_DIR)/%.c                       \
                     $(TRUNNER_BPF_PROGS_DIR)/*.h                       \
                     $$(INCLUDE_DIR)/vmlinux.h                          \
@@ -426,25 +426,25 @@ $(TRUNNER_BPF_OBJS): $(TRUNNER_OUTPUT)/%.o:                               \
        $$(call $(TRUNNER_BPF_BUILD_RULE),$$<,$$@,                      \
                                          $(TRUNNER_BPF_CFLAGS))
 
-$(TRUNNER_BPF_SKELS): %.skel.h: %.o $(BPFTOOL) | $(TRUNNER_OUTPUT)
+$(TRUNNER_BPF_SKELS): %.skel.h: %.bpf.o $(BPFTOOL) | $(TRUNNER_OUTPUT)
        $$(call msg,GEN-SKEL,$(TRUNNER_BINARY),$$@)
        $(Q)$$(BPFTOOL) gen object $$(<:.o=.linked1.o) $$<
        $(Q)$$(BPFTOOL) gen object $$(<:.o=.linked2.o) $$(<:.o=.linked1.o)
        $(Q)$$(BPFTOOL) gen object $$(<:.o=.linked3.o) $$(<:.o=.linked2.o)
        $(Q)diff $$(<:.o=.linked2.o) $$(<:.o=.linked3.o)
-       $(Q)$$(BPFTOOL) gen skeleton $$(<:.o=.linked3.o) name $$(notdir $$(<:.o=)) > $$@
-       $(Q)$$(BPFTOOL) gen subskeleton $$(<:.o=.linked3.o) name $$(notdir $$(<:.o=)) > $$(@:.skel.h=.subskel.h)
+       $(Q)$$(BPFTOOL) gen skeleton $$(<:.o=.linked3.o) name $$(notdir $$(<:.bpf.o=)) > $$@
+       $(Q)$$(BPFTOOL) gen subskeleton $$(<:.o=.linked3.o) name $$(notdir $$(<:.bpf.o=)) > $$(@:.skel.h=.subskel.h)
 
-$(TRUNNER_BPF_LSKELS): %.lskel.h: %.o $(BPFTOOL) | $(TRUNNER_OUTPUT)
+$(TRUNNER_BPF_LSKELS): %.lskel.h: %.bpf.o $(BPFTOOL) | $(TRUNNER_OUTPUT)
        $$(call msg,GEN-SKEL,$(TRUNNER_BINARY),$$@)
        $(Q)$$(BPFTOOL) gen object $$(<:.o=.llinked1.o) $$<
        $(Q)$$(BPFTOOL) gen object $$(<:.o=.llinked2.o) $$(<:.o=.llinked1.o)
        $(Q)$$(BPFTOOL) gen object $$(<:.o=.llinked3.o) $$(<:.o=.llinked2.o)
        $(Q)diff $$(<:.o=.llinked2.o) $$(<:.o=.llinked3.o)
-       $(Q)$$(BPFTOOL) gen skeleton -L $$(<:.o=.llinked3.o) name $$(notdir $$(<:.o=_lskel)) > $$@
+       $(Q)$$(BPFTOOL) gen skeleton -L $$(<:.o=.llinked3.o) name $$(notdir $$(<:.bpf.o=_lskel)) > $$@
 
 $(TRUNNER_BPF_SKELS_LINKED): $(TRUNNER_BPF_OBJS) $(BPFTOOL) | $(TRUNNER_OUTPUT)
-       $$(call msg,LINK-BPF,$(TRUNNER_BINARY),$$(@:.skel.h=.o))
+       $$(call msg,LINK-BPF,$(TRUNNER_BINARY),$$(@:.skel.h=.bpf.o))
        $(Q)$$(BPFTOOL) gen object $$(@:.skel.h=.linked1.o) $$(addprefix $(TRUNNER_OUTPUT)/,$$($$(@F)-deps))
        $(Q)$$(BPFTOOL) gen object $$(@:.skel.h=.linked2.o) $$(@:.skel.h=.linked1.o)
        $(Q)$$(BPFTOOL) gen object $$(@:.skel.h=.linked3.o) $$(@:.skel.h=.linked2.o)
@@ -500,7 +500,7 @@ $(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_TEST_OBJS)                   \
                             | $(TRUNNER_BINARY)-extras
        $$(call msg,BINARY,,$$@)
        $(Q)$$(CC) $$(CFLAGS) $$(filter %.a %.o,$$^) $$(LDLIBS) -o $$@
-       $(Q)$(RESOLVE_BTFIDS) --btf $(TRUNNER_OUTPUT)/btf_data.o $$@
+       $(Q)$(RESOLVE_BTFIDS) --btf $(TRUNNER_OUTPUT)/btf_data.bpf.o $$@
        $(Q)ln -sf $(if $2,..,.)/tools/build/bpftool/bootstrap/bpftool $(if $2,$2/)bpftool
 
 endef
index eb1b7541f39dea12b7131b58043b6d13af3c2c48..d3c6b3da0bb13c5929ef1ef7426361d2bb951938 100644 (file)
@@ -126,11 +126,11 @@ available in 10.0.1. The patch is available in llvm 11.0.0 trunk.
 
 __  https://reviews.llvm.org/D78466
 
-bpf_verif_scale/loop6.o test failure with Clang 12
-==================================================
+bpf_verif_scale/loop6.bpf.o test failure with Clang 12
+======================================================
 
 With Clang 12, the following bpf_verif_scale test failed:
-  * ``bpf_verif_scale/loop6.o``
+  * ``bpf_verif_scale/loop6.bpf.o``
 
 The verifier output looks like
 
@@ -245,7 +245,7 @@ See `kernel llvm reloc`_ for more explanation and some examples.
 Using clang 13 to compile old libbpf which has static linker support,
 there will be a compilation failure::
 
-  libbpf: ELF relo #0 in section #6 has unexpected type 2 in .../bpf_tcp_nogpl.o
+  libbpf: ELF relo #0 in section #6 has unexpected type 2 in .../bpf_tcp_nogpl.bpf.o
 
 Here, ``type 2`` refers to new relocation type ``R_BPF_64_ABS64``.
 To fix this issue, user newer libbpf.
index e021cc67dc0290ea09f09e9d540995e3f7314382..156743cf58705724658f3523a12b454ee6face38 100644 (file)
@@ -48,7 +48,7 @@ static int bpf_find_map(const char *test, struct bpf_object *obj,
 int main(int argc, char **argv)
 {
        const char *probe_name = "syscalls/sys_enter_nanosleep";
-       const char *file = "get_cgroup_id_kern.o";
+       const char *file = "get_cgroup_id_kern.bpf.o";
        int err, bytes, efd, prog_fd, pmu_fd;
        int cgroup_fd, cgidmap_fd, pidmap_fd;
        struct perf_event_attr attr = {};
index dbe56fa8582d6782f90f8334897bb1a84779939c..e1c1e521cca2cf85af058d7ecf013f70d4899cd7 100644 (file)
@@ -7,7 +7,7 @@ void serial_test_bpf_obj_id(void)
 {
        const __u64 array_magic_value = 0xfaceb00c;
        const __u32 array_key = 0;
-       const char *file = "./test_obj_id.o";
+       const char *file = "./test_obj_id.bpf.o";
        const char *expected_prog_name = "test_obj_id";
        const char *expected_map_name = "test_map_id";
        const __u64 nsec_per_sec = 1000000000;
index ff6cce9fef065066be9cda13cc3665909fdfdf86..5ca252823294b6dd35c3fbb7fc977a3e015bd583 100644 (file)
@@ -75,45 +75,45 @@ static void scale_test(const char *file,
 
 void test_verif_scale1()
 {
-       scale_test("test_verif_scale1.o", BPF_PROG_TYPE_SCHED_CLS, false);
+       scale_test("test_verif_scale1.bpf.o", BPF_PROG_TYPE_SCHED_CLS, false);
 }
 
 void test_verif_scale2()
 {
-       scale_test("test_verif_scale2.o", BPF_PROG_TYPE_SCHED_CLS, false);
+       scale_test("test_verif_scale2.bpf.o", BPF_PROG_TYPE_SCHED_CLS, false);
 }
 
 void test_verif_scale3()
 {
-       scale_test("test_verif_scale3.o", BPF_PROG_TYPE_SCHED_CLS, false);
+       scale_test("test_verif_scale3.bpf.o", BPF_PROG_TYPE_SCHED_CLS, false);
 }
 
 void test_verif_scale_pyperf_global()
 {
-       scale_test("pyperf_global.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("pyperf_global.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_pyperf_subprogs()
 {
-       scale_test("pyperf_subprogs.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("pyperf_subprogs.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_pyperf50()
 {
        /* full unroll by llvm */
-       scale_test("pyperf50.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("pyperf50.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_pyperf100()
 {
        /* full unroll by llvm */
-       scale_test("pyperf100.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("pyperf100.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_pyperf180()
 {
        /* full unroll by llvm */
-       scale_test("pyperf180.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("pyperf180.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_pyperf600()
@@ -124,13 +124,13 @@ void test_verif_scale_pyperf600()
         * 16k insns in loop body.
         * Total of 5 such loops. Total program size ~82k insns.
         */
-       scale_test("pyperf600.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("pyperf600.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_pyperf600_bpf_loop(void)
 {
        /* use the bpf_loop helper*/
-       scale_test("pyperf600_bpf_loop.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("pyperf600_bpf_loop.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_pyperf600_nounroll()
@@ -141,37 +141,37 @@ void test_verif_scale_pyperf600_nounroll()
         * ~110 insns in loop body.
         * Total of 5 such loops. Total program size ~1500 insns.
         */
-       scale_test("pyperf600_nounroll.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("pyperf600_nounroll.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_loop1()
 {
-       scale_test("loop1.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("loop1.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_loop2()
 {
-       scale_test("loop2.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("loop2.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_loop3_fail()
 {
-       scale_test("loop3.o", BPF_PROG_TYPE_RAW_TRACEPOINT, true /* fails */);
+       scale_test("loop3.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, true /* fails */);
 }
 
 void test_verif_scale_loop4()
 {
-       scale_test("loop4.o", BPF_PROG_TYPE_SCHED_CLS, false);
+       scale_test("loop4.bpf.o", BPF_PROG_TYPE_SCHED_CLS, false);
 }
 
 void test_verif_scale_loop5()
 {
-       scale_test("loop5.o", BPF_PROG_TYPE_SCHED_CLS, false);
+       scale_test("loop5.bpf.o", BPF_PROG_TYPE_SCHED_CLS, false);
 }
 
 void test_verif_scale_loop6()
 {
-       scale_test("loop6.o", BPF_PROG_TYPE_KPROBE, false);
+       scale_test("loop6.bpf.o", BPF_PROG_TYPE_KPROBE, false);
 }
 
 void test_verif_scale_strobemeta()
@@ -180,54 +180,54 @@ void test_verif_scale_strobemeta()
         * Total program size 20.8k insn.
         * ~350k processed_insns
         */
-       scale_test("strobemeta.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("strobemeta.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_strobemeta_bpf_loop(void)
 {
        /* use the bpf_loop helper*/
-       scale_test("strobemeta_bpf_loop.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("strobemeta_bpf_loop.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_strobemeta_nounroll1()
 {
        /* no unroll, tiny loops */
-       scale_test("strobemeta_nounroll1.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("strobemeta_nounroll1.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_strobemeta_nounroll2()
 {
        /* no unroll, tiny loops */
-       scale_test("strobemeta_nounroll2.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("strobemeta_nounroll2.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_strobemeta_subprogs()
 {
        /* non-inlined subprogs */
-       scale_test("strobemeta_subprogs.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
+       scale_test("strobemeta_subprogs.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false);
 }
 
 void test_verif_scale_sysctl_loop1()
 {
-       scale_test("test_sysctl_loop1.o", BPF_PROG_TYPE_CGROUP_SYSCTL, false);
+       scale_test("test_sysctl_loop1.bpf.o", BPF_PROG_TYPE_CGROUP_SYSCTL, false);
 }
 
 void test_verif_scale_sysctl_loop2()
 {
-       scale_test("test_sysctl_loop2.o", BPF_PROG_TYPE_CGROUP_SYSCTL, false);
+       scale_test("test_sysctl_loop2.bpf.o", BPF_PROG_TYPE_CGROUP_SYSCTL, false);
 }
 
 void test_verif_scale_xdp_loop()
 {
-       scale_test("test_xdp_loop.o", BPF_PROG_TYPE_XDP, false);
+       scale_test("test_xdp_loop.bpf.o", BPF_PROG_TYPE_XDP, false);
 }
 
 void test_verif_scale_seg6_loop()
 {
-       scale_test("test_seg6_loop.o", BPF_PROG_TYPE_LWT_SEG6LOCAL, false);
+       scale_test("test_seg6_loop.bpf.o", BPF_PROG_TYPE_LWT_SEG6LOCAL, false);
 }
 
 void test_verif_twfw()
 {
-       scale_test("twfw.o", BPF_PROG_TYPE_CGROUP_SKB, false);
+       scale_test("twfw.bpf.o", BPF_PROG_TYPE_CGROUP_SKB, false);
 }
index ef6528b8084c442d5f58a8dd0889adc65d887407..127b8caa3dc1efb36f949a5109f65f1b0ad19b45 100644 (file)
@@ -4651,8 +4651,8 @@ struct btf_file_test {
 };
 
 static struct btf_file_test file_tests[] = {
-       { .file = "test_btf_newkv.o", },
-       { .file = "test_btf_nokv.o", .btf_kv_notfound = true, },
+       { .file = "test_btf_newkv.bpf.o", },
+       { .file = "test_btf_nokv.bpf.o", .btf_kv_notfound = true, },
 };
 
 static void do_test_file(unsigned int test_num)
index 7b5bbe21b54927c6777e1172a1a59cfb69718e50..b1ca954ed1e53bf090b88a62d831d921ccdf1436 100644 (file)
@@ -52,7 +52,7 @@ static int test_btf_dump_case(int n, struct btf_dump_test_case *t)
        int err = 0, fd = -1;
        FILE *f = NULL;
 
-       snprintf(test_file, sizeof(test_file), "%s.o", t->file);
+       snprintf(test_file, sizeof(test_file), "%s.bpf.o", t->file);
 
        btf = btf__parse_elf(test_file, NULL);
        if (!ASSERT_OK_PTR(btf, "btf_parse_elf")) {
@@ -841,8 +841,8 @@ static void test_btf_dump_datasec_data(char *str)
        char license[4] = "GPL";
        struct btf_dump *d;
 
-       btf = btf__parse("xdping_kern.o", NULL);
-       if (!ASSERT_OK_PTR(btf, "xdping_kern.o BTF not found"))
+       btf = btf__parse("xdping_kern.bpf.o", NULL);
+       if (!ASSERT_OK_PTR(btf, "xdping_kern.bpf.o BTF not found"))
                return;
 
        d = btf_dump__new(btf, btf_dump_snprintf, str, NULL);
index 8afbf3d0b89a22c38bd49c7d6e4214d1a5c0e0ac..5b9f84dbeb432f46d903d5d20d7cfe14f3e3f7d6 100644 (file)
@@ -23,7 +23,7 @@ void test_btf_endian() {
        int var_id;
 
        /* Load BTF in native endianness */
-       btf = btf__parse_elf("btf_dump_test_case_syntax.o", NULL);
+       btf = btf__parse_elf("btf_dump_test_case_syntax.bpf.o", NULL);
        if (!ASSERT_OK_PTR(btf, "parse_native_btf"))
                goto err_out;
 
index 9c4325f4aef29ea056ca1308e1e7638e5161c90f..24d553109f8dd0fd369eb3287c3b22bec8f1721e 100644 (file)
@@ -53,7 +53,7 @@ static int run_test(int cgroup_fd, int server_fd, int family, int type)
        __u16 expected_peer_port = 60000;
        struct bpf_program *prog;
        struct bpf_object *obj;
-       const char *obj_file = v4 ? "connect_force_port4.o" : "connect_force_port6.o";
+       const char *obj_file = v4 ? "connect_force_port4.bpf.o" : "connect_force_port6.bpf.o";
        int fd, err;
        __u32 duration = 0;
 
index c8655ba9a88f27bc1ee1e80805a7d2e933a1a17d..47f42e6801056b190aa46d1a0b1b445098bd0f57 100644 (file)
@@ -13,7 +13,7 @@ static int duration = 0;
 
 #define MODULES_CASE(name, pg_name, tp_name) {                         \
        .case_name = name,                                              \
-       .bpf_obj_file = "test_core_reloc_module.o",                     \
+       .bpf_obj_file = "test_core_reloc_module.bpf.o",                 \
        .btf_src_file = NULL, /* find in kernel module BTFs */          \
        .input = "",                                                    \
        .input_len = 0,                                                 \
@@ -43,8 +43,8 @@ static int duration = 0;
 
 #define FLAVORS_CASE_COMMON(name)                                      \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_flavors.o",                    \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_flavors.bpf.o",                \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_flavors"                                \
 
@@ -68,8 +68,8 @@ static int duration = 0;
 
 #define NESTING_CASE_COMMON(name)                                      \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_nesting.o",                    \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_nesting.bpf.o",                \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_nesting"                                \
 
@@ -96,8 +96,8 @@ static int duration = 0;
 
 #define ARRAYS_CASE_COMMON(name)                                       \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_arrays.o",                     \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_arrays.bpf.o",                 \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_arrays"                                 \
 
@@ -130,8 +130,8 @@ static int duration = 0;
 
 #define PRIMITIVES_CASE_COMMON(name)                                   \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_primitives.o",                 \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_primitives.bpf.o",             \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_primitives"                             \
 
@@ -150,8 +150,8 @@ static int duration = 0;
 
 #define MODS_CASE(name) {                                              \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_mods.o",                       \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_mods.bpf.o",                   \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .input = STRUCT_TO_CHAR_PTR(core_reloc_##name) {                \
                .a = 1,                                                 \
                .b = 2,                                                 \
@@ -174,8 +174,8 @@ static int duration = 0;
 
 #define PTR_AS_ARR_CASE(name) {                                                \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_ptr_as_arr.o",                 \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_ptr_as_arr.bpf.o",             \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .input = (const char *)&(struct core_reloc_##name []){          \
                { .a = 1 },                                             \
                { .a = 2 },                                             \
@@ -203,8 +203,8 @@ static int duration = 0;
 
 #define INTS_CASE_COMMON(name)                                         \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_ints.o",                       \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_ints.bpf.o",                   \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_ints"
 
@@ -223,18 +223,18 @@ static int duration = 0;
 
 #define FIELD_EXISTS_CASE_COMMON(name)                                 \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_existence.o",                  \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_existence.bpf.o",              \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_existence"
 
 #define BITFIELDS_CASE_COMMON(objfile, test_name_prefix,  name)                \
        .case_name = test_name_prefix#name,                             \
        .bpf_obj_file = objfile,                                        \
-       .btf_src_file = "btf__core_reloc_" #name ".o"
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o"
 
 #define BITFIELDS_CASE(name, ...) {                                    \
-       BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_probed.o",     \
+       BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_probed.bpf.o", \
                              "probed:", name),                         \
        .input = STRUCT_TO_CHAR_PTR(core_reloc_##name) __VA_ARGS__,     \
        .input_len = sizeof(struct core_reloc_##name),                  \
@@ -244,7 +244,7 @@ static int duration = 0;
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_bitfields",                             \
 }, {                                                                   \
-       BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_direct.o",     \
+       BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_direct.bpf.o", \
                              "direct:", name),                         \
        .input = STRUCT_TO_CHAR_PTR(core_reloc_##name) __VA_ARGS__,     \
        .input_len = sizeof(struct core_reloc_##name),                  \
@@ -256,14 +256,14 @@ static int duration = 0;
 
 
 #define BITFIELDS_ERR_CASE(name) {                                     \
-       BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_probed.o",     \
+       BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_probed.bpf.o", \
                              "probed:", name),                         \
        .fails = true,                                                  \
-       .run_btfgen_fails = true,                                                       \
+       .run_btfgen_fails = true,                                       \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_bitfields",                             \
 }, {                                                                   \
-       BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_direct.o",     \
+       BITFIELDS_CASE_COMMON("test_core_reloc_bitfields_direct.bpf.o", \
                              "direct:", name),                         \
        .fails = true,                                                  \
        .run_btfgen_fails = true,                                                       \
@@ -272,8 +272,8 @@ static int duration = 0;
 
 #define SIZE_CASE_COMMON(name)                                         \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_size.o",                       \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_size.bpf.o",                   \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_size"
 
@@ -307,13 +307,13 @@ static int duration = 0;
 #define SIZE_ERR_CASE(name) {                                          \
        SIZE_CASE_COMMON(name),                                         \
        .fails = true,                                                  \
-       .run_btfgen_fails = true,                                                       \
+       .run_btfgen_fails = true,                                       \
 }
 
 #define TYPE_BASED_CASE_COMMON(name)                                   \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_type_based.o",                 \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_type_based.bpf.o",             \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_type_based"
 
@@ -331,8 +331,8 @@ static int duration = 0;
 
 #define TYPE_ID_CASE_COMMON(name)                                      \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_type_id.o",                    \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_type_id.bpf.o",                \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_type_id"
 
@@ -350,8 +350,8 @@ static int duration = 0;
 
 #define ENUMVAL_CASE_COMMON(name)                                      \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_enumval.o",                    \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_enumval.bpf.o",                \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_enumval"
 
@@ -369,8 +369,8 @@ static int duration = 0;
 
 #define ENUM64VAL_CASE_COMMON(name)                                    \
        .case_name = #name,                                             \
-       .bpf_obj_file = "test_core_reloc_enum64val.o",                  \
-       .btf_src_file = "btf__core_reloc_" #name ".o",                  \
+       .bpf_obj_file = "test_core_reloc_enum64val.bpf.o",              \
+       .btf_src_file = "btf__core_reloc_" #name ".bpf.o",              \
        .raw_tp_name = "sys_enter",                                     \
        .prog_name = "test_core_enum64val"
 
@@ -547,7 +547,7 @@ static const struct core_reloc_test_case test_cases[] = {
        /* validate we can find kernel image and use its BTF for relocs */
        {
                .case_name = "kernel",
-               .bpf_obj_file = "test_core_reloc_kernel.o",
+               .bpf_obj_file = "test_core_reloc_kernel.bpf.o",
                .btf_src_file = NULL, /* load from /lib/modules/$(uname -r) */
                .input = "",
                .input_len = 0,
@@ -629,8 +629,8 @@ static const struct core_reloc_test_case test_cases[] = {
        /* validate edge cases of capturing relocations */
        {
                .case_name = "misc",
-               .bpf_obj_file = "test_core_reloc_misc.o",
-               .btf_src_file = "btf__core_reloc_misc.o",
+               .bpf_obj_file = "test_core_reloc_misc.bpf.o",
+               .btf_src_file = "btf__core_reloc_misc.bpf.o",
                .input = (const char *)&(struct core_reloc_misc_extensible[]){
                        { .a = 1 },
                        { .a = 2 }, /* not read */
index da860b07abb5c84e48c66b500a84cdf4aad82b16..d1e32e792536c0deb4481d231766a5ab43f39c73 100644 (file)
@@ -174,8 +174,8 @@ static void test_target_no_callees(void)
        const char *prog_name[] = {
                "fexit/test_pkt_md_access",
        };
-       test_fexit_bpf2bpf_common("./fexit_bpf2bpf_simple.o",
-                                 "./test_pkt_md_access.o",
+       test_fexit_bpf2bpf_common("./fexit_bpf2bpf_simple.bpf.o",
+                                 "./test_pkt_md_access.bpf.o",
                                  ARRAY_SIZE(prog_name),
                                  prog_name, true, NULL);
 }
@@ -188,8 +188,8 @@ static void test_target_yes_callees(void)
                "fexit/test_pkt_access_subprog2",
                "fexit/test_pkt_access_subprog3",
        };
-       test_fexit_bpf2bpf_common("./fexit_bpf2bpf.o",
-                                 "./test_pkt_access.o",
+       test_fexit_bpf2bpf_common("./fexit_bpf2bpf.bpf.o",
+                                 "./test_pkt_access.bpf.o",
                                  ARRAY_SIZE(prog_name),
                                  prog_name, true, NULL);
 }
@@ -206,8 +206,8 @@ static void test_func_replace(void)
                "freplace/get_constant",
                "freplace/test_pkt_write_access_subprog",
        };
-       test_fexit_bpf2bpf_common("./fexit_bpf2bpf.o",
-                                 "./test_pkt_access.o",
+       test_fexit_bpf2bpf_common("./fexit_bpf2bpf.bpf.o",
+                                 "./test_pkt_access.bpf.o",
                                  ARRAY_SIZE(prog_name),
                                  prog_name, true, NULL);
 }
@@ -217,8 +217,8 @@ static void test_func_replace_verify(void)
        const char *prog_name[] = {
                "freplace/do_bind",
        };
-       test_fexit_bpf2bpf_common("./freplace_connect4.o",
-                                 "./connect4_prog.o",
+       test_fexit_bpf2bpf_common("./freplace_connect4.bpf.o",
+                                 "./connect4_prog.bpf.o",
                                  ARRAY_SIZE(prog_name),
                                  prog_name, false, NULL);
 }
@@ -227,7 +227,7 @@ static int test_second_attach(struct bpf_object *obj)
 {
        const char *prog_name = "security_new_get_constant";
        const char *tgt_name = "get_constant";
-       const char *tgt_obj_file = "./test_pkt_access.o";
+       const char *tgt_obj_file = "./test_pkt_access.bpf.o";
        struct bpf_program *prog = NULL;
        struct bpf_object *tgt_obj;
        struct bpf_link *link;
@@ -272,8 +272,8 @@ static void test_func_replace_multi(void)
        const char *prog_name[] = {
                "freplace/get_constant",
        };
-       test_fexit_bpf2bpf_common("./freplace_get_constant.o",
-                                 "./test_pkt_access.o",
+       test_fexit_bpf2bpf_common("./freplace_get_constant.bpf.o",
+                                 "./test_pkt_access.bpf.o",
                                  ARRAY_SIZE(prog_name),
                                  prog_name, true, test_second_attach);
 }
@@ -281,10 +281,10 @@ static void test_func_replace_multi(void)
 static void test_fmod_ret_freplace(void)
 {
        struct bpf_object *freplace_obj = NULL, *pkt_obj, *fmod_obj = NULL;
-       const char *freplace_name = "./freplace_get_constant.o";
-       const char *fmod_ret_name = "./fmod_ret_freplace.o";
+       const char *freplace_name = "./freplace_get_constant.bpf.o";
+       const char *fmod_ret_name = "./fmod_ret_freplace.bpf.o";
        DECLARE_LIBBPF_OPTS(bpf_object_open_opts, opts);
-       const char *tgt_name = "./test_pkt_access.o";
+       const char *tgt_name = "./test_pkt_access.bpf.o";
        struct bpf_link *freplace_link = NULL;
        struct bpf_program *prog;
        __u32 duration = 0;
@@ -339,8 +339,8 @@ static void test_func_sockmap_update(void)
        const char *prog_name[] = {
                "freplace/cls_redirect",
        };
-       test_fexit_bpf2bpf_common("./freplace_cls_redirect.o",
-                                 "./test_cls_redirect.o",
+       test_fexit_bpf2bpf_common("./freplace_cls_redirect.bpf.o",
+                                 "./test_cls_redirect.bpf.o",
                                  ARRAY_SIZE(prog_name),
                                  prog_name, false, NULL);
 }
@@ -385,15 +385,15 @@ close_prog:
 static void test_func_replace_return_code(void)
 {
        /* test invalid return code in the replaced program */
-       test_obj_load_failure_common("./freplace_connect_v4_prog.o",
-                                    "./connect4_prog.o");
+       test_obj_load_failure_common("./freplace_connect_v4_prog.bpf.o",
+                                    "./connect4_prog.bpf.o");
 }
 
 static void test_func_map_prog_compatibility(void)
 {
        /* test with spin lock map value in the replaced program */
-       test_obj_load_failure_common("./freplace_attach_probe.o",
-                                    "./test_attach_probe.o");
+       test_obj_load_failure_common("./freplace_attach_probe.bpf.o",
+                                    "./test_attach_probe.bpf.o");
 }
 
 static void test_func_replace_global_func(void)
@@ -402,8 +402,8 @@ static void test_func_replace_global_func(void)
                "freplace/test_pkt_access",
        };
 
-       test_fexit_bpf2bpf_common("./freplace_global_func.o",
-                                 "./test_pkt_access.o",
+       test_fexit_bpf2bpf_common("./freplace_global_func.bpf.o",
+                                 "./test_pkt_access.bpf.o",
                                  ARRAY_SIZE(prog_name),
                                  prog_name, false, NULL);
 }
index 16048978a1eff4f488d6bfd23845fc2da2e066c4..858e0575f502fdac0d38dce9a7c16841354db707 100644 (file)
@@ -84,8 +84,8 @@ static void get_stack_print_output(void *ctx, int cpu, void *data, __u32 size)
 
 void test_get_stack_raw_tp(void)
 {
-       const char *file = "./test_get_stack_rawtp.o";
-       const char *file_err = "./test_get_stack_rawtp_err.o";
+       const char *file = "./test_get_stack_rawtp.bpf.o";
+       const char *file_err = "./test_get_stack_rawtp_err.bpf.o";
        const char *prog_name = "bpf_prog1";
        int i, err, prog_fd, exp_cnt = MAX_CNT_RAWTP;
        struct perf_buffer *pb = NULL;
index 027685858925b8e06b8ef13ffd0c6a1154958dc4..fadfb64e2a7150e8228e3f5a1de1874767703546 100644 (file)
@@ -131,7 +131,7 @@ static void test_global_data_rdonly(struct bpf_object *obj, __u32 duration)
 
 void test_global_data(void)
 {
-       const char *file = "./test_global_data.o";
+       const char *file = "./test_global_data.bpf.o";
        struct bpf_object *obj;
        int err, prog_fd;
        LIBBPF_OPTS(bpf_test_run_opts, topts,
index 57331c60696461aeec83af4629faec07cc755f8a..8466332d7406f407ed8429f3e7a3ba79b11a7f3d 100644 (file)
@@ -3,7 +3,7 @@
 
 void test_global_data_init(void)
 {
-       const char *file = "./test_global_data.o";
+       const char *file = "./test_global_data.bpf.o";
        int err = -ENOMEM, map_fd, zero = 0;
        __u8 *buff = NULL, *newval = NULL;
        struct bpf_object *obj;
index 29039a36cce5d4a4b9870c58f1e54417e8df1c35..d997099f62d0fd86853159a2de5008ae609d9d6c 100644 (file)
@@ -39,7 +39,7 @@ static void test_global_func_args0(struct bpf_object *obj)
 
 void test_global_func_args(void)
 {
-       const char *file = "./test_global_func_args.o";
+       const char *file = "./test_global_func_args.bpf.o";
        struct bpf_object *obj;
        int err, prog_fd;
        LIBBPF_OPTS(bpf_test_run_opts, topts,
index 1cee6957285e3c3f9cfe99cb9ad7d53fe2cb788c..73579370bfbd6b75f23d0971f06156510468f219 100644 (file)
@@ -69,7 +69,7 @@ void serial_test_kfree_skb(void)
        const int zero = 0;
        bool test_ok[2];
 
-       err = bpf_prog_test_load("./test_pkt_access.o", BPF_PROG_TYPE_SCHED_CLS,
+       err = bpf_prog_test_load("./test_pkt_access.bpf.o", BPF_PROG_TYPE_SCHED_CLS,
                                 &obj, &prog_fd);
        if (CHECK(err, "prog_load sched cls", "err %d errno %d\n", err, errno))
                return;
index 55f733ff410922042d4971ca0127712269ba9ce9..9c1a18573ffdb5b0f5078797f3fe661418bd761b 100644 (file)
@@ -90,7 +90,7 @@ out:
 void test_l4lb_all(void)
 {
        if (test__start_subtest("l4lb_inline"))
-               test_l4lb("test_l4lb.o");
+               test_l4lb("test_l4lb.bpf.o");
        if (test__start_subtest("l4lb_noinline"))
-               test_l4lb("test_l4lb_noinline.o");
+               test_l4lb("test_l4lb_noinline.bpf.o");
 }
index 4e0b2ec057aad9f68c0b5cdd4cf4e8471e577896..581c0eb0a0a14ae72a164976eed2b35d7c026156 100644 (file)
@@ -27,8 +27,8 @@ void test_load_bytes_relative(void)
        if (CHECK_FAIL(server_fd < 0))
                goto close_cgroup_fd;
 
-       err = bpf_prog_test_load("./load_bytes_relative.o", BPF_PROG_TYPE_CGROUP_SKB,
-                           &obj, &prog_fd);
+       err = bpf_prog_test_load("./load_bytes_relative.bpf.o", BPF_PROG_TYPE_CGROUP_SKB,
+                                &obj, &prog_fd);
        if (CHECK_FAIL(err))
                goto close_server_fd;
 
index e4e99b37df64b1bf89d258c3ccba3858684175bc..1d6726f01dd297d331dcc1914406032669c205c7 100644 (file)
@@ -49,7 +49,7 @@ out:
 
 void test_map_lock(void)
 {
-       const char *file = "./test_map_lock.o";
+       const char *file = "./test_map_lock.bpf.o";
        int prog_fd, map_fd[2], vars[17] = {};
        pthread_t thread_id[6];
        struct bpf_object *obj = NULL;
index 31c09ba577eb1e042b27eaa88edaa15182978d1b..d95cee5867b7715e41cce5f75cdfed45e942a90c 100644 (file)
@@ -26,13 +26,13 @@ __u32 get_map_id(struct bpf_object *obj, const char *name)
 
 void test_pinning(void)
 {
-       const char *file_invalid = "./test_pinning_invalid.o";
+       const char *file_invalid = "./test_pinning_invalid.bpf.o";
        const char *custpinpath = "/sys/fs/bpf/custom/pinmap";
        const char *nopinpath = "/sys/fs/bpf/nopinmap";
        const char *nopinpath2 = "/sys/fs/bpf/nopinmap2";
        const char *custpath = "/sys/fs/bpf/custom";
        const char *pinpath = "/sys/fs/bpf/pinmap";
-       const char *file = "./test_pinning.o";
+       const char *file = "./test_pinning.bpf.o";
        __u32 map_id, map_id2, duration = 0;
        struct stat statbuf = {};
        struct bpf_object *obj;
index 0bcccdc34fbca896f79d6a9934ebe2aab06a2b3c..682e4ff45b01025469029ceed60b58d8da39cfe8 100644 (file)
@@ -4,7 +4,7 @@
 
 void test_pkt_access(void)
 {
-       const char *file = "./test_pkt_access.o";
+       const char *file = "./test_pkt_access.bpf.o";
        struct bpf_object *obj;
        int err, prog_fd;
        LIBBPF_OPTS(bpf_test_run_opts, topts,
index 00ee1dd792aa26f6abfbf840112683e4e8faee4d..0d85e0642811f37b1ea5656f4c411c68073677ad 100644 (file)
@@ -4,7 +4,7 @@
 
 void test_pkt_md_access(void)
 {
-       const char *file = "./test_pkt_md_access.o";
+       const char *file = "./test_pkt_md_access.bpf.o";
        struct bpf_object *obj;
        int err, prog_fd;
        LIBBPF_OPTS(bpf_test_run_opts, topts,
index 34dbd2adc1575eaeaf97c005a8a8c1fe69d8f3e1..8721671321de8d0a568a537acf618af8b9647ad8 100644 (file)
@@ -11,7 +11,7 @@ void serial_test_probe_user(void)
 #endif
        };
        enum { prog_count = ARRAY_SIZE(prog_names) };
-       const char *obj_file = "./test_probe_user.o";
+       const char *obj_file = "./test_probe_user.bpf.o";
        DECLARE_LIBBPF_OPTS(bpf_object_open_opts, opts, );
        int err, results_map_fd, sock_fd, duration = 0;
        struct sockaddr curr, orig, tmp;
index d2743fc10032dbda3f310737e52937136286c623..722c5f2a77768e991a938974e3455842189cbaea 100644 (file)
@@ -28,9 +28,9 @@ static void test_queue_stack_map_by_type(int type)
                vals[i] = rand();
 
        if (type == QUEUE)
-               strncpy(file, "./test_queue_map.o", sizeof(file));
+               strncpy(file, "./test_queue_map.bpf.o", sizeof(file));
        else if (type == STACK)
-               strncpy(file, "./test_stack_map.o", sizeof(file));
+               strncpy(file, "./test_stack_map.bpf.o", sizeof(file));
        else
                return;
 
index fd5d2ddfb06276337e64fa7a592b1d434d2787bf..19e2f2526dbdc1958bd30a0d87ba934cb61864e2 100644 (file)
@@ -16,7 +16,7 @@ struct rdonly_map_subtest {
 
 void test_rdonly_maps(void)
 {
-       const char *file = "test_rdonly_maps.o";
+       const char *file = "test_rdonly_maps.bpf.o";
        struct rdonly_map_subtest subtests[] = {
                { "skip loop", "skip_loop", 0, 0 },
                { "part loop", "part_loop", 3, 2 + 3 + 4 },
index 739d2ea6ca5540faf11faac8911e258abb8a74c4..d863205bbe9525ab9c409a7772115b615948b5b2 100644 (file)
@@ -3,7 +3,7 @@
 
 void test_reference_tracking(void)
 {
-       const char *file = "test_sk_lookup_kern.o";
+       const char *file = "test_sk_lookup_kern.bpf.o";
        const char *obj_name = "ref_track";
        DECLARE_LIBBPF_OPTS(bpf_object_open_opts, open_opts,
                .object_name = obj_name,
index c197261d02e277e5a766767472a148cd48536056..f81d08d429a2433ccd24d0d7b57a1f7bcd046d5f 100644 (file)
@@ -101,7 +101,7 @@ static int resolve_symbols(void)
        int type_id;
        __u32 nr;
 
-       btf = btf__parse_elf("btf_data.o", NULL);
+       btf = btf__parse_elf("btf_data.bpf.o", NULL);
        if (CHECK(libbpf_get_error(btf), "resolve",
                  "Failed to load BTF from btf_data.o\n"))
                return -1;
index 1cbd8cd64044a0e026b2e75db087d4694ca3ea11..64c5f5eb2994fff15da964ce7b3ada5e517fc7fd 100644 (file)
@@ -91,9 +91,9 @@ static int prepare_bpf_obj(void)
        struct bpf_map *map;
        int err;
 
-       obj = bpf_object__open("test_select_reuseport_kern.o");
+       obj = bpf_object__open("test_select_reuseport_kern.bpf.o");
        err = libbpf_get_error(obj);
-       RET_ERR(err, "open test_select_reuseport_kern.o",
+       RET_ERR(err, "open test_select_reuseport_kern.bpf.o",
                "obj:%p PTR_ERR(obj):%d\n", obj, err);
 
        map = bpf_object__find_map_by_name(obj, "outer_map");
index 1d272e05188eb32dd16cff4633a258b81bccaf46..3e190ed63976754d728ee32c1c398bc2fc4dfa63 100644 (file)
@@ -47,7 +47,7 @@ configure_stack(void)
        if (CHECK_FAIL(system("tc qdisc add dev lo clsact")))
                return false;
        sprintf(tc_cmd, "%s %s %s %s", "tc filter add dev lo ingress bpf",
-                      "direct-action object-file ./test_sk_assign.o",
+                      "direct-action object-file ./test_sk_assign.bpf.o",
                       "section tc",
                       (env.verbosity < VERBOSE_VERY) ? " 2>/dev/null" : "verbose");
        if (CHECK(system(tc_cmd), "BPF load failed;",
index ce0e555b5e3883f3dc1c9b9714970598aefd25df..33f950e2dae3f142b301c8072fc708eaf3ff5dc6 100644 (file)
@@ -31,7 +31,7 @@ void test_skb_ctx(void)
        struct bpf_object *obj;
        int err, prog_fd, i;
 
-       err = bpf_prog_test_load("./test_skb_ctx.o", BPF_PROG_TYPE_SCHED_CLS,
+       err = bpf_prog_test_load("./test_skb_ctx.bpf.o", BPF_PROG_TYPE_SCHED_CLS,
                                 &obj, &prog_fd);
        if (!ASSERT_OK(err, "load"))
                return;
index 97dc8b14be482dd85f5a55a411c5773523771956..f7ee25f290f7c4943c043894fc65ae00280633fb 100644 (file)
@@ -20,7 +20,7 @@ void test_skb_helpers(void)
        struct bpf_object *obj;
        int err, prog_fd;
 
-       err = bpf_prog_test_load("./test_skb_helpers.o",
+       err = bpf_prog_test_load("./test_skb_helpers.bpf.o",
                                 BPF_PROG_TYPE_SCHED_CLS, &obj, &prog_fd);
        if (!ASSERT_OK(err, "load"))
                return;
index 8ed78a9383ba31f1ec75c9f9ef51efe42bbbe4c2..c5cb6e8374b667c71fb20c48e839f8049e7f72f5 100644 (file)
@@ -174,7 +174,7 @@ static void run_test(int cgroup_fd)
        pthread_t tid;
        int err;
 
-       obj = bpf_object__open_file("sockopt_inherit.o", NULL);
+       obj = bpf_object__open_file("sockopt_inherit.bpf.o", NULL);
        if (!ASSERT_OK_PTR(obj, "obj_open"))
                return;
 
index abce12ddcc37d621ab790d5ecec14677c10f94a6..28d592dc54a70ca139ce3019535b376ade4d3ed9 100644 (file)
@@ -310,7 +310,7 @@ void test_sockopt_multi(void)
        if (CHECK_FAIL(cg_child < 0))
                goto out;
 
-       obj = bpf_object__open_file("sockopt_multi.o", NULL);
+       obj = bpf_object__open_file("sockopt_multi.bpf.o", NULL);
        if (!ASSERT_OK_PTR(obj, "obj_load"))
                goto out;
 
index 8e329eaee6d788cb9e1fa42f7cbd9eb19af67bd7..15eb1372d771fb158c96ec6689b8a329a53b58d3 100644 (file)
@@ -19,7 +19,7 @@ static void *spin_lock_thread(void *arg)
 
 void test_spinlock(void)
 {
-       const char *file = "./test_spin_lock.o";
+       const char *file = "./test_spin_lock.bpf.o";
        pthread_t thread_id[4];
        struct bpf_object *obj = NULL;
        int prog_fd;
index 313f0a66232efc5d54e27e6bd7e03c84476811cb..df59e4ae29510087eff80f85b2aa8d343d0fd0b1 100644 (file)
@@ -6,7 +6,7 @@ void test_stacktrace_map(void)
        int control_map_fd, stackid_hmap_fd, stackmap_fd, stack_amap_fd;
        const char *prog_name = "oncpu";
        int err, prog_fd, stack_trace_len;
-       const char *file = "./test_stacktrace_map.o";
+       const char *file = "./test_stacktrace_map.bpf.o";
        __u32 key, val, duration = 0;
        struct bpf_program *prog;
        struct bpf_object *obj;
index 1cb8dd36bd8f12fbc22d81aa3055aeb82e799d33..c6ef06f55cdb46be5d8c1b953329372b3f9bc5d0 100644 (file)
@@ -5,7 +5,7 @@ void test_stacktrace_map_raw_tp(void)
 {
        const char *prog_name = "oncpu";
        int control_map_fd, stackid_hmap_fd, stackmap_fd;
-       const char *file = "./test_stacktrace_map.o";
+       const char *file = "./test_stacktrace_map.bpf.o";
        __u32 key, val, duration = 0;
        int err, prog_fd;
        struct bpf_program *prog;
index 19c70880cfb3a1c3d7f65c7d3f5849dbba1eac68..58fe2c586ed76a91fa7a3784dbcdf66d9cc059d2 100644 (file)
@@ -20,8 +20,8 @@ static void test_tailcall_1(void)
                .repeat = 1,
        );
 
-       err = bpf_prog_test_load("tailcall1.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
-                           &prog_fd);
+       err = bpf_prog_test_load("tailcall1.bpf.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
+                                &prog_fd);
        if (CHECK_FAIL(err))
                return;
 
@@ -156,8 +156,8 @@ static void test_tailcall_2(void)
                .repeat = 1,
        );
 
-       err = bpf_prog_test_load("tailcall2.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
-                           &prog_fd);
+       err = bpf_prog_test_load("tailcall2.bpf.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
+                                &prog_fd);
        if (CHECK_FAIL(err))
                return;
 
@@ -299,7 +299,7 @@ out:
  */
 static void test_tailcall_3(void)
 {
-       test_tailcall_count("tailcall3.o");
+       test_tailcall_count("tailcall3.bpf.o");
 }
 
 /* test_tailcall_6 checks that the count value of the tail call limit
@@ -307,7 +307,7 @@ static void test_tailcall_3(void)
  */
 static void test_tailcall_6(void)
 {
-       test_tailcall_count("tailcall6.o");
+       test_tailcall_count("tailcall6.bpf.o");
 }
 
 /* test_tailcall_4 checks that the kernel properly selects indirect jump
@@ -329,8 +329,8 @@ static void test_tailcall_4(void)
                .repeat = 1,
        );
 
-       err = bpf_prog_test_load("tailcall4.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
-                           &prog_fd);
+       err = bpf_prog_test_load("tailcall4.bpf.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
+                                &prog_fd);
        if (CHECK_FAIL(err))
                return;
 
@@ -419,8 +419,8 @@ static void test_tailcall_5(void)
                .repeat = 1,
        );
 
-       err = bpf_prog_test_load("tailcall5.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
-                           &prog_fd);
+       err = bpf_prog_test_load("tailcall5.bpf.o", BPF_PROG_TYPE_SCHED_CLS, &obj,
+                                &prog_fd);
        if (CHECK_FAIL(err))
                return;
 
@@ -507,8 +507,8 @@ static void test_tailcall_bpf2bpf_1(void)
                .repeat = 1,
        );
 
-       err = bpf_prog_test_load("tailcall_bpf2bpf1.o", BPF_PROG_TYPE_SCHED_CLS,
-                           &obj, &prog_fd);
+       err = bpf_prog_test_load("tailcall_bpf2bpf1.bpf.o", BPF_PROG_TYPE_SCHED_CLS,
+                                &obj, &prog_fd);
        if (CHECK_FAIL(err))
                return;
 
@@ -591,8 +591,8 @@ static void test_tailcall_bpf2bpf_2(void)
                .repeat = 1,
        );
 
-       err = bpf_prog_test_load("tailcall_bpf2bpf2.o", BPF_PROG_TYPE_SCHED_CLS,
-                           &obj, &prog_fd);
+       err = bpf_prog_test_load("tailcall_bpf2bpf2.bpf.o", BPF_PROG_TYPE_SCHED_CLS,
+                                &obj, &prog_fd);
        if (CHECK_FAIL(err))
                return;
 
@@ -671,8 +671,8 @@ static void test_tailcall_bpf2bpf_3(void)
                .repeat = 1,
        );
 
-       err = bpf_prog_test_load("tailcall_bpf2bpf3.o", BPF_PROG_TYPE_SCHED_CLS,
-                           &obj, &prog_fd);
+       err = bpf_prog_test_load("tailcall_bpf2bpf3.bpf.o", BPF_PROG_TYPE_SCHED_CLS,
+                                &obj, &prog_fd);
        if (CHECK_FAIL(err))
                return;
 
@@ -766,8 +766,8 @@ static void test_tailcall_bpf2bpf_4(bool noise)
                .repeat = 1,
        );
 
-       err = bpf_prog_test_load("tailcall_bpf2bpf4.o", BPF_PROG_TYPE_SCHED_CLS,
-                           &obj, &prog_fd);
+       err = bpf_prog_test_load("tailcall_bpf2bpf4.bpf.o", BPF_PROG_TYPE_SCHED_CLS,
+                                &obj, &prog_fd);
        if (CHECK_FAIL(err))
                return;
 
index 17947c9e1d660175736b7a9ea4f010eea53c727d..3d34bab01e4879c4f6f7ed397d63a8f28d1491f4 100644 (file)
@@ -3,7 +3,7 @@
 
 void test_task_fd_query_rawtp(void)
 {
-       const char *file = "./test_get_stack_rawtp.o";
+       const char *file = "./test_get_stack_rawtp.bpf.o";
        __u64 probe_offset, probe_addr;
        __u32 len, prog_id, fd_type;
        struct bpf_object *obj;
index c2a98a7a8dfc523fc6fb78a25eb4816f1768e4b0..c717741bf8b658fcf6b753345affa11d7f681597 100644 (file)
@@ -4,7 +4,7 @@
 static void test_task_fd_query_tp_core(const char *probe_name,
                                       const char *tp_name)
 {
-       const char *file = "./test_tracepoint.o";
+       const char *file = "./test_tracepoint.bpf.o";
        int err, bytes, efd, prog_fd, pmu_fd;
        struct perf_event_attr attr = {};
        __u64 probe_offset, probe_addr;
index 11bf755be4c99efbb9c1ed0f6140c6786e2c2fa4..032dbfb262564857b01f57adfc0f9adfb60a9c28 100644 (file)
@@ -3,7 +3,7 @@
 
 void test_tcp_estats(void)
 {
-       const char *file = "./test_tcp_estats.o";
+       const char *file = "./test_tcp_estats.bpf.o";
        int err, prog_fd;
        struct bpf_object *obj;
        __u32 duration = 0;
index b90ee47d31113c1b2c0b155c0a9bf914396f5b4e..7295cc60f724878ce86716ed83f69517f43e41b4 100644 (file)
@@ -65,23 +65,23 @@ struct test_def {
 void test_test_global_funcs(void)
 {
        struct test_def tests[] = {
-               { "test_global_func1.o", "combined stack size of 4 calls is 544" },
-               { "test_global_func2.o" },
-               { "test_global_func3.o" , "the call stack of 8 frames" },
-               { "test_global_func4.o" },
-               { "test_global_func5.o" , "expected pointer to ctx, but got PTR" },
-               { "test_global_func6.o" , "modified ctx ptr R2" },
-               { "test_global_func7.o" , "foo() doesn't return scalar" },
-               { "test_global_func8.o" },
-               { "test_global_func9.o" },
-               { "test_global_func10.o", "invalid indirect read from stack" },
-               { "test_global_func11.o", "Caller passes invalid args into func#1" },
-               { "test_global_func12.o", "invalid mem access 'mem_or_null'" },
-               { "test_global_func13.o", "Caller passes invalid args into func#1" },
-               { "test_global_func14.o", "reference type('FWD S') size cannot be determined" },
-               { "test_global_func15.o", "At program exit the register R0 has value" },
-               { "test_global_func16.o", "invalid indirect read from stack" },
-               { "test_global_func17.o", "Caller passes invalid args into func#1" },
+               { "test_global_func1.bpf.o", "combined stack size of 4 calls is 544" },
+               { "test_global_func2.bpf.o" },
+               { "test_global_func3.bpf.o", "the call stack of 8 frames" },
+               { "test_global_func4.bpf.o" },
+               { "test_global_func5.bpf.o", "expected pointer to ctx, but got PTR" },
+               { "test_global_func6.bpf.o", "modified ctx ptr R2" },
+               { "test_global_func7.bpf.o", "foo() doesn't return scalar" },
+               { "test_global_func8.bpf.o" },
+               { "test_global_func9.bpf.o" },
+               { "test_global_func10.bpf.o", "invalid indirect read from stack" },
+               { "test_global_func11.bpf.o", "Caller passes invalid args into func#1" },
+               { "test_global_func12.bpf.o", "invalid mem access 'mem_or_null'" },
+               { "test_global_func13.bpf.o", "Caller passes invalid args into func#1" },
+               { "test_global_func14.bpf.o", "reference type('FWD S') size cannot be determined" },
+               { "test_global_func15.bpf.o", "At program exit the register R0 has value" },
+               { "test_global_func16.bpf.o", "invalid indirect read from stack" },
+               { "test_global_func17.bpf.o", "Caller passes invalid args into func#1" },
        };
        libbpf_print_fn_t old_print_fn = NULL;
        int err, i, duration = 0;
index 05acb376f74d8909f420459d19474745c0e3d61c..f27013e38d0373cdd5601a848b48b4bcdd4b88d1 100644 (file)
@@ -72,7 +72,7 @@ void test_test_overhead(void)
        if (CHECK_FAIL(prctl(PR_GET_NAME, comm, 0L, 0L, 0L)))
                return;
 
-       obj = bpf_object__open_file("./test_overhead.o", NULL);
+       obj = bpf_object__open_file("./test_overhead.bpf.o", NULL);
        if (!ASSERT_OK_PTR(obj, "obj_open_file"))
                return;
 
index 39e79291c82b8767c0506f0663b3f79a7329445a..a479080533dbf55610587b7121db47f105085f80 100644 (file)
@@ -6,7 +6,7 @@ void serial_test_tp_attach_query(void)
        const int num_progs = 3;
        int i, j, bytes, efd, err, prog_fd[num_progs], pmu_fd[num_progs];
        __u32 duration = 0, info_len, saved_prog_ids[num_progs];
-       const char *file = "./test_tracepoint.o";
+       const char *file = "./test_tracepoint.bpf.o";
        struct perf_event_query_bpf *query;
        struct perf_event_attr attr = {};
        struct bpf_object *obj[num_progs];
index b0acbda6dbf5e7735c0593159e77ed785708ad64..564b75bc087f39572a5916df005ce13dd75fa281 100644 (file)
@@ -35,7 +35,7 @@ static struct bpf_program *load_prog(char *file, char *name, struct inst *inst)
 /* TODO: use different target function to run in concurrent mode */
 void serial_test_trampoline_count(void)
 {
-       char *file = "test_trampoline_count.o";
+       char *file = "test_trampoline_count.bpf.o";
        char *const progs[] = { "fentry_test", "fmod_ret_test", "fexit_test" };
        struct inst inst[MAX_TRAMP_PROGS + 1] = {};
        struct bpf_program *prog;
index ec21c53cb1da7dde7824e8126dc6b897c94ba1bb..947863a1d536791906357b9b7ded5afcffc3106b 100644 (file)
@@ -8,7 +8,7 @@ void test_xdp(void)
        struct vip key6 = {.protocol = 6, .family = AF_INET6};
        struct iptnl_info value4 = {.family = AF_INET};
        struct iptnl_info value6 = {.family = AF_INET6};
-       const char *file = "./test_xdp.o";
+       const char *file = "./test_xdp.bpf.o";
        struct bpf_object *obj;
        char buf[128];
        struct ipv6hdr iph6;
index 2f033da4cd457a5f00eb8a5c4278bffd51e7f32a..fce203640f8cfcd7f2aa201da3055a9f7b222d76 100644 (file)
@@ -4,7 +4,7 @@
 
 static void test_xdp_update_frags(void)
 {
-       const char *file = "./test_xdp_update_frags.o";
+       const char *file = "./test_xdp_update_frags.bpf.o";
        int err, prog_fd, max_skb_frags, buf_size, num;
        struct bpf_program *prog;
        struct bpf_object *obj;
index 21ceac24e174486239c723f6d1fb25877ab89c15..9b9cf8458adf85e930be2fc33ca419e61f5a59b5 100644 (file)
@@ -4,7 +4,7 @@
 
 static void test_xdp_adjust_tail_shrink(void)
 {
-       const char *file = "./test_xdp_adjust_tail_shrink.o";
+       const char *file = "./test_xdp_adjust_tail_shrink.bpf.o";
        __u32 expect_sz;
        struct bpf_object *obj;
        int err, prog_fd;
@@ -39,7 +39,7 @@ static void test_xdp_adjust_tail_shrink(void)
 
 static void test_xdp_adjust_tail_grow(void)
 {
-       const char *file = "./test_xdp_adjust_tail_grow.o";
+       const char *file = "./test_xdp_adjust_tail_grow.bpf.o";
        struct bpf_object *obj;
        char buf[4096]; /* avoid segfault: large buf to hold grow results */
        __u32 expect_sz;
@@ -73,7 +73,7 @@ static void test_xdp_adjust_tail_grow(void)
 
 static void test_xdp_adjust_tail_grow2(void)
 {
-       const char *file = "./test_xdp_adjust_tail_grow.o";
+       const char *file = "./test_xdp_adjust_tail_grow.bpf.o";
        char buf[4096]; /* avoid segfault: large buf to hold grow results */
        int tailroom = 320; /* SKB_DATA_ALIGN(sizeof(struct skb_shared_info))*/;
        struct bpf_object *obj;
@@ -135,7 +135,7 @@ static void test_xdp_adjust_tail_grow2(void)
 
 static void test_xdp_adjust_frags_tail_shrink(void)
 {
-       const char *file = "./test_xdp_adjust_tail_shrink.o";
+       const char *file = "./test_xdp_adjust_tail_shrink.bpf.o";
        __u32 exp_size;
        struct bpf_program *prog;
        struct bpf_object *obj;
@@ -202,7 +202,7 @@ out:
 
 static void test_xdp_adjust_frags_tail_grow(void)
 {
-       const char *file = "./test_xdp_adjust_tail_grow.o";
+       const char *file = "./test_xdp_adjust_tail_grow.bpf.o";
        __u32 exp_size;
        struct bpf_program *prog;
        struct bpf_object *obj;
index 62aa3edda5e6270bc097e4d556ea518871e9c3c1..062fbc8c8e5e3334513e15a2e4ac9954889e572d 100644 (file)
@@ -8,7 +8,7 @@ void serial_test_xdp_attach(void)
 {
        __u32 duration = 0, id1, id2, id0 = 0, len;
        struct bpf_object *obj1, *obj2, *obj3;
-       const char *file = "./test_xdp.o";
+       const char *file = "./test_xdp.bpf.o";
        struct bpf_prog_info info = {};
        int err, fd1, fd2, fd3;
        LIBBPF_OPTS(bpf_xdp_attach_opts, opts);
index 0d01ff6cb91a288b7f59f00b54fe047f8b564010..cd3aa340e65e5c01273a014a79812efe9daca32e 100644 (file)
@@ -7,7 +7,7 @@
 void serial_test_xdp_info(void)
 {
        __u32 len = sizeof(struct bpf_prog_info), duration = 0, prog_id;
-       const char *file = "./xdp_dummy.o";
+       const char *file = "./xdp_dummy.bpf.o";
        struct bpf_prog_info info = {};
        struct bpf_object *obj;
        int err, prog_fd;
index f543d1bd21b8d1e53b99f8be77ecdd59dd00b630..ec5369f247cb1859c53c055bd850e541ea07cf27 100644 (file)
@@ -3,7 +3,7 @@
 
 void test_xdp_perf(void)
 {
-       const char *file = "./xdp_dummy.o";
+       const char *file = "./xdp_dummy.bpf.o";
        struct bpf_object *obj;
        char in[128], out[128];
        int err, prog_fd;
index 874a846e298ca1a68b4891563f37970417f139ab..75550a40e029d2b1ebacb5ef79393b4ded734adc 100644 (file)
@@ -82,7 +82,7 @@ static void test_synproxy(bool xdp)
        SYS("ethtool -K tmp0 tx off");
        if (xdp)
                /* Workaround required for veth. */
-               SYS("ip link set tmp0 xdp object xdp_dummy.o section xdp 2> /dev/null");
+               SYS("ip link set tmp0 xdp object xdp_dummy.bpf.o section xdp 2> /dev/null");
 
        ns = open_netns("synproxy");
        if (!ASSERT_OK_PTR(ns, "setns"))
index 48cd14b437418b4b4a88df77c0846edbe3838299..4547b059d487783205554d06ccfb5faff785f634 100644 (file)
@@ -73,10 +73,10 @@ int test_subprog2(struct args_subprog2 *ctx)
                              __builtin_preserve_access_index(&skb->len));
 
        ret = ctx->ret;
-       /* bpf_prog_test_load() loads "test_pkt_access.o" with BPF_F_TEST_RND_HI32
-        * which randomizes upper 32 bits after BPF_ALU32 insns.
-        * Hence after 'w0 <<= 1' upper bits of $rax are random.
-        * That is expected and correct. Trim them.
+       /* bpf_prog_test_load() loads "test_pkt_access.bpf.o" with
+        * BPF_F_TEST_RND_HI32 which randomizes upper 32 bits after BPF_ALU32
+        * insns. Hence after 'w0 <<= 1' upper bits of $rax are random. That is
+        * expected and correct. Trim them.
         */
        ret = (__u32) ret;
        if (len != 74 || ret != 148)
index 7886265846a079a26ff38f09e1b5e214c692710f..adeaf63cb6fa3905377bc9e7c87f85bb9c74aede 100644 (file)
@@ -16,7 +16,7 @@
 #include "cgroup_helpers.h"
 #include "testing_helpers.h"
 
-#define DEV_CGROUP_PROG "./dev_cgroup.o"
+#define DEV_CGROUP_PROG "./dev_cgroup.bpf.o"
 
 #define TEST_CGROUP "/test-bpf-based-device-cgroup/"
 
index 2893e9f2f1e0a240a00aae65842c86164523743c..4694422aa76c36faa4afa8832e56040547dc7547 100644 (file)
@@ -59,7 +59,7 @@ int main(int argc, char **argv)
                return 2;
        }
 
-       ret = bpf_prog_test_load("test_lirc_mode2_kern.o",
+       ret = bpf_prog_test_load("test_lirc_mode2_kern.bpf.o",
                                 BPF_PROG_TYPE_LIRC_MODE2, &obj, &progfd);
        if (ret) {
                printf("Failed to load bpf program\n");
index cbebfaa7c1e8291603343853d2eba3ed767d3d84..c49f2056e14f1844fcd8ae885d60df70019c47fe 100644 (file)
@@ -651,9 +651,9 @@ static void test_stackmap(unsigned int task, void *data)
 #include <arpa/inet.h>
 #include <sys/select.h>
 #include <linux/err.h>
-#define SOCKMAP_PARSE_PROG "./sockmap_parse_prog.o"
-#define SOCKMAP_VERDICT_PROG "./sockmap_verdict_prog.o"
-#define SOCKMAP_TCP_MSG_PROG "./sockmap_tcp_msg_prog.o"
+#define SOCKMAP_PARSE_PROG "./sockmap_parse_prog.bpf.o"
+#define SOCKMAP_VERDICT_PROG "./sockmap_verdict_prog.bpf.o"
+#define SOCKMAP_TCP_MSG_PROG "./sockmap_tcp_msg_prog.bpf.o"
 static void test_sockmap(unsigned int tasks, void *data)
 {
        struct bpf_map *bpf_map_rx, *bpf_map_tx, *bpf_map_msg, *bpf_map_break;
@@ -1143,8 +1143,8 @@ out_sockmap:
        exit(1);
 }
 
-#define MAPINMAP_PROG "./test_map_in_map.o"
-#define MAPINMAP_INVALID_PROG "./test_map_in_map_invalid.o"
+#define MAPINMAP_PROG "./test_map_in_map.bpf.o"
+#define MAPINMAP_INVALID_PROG "./test_map_in_map_invalid.bpf.o"
 static void test_map_in_map(void)
 {
        struct bpf_object *obj;
index 6cd6ef9fc20b63dd070babd19361f175a2ea6377..7fc15e0d24a9f0979d8fe7b3743a904e312a8790 100755 (executable)
@@ -782,7 +782,7 @@ if out.find("/sys/kernel/debug type debugfs") == -1:
     cmd("mount -t debugfs none /sys/kernel/debug")
 
 # Check samples are compiled
-samples = ["sample_ret0.o", "sample_map_ret0.o"]
+samples = ["sample_ret0.bpf.o", "sample_map_ret0.bpf.o"]
 for s in samples:
     ret, out = cmd("ls %s/%s" % (bpf_test_dir, s), fail=False)
     skip(ret != 0, "sample %s/%s not found, please compile it" %
@@ -803,7 +803,7 @@ cmd("ip netns delete %s" % (ns))
 netns = []
 
 try:
-    obj = bpf_obj("sample_ret0.o")
+    obj = bpf_obj("sample_ret0.bpf.o")
     bytecode = bpf_bytecode("1,6 0 0 4294967295,")
 
     start_test("Test destruction of generic XDP...")
@@ -1023,7 +1023,7 @@ try:
 
     sim.wait_for_flush()
     start_test("Test non-offload XDP attaching to HW...")
-    bpftool_prog_load("sample_ret0.o", "/sys/fs/bpf/nooffload")
+    bpftool_prog_load("sample_ret0.bpf.o", "/sys/fs/bpf/nooffload")
     nooffload = bpf_pinned("/sys/fs/bpf/nooffload")
     ret, _, err = sim.set_xdp(nooffload, "offload",
                               fail=False, include_stderr=True)
@@ -1032,7 +1032,7 @@ try:
     rm("/sys/fs/bpf/nooffload")
 
     start_test("Test offload XDP attaching to drv...")
-    bpftool_prog_load("sample_ret0.o", "/sys/fs/bpf/offload",
+    bpftool_prog_load("sample_ret0.bpf.o", "/sys/fs/bpf/offload",
                       dev=sim['ifname'])
     offload = bpf_pinned("/sys/fs/bpf/offload")
     ret, _, err = sim.set_xdp(offload, "drv", fail=False, include_stderr=True)
@@ -1043,7 +1043,7 @@ try:
 
     start_test("Test XDP load failure...")
     sim.dfs["dev/bpf_bind_verifier_accept"] = 0
-    ret, _, err = bpftool_prog_load("sample_ret0.o", "/sys/fs/bpf/offload",
+    ret, _, err = bpftool_prog_load("sample_ret0.bpf.o", "/sys/fs/bpf/offload",
                                  dev=sim['ifname'], fail=False, include_stderr=True)
     fail(ret == 0, "verifier should fail on load")
     check_verifier_log(err, "[netdevsim] Hello from netdevsim!")
@@ -1169,7 +1169,7 @@ try:
 
     simdev = NetdevSimDev()
     sim, = simdev.nsims
-    map_obj = bpf_obj("sample_map_ret0.o")
+    map_obj = bpf_obj("sample_map_ret0.bpf.o")
     start_test("Test loading program with maps...")
     sim.set_xdp(map_obj, "offload", JSON=False) # map fixup msg breaks JSON
 
@@ -1307,10 +1307,10 @@ try:
     sims = (simA, simB1, simB2, simB3)
     simB = (simB1, simB2, simB3)
 
-    bpftool_prog_load("sample_map_ret0.o", "/sys/fs/bpf/nsimA",
+    bpftool_prog_load("sample_map_ret0.bpf.o", "/sys/fs/bpf/nsimA",
                       dev=simA['ifname'])
     progA = bpf_pinned("/sys/fs/bpf/nsimA")
-    bpftool_prog_load("sample_map_ret0.o", "/sys/fs/bpf/nsimB",
+    bpftool_prog_load("sample_map_ret0.bpf.o", "/sys/fs/bpf/nsimB",
                       dev=simB1['ifname'])
     progB = bpf_pinned("/sys/fs/bpf/nsimB")
 
@@ -1344,14 +1344,14 @@ try:
     mapA = bpftool("prog show %s" % (progA))[1]["map_ids"][0]
     mapB = bpftool("prog show %s" % (progB))[1]["map_ids"][0]
 
-    ret, _ = bpftool_prog_load("sample_map_ret0.o", "/sys/fs/bpf/nsimB_",
+    ret, _ = bpftool_prog_load("sample_map_ret0.bpf.o", "/sys/fs/bpf/nsimB_",
                                dev=simB3['ifname'],
                                maps=["idx 0 id %d" % (mapB)],
                                fail=False)
     fail(ret != 0, "couldn't reuse a map on the same ASIC")
     rm("/sys/fs/bpf/nsimB_")
 
-    ret, _, err = bpftool_prog_load("sample_map_ret0.o", "/sys/fs/bpf/nsimA_",
+    ret, _, err = bpftool_prog_load("sample_map_ret0.bpf.o", "/sys/fs/bpf/nsimA_",
                                     dev=simA['ifname'],
                                     maps=["idx 0 id %d" % (mapB)],
                                     fail=False, include_stderr=True)
@@ -1359,7 +1359,7 @@ try:
     fail(err.count("offload device mismatch between prog and map") == 0,
          "error message missing for cross-ASIC map")
 
-    ret, _, err = bpftool_prog_load("sample_map_ret0.o", "/sys/fs/bpf/nsimB_",
+    ret, _, err = bpftool_prog_load("sample_map_ret0.bpf.o", "/sys/fs/bpf/nsimB_",
                                     dev=simB1['ifname'],
                                     maps=["idx 0 id %d" % (mapA)],
                                     fail=False, include_stderr=True)
index a9bc6f82abc163d47876d4af1f2dcbe540a6c814..515c2eafc97fc4e127520070633a17dfa445a3c2 100755 (executable)
@@ -54,7 +54,7 @@ DIR=$(dirname $0)
 TEST_IF="test_cgid_1"
 TEST_IF_PEER="test_cgid_2"
 MAX_PING_TRIES=5
-BPF_PROG_OBJ="${DIR}/test_skb_cgroup_id_kern.o"
+BPF_PROG_OBJ="${DIR}/test_skb_cgroup_id_kern.bpf.o"
 BPF_PROG_SECTION="cgroup_id_logger"
 BPF_PROG_ID=0
 PROG="${DIR}/test_skb_cgroup_id_user"
index 458564fcfc8239bd78d90f3936f2a0776b7e246b..2c89674fc62c1581b95146ef1e9c9d4afa9a0262 100644 (file)
 #endif
 
 #define CG_PATH        "/foo"
-#define CONNECT4_PROG_PATH     "./connect4_prog.o"
-#define CONNECT6_PROG_PATH     "./connect6_prog.o"
-#define SENDMSG4_PROG_PATH     "./sendmsg4_prog.o"
-#define SENDMSG6_PROG_PATH     "./sendmsg6_prog.o"
-#define RECVMSG4_PROG_PATH     "./recvmsg4_prog.o"
-#define RECVMSG6_PROG_PATH     "./recvmsg6_prog.o"
-#define BIND4_PROG_PATH                "./bind4_prog.o"
-#define BIND6_PROG_PATH                "./bind6_prog.o"
+#define CONNECT4_PROG_PATH     "./connect4_prog.bpf.o"
+#define CONNECT6_PROG_PATH     "./connect6_prog.bpf.o"
+#define SENDMSG4_PROG_PATH     "./sendmsg4_prog.bpf.o"
+#define SENDMSG6_PROG_PATH     "./sendmsg6_prog.bpf.o"
+#define RECVMSG4_PROG_PATH     "./recvmsg4_prog.bpf.o"
+#define RECVMSG6_PROG_PATH     "./recvmsg6_prog.bpf.o"
+#define BIND4_PROG_PATH                "./bind4_prog.bpf.o"
+#define BIND6_PROG_PATH                "./bind6_prog.bpf.o"
 
 #define SERV4_IP               "192.168.1.254"
 #define SERV4_REWRITE_IP       "127.0.0.1"
index 0fbaccdc886126ec02ec4ba40d0728a0f1829ef8..dcb038e342d813fc252fa4adf54fbc3fbca7306d 100644 (file)
@@ -52,8 +52,8 @@ static void running_handler(int a);
 #define S1_PORT 10000
 #define S2_PORT 10001
 
-#define BPF_SOCKMAP_FILENAME  "test_sockmap_kern.o"
-#define BPF_SOCKHASH_FILENAME "test_sockhash_kern.o"
+#define BPF_SOCKMAP_FILENAME  "test_sockmap_kern.bpf.o"
+#define BPF_SOCKHASH_FILENAME "test_sockhash_kern.bpf.o"
 #define CG_PATH "/sockmap"
 
 /* global sockets */
index 57620e7c904863081593481e589f8fb97d2d1942..bcdbd27f22f08cba4cc2785a01e00ba59e893d4c 100644 (file)
@@ -1372,7 +1372,7 @@ static struct sysctl_test tests[] = {
        },
        {
                "C prog: deny all writes",
-               .prog_file = "./test_sysctl_prog.o",
+               .prog_file = "./test_sysctl_prog.bpf.o",
                .attach_type = BPF_CGROUP_SYSCTL,
                .sysctl = "net/ipv4/tcp_mem",
                .open_flags = O_WRONLY,
@@ -1381,7 +1381,7 @@ static struct sysctl_test tests[] = {
        },
        {
                "C prog: deny access by name",
-               .prog_file = "./test_sysctl_prog.o",
+               .prog_file = "./test_sysctl_prog.bpf.o",
                .attach_type = BPF_CGROUP_SYSCTL,
                .sysctl = "net/ipv4/route/mtu_expires",
                .open_flags = O_RDONLY,
@@ -1389,7 +1389,7 @@ static struct sysctl_test tests[] = {
        },
        {
                "C prog: read tcp_mem",
-               .prog_file = "./test_sysctl_prog.o",
+               .prog_file = "./test_sysctl_prog.bpf.o",
                .attach_type = BPF_CGROUP_SYSCTL,
                .sysctl = "net/ipv4/tcp_mem",
                .open_flags = O_RDONLY,
index 102e6588e2fed4ced79560842e51c620154f7878..b42c24282c2543a61b559e70c4961011ddb8c463 100755 (executable)
@@ -76,7 +76,7 @@ main()
 DIR=$(dirname $0)
 TEST_IF=lo
 MAX_PING_TRIES=5
-BPF_PROG_OBJ="${DIR}/test_tcp_check_syncookie_kern.o"
+BPF_PROG_OBJ="${DIR}/test_tcp_check_syncookie_kern.bpf.o"
 CLSACT_SECTION="tc"
 XDP_SECTION="xdp"
 BPF_PROG_ID=0
index 8284db8b0f1353944b1cbb7a5619a2fd25d51e88..595194453ff8f8c25e2deec801c0d8add0cfea3f 100644 (file)
@@ -69,7 +69,7 @@ int verify_result(const struct tcpnotify_globals *result)
 
 int main(int argc, char **argv)
 {
-       const char *file = "test_tcpnotify_kern.o";
+       const char *file = "test_tcpnotify_kern.bpf.o";
        struct bpf_map *perf_map, *global_map;
        struct tcpnotify_globals g = {0};
        struct perf_buffer *pb = NULL;
index 1d79f31480ad9be9e4f73d3eb8d2f3808ea2e02a..0746a4fde9d3181667c081698249a1b6dd1d7663 100755 (executable)
@@ -54,10 +54,10 @@ test_xdp_redirect()
                return 0
        fi
 
-       ip -n ${NS1} link set veth11 $xdpmode obj xdp_dummy.o sec xdp &> /dev/null
-       ip -n ${NS2} link set veth22 $xdpmode obj xdp_dummy.o sec xdp &> /dev/null
-       ip link set dev veth1 $xdpmode obj test_xdp_redirect.o sec redirect_to_222 &> /dev/null
-       ip link set dev veth2 $xdpmode obj test_xdp_redirect.o sec redirect_to_111 &> /dev/null
+       ip -n ${NS1} link set veth11 $xdpmode obj xdp_dummy.bpf.o sec xdp &> /dev/null
+       ip -n ${NS2} link set veth22 $xdpmode obj xdp_dummy.bpf.o sec xdp &> /dev/null
+       ip link set dev veth1 $xdpmode obj test_xdp_redirect.bpf.o sec redirect_to_222 &> /dev/null
+       ip link set dev veth2 $xdpmode obj test_xdp_redirect.bpf.o sec redirect_to_111 &> /dev/null
 
        if ip netns exec ${NS1} ping -c 1 10.1.1.22 &> /dev/null &&
           ip netns exec ${NS2} ping -c 1 10.1.1.11 &> /dev/null; then
index cc57cb87e65f6610353632e40898ad671e2b9a3c..4c3c3fdd2d7304cbe71abbea69f1c20601108b2d 100755 (executable)
@@ -94,7 +94,7 @@ setup_ns()
                # Add a neigh entry for IPv4 ping test
                ip -n ${NS[$i]} neigh add 192.0.2.253 lladdr 00:00:00:00:00:01 dev veth0
                ip -n ${NS[$i]} link set veth0 $mode obj \
-                       xdp_dummy.o sec xdp &> /dev/null || \
+                       xdp_dummy.bpf.o sec xdp &> /dev/null || \
                        { test_fail "Unable to load dummy xdp" && exit 1; }
                IFACES="$IFACES veth$i"
                veth_mac[$i]=$(ip -n ${NS[0]} link show veth$i | awk '/link\/ether/ {print $2}')
index 49936c4c85679da6eb9eafcccadae7d68cd00769..5211ca9a02394c7cc7dea1e8428848f248f13656 100755 (executable)
@@ -101,7 +101,7 @@ ip -n ${NS3} link set dev veth33 up
 
 mkdir $BPF_DIR
 bpftool prog loadall \
-       xdp_redirect_map.o $BPF_DIR/progs type xdp \
+       xdp_redirect_map.bpf.o $BPF_DIR/progs type xdp \
        pinmaps $BPF_DIR/maps
 bpftool map update pinned $BPF_DIR/maps/tx_port key 0 0 0 0 value 122 0 0 0
 bpftool map update pinned $BPF_DIR/maps/tx_port key 1 0 0 0 value 133 0 0 0
@@ -110,9 +110,9 @@ ip link set dev veth1 xdp pinned $BPF_DIR/progs/xdp_redirect_map_0
 ip link set dev veth2 xdp pinned $BPF_DIR/progs/xdp_redirect_map_1
 ip link set dev veth3 xdp pinned $BPF_DIR/progs/xdp_redirect_map_2
 
-ip -n ${NS1} link set dev veth11 xdp obj xdp_dummy.o sec xdp
-ip -n ${NS2} link set dev veth22 xdp obj xdp_tx.o sec xdp
-ip -n ${NS3} link set dev veth33 xdp obj xdp_dummy.o sec xdp
+ip -n ${NS1} link set dev veth11 xdp obj xdp_dummy.bpf.o sec xdp
+ip -n ${NS2} link set dev veth22 xdp obj xdp_tx.bpf.o sec xdp
+ip -n ${NS3} link set dev veth33 xdp obj xdp_dummy.bpf.o sec xdp
 
 trap cleanup EXIT
 
index c03b3a75991f8753cc8e34657c67b10a8a2aea34..c1fc44c87c300c72df65a2fb00f9293c3b4f2ffc 100644 (file)
@@ -142,7 +142,7 @@ int main(int argc, char **argv)
        }
        printf("\n");
 
-       snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
+       snprintf(filename, sizeof(filename), "%s_kern.bpf.o", argv[0]);
        obj = bpf_object__open_file(filename, NULL);
        err = libbpf_get_error(obj);
        if (err)
index d874ddfb39c46c942a22c446b7dc523b3a010101..ff35320d2be9720293ddbb2fff6bb7dbfabdbe5d 100644 (file)
@@ -193,7 +193,7 @@ static int syncookie_attach(const char *argv0, unsigned int ifindex, bool tc)
        int prog_fd;
        int err;
 
-       snprintf(xdp_filename, sizeof(xdp_filename), "%s_kern.o", argv0);
+       snprintf(xdp_filename, sizeof(xdp_filename), "%s_kern.bpf.o", argv0);
        obj = bpf_object__open_file(xdp_filename, NULL);
        err = libbpf_get_error(obj);
        if (err < 0) {
index 5b6f977870f8f58502f9c573f56e825c5a35fda6..1503a1d2faa090e13c88bb7cec2fc9d44226b2c6 100644 (file)
@@ -168,7 +168,7 @@ int main(int argc, char **argv)
        /* Use libbpf 1.0 API mode */
        libbpf_set_strict_mode(LIBBPF_STRICT_ALL);
 
-       snprintf(filename, sizeof(filename), "%s_kern.o", argv[0]);
+       snprintf(filename, sizeof(filename), "%s_kern.bpf.o", argv[0]);
 
        if (bpf_prog_test_load(filename, BPF_PROG_TYPE_XDP, &obj, &prog_fd)) {
                fprintf(stderr, "load of %s failed\n", filename);