[PATCH] PowerPC: Use correct PLT relocations for elf_machine_type_class.
Alan Modra
amodra@bigpond.net.au
Wed Mar 11 03:27:00 GMT 2009
On Tue, Mar 10, 2009 at 07:31:31PM +0100, Jakub Jelinek wrote:
> Unfortunately this change completely broke prelink on ppc64 (and as we
> haven't rebuilt prelink in Fedora between that time and now it wasn't
> noticed during make check, wonder why it hasn't been reported by users
> though). The following very ugly hack gets back at least most of the tests
> into a working state, hopefully still compatible with the older glibc
> LD_TRACE_PRELINKING=1 output, but the lost distinction between PLT and
> non-PLT lookups still breaks the C++ vtable optimizations. I'll see if
> something can be easily done for them, but worst case the above change will
> have to be reverted.
Sorry, I obviously didn't consider prelink when making the change. Go
ahead and revert it. (Except that R_PPC64_ADDR24 was the wrong reloc
to test for plt lookup.)
I also can't see the speedup I was claiming when I submitted the
patch, except for the small matter of simplifying
elf_machine_type_class. :-( Setting ELF_RTYPE_CLASS_PLT was aimed
at short-circuiting multiple lookup for plt entry syms (non-zero
SHN_UNDEF), *but ppc64 ld doesn't generate these anyway*!
--
Alan Modra
Australia Development Lab, IBM
More information about the Libc-alpha
mailing list