This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] PowerPC: Use correct PLT relocations forelf_machine_type_class.
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: "Ryan S. Arnold" <rsa at us dot ibm dot com>, Ulrich Drepper <drepper at redhat dot com>,libc-alpha at sources dot redhat dot com
- Date: Wed, 11 Mar 2009 13:44:10 +1030
- Subject: Re: [PATCH] PowerPC: Use correct PLT relocations forelf_machine_type_class.
- References: <1203537649.11373.28.camel@localhost> <47BC88C4.7030600@redhat.com> <1203543707.11373.60.camel@localhost> <20080221002104.GE8227@bubble.grove.modra.org> <20090310183131.GL16681@sunsite.ms.mff.cuni.cz>
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