Use libm_alias_double for powerpc fabs, fma.

Continuing the preparation for additional _FloatN / _FloatNx function
aliases, this patch makes powerpc fabs and fma use libm_alias_double
to define function aliases.  This brings in automatic symbol
versioning compat handling, so the powerpc32 and powerpc64 wrappers
that added such handling to the generic sysdeps/powerpc/fpu versions
are removed as no longer required (there are no sysdeps directory
ordering issues that would necessitate keeping trivial wrappers
there).

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanged for all its hard-float powerpc configurations.

	* sysdeps/powerpc/fpu/s_fabs.S: Include <libm-alias-double.h>.
	(fabs): Define using libm_alias_double.
	* sysdeps/powerpc/fpu/s_fma.S: Include <libm-alias-double.h>.
	(fma): Define using libm_alias_double.
	* sysdeps/powerpc/powerpc32/fpu/s_fabs.S: Remove file.
	* sysdeps/powerpc/powerpc32/fpu/s_fma.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_fabs.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_fma.S: Likewise.
This commit is contained in:
Joseph Myers 2017-12-01 22:23:28 +00:00
parent 15e84c63c0
commit ec2cf3f444
7 changed files with 15 additions and 32 deletions

View File

@ -1,3 +1,14 @@
2017-12-01 Joseph Myers <joseph@codesourcery.com>
* sysdeps/powerpc/fpu/s_fabs.S: Include <libm-alias-double.h>.
(fabs): Define using libm_alias_double.
* sysdeps/powerpc/fpu/s_fma.S: Include <libm-alias-double.h>.
(fma): Define using libm_alias_double.
* sysdeps/powerpc/powerpc32/fpu/s_fabs.S: Remove file.
* sysdeps/powerpc/powerpc32/fpu/s_fma.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_fabs.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_fma.S: Likewise.
2017-12-01 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c: Remove file.

View File

@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <libm-alias-double.h>
ENTRY(__fabs)
/* double [f1] fabs (double [f1] x); */
@ -24,13 +25,8 @@ ENTRY(__fabs)
blr
END(__fabs)
weak_alias (__fabs,fabs)
libm_alias_double (__fabs, fabs)
/* It turns out that it's safe to use this code even for single-precision. */
strong_alias(__fabs,__fabsf)
weak_alias (__fabs,fabsf)
#ifdef NO_LONG_DOUBLE
weak_alias (__fabs,__fabsl)
weak_alias (__fabs,fabsl)
#endif

View File

@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <libm-alias-double.h>
ENTRY_TOCLESS(__fma)
/* double [f1] fma (double [f1] x, double [f2] y, double [f3] z); */
@ -24,9 +25,4 @@ ENTRY_TOCLESS(__fma)
blr
END(__fma)
weak_alias (__fma,fma)
#ifdef NO_LONG_DOUBLE
weak_alias (__fma,__fmal)
weak_alias (__fma,fmal)
#endif
libm_alias_double (__fma, fma)

View File

@ -1,5 +0,0 @@
#include <math_ldbl_opt.h>
#include <sysdeps/powerpc/fpu/s_fabs.S>
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
compat_symbol (libm, __fabs, fabsl, GLIBC_2_0)
#endif

View File

@ -1,5 +0,0 @@
#include <math_ldbl_opt.h>
#include <sysdeps/powerpc/fpu/s_fma.S>
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
compat_symbol (libm, __fma, fmal, GLIBC_2_1)
#endif

View File

@ -1,5 +0,0 @@
#include <math_ldbl_opt.h>
#include <sysdeps/powerpc/fpu/s_fabs.S>
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
compat_symbol (libm, __fabs, fabsl, GLIBC_2_0)
#endif

View File

@ -1,5 +0,0 @@
#include <math_ldbl_opt.h>
#include <sysdeps/powerpc/fpu/s_fma.S>
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
compat_symbol (libm, __fma, fmal, GLIBC_2_1)
#endif