about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_log1pl.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ceb8333dd1..3025edf83a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-01-10  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #22693]
+	* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Handle
+	negative arguments in test for NaN or infinity argument.
+
 2018-01-10  Dmitry V. Levin  <ldv@altlinux.org>
 
 	* po/libc.pot: Regenerate.
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c
index 5457892a98..e499c9f604 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c
@@ -131,8 +131,8 @@ __log1pl (long double xm1)
   /* Test for NaN or infinity input. */
   xhi = ldbl_high (xm1);
   EXTRACT_WORDS (hx, lx, xhi);
-  if (hx >= 0x7ff00000)
-    return xm1 + xm1;
+  if ((hx & 0x7fffffff) >= 0x7ff00000)
+    return xm1 + xm1 * xm1;
 
   /* log1p(+- 0) = +- 0.  */
   if (((hx & 0x7fffffff) | lx) == 0)