This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: ppc64le: expected localentry:0 `pthread_condattr_destroy'
On Jul 28 2017, Alan Modra <amodra@gmail.com> wrote:
> On Fri, Jul 28, 2017 at 02:39:13PM +0200, Florian Weimer wrote:
>> At static link time, when processing a relocation to a function, the
>> static link editor looks at the implementation of the called function
>> (which can live in a different DSO). If the current implementation does
>> not use the TOC register, the caller is adjusted to call an optimized
>> PLT stub which does not set the TOC. Otherwise, a full PLT stub which
>> sets the TOC is used. If the link edit chose to apply the optimization,
>> there is no way to go back, and future implementations of the called
>> function must never require a TOC pointer. The dynamic linker cannot
>> recover and thus bails out with the localentry error message.
>
> Yes, that's correct. If the linker doesn't see a definition, or if
> the definition is weak, then the optimization does not apply.
That looks like a design bug. The link-time object will almost never
exactly match the run-time object.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."