From edc121be8b53da57950daf6f42a619b5826f30b6 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 15 Sep 2011 11:16:03 +0200 Subject: Fix PLT uses in libm on powerpc --- ChangeLog | 11 +++++++++++ sysdeps/powerpc/fpu/e_hypot.c | 8 ++++---- sysdeps/powerpc/fpu/e_hypotf.c | 8 ++++---- sysdeps/powerpc/fpu/e_rem_pio2f.c | 8 ++++---- sysdeps/powerpc/fpu/k_rem_pio2f.c | 8 ++++---- 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 + + * 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 * 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; -- cgit 1.4.1