Following a recent change for handling --emit-relocs switch the Linker started producing static relocations for code generated by the linker itself.
When generating R_PPC64_TOC16_DS relocations, which affects the low-order 16-bit of the instruction, the linker places them instead on the instruction boundary. In the example below the symbol-less relocations are the linker-generated ones and are placed improperly on instruction boundaries (10000a9c, 10000aa0, ...), while those with attached symbols are compiler-generated and are correctly placed on the 2-low-order bytes of the respective instruction (10000ada, 10000adc) 0000000010000a9c 000000000000003f R_PPC64_TOC16_DS 000000001001dab8 0000000010000aa0 000000000000003f R_PPC64_TOC16_DS 000000001001dab0 0000000010000aac 000000000000003f R_PPC64_TOC16_DS 000000001001da00 0000000010000ab4 000000000000003f R_PPC64_TOC16_DS 000000001001da10 0000000010000ab8 000000000000003f R_PPC64_TOC16_DS 000000001001da08 0000000010000ada 000000180000003f R_PPC64_TOC16_DS 000000001001d870 .got + 8 0000000010000adc 0000006d0000000a R_PPC64_REL24 0000000000000000 __libc_start_main@@GLIBC_2.3 + 0 0000000010000b0a 000000180000003f R_PPC64_TOC16_DS 000000001001d870 .got + 10 0000000010000b14 0000004e0000000a R_PPC64_REL24 0000000000000000 __gmon_start__ + 0 0000000010000b2e 000000180000003f R_PPC64_TOC16_DS 000000001001d870 .got + 18 -- Summary: Linker-generated TOC16_DS relocations are misplaced Product: binutils Version: 2.18 Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassigned at sources dot redhat dot com ReportedBy: yaari at il dot ibm dot com CC: bug-binutils at gnu dot org GCC target triplet: ppc64 http://sourceware.org/bugzilla/show_bug.cgi?id=6590 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils