aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2011-09-15 11:16:03 +0200
committerAndreas Schwab <schwab@redhat.com>2011-09-15 15:35:38 +0200
commitedc121be8b53da57950daf6f42a619b5826f30b6 (patch)
treeca7d0771ba09d5797c396c5a4cacbd69dc134083
parentee4d03150a65018f367e3250887ec9c5b2133ce4 (diff)
downloadglibc-edc121be8b53da57950daf6f42a619b5826f30b6.tar
glibc-edc121be8b53da57950daf6f42a619b5826f30b6.tar.gz
glibc-edc121be8b53da57950daf6f42a619b5826f30b6.tar.bz2
glibc-edc121be8b53da57950daf6f42a619b5826f30b6.zip
Fix PLT uses in libm on powerpc
-rw-r--r--ChangeLog11
-rw-r--r--sysdeps/powerpc/fpu/e_hypot.c8
-rw-r--r--sysdeps/powerpc/fpu/e_hypotf.c8
-rw-r--r--sysdeps/powerpc/fpu/e_rem_pio2f.c8
-rw-r--r--sysdeps/powerpc/fpu/k_rem_pio2f.c8
5 files changed, 27 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 57195c220b..6dd445bb71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2011-09-15 Andreas Schwab <schwab@redhat.com>
+
+ * sysdeps/powerpc/fpu/e_hypot.c (__ieee754_hypot): Use
+ __ieee754_sqrt instead of sqrt.
+ * sysdeps/powerpc/fpu/e_hypotf.c (__ieee754_hypotf): Use
+ __ieee754_sqrtf instead of sqrtf.
+ * sysdeps/powerpc/fpu/e_rem_pio2f.c (__ieee754_rem_pio2f): Use
+ __floorf instead of floorf.
+ * sysdeps/powerpc/fpu/k_rem_pio2f.c (__fp_kernel_rem_pio2f): Use
+ __floorf, __truncf instead of floorf, truncf.
+
2011-09-14 Ulrich Drepper <drepper@gmail.com>
* sysdeps/x86_64/fpu/s_copysign.S [ELF]: Use correct section.
diff --git a/sysdeps/powerpc/fpu/e_hypot.c b/sysdeps/powerpc/fpu/e_hypot.c
index 22bd56371e..afbcc18e9e 100644
--- a/sysdeps/powerpc/fpu/e_hypot.c
+++ b/sysdeps/powerpc/fpu/e_hypot.c
@@ -96,7 +96,7 @@ __ieee754_hypot (double x, double y)
{
x *= twoM600;
y *= twoM600;
- return sqrt (x * x + y * y) / twoM600;
+ return __ieee754_sqrt (x * x + y * y) / twoM600;
}
if (y < twoM500)
{
@@ -104,14 +104,14 @@ __ieee754_hypot (double x, double y)
{
x *= two1022;
y *= two1022;
- return sqrt (x * x + y * y) / two1022;
+ return __ieee754_sqrt (x * x + y * y) / two1022;
}
else
{
x *= two600;
y *= two600;
- return sqrt (x * x + y * y) / two600;
+ return __ieee754_sqrt (x * x + y * y) / two600;
}
}
- return sqrt (x * x + y * y);
+ return __ieee754_sqrt (x * x + y * y);
}
diff --git a/sysdeps/powerpc/fpu/e_hypotf.c b/sysdeps/powerpc/fpu/e_hypotf.c
index 3e6c597cc9..02ad7732b9 100644
--- a/sysdeps/powerpc/fpu/e_hypotf.c
+++ b/sysdeps/powerpc/fpu/e_hypotf.c
@@ -97,7 +97,7 @@ __ieee754_hypotf (float x, float y)
{
x *= twoM60;
y *= twoM60;
- return sqrtf (x * x + y * y) / twoM60;
+ return __ieee754_sqrtf (x * x + y * y) / twoM60;
}
if (y < twoM50)
{
@@ -105,14 +105,14 @@ __ieee754_hypotf (float x, float y)
{
x *= two126;
y *= two126;
- return sqrtf (x * x + y * y) / two126;
+ return __ieee754_sqrtf (x * x + y * y) / two126;
}
else
{
x *= two60;
y *= two60;
- return sqrtf (x * x + y * y) / two60;
+ return __ieee754_sqrtf (x * x + y * y) / two60;
}
}
- return sqrtf (x * x + y * y);
+ return __ieee754_sqrtf (x * x + y * y);
}
diff --git a/sysdeps/powerpc/fpu/e_rem_pio2f.c b/sysdeps/powerpc/fpu/e_rem_pio2f.c
index 9325eeb27d..e4427e489d 100644
--- a/sysdeps/powerpc/fpu/e_rem_pio2f.c
+++ b/sysdeps/powerpc/fpu/e_rem_pio2f.c
@@ -112,7 +112,7 @@ __ieee754_rem_pio2f (float x, float *y)
}
if (ax <= pio2_2e7)
{
- n = floorf (ax * invpio2 + half);
+ n = __floorf (ax * invpio2 + half);
i = (int32_t) n;
r = ax - n * pio2_1;
w = n * pio2_1t; /* 1st round good to 40 bit */
@@ -168,11 +168,11 @@ __ieee754_rem_pio2f (float x, float *y)
e0 = __float_and8 (ax / 128.0);
z = ax / e0;
- tx[0] = floorf (z);
+ tx[0] = __floorf (z);
z = (z - tx[0]) * two8;
- tx[1] = floorf (z);
+ tx[1] = __floorf (z);
z = (z - tx[1]) * two8;
- tx[2] = floorf (z);
+ tx[2] = __floorf (z);
nx = 3;
while (tx[nx - 1] == zero)
diff --git a/sysdeps/powerpc/fpu/k_rem_pio2f.c b/sysdeps/powerpc/fpu/k_rem_pio2f.c
index 9635340219..7090605538 100644
--- a/sysdeps/powerpc/fpu/k_rem_pio2f.c
+++ b/sysdeps/powerpc/fpu/k_rem_pio2f.c
@@ -135,16 +135,16 @@ recompute:
/* distill q[] into iq[] reversingly */
for (i = 0, j = jz, z = q[jz]; j > 0; i++, j--)
{
- fw = truncf (twon8 * z);
+ fw = __truncf (twon8 * z);
iq[i] = (int32_t) (z - two8 * fw);
z = q[j - 1] + fw;
}
/* compute n */
z = __scalbnf (z, q0); /* actual value of z */
- z -= 8.0 * floorf (z * 0.125); /* trim off integer >= 8 */
+ z -= 8.0 * __floorf (z * 0.125); /* trim off integer >= 8 */
n = (int32_t) z;
- z -= truncf (z);
+ z -= __truncf (z);
ih = 0;
if (q0 > 0)
{ /* need iq[jz-1] to determine n */
@@ -234,7 +234,7 @@ recompute:
z = __scalbnf (z, -q0);
if (z >= two8)
{
- fw = truncf (twon8 * z);
+ fw = __truncf (twon8 * z);
iq[jz] = (int32_t) (z - two8 * fw);
jz += 1;
q0 += 8;