[newlib-cygwin/main] Cygwin: fix return value of ilogbl(NaN)

Corinna Vinschen corinna@sourceware.org
Tue Apr 18 11:54:39 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=2fbb06d3cbc035e30e83c358267fbbf7f17c5999

commit 2fbb06d3cbc035e30e83c358267fbbf7f17c5999
Author:     Corinna Vinschen <corinna@vinschen.de>
AuthorDate: Tue Apr 18 13:43:06 2023 +0200
Commit:     Corinna Vinschen <corinna@vinschen.de>
CommitDate: Tue Apr 18 13:43:06 2023 +0200

    Cygwin: fix return value of ilogbl(NaN)
    
    Fixes: 792e51b72149 ("Add missing long double functions to Cygwin")
    Reported-by: Bruno Haible <bruno@clisp.org>
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/math/ilogbl.S | 4 ++++
 winsup/cygwin/release/3.4.7 | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/winsup/cygwin/math/ilogbl.S b/winsup/cygwin/math/ilogbl.S
index a4fe503adcaf..c75a7d0fde9d 100644
--- a/winsup/cygwin/math/ilogbl.S
+++ b/winsup/cygwin/math/ilogbl.S
@@ -23,6 +23,8 @@ __MINGW_USYMBOL(ilogbl):
 	andb    %ah, %dh
 	cmpb    $0x05, %dh
 	je      1f		/* Is +-Inf, jump.  */
+	cmpb	$0x01, %dh
+	je      1f		/* Is +-Inf, jump.  */
 	cmpb	$0x40, %dh
 	je	2f		/* Is +-Inf, jump.  */
 
@@ -53,6 +55,8 @@ __MINGW_USYMBOL(ilogbl):
 	andb    %ah, %dh
 	cmpb    $0x05, %dh
 	je      1f		/* Is +-Inf, jump.  */
+	cmpb	$0x01, %dh
+	je      1f		/* Is +-Inf, jump.  */
 	cmpb	$0x40, %dh
 	je	2f		/* Is +-Inf, jump.  */
 
diff --git a/winsup/cygwin/release/3.4.7 b/winsup/cygwin/release/3.4.7
index 1186e57f5977..8ecfbc30a24b 100644
--- a/winsup/cygwin/release/3.4.7
+++ b/winsup/cygwin/release/3.4.7
@@ -15,3 +15,6 @@ Bug Fixes
 
 - Fix bug in cygheap allocation size computation after fork.  Addresses:
   https://cygwin.com/pipermail/cygwin-developers/2023-April/012620.html
+
+- Fix return value of ilogbl(NaN).
+  Addresses: https://cygwin.com/pipermail/cygwin/2023-April/253511.html


More information about the Cygwin-cvs mailing list