-
Bug
-
Resolution: Fixed
-
P4
-
16
-
OS: Alpine Linux 3.11.6
libc: musl (x86_64) version 1.1.24
-
b14
-
generic
-
other
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8283321 | 11.0.16-oracle | Harold Seigel | P4 | Resolved | Fixed | b01 |
JDK-8282939 | 11.0.16 | Aleksei Voitylov | P4 | Resolved | Fixed | b01 |
JDK-8286988 | 8u351 | David Buck | P4 | Resolved | Fixed | b01 |
from https://man7.org/linux/man-pages/man3/isnanf.3.html
"Note that these functions are obsolete. C99 defines macros
isfinite(), isinf(), and isnan() (for all types) replacing them."
Building JDK with musl libc gives the error:
-------------------
src/hotspot/share/utilities/globalDefinitions_gcc.hpp:115:39: error: 'isnanf' was not declared in this scope; did you mean 'wscanf'?
115 | inline int g_isnan(float f) { return isnanf(f); }
-------------------
This is because musl libc does not define isnanf. It only declares isnan:
https://git.musl-libc.org/cgit/musl/tree/include/math.h#n78
"Note that these functions are obsolete. C99 defines macros
isfinite(), isinf(), and isnan() (for all types) replacing them."
Building JDK with musl libc gives the error:
-------------------
src/hotspot/share/utilities/globalDefinitions_gcc.hpp:115:39: error: 'isnanf' was not declared in this scope; did you mean 'wscanf'?
115 | inline int g_isnan(float f) { return isnanf(f); }
-------------------
This is because musl libc does not define isnanf. It only declares isnan:
https://git.musl-libc.org/cgit/musl/tree/include/math.h#n78
- backported by
-
JDK-8282939 isnanf is obsolete
- Resolved
-
JDK-8283321 isnanf is obsolete
- Resolved
-
JDK-8286988 isnanf is obsolete
- Resolved
- relates to
-
JDK-8178689 Verify correctness of isnan fix
- Closed
(1 links to)