All prelink ifunc* tests fail on powerpc64 when doing make check-cycle (in the pass with -Wl,-z,nocombreloc). The failures are in all ld.so modes, ldd -d -r ./ifunc1lib1.so, LD_TRACE_PRELINKING=1 ./ld64.so.1 ./ifunc1lib1.so or when just doing ./ld64.so.1 ./ifunc1lib1.so, even without prelinking being done on the library or any other involved object. The problem is that powerpc64 dl-machine.h assumes that if map == sym_map, then relative relocations for the current library have been already processed, but that isn't necessarily the case with -Wl,-z,nocombreloc.
Not sure what can be done about this though, perhaps linker could enforce some ordering of .rela.* sections which would make sure the needed relative relocations are processed before the IRELATIVE/JMP_IREL ones. Looking at ifunc1lib1.so it would be perhaps enough to force .rela.opd to be emitted as the first .rela.* section. -- Summary: -Wl,-z,nocombreloc doesn't work with IRELATIVE relocations Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassigned at sources dot redhat dot com ReportedBy: jakub at redhat dot com CC: amodra at bigpond dot net dot au,bug-binutils at gnu dot org GCC target triplet: powerpc64-linux http://sourceware.org/bugzilla/show_bug.cgi?id=11012 ------- 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