https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123516
Bug ID: 123516
Summary: xdp-tools fails tests for bpf (DATASEC
'.xdp_run_config' not found.)
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: sjames at gcc dot gnu.org
CC: david.faust at oracle dot com
Target Milestone: ---
Building xdp-tools BPF code with GCC (*) results in a bunch of test failures
that look like this.
```
[...]
libbpf: map 'xdp_disp.rodata' (global data): at sec_idx 8, offset
0, flags 80.
libbpf: map 0 is "xdp_disp.rodata"
libbpf: sec '.relxdp': collecting relocation for section(4) 'xdp'
libbpf: sec '.relxdp': relo #0: insn #0 against '.rodata'
libbpf: prog 'xdp_dispatcher': found data map 0 (xdp_disp.rodata,
sec 8, off 0) for insn 0
libbpf: sec '.relxdp': relo #1: insn #6 against 'prog0'
libbpf: sec '.relxdp': relo #2: insn #15 against 'prog1'
libbpf: sec '.relxdp': relo #3: insn #24 against 'prog2'
libbpf: sec '.relxdp': relo #4: insn #33 against 'prog3'
libbpf: sec '.relxdp': relo #5: insn #42 against 'prog4'
libbpf: sec '.relxdp': relo #6: insn #51 against 'prog5'
libbpf: sec '.relxdp': relo #7: insn #60 against 'prog6'
libbpf: sec '.relxdp': relo #8: insn #69 against 'prog7'
libbpf: sec '.relxdp': relo #9: insn #78 against 'prog8'
libbpf: sec '.relxdp': relo #10: insn #87 against 'prog9'
libbpf: sec '.relxdp': relo #11: insn #96 against 'compat_test'
libxdp: DATASEC '.xdp_run_config' not found.
libxdp: At least one attached program doesn't support frags,
disabling it for the dispatcher
libxdp: Failed to set rodata for object file 'xdp-dispatcher.o'
Command './xdp-trafficgen xsk-udp btest0 -vv' exited with status 234
Test test_xsk_udp exited with return code: 234
Test failed - retrying 0 more times
[test_xsk_udp] FAIL
make: *** [../lib/common.mk:132: test] Error 1
```
The key bit seems to be `libxdp: DATASEC '.xdp_run_config' not found.`
```
Using built-in specs.
COLLECT_GCC=bpf-unknown-none-gcc
COLLECT_LTO_WRAPPER=/usr/lib/bpf-toolchain/libexec/gcc/bpf-unknown-none/15/lto-wrapper
Target: bpf-unknown-none
Configured with:
/var/tmp/portage/sys-devel/bpf-toolchain-15.2.0_p2/work/gcc/configure
--build=x86_64-pc-linux-gnu --target=bpf-unknown-none --docdir=/.skip
--infodir=/.skip --mandir=/.skip MAKEINFO=: --prefix=/usr/lib/bpf-toolchain
--host=x86_64-pc-linux-gnu --disable-bootstrap --disable-cc1 --disable-cet
--disable-gcov --disable-gomp --disable-nls --disable-libcc1
--disable-libquadmath --disable-libsanitizer --disable-libssp --disable-libvtv
--disable-shared --disable-werror --enable-languages=c
--with-gcc-major-version-only --with-system-zlib --without-isl --without-zstd
--disable-multilib CXX='x86_64-pc-linux-gnu-g++ -std=c++14'
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 15.2.0 (GCC)
```
(*) Will describe separately.