This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.16-ports-merge-825-gb3b099a
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 4 Dec 2012 14:39:38 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.16-ports-merge-825-gb3b099a
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via b3b099af0356831530f553934cdd90716137b1a3 (commit)
from a915e17fe7413624a8e8ce39336cad3c53b87a7a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b3b099af0356831530f553934cdd90716137b1a3
commit b3b099af0356831530f553934cdd90716137b1a3
Author: Joseph Myers <joseph@codesourcery.com>
Date: Tue Dec 4 14:39:24 2012 +0000
Fix powl inaccuracy for ldbl-128ibm (bug 14914).
diff --git a/ChangeLog b/ChangeLog
index cab8d1b..3338301 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-12-04 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #14914]
+ * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Clear
+ whole low double instead of just low 47 bits when splitting values
+ into two parts.
+
2012-12-03 Allan McRae <allan@archlinux.org>
* manual/stdio.texi (Predefined Printf Handlers): Remove
diff --git a/NEWS b/NEWS
index 744df37..24f6302 100644
--- a/NEWS
+++ b/NEWS
@@ -22,7 +22,7 @@ Version 2.17
14661, 14669, 14672, 14683, 14694, 14716, 14719, 14743, 14767, 14783,
14784, 14785, 14793, 14796, 14797, 14801, 14803, 14805, 14807, 14811,
14815, 14821, 14822, 14824, 14828, 14831, 14835, 14838, 14856, 14863,
- 14865, 14866, 14868, 14869, 14871, 14879, 14889, 14893.
+ 14865, 14866, 14868, 14869, 14871, 14879, 14889, 14893, 14914.
* CVE-2011-4609 svc_run() produces high cpu usage when accept fails with
EMFILE has been fixed (Bugzilla #14889).
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_powl.c b/sysdeps/ieee754/ldbl-128ibm/e_powl.c
index 8216c49..8bd35d0 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_powl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_powl.c
@@ -324,13 +324,13 @@ __ieee754_powl (long double x, long double y)
o.value = s_h;
o.parts32.w3 = 0;
- o.parts32.w2 &= 0xffff8000;
+ o.parts32.w2 = 0;
s_h = o.value;
/* t_h=ax+bp[k] High */
t_h = ax + bp[k];
o.value = t_h;
o.parts32.w3 = 0;
- o.parts32.w2 &= 0xffff8000;
+ o.parts32.w2 = 0;
t_h = o.value;
t_l = ax - (t_h - bp[k]);
s_l = v * ((u - s_h * t_h) - s_h * t_l);
@@ -344,7 +344,7 @@ __ieee754_powl (long double x, long double y)
t_h = 3.0 + s2 + r;
o.value = t_h;
o.parts32.w3 = 0;
- o.parts32.w2 &= 0xffff8000;
+ o.parts32.w2 = 0;
t_h = o.value;
t_l = r - ((t_h - 3.0) - s2);
/* u+v = s*(1+...) */
@@ -354,7 +354,7 @@ __ieee754_powl (long double x, long double y)
p_h = u + v;
o.value = p_h;
o.parts32.w3 = 0;
- o.parts32.w2 &= 0xffff8000;
+ o.parts32.w2 = 0;
p_h = o.value;
p_l = v - (p_h - u);
z_h = cp_h * p_h; /* cp_h+cp_l = 2/(3*log2) */
@@ -364,7 +364,7 @@ __ieee754_powl (long double x, long double y)
t1 = (((z_h + z_l) + dp_h[k]) + t);
o.value = t1;
o.parts32.w3 = 0;
- o.parts32.w2 &= 0xffff8000;
+ o.parts32.w2 = 0;
t1 = o.value;
t2 = z_l - (((t1 - t) - dp_h[k]) - z_h);
@@ -377,7 +377,7 @@ __ieee754_powl (long double x, long double y)
y1 = y;
o.value = y1;
o.parts32.w3 = 0;
- o.parts32.w2 &= 0xffff8000;
+ o.parts32.w2 = 0;
y1 = o.value;
p_l = (y - y1) * t1 + y * t2;
p_h = y1 * t1;
@@ -421,7 +421,7 @@ __ieee754_powl (long double x, long double y)
t = p_l + p_h;
o.value = t;
o.parts32.w3 = 0;
- o.parts32.w2 &= 0xffff8000;
+ o.parts32.w2 = 0;
t = o.value;
u = t * lg2_h;
v = (p_l - (t - p_h)) * lg2 + t * lg2_l;
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 +++++++
NEWS | 2 +-
sysdeps/ieee754/ldbl-128ibm/e_powl.c | 14 +++++++-------
3 files changed, 15 insertions(+), 8 deletions(-)
hooks/post-receive
--
GNU C Library master sources