Legacy _IO_* symbols and Flaot128 transition

Florian Weimer fweimer@redhat.com
Mon Jul 2 07:22:00 GMT 2018


On 06/29/2018 07:15 PM, Joseph Myers wrote:
> On Fri, 29 Jun 2018, Florian Weimer wrote:
> 
>>> Should they be turned into compat symbols *because* they won't be
>>> installed headers (and we don't want new user code linking against them)?
>>> Or is there something else to it?
>>
>> No, it's just a cleanup, and to clarify what's necessary for future work.
> 
> Anything not accessible from installed headers is a good candidate for
> making into a compat symbol.

Agreed.

>> I also want to add some minimal test for libnldbl_nonshared.a, and reducing
>> its size helps with that.  (I'm aware that on ppc64, the current toolchain
>> doesn't support long double as double anymore, but I can just lie to the
>> compiler and use double instead, I guess.)
> 
> It certainly appears to be supported to me (using GCC mainline, compiling
> with -mlong-double-64 produces sizeof (long double) == 8 for both
> powerpc64 and powerpc64le).

Oh, this option isn't documented for POWER, so I didn't try it.

> However, libnldbl_nonshared.a is for long double = double *with compilers
> not supporting asm redirection*.  Which is a case the (incorrect) patch in
> <https://sourceware.org/ml/libc-alpha/2014-08/msg00497.html> provides
> evidence hasn't worked for a long time.  So I still think there's a case
> for eliminating libnldbl_nonshared.a and explicitly requiring asm
> redirection support for these non-default long double variants, which it's
> in practice required already (if not more generally requiring it for any
> compiler using the glibc headers), as discussed in
> <https://sourceware.org/ml/libc-alpha/2018-03/msg00281.html>.

Okay, I review the situation to determine which way is the best way 
forward for the 2.28 release.

> (The actual __nldbl_* exports from the glibc shared libraries - the
> functions that get used with -mlong-double-64 given asm redirection
> support - *should* be tested, via building some tests with
> -mlong-double-64.  The binary128 work should, as per
> <https://sourceware.org/ml/libc-alpha/2018-06/msg00680.html>, add tests
> that are generic to different long double formats, so that it will then be
> easy to build them for -mlong-double-64 for ldbl-opt configurations.)

I suppose we should also add tests for the functions which are not 
redirected to __nldbl_* variants, but to the non-l variants (because 
only for things like printf, separate wrappers are needed if there is 
redirection support).

Thanks,
Florian



More information about the Libc-alpha mailing list