This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: i?86 libc.so check-abi regression


On Mon, 23 Jun 2014, Roland McGrath wrote:

> See math/Makefile lines 77-87 for why these changes became relevant to the
> libc.so ABI (not just libm.so, which wasn't broken).
> 
> It would be good to get some additional clean-up there.  It looks to me
> like printf_fp today does not actually use all those things, so we should
> drop from libc whatever we don't need for printf_fp.  Furthermore, we
> should make sure that libc's copies are used only internally and not
> exported at all.  It's an unintended (very old) snafu that these things got
> into any libc.so ABI; we never wanted them there.  But ABIs is ABIs, so we
> need runtime-only exports (i.e. no @@ symbols) of the things that
> previously-baked ABIs require.

libgcc on powerpc32 soft-float / e500 requires copysignl in libc (since 
GCC doesn't inline __builtin_copysignl expansion for this configuration so 
it ends up as an out-of-line call to copysignl, and libgcc uses 
__builtin_copysignl in complex arithmetic operations - see 
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58797>).  That is, a 
non-compat symbol is needed in libc to link the shared libgcc at all or to 
build programs using the relevant operations from static libgcc without 
them needing to link with libm.

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]