[PATCH v3 7/7] math: Provide modf128 for static libm on alpha, s390, and sparcv9

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Mon May 20 19:07:51 GMT 2024



On 20/05/24 13:59, H.J. Lu wrote:
> On Tue, Apr 2, 2024 at 7:07 AM Adhemerval Zanella
> <adhemerval.zanella@linaro.org> wrote:
>>
>> Checked with a build for the affected ABIs
>> ---
>>  sysdeps/ieee754/ldbl-64-128/s_modfl.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sysdeps/ieee754/ldbl-64-128/s_modfl.c b/sysdeps/ieee754/ldbl-64-128/s_modfl.c
>> index 7d7aeae111..ba3d31334a 100644
>> --- a/sysdeps/ieee754/ldbl-64-128/s_modfl.c
>> +++ b/sysdeps/ieee754/ldbl-64-128/s_modfl.c
>> @@ -1,10 +1,10 @@
>>  #include <math_ldbl_opt.h>
>>  #include <libm-alias-ldouble.h>
>> -#if IS_IN (libc)
>> +#if IS_IN (libc) && defined SHARED
>>  # undef libm_alias_ldouble
>>  # define libm_alias_ldouble(from, to)
>>  #endif
>>  #include <sysdeps/ieee754/ldbl-128/s_modfl.c>
>> -#if IS_IN (libc)
>> +#if IS_IN (libc) && defined SHARED
>>  long_double_symbol (libc, __modfl, modfl);
> 
> Doesn't this remove modfl from static library?

As for copysignf128 and frexp128, this symbol is also provided by libc.a. 
Before this patch:

alpha-linux-gnu$ readelf -sW libc.a | grep -w modf.*
    19: 0000000000000000   572 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modfl
    17: 0000000000000000   304 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff32x
    18: 0000000000000000   304 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff64
    19: 0000000000000000   304 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modf
    17: 0000000000000000   244 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff32
    18: 0000000000000000   244 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff

After this patch:

alpha-linux-gnu$ readelf -sW libc.a | grep -w modf.*
    19: 0000000000000000   572 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff64x
    20: 0000000000000000   572 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff128
    21: 0000000000000000   572 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modfl
    17: 0000000000000000   304 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff32x
    18: 0000000000000000   304 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff64
    19: 0000000000000000   304 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modf
    17: 0000000000000000   244 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff32
    18: 0000000000000000   244 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 modff

> 
>>  #endif
>> --
>> 2.34.1
>>
> 
> 


More information about the Libc-alpha mailing list