[SPARC] Segfault when resolving STT_GNU_IFUNC functions

David Miller davem@davemloft.net
Tue Jun 7 21:14:00 GMT 2011


From: Richard Henderson <rth@twiddle.net>
Date: Tue, 07 Jun 2011 13:24:26 -0700

> On 06/07/2011 12:53 PM, David Miller wrote:
>> The problem in this case is that I'm trying to get at GLRO(dl_hwcap)
>> which lives in the dynamic linker, from IFUNC resolver code which
>> lives in libc.so
> 
> Ah, right, I mis-understood the actual problem.
> 
> I don't see why you wouldn't Define this as part of the Sparc ifunc abi,
> rather than pretending it's private to libc.  It doesn't seem to affect
> any part of the generic ifunc abi.
> 
> If someone actually wanted to use ifunc stuff in third-party libraries,
> they'd be in the same situation.

That's a good point.

However, the thing I was worried about is that if for some reason we
want to add an argument to IFUNC handlers on all architectures, I'd
have to rearrange things on Sparc (move dl_hwcap to the second
argument, etc.) which would break things on people.

Or, keep dl_hwcap as the first argument, and people trying to use the
new IFUNC argument have to do something special on Sparc.

Neither solution would be nice.



More information about the Libc-alpha mailing list