https://sourceware.org/bugzilla/show_bug.cgi?id=32772
Bug ID: 32772 Summary: bfd crash in riscv_elf_relocate_section when linking GCC on riscv Product: binutils Version: 2.45 (HEAD) Status: NEW Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: sam at gentoo dot org Target Milestone: --- This shows up when linking gcc. ``` $ /usr/riscv64-unknown-linux-gnu/bin/ld -plugin /usr/libexec/gcc/riscv64-unknown-linux-gnu/15/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/riscv64-unknown-linux-gnu/15/lto-wrapper -plugin-opt=-fresolution=/tmp/cclPFxt5.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-latomic -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh --eh-frame-hdr -melf64lriscv -X -dynamic-linker /lib/ld-linux-riscv64-lp64d.so.1 -pie -z now -o Tlto-wrapper /lib64/lp64d/Scrt1.o /usr/lib/gcc/riscv64-unknown-linux-gnu/15/crti.o /usr/lib/gcc/riscv64-unknown-linux-gnu/15/crtbeginS.o -L/usr/lib/gcc/riscv64-unknown-linux-gnu/15 -L/usr/lib/gcc/riscv64-unknown-linux-gnu/15/../../../../riscv64-unknown-linux-gnu/lib -L/lib64/lp64d -L/usr/lib64/lp64d -L/lib -L/usr/lib -z now -z now -O1 --as-needed lto-wrapper.o collect-utils.o ggc-none.o lockfile.o lto-ltrans-cache.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/pic/libiberty.a ../libdecnumber/libdecnumber.a -v -Bstatic -lstdc++ -Bdynamic -lm -lgcc -lgcc_eh --push-state --as-needed -latomic --pop-state -lc -lgcc -lgcc_eh /usr/lib/gcc/riscv64-unknown-linux-gnu/15/crtendS.o /usr/lib/gcc/riscv64-unknown-linux-gnu/15/crtn.o GNU ld (Gentoo 9999 p1) 2.44.50.20250308 Segmentation fault (core dumped) ``` ``` $ gdb --args ... [...] Program received signal SIGSEGV, Segmentation fault. riscv_elf_relocate_section (output_bfd=output_bfd@entry=0x55555584c820, info=0x5555558440a0 <link_info>, input_bfd=input_bfd@entry=0x5555568170f0, input_section=input_section@entry=0x55555684a550, contents=0x5555578db5d0 "9q\"\370&\364\006\374\375W\227\024\035", relocs=relocs@entry=0x55555684f3b0, local_syms=local_syms@entry=0x55555854cca0, local_sections=0x555559803180) at /usr/src/debug/sys-devel/binutils-9999/binutils/bfd/elfnn-riscv.c:2786 2786 if (h->root.type == bfd_link_hash_undefweak && !via_plt) (gdb) bt #0 riscv_elf_relocate_section (output_bfd=output_bfd@entry=0x55555584c820, info=0x5555558440a0 <link_info>, input_bfd=input_bfd@entry=0x5555568170f0, input_section=input_section@entry=0x55555684a550, contents=0x5555578db5d0 "9q\"\370&\364\006\374\375W\227\024\035", relocs=relocs@entry=0x55555684f3b0, local_syms=local_syms@entry=0x55555854cca0, local_sections=0x555559803180) at /usr/src/debug/sys-devel/binutils-9999/binutils/bfd/elfnn-riscv.c:2786 #1 0x00007ffff7f2f1b8 in elf_link_input_bfd (flinfo=flinfo@entry=0x7fffffffe730, input_bfd=input_bfd@entry=0x5555568170f0) at /usr/src/debug/sys-devel/binutils-9999/binutils/bfd/elflink.c:11900 #2 0x00007ffff7f30c82 in bfd_elf_final_link (abfd=0x55555584c820, info=<optimized out>) at /usr/src/debug/sys-devel/binutils-9999/binutils/bfd/elflink.c:13159 #3 0x000055555558e52e in ldwrite () at /usr/src/debug/sys-devel/binutils-9999/binutils/ld/ldwrite.c:548 #4 0x0000555555585216 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/sys-devel/binutils-9999/binutils/ld/ldmain.c:561 ``` -- You are receiving this mail because: You are on the CC list for the bug.