diff mbox series

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

Message ID 20240402140644.2172819-7-adhemerval.zanella@linaro.org
State Superseded
Headers show
Series Fix some libm static issues | expand

Commit Message

Adhemerval Zanella April 2, 2024, 2:06 p.m. UTC
hecked with a build for the affected ABIs.
---
 sysdeps/ieee754/ldbl-64-128/s_frexpl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

H.J. Lu May 20, 2024, 4:57 p.m. UTC | #1
On Tue, Apr 2, 2024 at 7:07 AM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
> hecked with a build for the affected ABIs.
> ---
>  sysdeps/ieee754/ldbl-64-128/s_frexpl.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sysdeps/ieee754/ldbl-64-128/s_frexpl.c b/sysdeps/ieee754/ldbl-64-128/s_frexpl.c
> index 73ac41e40c..f5f7d349f7 100644
> --- a/sysdeps/ieee754/ldbl-64-128/s_frexpl.c
> +++ b/sysdeps/ieee754/ldbl-64-128/s_frexpl.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_frexpl.c>
> -#if IS_IN (libc)
> +#if IS_IN (libc) && defined SHARED
>  long_double_symbol (libc, __frexpl, frexpl);

Doesn't this remove frexpl from libm.a?

>  #endif
> --
> 2.34.1
>
Adhemerval Zanella May 20, 2024, 7:06 p.m. UTC | #2
On 20/05/24 13:57, H.J. Lu wrote:
> On Tue, Apr 2, 2024 at 7:07 AM Adhemerval Zanella
> <adhemerval.zanella@linaro.org> wrote:
>>
>> hecked with a build for the affected ABIs.
>> ---
>>  sysdeps/ieee754/ldbl-64-128/s_frexpl.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sysdeps/ieee754/ldbl-64-128/s_frexpl.c b/sysdeps/ieee754/ldbl-64-128/s_frexpl.c
>> index 73ac41e40c..f5f7d349f7 100644
>> --- a/sysdeps/ieee754/ldbl-64-128/s_frexpl.c
>> +++ b/sysdeps/ieee754/ldbl-64-128/s_frexpl.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_frexpl.c>
>> -#if IS_IN (libc)
>> +#if IS_IN (libc) && defined SHARED
>>  long_double_symbol (libc, __frexpl, frexpl);
> 
> Doesn't this remove frexpl from libm.a?

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

alpha-linux-gnu$ readelf -sW libc.a | grep -w frexp.*
    19: 0000000000000000   312 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpl
    17: 0000000000000000   216 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf32x
    18: 0000000000000000   216 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf64
    19: 0000000000000000   216 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexp
    17: 0000000000000000   204 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf32
    18: 0000000000000000   204 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf

After this patch:

alpha-linux-gnu$ readelf -sW libc.a | grep -w frexp.*
    19: 0000000000000000   312 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf64x
    20: 0000000000000000   312 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf128
    21: 0000000000000000   312 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpl
    17: 0000000000000000   216 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf32x
    18: 0000000000000000   216 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf64
    19: 0000000000000000   216 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexp
    17: 0000000000000000   204 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf32
    18: 0000000000000000   204 FUNC    WEAK   DEFAULT [STD GPLOAD]     1 frexpf

> 
>>  #endif
>> --
>> 2.34.1
>>
> 
>
diff mbox series

Patch

diff --git a/sysdeps/ieee754/ldbl-64-128/s_frexpl.c b/sysdeps/ieee754/ldbl-64-128/s_frexpl.c
index 73ac41e40c..f5f7d349f7 100644
--- a/sysdeps/ieee754/ldbl-64-128/s_frexpl.c
+++ b/sysdeps/ieee754/ldbl-64-128/s_frexpl.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_frexpl.c>
-#if IS_IN (libc)
+#if IS_IN (libc) && defined SHARED
 long_double_symbol (libc, __frexpl, frexpl);
 #endif