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 97267d86c02855b0d35c8c0851f945c58aaa002b..56f9c6809bf05c4708391467f9d6ab1e20828e5d 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 06f1380b8702d5f07478c3a38fe1a45e810f3276..310eb2be3e491719df9b16f041d512f5b315e262 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 97cac13cd6aebc26b7d86026c2c950dfacf4a17d..1bdb60e177bb1dd183e6d8b25cd6e575c2cd023c 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 7a8c87bf4f2503837ad664447c6bef57f2b038b9..1921156b6bd4cf1aa857a3314ce75501c20bbbc0 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 10ee32328e298a97de617fee1da90be0eb49faf8..c62289467438fa9d281986c32b8a5676104aea28 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 8d7ad71b70666d278244ddf4cbce60a53fa49d85..271a65c683fa00944b7ad1523356c4ba75643659 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 6045188bd82fb87937d82caa82af645f5404087d..fa9ce4339f4f6cdba7dd81bbd047c5a210aa64e4 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 b5d53168f23af40d2a361fb2789c172d21a01df1..e19f338f7a1d959cc6774584b806166f5995c94f 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 bacf2eb9d2d83f2c97fd5368f0098a26504ca7a4..8ae7fe3266863f45b80967b2169e9702a5354050 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 a2739d856ac92f1f0763f9f7b2945ae7dadf1b95..57a726ea5c83caa21db19e2bdce275fc8357589e 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 8e6d2343eb8d0aeab9a661f0d4b67adc1e71cf93..82870ce5512f5ebebc39fc375a901590169802a1 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 0ef4179bfa4d5375c7788f9fff3f79233ecdad4b..3c0cdaea27b239a497637707d2eac887b014da12 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 d44fb1243795050c1ec2d746dc8a7da26dfa947f..badac364a9dda0f1b730ea50552fd35de52b7d2e 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 b2b416182b49c74c7fc569b799b99ae5d63a2436..c4ffde9017196bd8ad80e9627bd6f54d138bd44e 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 151c94b4dcaeb1a635f326e44fe498c30e32e709..7b3f78376d538b51aca14dffc84b979a2bed26f5 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 82085d5222e87ced0ae80a2d7237db49af06a2a2..295c1620f7d54b5df229a38252297497e6d91931 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 4423bd527aaa85889c26ff2e9724015c40519301..7cdacdf9214851d8c622c968824ef1ce0c4372c0 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 ce1235baeec27804b979e8fa7719741c155f050e..39e818af7e9673fc41609abafb4c0188c690e014 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 39ff3b44689d9d9e24024bd0bc073a0ad38a848c..bd2719c4b6a2a0759e41461ee7924db0a32a958b 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 1310ccf93bbdbca92fba19e8c20ec22dd74a49cf..ac336e8b9b10ee759d69b8fa17c9db881f52f99c 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 bd3d5048fc45a6b1a1189b0f2ef9fd5bc84e2776..6c8c7e3857c7dacf52de6b575a2386095688b5dc 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 796850b4d94f86311273d001e4c19f4baeae54fc..e9ffddb7964cb35ff0870122474f6e96a7ab2a4b 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