aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-10-04 16:46:05 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-10-04 16:46:05 +0000
commit32d372d548122b224ec63a520a780d9227094a48 (patch)
tree4ea3bed03c1d1560e69ced5797b1f959af69b889 /sysdeps/unix
parent72d13ed1bdb3154adce67a74b7d6ec240a6b12a4 (diff)
downloadglibc-32d372d548122b224ec63a520a780d9227094a48.tar
glibc-32d372d548122b224ec63a520a780d9227094a48.tar.gz
glibc-32d372d548122b224ec63a520a780d9227094a48.tar.bz2
glibc-32d372d548122b224ec63a520a780d9227094a48.zip
Restore sparc32 copysignl, fabsl, fmal compat symbols (bug 22229).
32-bit SPARC libm should have compat symbols for copysignl (GLIBC_2.0), fabsl (GLIBC_2.0), fmal (GLIBC_2.1), pointing to the double functions; they were present in glibc 2.8, for example, but are now missing, probably when optimized SPARC function implementations were added without appropriate compat symbol handling. The same applies to copysignl in libc. This patch restores those compat symbols. Tested with build-many-glibcs.py for sparcv9-linux-gnu. [BZ #22229] * sysdeps/sparc/sparc32/fpu/s_copysign.S: Include <math_ldbl_opt.h> (copysignl): Define as compat symbol at version GLIBC_2_0 for libm and libc. * sysdeps/sparc/sparc32/fpu/s_fabs.S: Include <math_ldbl_opt.h>. (fabsl): Define as compat symbol at version GLIBC_2_0 for libm. * sysdeps/sparc/sparc32/fpu/s_fma.c: Include <math_ldbl_opt.h>. (fmal): Define as compat symbol at version GLIBC_2_1 for libm. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: Include <math_ldbl_opt.h> (copysignl): Define as compat symbol at version GLIBC_2_0 for libm and libc. (compat_symbol): Undefine and redefine. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Include <math_ldbl_opt.h> (fabsl): Define as compat symbol at version GLIBC_2_0 for libm. (compat_symbol): Undefine and redefine. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c [HAVE_AS_VIS3_SUPPORT]: Include <math_ldbl_opt.h>. [HAVE_AS_VIS3_SUPPORT] (fmal): Define as compat symbol at version GLIBC_2_1 for libm. * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Add GLIBC_2.0 copysignl symbol. * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Add GLIBC_2.0 copysignl and fabsl and GLIBC_2.1 fmal symbols.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist3
2 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 7f7449f52b..a62463be3d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -367,6 +367,7 @@ GLIBC_2.0 confstr F
GLIBC_2.0 connect F
GLIBC_2.0 copysign F
GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
GLIBC_2.0 creat F
GLIBC_2.0 create_module F
GLIBC_2.0 ctermid F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index f8f10e5952..92de6edab9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -29,6 +29,7 @@ GLIBC_2.0 ceilf F
GLIBC_2.0 ceill F
GLIBC_2.0 copysign F
GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
GLIBC_2.0 cos F
GLIBC_2.0 cosf F
GLIBC_2.0 cosh F
@@ -52,6 +53,7 @@ GLIBC_2.0 expm1f F
GLIBC_2.0 expm1l F
GLIBC_2.0 fabs F
GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
GLIBC_2.0 finite F
GLIBC_2.0 finitef F
GLIBC_2.0 finitel F
@@ -254,6 +256,7 @@ GLIBC_2.1 fetestexcept F
GLIBC_2.1 feupdateenv F
GLIBC_2.1 fma F
GLIBC_2.1 fmaf F
+GLIBC_2.1 fmal F
GLIBC_2.1 fmax F
GLIBC_2.1 fmaxf F
GLIBC_2.1 fmaxl F