mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
80c29487db
* elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4 relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'. ld/testsuite/ * ld-elf/linkoncerdiff.d, ld-elf/linkoncerdiff1.s, ld-elf/linkoncerdiff2.s: New.
23 lines
602 B
ArmAsm
23 lines
602 B
ArmAsm
.section .gnu.linkonce.t.foo, "a", %progbits
|
|
1:
|
|
.globl symfoo
|
|
symfoo:
|
|
.long 0
|
|
|
|
.section .gnu.linkonce.t.bar, "a", %progbits
|
|
2:
|
|
.globl symbar
|
|
symbar:
|
|
.long 0
|
|
|
|
.section .gnu.linkonce.r.foo, "a", %progbits
|
|
.long 1b
|
|
.long symfoo
|
|
/* ld currently incorrectly silently discards this relocation. Just such
|
|
relocations are never produced by g++-3.4 so this suppressed error message
|
|
is not a problem:
|
|
#error: `.gnu.linkonce.t.bar' referenced in section `.gnu.linkonce.r.foo' of tmpdir/dump1.o: defined in discarded section `.gnu.linkonce.t.bar' of tmpdir/dump1.o
|
|
*/
|
|
.long 2b
|
|
.long symbar
|