diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-09-18 17:51:33 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-09-18 17:51:33 +0000 |
commit | 92892fdbfa5e4d9f3cc25601767da064d0a8818a (patch) | |
tree | 7c41dfb788970d510b1537454ec52ce21f850772 /sysdeps/ieee754 | |
parent | 6cd380dd366d728da9f579eeb9f7f4c47f48e474 (diff) | |
download | glibc-92892fdbfa5e4d9f3cc25601767da064d0a8818a.zip glibc-92892fdbfa5e4d9f3cc25601767da064d0a8818a.tar.gz glibc-92892fdbfa5e4d9f3cc25601767da064d0a8818a.tar.bz2 |
Use libm_alias_ldouble in math/.
This patch converts libm function implementations in math/ from using
weak_alias to using libm_alias_ldouble to define public function
names, in cases where it would be appropriate to define _Float128 /
_Float64x aliases for those functions as well (in cases where either
or both of those types exist and have the same ABI as long double).
This eliminates many ldbl-opt wrappers round these function
implementations.
Tested for x86_64, and with build-many-glibcs.py. All installed
stripped shared libraries are unchanged except for libm.so on
powerpc64le. As noted for a previous patch, powerpc64le's use of
ldbl-opt means various long double functions get defined using
long_double_symbol which gives them an explicit symbol version in the
object files, and this patch results in some such functions using
weak_alias instead (because powerpc64le never had a previous version
of these functions for long double = double); both produce a valid
libm.so with the same public symbols at the same versions, but macros
expanding to call weak_alias is cleaner in this case.
* math/s_fmal.c: Include <libm-alias-ldouble.h>.
(fmal): Define using libm_alias_ldouble.
* math/w_acoshl_compat.c: Include <libm-alias-ldouble.h>.
(acoshl): Define using libm_alias_ldouble.
* math/w_acosl_compat.c: Include <libm-alias-ldouble.h>.
(acosl): Define using libm_alias_ldouble.
* math/w_asinl_compat.c: Include <libm-alias-ldouble.h>.
(asinl): Define using libm_alias_ldouble.
* math/w_atan2l_compat.c: Include <libm-alias-ldouble.h>.
(atan2l): Define using libm_alias_ldouble.
* math/w_atanhl_compat.c: Include <libm-alias-ldouble.h>.
(atanhl): Define using libm_alias_ldouble.
* math/w_coshl_compat.c: Include <libm-alias-ldouble.h>.
(coshl): Define using libm_alias_ldouble.
* math/w_exp10l_compat.c: Include <libm-alias-ldouble.h>.
(exp10l): Define using libm_alias_ldouble.
* math/w_exp2l_compat.c: Include <libm-alias-ldouble.h>.
(exp2l): Define using libm_alias_ldouble.
* math/w_expl_compat.c: Include <libm-alias-ldouble.h>.
(expl): Define using libm_alias_ldouble.
* math/w_fmodl_compat.c: Include <libm-alias-ldouble.h>.
(fmodl): Define using libm_alias_ldouble.
* math/w_hypotl_compat.c: Include <libm-alias-ldouble.h>.
(hypotl): Define using libm_alias_ldouble.
* math/w_j0l_compat.c: Include <libm-alias-ldouble.h>.
(j0l): Define using libm_alias_ldouble.
(y0l): Likewise.
* math/w_j1l_compat.c: Include <libm-alias-ldouble.h>.
(j1l): Define using libm_alias_ldouble.
(y1l): Likewise.
* math/w_jnl_compat.c: Include <libm-alias-ldouble.h>.
(jnl): Define using libm_alias_ldouble.
(ynl): Likewise.
* math/w_log10l_compat.c: Include <libm-alias-ldouble.h>.
(log10l): Define using libm_alias_ldouble.
* math/w_log2l_compat.c: Include <libm-alias-ldouble.h>.
(log2l): Define using libm_alias_ldouble.
* math/w_logl_compat.c: Include <libm-alias-ldouble.h>.
(logl): Define using libm_alias_ldouble.
* math/w_powl_compat.c: Include <libm-alias-ldouble.h>.
(powl): Define using libm_alias_ldouble.
* math/w_remainderl_compat.c: Include <libm-alias-ldouble.h>.
(remainderl): Define using libm_alias_ldouble.
* math/w_sinhl_compat.c: Include <libm-alias-ldouble.h>.
(sinhl): Define using libm_alias_ldouble.
* math/w_sqrtl_compat.c: Include <libm-alias-ldouble.h>.
(sqrtl): Define using libm_alias_ldouble.
* math/w_tgammal_compat.c: Include <libm-alias-ldouble.h>.
(tgammal): Define using libm_alias_ldouble.
* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT]
(exp10l): Do not use long_double_symbol here.
* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
[LIBM_SVID_COMPAT] (remainderl): Likewise.
* sysdeps/ieee754/ldbl-opt/s_fmal.c: Remove.
* sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_acosl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_asinl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_coshl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_expl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_j0l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_j1l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_jnl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_log10l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_log2l_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_logl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_powl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c: Likewise.
* sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c: Likewise.
Diffstat (limited to 'sysdeps/ieee754')
22 files changed, 0 insertions, 143 deletions
diff --git a/sysdeps/ieee754/ldbl-opt/s_fmal.c b/sysdeps/ieee754/ldbl-opt/s_fmal.c deleted file mode 100644 index bd12dab..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_fmal.c +++ /dev/null @@ -1,5 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_fmal.c> -long_double_symbol (libm, __fmal, fmal); diff --git a/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c b/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c deleted file mode 100644 index f66964a..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_acoshl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __acoshl, acoshl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c b/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c deleted file mode 100644 index ff33e9a..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_acosl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __acosl, acosl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c b/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c deleted file mode 100644 index a53f1cb..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_asinl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __asinl, asinl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c b/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c deleted file mode 100644 index c70f77e..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_atan2l_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __atan2l, atan2l); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c b/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c deleted file mode 100644 index 67450c5..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_atanhl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __atanhl, atanhl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c b/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c deleted file mode 100644 index 392511b..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_coshl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __coshl, coshl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c index 5a52a75..1c0e875 100644 --- a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c +++ b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c @@ -5,7 +5,6 @@ #define compat_symbol(l,n,a,v) #include <math/w_exp10l_compat.c> #if LIBM_SVID_COMPAT -long_double_symbol (libm, __exp10l, exp10l); # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27) /* compat_symbol was undefined and redefined above to avoid the default pow10l compat symbol at version GLIBC_2_1 (as for ldbl-opt diff --git a/sysdeps/ieee754/ldbl-opt/w_expl_compat.c b/sysdeps/ieee754/ldbl-opt/w_expl_compat.c deleted file mode 100644 index 4534051..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_expl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_expl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __expl, expl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c b/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c deleted file mode 100644 index 12419e3..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_fmodl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __fmodl, fmodl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c b/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c deleted file mode 100644 index b87bac7..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_hypotl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __hypotl, hypotl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c b/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c deleted file mode 100644 index 8fc8651..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_j0l_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __j0l, j0l); -long_double_symbol (libm, __y0l, y0l); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c b/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c deleted file mode 100644 index 85b3fee..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_j1l_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __j1l, j1l); -long_double_symbol (libm, __y1l, y1l); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c b/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c deleted file mode 100644 index 9b2c998..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_jnl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __jnl, jnl); -long_double_symbol (libm, __ynl, ynl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c b/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c deleted file mode 100644 index 6eb9ea7..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_log10l_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __log10l, log10l); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c b/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c deleted file mode 100644 index 1507e93..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_log2l_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __log2l, log2l); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_logl_compat.c b/sysdeps/ieee754/ldbl-opt/w_logl_compat.c deleted file mode 100644 index 6b71ef2..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_logl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_logl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __logl, logl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_powl_compat.c b/sysdeps/ieee754/ldbl-opt/w_powl_compat.c deleted file mode 100644 index c6f8d85..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_powl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_powl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __powl, powl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c b/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c index 849d2db..9314117 100644 --- a/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c +++ b/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c @@ -3,7 +3,6 @@ #define weak_alias(n,a) #include <math/w_remainderl_compat.c> #if LIBM_SVID_COMPAT -long_double_symbol (libm, __remainderl, remainderl); strong_alias (__remainderl, __dreml) long_double_symbol (libm, __dreml, dreml); #endif diff --git a/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c b/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c deleted file mode 100644 index 8fce55c..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_sinhl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __sinhl, sinhl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c b/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c deleted file mode 100644 index 05be917..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_sqrtl_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __sqrtl, sqrtl); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c b/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c deleted file mode 100644 index 8c201ca..0000000 --- a/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c +++ /dev/null @@ -1,7 +0,0 @@ -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/w_tgammal_compat.c> -#if LIBM_SVID_COMPAT -long_double_symbol (libm, __tgammal, tgammal); -#endif |