This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [GOLD] ifunc tests
On Wed, Mar 06, 2013 at 03:44:41PM -0800, Ian Lance Taylor wrote:
> On Wed, Mar 6, 2013 at 3:39 PM, Alan Modra <amodra@gmail.com> wrote:
> > Yes, we do the same on powerpc (*), but it only works for relocs in a
> > single binary, not when the ifunc relocation in a shared library uses
> > a resolver function in another shared library or the main app. In
> > that case GOT relocs may not have been applied. Exactly this
> > situation occurs in ifuncmain6pie/ifuncmod6.so.
>
> Argh.
>
> OK, next (unrelated) thought: perhaps the PPC code should just safely
> retrieve global into a local variable, rather than writing the whole
> switch statement in assembler.
>
> int i;
> #ifdef __powerpc__
> asm
> #else
> i = global;
> #endif
> switch (i)
Funny enough, I wrote the ifunc-sel.h modifications that way first.
Then I looked at glibc/sysdeps/powerpc/ifunc-sel.h, and decided to
import that in case someone decides to copy more ifunc tests from
glibc..
--
Alan Modra
Australia Development Lab, IBM