git: 770517d41a16 - stable/13 - s_scalbn.c: Add missing float.h include
Alex Richardson
arichardson at FreeBSD.org
Thu Apr 22 11:08:21 UTC 2021
The branch stable/13 has been updated by arichardson:
URL: https://cgit.FreeBSD.org/src/commit/?id=770517d41a161c1e6b0d919ea8c4a51241c11898
commit 770517d41a161c1e6b0d919ea8c4a51241c11898
Author: Alex Richardson <arichardson at FreeBSD.org>
AuthorDate: 2021-03-01 14:10:24 +0000
Commit: Alex Richardson <arichardson at FreeBSD.org>
CommitDate: 2021-04-22 09:42:28 +0000
s_scalbn.c: Add missing float.h include
This caused LDBL_MANT_DIG to not be defined and therefore the scalbnl
alias was not being emitted for double==long double platforms.
Fixes: 760b2ffc ("Update scalbn* functions to the musl versions")
Reported by: Jenkins
(cherry picked from commit f5542795b99206a2b4e5a57429d18b9478264e24)
---
lib/libc/gen/ldexp.c | 1 +
lib/msun/src/s_scalbn.c | 3 ++-
lib/msun/src/s_scalbnl.c | 10 ++--------
3 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/lib/libc/gen/ldexp.c b/lib/libc/gen/ldexp.c
index 878271576313..cbbcf0782387 100644
--- a/lib/libc/gen/ldexp.c
+++ b/lib/libc/gen/ldexp.c
@@ -7,3 +7,4 @@ __FBSDID("$FreeBSD$");
*/
#define scalbn ldexp
#include "../../msun/src/s_scalbn.c"
+#undef scalbn
diff --git a/lib/msun/src/s_scalbn.c b/lib/msun/src/s_scalbn.c
index 219cd8f0c989..3de663f8b670 100644
--- a/lib/msun/src/s_scalbn.c
+++ b/lib/msun/src/s_scalbn.c
@@ -1,3 +1,4 @@
+#include <float.h>
#include <math.h>
#include <stdint.h>
@@ -32,7 +33,7 @@ double scalbn(double x, int n)
return x;
}
-#if (LDBL_MANT_DIG == 53)
+#if (LDBL_MANT_DIG == 53) && !defined(scalbn)
__weak_reference(scalbn, ldexpl);
__weak_reference(scalbn, scalbnl);
#endif
diff --git a/lib/msun/src/s_scalbnl.c b/lib/msun/src/s_scalbnl.c
index 65a9415b0d21..a79f79b33480 100644
--- a/lib/msun/src/s_scalbnl.c
+++ b/lib/msun/src/s_scalbnl.c
@@ -8,13 +8,7 @@
* manipulation rather than by actually performing an
* exponentiation or a multiplication.
*/
-
-#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
-long double scalbnl(long double x, int n)
-{
- return scalbn(x, n);
-}
-#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
+#if (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
long double scalbnl(long double x, int n)
{
union IEEEl2bits u;
@@ -42,6 +36,6 @@ long double scalbnl(long double x, int n)
u.xbits.expsign = 0x3fff + n;
return x * u.e;
}
+__strong_reference(scalbnl, ldexpl);
#endif
-__strong_reference(scalbnl, ldexpl);
More information about the dev-commits-src-branches
mailing list