summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2011-03-16 10:23:18 +0100
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2012-06-15 14:00:25 +0200
commit2e17280a398d1297103517f456ac114b70cf015a (patch)
tree6a01b3dd5987ffd105e8f57b395f85d283acb3ec
parented5c73b0057bdbaad1d737342d374922685a399a (diff)
math: avoid jump relocation in libm
add hidden significand, lgamma_r, scalb, log2, gamma Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--libc/sysdeps/linux/common/bits/mathcalls.h10
-rw-r--r--libm/e_lgamma_r.c2
-rw-r--r--libm/e_log2.c1
-rw-r--r--libm/e_scalb.c1
-rw-r--r--libm/s_significand.c1
5 files changed, 11 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/common/bits/mathcalls.h b/libc/sysdeps/linux/common/bits/mathcalls.h
index ea53a5198..d566c186f 100644
--- a/libc/sysdeps/linux/common/bits/mathcalls.h
+++ b/libc/sysdeps/linux/common/bits/mathcalls.h
@@ -155,7 +155,7 @@ __BEGIN_NAMESPACE_C99
__MATHCALLI (exp2,, (_Mdouble_ __x))
/* Compute base-2 logarithm of X. */
-__MATHCALL (log2,, (_Mdouble_ __x))
+__MATHCALLI (log2,, (_Mdouble_ __x))
__END_NAMESPACE_C99
#endif
@@ -223,7 +223,7 @@ __MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y))
/* Return the fractional part of X after dividing out `ilogb (X)'. */
-__MATHCALL (significand,, (_Mdouble_ __x))
+__MATHCALLI (significand,, (_Mdouble_ __x))
#endif /* Use misc. */
#if defined __USE_MISC || defined __USE_ISOC99
@@ -278,7 +278,7 @@ __END_NAMESPACE_C99
#if defined __USE_MISC || defined __USE_XOPEN
/* Obsolete alias for `lgamma'. */
-__MATHCALL (gamma,, (_Mdouble_))
+__MATHCALLI (gamma,, (_Mdouble_))
#endif
#ifdef __USE_MISC
@@ -286,6 +286,8 @@ __MATHCALL (gamma,, (_Mdouble_))
`signgam'. The reentrant version instead takes a pointer and stores
the value through it. */
__MATHCALL (lgamma,_r, (_Mdouble_, int *__signgamp))
+/* __MATHCALLI does not work here, probably due to ,_r, */
+libm_hidden_proto(lgamma_r)
#endif
@@ -376,5 +378,5 @@ __END_NAMESPACE_C99
#if (defined __USE_MISC || defined __USE_XOPEN_EXTENDED) \
&& defined __UCLIBC_SUSV3_LEGACY__
/* Return X times (2 to the Nth power). */
-__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n))
+__MATHCALLI (scalb,, (_Mdouble_ __x, _Mdouble_ __n))
#endif
diff --git a/libm/e_lgamma_r.c b/libm/e_lgamma_r.c
index 519dd90bf..c91166a19 100644
--- a/libm/e_lgamma_r.c
+++ b/libm/e_lgamma_r.c
@@ -314,6 +314,7 @@ double lgamma_r(double x, int *signgamp)
#else
strong_alias(__ieee754_lgamma_r, lgamma_r)
#endif
+libm_hidden_def(lgamma_r)
/* __ieee754_lgamma(x)
* Return the logarithm of the Gamma function of x.
@@ -358,6 +359,7 @@ strong_alias(lgamma, gamma)
strong_alias(__ieee754_lgamma_r, gamma_r)
strong_alias(__ieee754_lgamma, gamma)
#endif
+libm_hidden_def(gamma)
/* double tgamma(double x)
diff --git a/libm/e_log2.c b/libm/e_log2.c
index 70e604b3c..b5dfc802d 100644
--- a/libm/e_log2.c
+++ b/libm/e_log2.c
@@ -116,3 +116,4 @@ double __ieee754_log2(double x)
}
}
strong_alias(__ieee754_log2,log2)
+libm_hidden_def(log2)
diff --git a/libm/e_scalb.c b/libm/e_scalb.c
index 8d8f69c78..9e1a3f742 100644
--- a/libm/e_scalb.c
+++ b/libm/e_scalb.c
@@ -55,5 +55,6 @@ double scalb(double x, double fn)
#else
strong_alias(__ieee754_scalb, scalb)
#endif
+libm_hidden_def(scalb)
#endif /* UCLIBC_SUSV3_LEGACY */
diff --git a/libm/s_significand.c b/libm/s_significand.c
index 8c74ce24b..2d681dcb1 100644
--- a/libm/s_significand.c
+++ b/libm/s_significand.c
@@ -22,3 +22,4 @@ double significand(double x)
{
return __ieee754_scalb(x,(double) -ilogb(x));
}
+libm_hidden_def(significand)