diff --git a/winsup/cygwin/math/ilogbl.S b/winsup/cygwin/math/ilogbl.S index a4fe503ad..c75a7d0fd 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 1186e57f5..8ecfbc30a 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