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