This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] PowerPC: Use correct PLT relocations forelf_machine_type_class.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]