https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121419
Bug ID: 121419 Summary: __clzdi2 emitted when building udev-hid-bpf 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 Target Milestone: --- Created attachment 62062 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=62062&action=edit 0009-WALTOP__Batteryless-Tablet.bpf.unstripped.i When building https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/ with `meson setup build -Dbpf-compiler=gcc && ninja -C build`, I get: ``` [...] [1/7] /usr/bin/bpftool gen object src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.o src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o FAILED: [code=254] src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.o /usr/bin/bpftool gen object src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.o src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o libbpf: failed to find BTF info for global/extern symbol '__clzdi2' Error: failed to link 'src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o': No such file or directory (2) [...] ``` Running it manually: ``` $ /usr/bin/bpf-unknown-none-gcc -std=gnu11 -fno-stack-protector -fno-ssa-phiopt -ffreestanding -O2 -mcpu=v3 -mco-re -gbtf -c -D__x86_64__ -mlittle-endian -I. -isystem /usr/include/x86_64-pc-linux-gnu -idirafter /usr/include ../src/bpf/testing/0010-WALTOP__Batteryless-Tablet.bpf.c -o src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o -I/home/sam/git/udev-hid-bpf/src/bpf -I/home/sam/git/udev-hid-bpf/src/bpf -DHID_BPF_TRACING -save-temps $ /usr/bin/bpftool gen object src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.o src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o libbpf: failed to find BTF info for global/extern symbol '__clzdi2' Error: failed to link 'src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o': No such file or directory (2) $ nm src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o | grep __clzdi2 U __clzdi2 ``` If I build it with Clang, there's no such reference emitted: ``` $ clang -std=gnu11 -fno-stack-protector -ffreestanding -O2 --target=bpf -c -D__x86_64__ -mlittle-endian -I. -isystem /usr/include/x86_64-pc-linux-gnu -idirafter /usr/include ../src/bpf/testing/0010-WALTOP__Batteryless-Tablet.bpf.c -o src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o -I/home/sam/git/udev-hid-bpf/src/bpf -I/home/sam/git/udev-hid-bpf/src/bpf -DHID_BPF_TRACING -g $ /usr/bin/bpftool gen object src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.o src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o $ nm src/bpf/0009-WALTOP__Batteryless-Tablet.bpf.unstripped.o | grep __clzdi2 ```