about summary refs log tree commit diff
path: root/include/math.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/math.h')
-rw-r--r--include/math.h84
1 files changed, 38 insertions, 46 deletions
diff --git a/include/math.h b/include/math.h
index e21d34b868..3e4e020915 100644
--- a/include/math.h
+++ b/include/math.h
@@ -7,64 +7,56 @@
 #include <math/math.h>
 
 #ifndef _ISOMAC
+# include <libm-symbols.h>
+
 /* Now define the internal interfaces.  */
 extern int __signgam;
 
-# if IS_IN (libc) || IS_IN (libm)
-hidden_proto (__finite)
-hidden_proto (__isinf)
-hidden_proto (__isnan)
-hidden_proto (__finitef)
-hidden_proto (__isinff)
-hidden_proto (__isnanf)
-
-#  ifndef __NO_LONG_DOUBLE_MATH
-hidden_proto (__finitel)
-hidden_proto (__isinfl)
-hidden_proto (__isnanl)
-#  endif
-
-#  if __HAVE_DISTINCT_FLOAT128
-hidden_proto (__finitef128)
-hidden_proto (__isinff128)
-hidden_proto (__isnanf128)
-hidden_proto (__signbitf128)
-#  endif
-# endif
-
-libm_hidden_proto (__fpclassify)
-libm_hidden_proto (__fpclassifyf)
-libm_hidden_proto (__issignaling)
-libm_hidden_proto (__issignalingf)
-libm_hidden_proto (__exp)
-libm_hidden_proto (__expf)
-libm_hidden_proto (__roundeven)
+libc_libm_hidden_mathcall (finite)
+libc_libm_hidden_mathcall (isinf)
+libc_libm_hidden_mathcall (isnan)
+libc_libm_hidden_mathcall (scalbn)
+libc_libm_hidden_mathcall (signbit)
 
-# ifndef __NO_LONG_DOUBLE_MATH
-libm_hidden_proto (__fpclassifyl)
-libm_hidden_proto (__issignalingl)
-libm_hidden_proto (__expl)
-libm_hidden_proto (__expm1l)
-# endif
-
-# if __HAVE_DISTINCT_FLOAT128
-libm_hidden_proto (__fpclassifyf128)
-libm_hidden_proto (__issignalingf128)
-libm_hidden_proto (__expf128)
-libm_hidden_proto (__expm1f128)
-# endif
+libm_hidden_mathcall (atan)
+libm_hidden_mathcall (atan2)
+libm_hidden_mathcall (ceil)
+libm_hidden_mathcall (cos)
+libm_hidden_mathcall (erf)
+libm_hidden_mathcall (erfc)
+libm_hidden_mathcall (exp)
+libm_hidden_mathcall (expm1)
+libm_hidden_mathcall (floor)
+libm_hidden_mathcall (fpclassify)
+libm_hidden_mathcall (frexp)
+libm_hidden_mathcall (hypot)
+libm_hidden_mathcall (ilogb)
+libm_hidden_mathcall (issignaling)
+libm_hidden_mathcall (ldexp)
+libm_hidden_mathcall (log)
+libm_hidden_mathcall (log1p)
+libm_hidden_mathcall (nearbyint)
+libm_hidden_mathcall (nextup)
+libm_hidden_mathcall (rint)
+libm_hidden_mathcall (round)
+libm_hidden_mathcall (roundeven)
+libm_hidden_mathcall (scalbln)
+libm_hidden_mathcall (sin)
+libm_hidden_mathcall (sincos)
+libm_hidden_mathcall (sqrt)
+libm_hidden_mathcall (trunc)
 
 # if !(defined __FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
 #  ifndef NO_MATH_REDIRECT
 /* Declare sqrt for use within GLIBC.  Compilers typically inline sqrt as a
    single instruction.  Use an asm to avoid use of PLTs if it doesn't.  */
-float (sqrtf) (float) asm ("__ieee754_sqrtf");
-double (sqrt) (double) asm ("__ieee754_sqrt");
+float (sqrtf) (float) asm ("__ieee754_sqrtf") libm_attr_hidden;
+double (sqrt) (double) asm ("__ieee754_sqrt") libm_attr_hidden;
 #   ifndef __NO_LONG_DOUBLE_MATH
-long double (sqrtl) (long double) asm ("__ieee754_sqrtl");
+long double (sqrtl) (long double) asm ("__ieee754_sqrtl") libm_attr_hidden;
 #   endif
 #   if __HAVE_DISTINCT_FLOAT128 > 0
-_Float128 (sqrtf128) (_Float128) asm ("__ieee754_sqrtf128");
+_Float128 (sqrtf128) (_Float128) asm ("__ieee754_sqrtf128") libm_attr_hidden;
 #   endif
 #  endif
 # endif