aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-09-18 17:51:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-09-18 17:51:33 +0000
commit92892fdbfa5e4d9f3cc25601767da064d0a8818a (patch)
tree7c41dfb788970d510b1537454ec52ce21f850772 /sysdeps
parent6cd380dd366d728da9f579eeb9f7f4c47f48e474 (diff)
downloadglibc-92892fdbfa5e4d9f3cc25601767da064d0a8818a.tar
glibc-92892fdbfa5e4d9f3cc25601767da064d0a8818a.tar.gz
glibc-92892fdbfa5e4d9f3cc25601767da064d0a8818a.tar.bz2
glibc-92892fdbfa5e4d9f3cc25601767da064d0a8818a.zip
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')
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_fmal.c5
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_acosl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_asinl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_coshl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c1
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_expl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_j0l_compat.c8
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_j1l_compat.c8
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_jnl_compat.c8
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_log10l_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_log2l_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_logl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_powl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c1
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c7
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 bd12dabcbe..0000000000
--- 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 f66964a138..0000000000
--- 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 ff33e9a9ed..0000000000
--- 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 a53f1cb1f5..0000000000
--- 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 c70f77e4c4..0000000000
--- 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 67450c5859..0000000000
--- 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 392511bab6..0000000000
--- 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 5a52a75ba5..1c0e8754dd 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 4534051d88..0000000000
--- 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 12419e3060..0000000000
--- 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 b87bac7ce8..0000000000
--- 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 8fc865128d..0000000000
--- 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 85b3feed9f..0000000000
--- 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 9b2c998536..0000000000
--- 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 6eb9ea7928..0000000000
--- 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 1507e937b8..0000000000
--- 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 6b71ef2659..0000000000
--- 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 c6f8d859be..0000000000
--- 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 849d2db425..9314117eda 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 8fce55c74f..0000000000
--- 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 05be917772..0000000000
--- 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 8c201ca8e2..0000000000
--- 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