]> git.ipfire.org Git - thirdparty/glibc.git/commit - sysdeps/sparc/sparc32/fpu/s_copysign.S
Restore sparc32 copysignl, fabsl, fmal compat symbols (bug 22229).
authorJoseph Myers <joseph@codesourcery.com>
Wed, 4 Oct 2017 16:46:05 +0000 (16:46 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 4 Oct 2017 16:46:05 +0000 (16:46 +0000)
commit32d372d548122b224ec63a520a780d9227094a48
tree4ea3bed03c1d1560e69ced5797b1f959af69b889
parent72d13ed1bdb3154adce67a74b7d6ec240a6b12a4
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.
ChangeLog
sysdeps/sparc/sparc32/fpu/s_copysign.S
sysdeps/sparc/sparc32/fpu/s_fabs.S
sysdeps/sparc/sparc32/fpu/s_fma.c
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S
sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist