Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Apr 2021 11:08:20 GMT
From:      Alex Richardson <arichardson@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 770517d41a16 - stable/13 - s_scalbn.c: Add missing float.h include
Message-ID:  <202104221108.13MB8Kxe088449@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by arichardson:

URL: https://cgit.FreeBSD.org/src/commit/?id=770517d41a161c1e6b0d919ea8c4a51241c11898

commit 770517d41a161c1e6b0d919ea8c4a51241c11898
Author:     Alex Richardson <arichardson@FreeBSD.org>
AuthorDate: 2021-03-01 14:10:24 +0000
Commit:     Alex Richardson <arichardson@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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104221108.13MB8Kxe088449>