aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hudson-Doyle <michael.hudson@canonical.com>2022-08-22 14:05:04 +1200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2022-11-12 22:09:55 +0100
commit13a33a42912bc3a5cddfd7f97bfdec67d545db0d (patch)
tree1d261298b48057ee2a6994e6afaa1f81d081f86d
parentelf: Do not completely clear reused namespace in dlmopen (bug 29600) (diff)
downloadglibc-13a33a42912bc3a5cddfd7f97bfdec67d545db0d.tar.gz
glibc-13a33a42912bc3a5cddfd7f97bfdec67d545db0d.tar.bz2
glibc-13a33a42912bc3a5cddfd7f97bfdec67d545db0d.zip
Fix BZ #29463 in the ibm128 implementation of y1l too
Avoid moving code across SET_RESTORE_ROUNDL in order to fix [BZ #29463]. Tested-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> (cherry picked from commit b6e37b7805b0182c3e25cdab39ebf5f001c04d05) (cherry picked from commit b357157361117182c7a68c90fda7ba431b64442c) Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_j1l.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
index f85ba94466..0a5fe68342 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c
@@ -792,10 +792,13 @@ __ieee754_y1l (long double x)
{
/* 0 <= x <= 2 */
SET_RESTORE_ROUNDL (FE_TONEAREST);
+ xx = math_opt_barrier (xx);
+ x = math_opt_barrier (x);
z = xx * xx;
p = xx * neval (z, Y0_2N, NY0_2N) / deval (z, Y0_2D, NY0_2D);
p = -TWOOPI / xx + p;
p = TWOOPI * __ieee754_logl (x) * __ieee754_j1l (x) + p;
+ math_force_eval (p);
return p;
}