Use libm_alias_float in math/.
authorJoseph Myers <joseph@codesourcery.com>
Fri, 15 Sep 2017 17:12:02 +0000 (17:12 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 15 Sep 2017 17:12:02 +0000 (17:12 +0000)
This patch converts libm function implementations in math/ from using
weak_alias to using libm_alias_float to define public function names,
in cases where it would be appropriate to define _Float32 aliases for
those functions as well.  expf and exp2f are omitted from this patch,
given the in-progress patches that would change their symbol
versioning arrangements (at a later stage it will be necessary to add
macros that can be used for functions with such symbol versioning
arrangements - which will apply to lgammaf as well - but for the
initial patches in this area I'm just dealing with easy cases, and any
symbol versioning changes to these functions while the work is in
progress can effectively just undo the libm_alias_* changes as regards
those functions).

Tested for x86_64.  Also tested with build-many-glibcs.py that
installed stripped shared libraries are unchanged by the patch.

* math/s_fmaf.c: Include <libm-alias-float.h>.
(fmaf): Define using libm_alias_float.
* math/w_acosf_compat.c: Include <libm-alias-float.h>.
(acosf): Define using libm_alias_float.
* math/w_acoshf_compat.c: Include <libm-alias-float.h>.
(acoshf): Define using libm_alias_float.
* math/w_asinf_compat.c: Include <libm-alias-float.h>.
(asinf): Define using libm_alias_float.
* math/w_atan2f_compat.c: Include <libm-alias-float.h>.
(atan2f): Define using libm_alias_float.
* math/w_atanhf_compat.c: Include <libm-alias-float.h>.
(atanhf): Define using libm_alias_float.
* math/w_coshf_compat.c: Include <libm-alias-float.h>.
(coshf): Define using libm_alias_float.
* math/w_exp10f_compat.c: Include <libm-alias-float.h>.
(exp10f): Define using libm_alias_float.
* math/w_fmodf_compat.c: Include <libm-alias-float.h>.
(fmodf): Define using libm_alias_float.
* math/w_hypotf_compat.c: Include <libm-alias-float.h>.
(hypotf): Define using libm_alias_float.
* math/w_j0f_compat.c: Include <libm-alias-float.h>.
(j0f): Define using libm_alias_float.
(y0f): Likewise.
* math/w_j1f_compat.c: Include <libm-alias-float.h>.
(j1f): Define using libm_alias_float.
(y1f): Likewise.
* math/w_jnf_compat.c: Include <libm-alias-float.h>.
(jnf): Define using libm_alias_float.
(ynf): Likewise.
* math/w_log10f_compat.c: Include <libm-alias-float.h>.
(log10f): Define using libm_alias_float.
* math/w_log2f_compat.c: Include <libm-alias-float.h>.
(log2f): Define using libm_alias_float.
* math/w_logf_compat.c: Include <libm-alias-float.h>.
(logf): Define using libm_alias_float.
* math/w_powf_compat.c: Include <libm-alias-float.h>.
(powf): Define using libm_alias_float.
* math/w_remainderf_compat.c: Include <libm-alias-float.h>.
(remainderf): Define using libm_alias_float.
* math/w_sinhf_compat.c: Include <libm-alias-float.h>.
(sinhf): Define using libm_alias_float.
* math/w_sqrtf_compat.c: Include <libm-alias-float.h>.
(sqrtf): Define using libm_alias_float.
* math/w_tgammaf_compat.c: Include <libm-alias-float.h>.
(tgammaf): Define using libm_alias_float.

22 files changed:
ChangeLog
math/s_fmaf.c
math/w_acosf_compat.c
math/w_acoshf_compat.c
math/w_asinf_compat.c
math/w_atan2f_compat.c
math/w_atanhf_compat.c
math/w_coshf_compat.c
math/w_exp10f_compat.c
math/w_fmodf_compat.c
math/w_hypotf_compat.c
math/w_j0f_compat.c
math/w_j1f_compat.c
math/w_jnf_compat.c
math/w_log10f_compat.c
math/w_log2f_compat.c
math/w_logf_compat.c
math/w_powf_compat.c
math/w_remainderf_compat.c
math/w_sinhf_compat.c
math/w_sqrtf_compat.c
math/w_tgammaf_compat.c

index 97267d8..56f9c68 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,51 @@
+2017-09-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * math/s_fmaf.c: Include <libm-alias-float.h>.
+       (fmaf): Define using libm_alias_float.
+       * math/w_acosf_compat.c: Include <libm-alias-float.h>.
+       (acosf): Define using libm_alias_float.
+       * math/w_acoshf_compat.c: Include <libm-alias-float.h>.
+       (acoshf): Define using libm_alias_float.
+       * math/w_asinf_compat.c: Include <libm-alias-float.h>.
+       (asinf): Define using libm_alias_float.
+       * math/w_atan2f_compat.c: Include <libm-alias-float.h>.
+       (atan2f): Define using libm_alias_float.
+       * math/w_atanhf_compat.c: Include <libm-alias-float.h>.
+       (atanhf): Define using libm_alias_float.
+       * math/w_coshf_compat.c: Include <libm-alias-float.h>.
+       (coshf): Define using libm_alias_float.
+       * math/w_exp10f_compat.c: Include <libm-alias-float.h>.
+       (exp10f): Define using libm_alias_float.
+       * math/w_fmodf_compat.c: Include <libm-alias-float.h>.
+       (fmodf): Define using libm_alias_float.
+       * math/w_hypotf_compat.c: Include <libm-alias-float.h>.
+       (hypotf): Define using libm_alias_float.
+       * math/w_j0f_compat.c: Include <libm-alias-float.h>.
+       (j0f): Define using libm_alias_float.
+       (y0f): Likewise.
+       * math/w_j1f_compat.c: Include <libm-alias-float.h>.
+       (j1f): Define using libm_alias_float.
+       (y1f): Likewise.
+       * math/w_jnf_compat.c: Include <libm-alias-float.h>.
+       (jnf): Define using libm_alias_float.
+       (ynf): Likewise.
+       * math/w_log10f_compat.c: Include <libm-alias-float.h>.
+       (log10f): Define using libm_alias_float.
+       * math/w_log2f_compat.c: Include <libm-alias-float.h>.
+       (log2f): Define using libm_alias_float.
+       * math/w_logf_compat.c: Include <libm-alias-float.h>.
+       (logf): Define using libm_alias_float.
+       * math/w_powf_compat.c: Include <libm-alias-float.h>.
+       (powf): Define using libm_alias_float.
+       * math/w_remainderf_compat.c: Include <libm-alias-float.h>.
+       (remainderf): Define using libm_alias_float.
+       * math/w_sinhf_compat.c: Include <libm-alias-float.h>.
+       (sinhf): Define using libm_alias_float.
+       * math/w_sqrtf_compat.c: Include <libm-alias-float.h>.
+       (sqrtf): Define using libm_alias_float.
+       * math/w_tgammaf_compat.c: Include <libm-alias-float.h>.
+       (tgammaf): Define using libm_alias_float.
+
 2017-09-14  Joseph Myers  <joseph@codesourcery.com>
 
        * include/math.h (roundeven): Change hidden_proto call to
index 06f1380..310eb2b 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <libm-alias-float.h>
 
 float
 __fmaf (float x, float y, float z)
@@ -25,5 +26,5 @@ __fmaf (float x, float y, float z)
   return (x * y) + z;
 }
 #ifndef __fmaf
-weak_alias (__fmaf, fmaf)
+libm_alias_float (__fma, fma)
 #endif
index 97cac13..1bdb60e 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -37,5 +38,5 @@ __acosf (float x)
 
   return __ieee754_acosf (x);
 }
-weak_alias (__acosf, acosf)
+libm_alias_float (__acos, acos)
 #endif
index 7a8c87b..1921156 100644 (file)
@@ -19,6 +19,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -32,5 +33,5 @@ __acoshf (float x)
 
   return __ieee754_acoshf (x);
 }
-weak_alias (__acoshf, acoshf)
+libm_alias_float (__acosh, acosh)
 #endif
index 10ee323..c622894 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -37,5 +38,5 @@ __asinf (float x)
 
   return __ieee754_asinf (x);
 }
-weak_alias (__asinf, asinf)
+libm_alias_float (__asin, asin)
 #endif
index 8d7ad71..271a65c 100644 (file)
@@ -24,6 +24,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -40,5 +41,5 @@ __atan2f (float y, float x)
     __set_errno (ERANGE);
   return z;
 }
-weak_alias (__atan2f, atan2f)
+libm_alias_float (__atan2, atan2)
 #endif
index 6045188..fa9ce43 100644 (file)
@@ -19,6 +19,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -35,5 +36,5 @@ __atanhf (float x)
 
   return __ieee754_atanhf (x);
 }
-weak_alias (__atanhf, atanhf)
+libm_alias_float (__atanh, atanh)
 #endif
index b5d5316..e19f338 100644 (file)
@@ -21,6 +21,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 #if LIBM_SVID_COMPAT
 float
@@ -33,5 +34,5 @@ __coshf (float x)
 
        return z;
 }
-weak_alias (__coshf, coshf)
+libm_alias_float (__cosh, cosh)
 #endif
index bacf2eb..8ae7fe3 100644 (file)
@@ -24,6 +24,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 #if LIBM_SVID_COMPAT
 float
@@ -37,7 +38,7 @@ __exp10f (float x)
 
   return z;
 }
-weak_alias (__exp10f, exp10f)
+libm_alias_float (__exp10, exp10)
 # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
 strong_alias (__exp10f, __pow10f)
 compat_symbol (libm, __pow10f, pow10f, GLIBC_2_1);
index a2739d8..57a726e 100644 (file)
@@ -19,6 +19,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 #if LIBM_SVID_COMPAT
 /* wrapper fmodf */
@@ -32,5 +33,5 @@ __fmodf (float x, float y)
 
   return __ieee754_fmodf (x, y);
 }
-weak_alias (__fmodf, fmodf)
+libm_alias_float (__fmod, fmod)
 #endif
index 8e6d234..82870ce 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -34,5 +35,5 @@ __hypotf(float x, float y)
 
        return z;
 }
-weak_alias (__hypotf, hypotf)
+libm_alias_float (__hypot, hypot)
 #endif
index 0ef4179..3c0cdae 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -34,7 +35,7 @@ __j0f (float x)
 
   return __ieee754_j0f (x);
 }
-weak_alias (__j0f, j0f)
+libm_alias_float (__j0, j0)
 
 
 /* wrapper y0f */
@@ -64,5 +65,5 @@ __y0f (float x)
 
   return __ieee754_y0f (x);
 }
-weak_alias (__y0f, y0f)
+libm_alias_float (__y0, y0)
 #endif
index d44fb12..badac36 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -34,7 +35,7 @@ __j1f (float x)
 
   return __ieee754_j1f (x);
 }
-weak_alias (__j1f, j1f)
+libm_alias_float (__j1, j1)
 
 
 /* wrapper y1f */
@@ -64,5 +65,5 @@ __y1f (float x)
 
   return __ieee754_y1f (x);
 }
-weak_alias (__y1f, y1f)
+libm_alias_float (__y1, y1)
 #endif
index b2b4161..c4ffde9 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -34,7 +35,7 @@ __jnf (int n, float x)
 
   return __ieee754_jnf (n, x);
 }
-weak_alias (__jnf, jnf)
+libm_alias_float (__jn, jn)
 
 
 /* wrapper ynf */
@@ -64,5 +65,5 @@ __ynf (int n, float x)
 
   return __ieee754_ynf (n, x);
 }
-weak_alias (__ynf, ynf)
+libm_alias_float (__yn, yn)
 #endif
index 151c94b..7b3f783 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -43,5 +44,5 @@ __log10f (float x)
 
   return  __ieee754_log10f (x);
 }
-weak_alias (__log10f, log10f)
+libm_alias_float (__log10, log10)
 #endif
index 82085d5..295c162 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -43,5 +44,5 @@ __log2f (float x)
 
   return  __ieee754_log2f (x);
 }
-weak_alias (__log2f, log2f)
+libm_alias_float (__log2, log2)
 #endif
index 4423bd5..7cdacdf 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -43,5 +44,5 @@ __logf (float x)
 
   return  __ieee754_logf (x);
 }
-weak_alias (__logf, logf)
+libm_alias_float (__log, log)
 #endif
index ce1235b..39e818a 100644 (file)
@@ -19,6 +19,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -59,5 +60,5 @@ __powf (float x, float y)
 
   return z;
 }
-weak_alias (__powf, powf)
+libm_alias_float (__pow, pow)
 #endif
index 39ff3b4..bd2719c 100644 (file)
@@ -19,6 +19,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -33,6 +34,6 @@ __remainderf (float x, float y)
 
   return __ieee754_remainderf (x, y);
 }
-weak_alias (__remainderf, remainderf)
+libm_alias_float (__remainder, remainder)
 weak_alias (__remainderf, dremf)
 #endif
index 1310ccf..ac336e8 100644 (file)
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 #if LIBM_SVID_COMPAT
 float
@@ -32,5 +33,5 @@ __sinhf (float x)
 
        return z;
 }
-weak_alias (__sinhf, sinhf)
+libm_alias_float (__sinh, sinh)
 #endif
index bd3d504..6c8c7e3 100644 (file)
@@ -19,6 +19,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -31,5 +32,5 @@ __sqrtf (float x)
 
   return __ieee754_sqrtf (x);
 }
-weak_alias (__sqrtf, sqrtf)
+libm_alias_float (__sqrt, sqrt)
 #endif
index 796850b..e9ffddb 100644 (file)
@@ -17,6 +17,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 #if LIBM_SVID_COMPAT
 float
@@ -43,5 +44,5 @@ __tgammaf(float x)
        }
        return local_signgam < 0 ? - y : y;
 }
-weak_alias (__tgammaf, tgammaf)
+libm_alias_float (__tgamma, tgamma)
 #endif