[PATCH] libstdc++: Add C++ runtime support for new 128-bit long double format

Jonathan Wakely jwakely@redhat.com
Fri Dec 4 00:35:42 GMT 2020


On 03/12/20 20:07 -0300, Tulio Magno Quites Machado Filho via Libstdc++ wrote:
>Jonathan Wakely via Libstdc++ <libstdc++@gcc.gnu.org> writes:
>
>> diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
>> index cbfdf4c6bad..d25842fef35 100644
>> --- a/libstdc++-v3/configure.ac
>> +++ b/libstdc++-v3/configure.ac
>> @@ -421,12 +425,43 @@ case "$target" in
>>      port_specific_symbol_files="\$(top_srcdir)/config/os/gnu-linux/ldbl-extra.ver"
>>      case "$target" in
>>        powerpc*-*-linux*)
>> -	LONG_DOUBLE_COMPAT_FLAGS="$LONG_DOUBLE_COMPAT_FLAGS -mno-gnu-attribute" ;;
>> +	LONG_DOUBLE_COMPAT_FLAGS="$LONG_DOUBLE_COMPAT_FLAGS -mno-gnu-attribute"
>> +        # Check for IEEE128 support in libm:
>> +        AC_CHECK_LIB(m, frexpf128,
>
>I suggest to replace frexpf128 with __frexpieee128.
>
>The former is available on a glibc that support _Float128 (since glibc 2.26).
>The later is available on a glibc that supports binary128 long double (since
>glibc 2.32)

Hmm, yes, you pointed me to __frexpieee128 a few months ago, but for
some reason I either didn't switch to using it, or lost a patch when
squashing and rebasing branches. Hopefully I just forgot to change it,
but I'll double check to make sure I haven't left any work on an old
branch. Thanks for suggesting it (again!)

>Without this modification, the build fails on glibc between 2.26 and 2.31.
>
>I'm also running a couple of tests here.
>I believe this is showing a couple of glitches in glibc which I'm already
>investigating.
>
>Thanks!
>
>-- 
>Tulio Magno
>



More information about the Libstdc++ mailing list