[v3,6/7] math: Provide frexpf128 for static libm on alpha, s390, and sparcv9
Checks
Context |
Check |
Description |
redhat-pt-bot/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
linaro-tcwg-bot/tcwg_glibc_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_glibc_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
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
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
>
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
>>
>
>
@@ -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