[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