https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773
--- Comment #12 from James Hilliard <james.hilliard1 at gmail dot com> --- (In reply to James Hilliard from comment #10) > (In reply to David Faust from comment #9) > > Created attachment 54002 [details] > > updated patch > > > > Update the 'extern' variable marking, and also mark 'extern' funcs. > > That fixes the issue in kfunc_call_test.c Actually I think there's still an issue here, did a full clean test build and am now hitting this error: $ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool --debug gen skeleton /home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/kfunc_call_test.bpf.linked3.o name kfunc_call_test libbpf: loading object 'kfunc_call_test' from buffer libbpf: elf: section(2) .symtab, size 648, link 1, flags 0, type=2 libbpf: elf: section(3) .data, size 0, link 0, flags 3, type=1 libbpf: elf: skipping section(3) .data (size 0) libbpf: elf: section(4) .bss, size 0, link 0, flags 3, type=8 libbpf: elf: section(5) tc, size 1120, link 0, flags 6, type=1 libbpf: sec 'tc': found program 'kfunc_call_test2' at insn offset 0 (0 bytes), code size 13 insns (104 bytes) libbpf: sec 'tc': found program 'kfunc_call_test1' at insn offset 13 (104 bytes), code size 21 insns (168 bytes) libbpf: sec 'tc': found program 'kfunc_call_test_ref_btf_id' at insn offset 34 (272 bytes), code size 22 insns (176 bytes) libbpf: sec 'tc': found program 'kfunc_call_test_pass' at insn offset 56 (448 bytes), code size 52 insns (416 bytes) libbpf: sec 'tc': found program 'kfunc_call_test_get_mem' at insn offset 108 (864 bytes), code size 32 insns (256 bytes) libbpf: elf: section(6) syscall, size 152, link 0, flags 6, type=1 libbpf: sec 'syscall': found program 'kfunc_syscall_test' at insn offset 0 (0 bytes), code size 15 insns (120 bytes) libbpf: sec 'syscall': found program 'kfunc_syscall_test_null' at insn offset 15 (120 bytes), code size 4 insns (32 bytes) libbpf: elf: section(7) license, size 4, link 0, flags 3, type=1 libbpf: license of kfunc_call_test is GPL libbpf: elf: section(8) .comment, size 43, link 0, flags 30, type=1 libbpf: elf: skipping unrecognized data section(8) .comment libbpf: elf: section(9) .reltc, size 272, link 2, flags 40, type=9 libbpf: elf: section(10) .relsyscall, size 64, link 2, flags 40, type=9 libbpf: elf: section(11) .BTF, size 469068, link 0, flags 0, type=1 libbpf: looking for externs among 27 symbols... libbpf: failed to find BTF for extern 'bpf_kfunc_call_test2' [8134] section: -2 Error: failed to open BPF object file: No such file or directory