This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: ppc 32/64 elf script question
- From: Alan Modra <amodra at gmail dot com>
- To: ariel dot burton at roguewave dot com
- Cc: binutils at sourceware dot org
- Date: Sat, 11 Aug 2012 13:22:17 +0930
- Subject: Re: ppc 32/64 elf script question
- References: <50258031.dha7dSs7ZAiPeHhx%ariel.burton@roguewave.com>
On Fri, Aug 10, 2012 at 05:42:09PM -0400, ariel.burton@roguewave.com wrote:
> In the case of the first call (the explicit call to x)
> the linker has adjusted the call address to call the
> function's entry point which it obtains from the opd of
> that name. That is, it recognizes that the reference
> to x is a reference to the opd entry, and instead of
> branching to the opd it branches to the entry address
> given in the opd. However, it's not doing the same
> with the call to y. There it's treating the synthesized
> reference to x differently, and branching to the opd
> rather than the entry address given in the opd.
The reason this is failing is that all symbols defined in a linker
script are defined in output sections or the absolute section. ppc64
ld does its magic with .opd only on symbols defined in *input* .opd
sections. I don't know a work-around, sorry. Please open a bug
report.
--
Alan Modra
Australia Development Lab, IBM