Date: Mon, 1 Mar 2021 14:23:33 GMT From: Alex Richardson <arichardson@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: f5542795b992 - main - s_scalbn.c: Add missing float.h include Message-ID: <202103011423.121ENXdc066193@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by arichardson: URL: https://cgit.FreeBSD.org/src/commit/?id=f5542795b99206a2b4e5a57429d18b9478264e24 commit f5542795b99206a2b4e5a57429d18b9478264e24 Author: Alex Richardson <arichardson@FreeBSD.org> AuthorDate: 2021-03-01 14:10:24 +0000 Commit: Alex Richardson <arichardson@FreeBSD.org> CommitDate: 2021-03-01 14:22:47 +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 --- 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?202103011423.121ENXdc066193>