https://sourceware.org/bugzilla/show_bug.cgi?id=23261
Bug ID: 23261 Summary: objcopy doesn't convert REL to RELA relocations when converting from i386 to x86-64. Product: binutils Version: 2.30 Status: UNCONFIRMED Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: s at pahtak dot org Target Milestone: --- Created attachment 11055 --> https://sourceware.org/bugzilla/attachment.cgi?id=11055&action=edit Object file which demonstrates the problem. Converting a relocatable elf32-i386 file with REL relocations (implicit addends) to elf64-x86-64 converts the relocation sections to 64-bit but does not convert to RELA (explicit addend) relocations. Run objcopy -I elf32-i386 -O elf64-x86-64 bug.o bug-64.o on the attached bug.o and examine the result with readelf -S bug-64.o Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align [ 0] NULL 0000000000000000 00000000 0000000000000000 0000000000000000 0 0 0 [ 1] .text._start PROGBITS 0000000000000000 00000040 0000000000000007 0000000000000000 AX 0 0 16 [ 2] .rel.text._start REL 0000000000000000 00000128 0000000000000010 0000000000000010 I 4 1 8 [ 3] .text.foo PROGBITS 0000000000000000 00000050 000000000000000a 0000000000000000 AX 0 0 16 [ 4] .symtab SYMTAB 0000000000000000 00000060 00000000000000a8 0000000000000018 5 6 8 [ 5] .strtab STRTAB 0000000000000000 00000108 0000000000000020 0000000000000000 0 0 1 [ 6] .shstrtab STRTAB 0000000000000000 00000138 0000000000000036 0000000000000000 0 0 1 The resulting object file is correctly handled by ld.bfd, causes an internal error in ld.gold ld.gold: internal error in scan_relocatable_relocs, at ../../gold/x86_64.cc:5118 and is linked incorrectly in ld.lld (it ignores the implicit addend of REL in x86-64). -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils