Module Name: src Committed By: martin Date: Fri Aug 11 14:44:19 UTC 2023
Modified Files: src/distrib/sets/lists/base [netbsd-10]: shl.mi src/distrib/sets/lists/debug [netbsd-10]: shl.mi src/lib/libm [netbsd-10]: Makefile shlib_version src/lib/libm/man [netbsd-10]: math.3 sincos.3 src/lib/libm/src [netbsd-10]: ldbl_dummy.c namespace.h s_llrintl.c s_lrintl.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #320): lib/libm/src/ldbl_dummy.c: revision 1.3 distrib/sets/lists/debug/shl.mi: revision 1.303 lib/libm/src/ldbl_dummy.c: revision 1.4 lib/libm/src/namespace.h: revision 1.17 lib/libm/src/s_llrintl.c: revision 1.3 lib/libm/Makefile: revision 1.220 lib/libm/src/s_lrintl.c: revision 1.3 lib/libm/man/sincos.3: revision 1.2 lib/libm/man/math.3: revision 1.29 distrib/sets/lists/base/shl.mi: revision 1.946 lib/libm/shlib_version: revision 1.18 libm: Fill in more dummy long double transcendental functions. This should cover everything from C99. libm: Need <math.h> for __HAVE_LONG_DOUBLE. Fixes missing definitions of lrintl, llrintl on various platforms. Add (newly added): expm1l log1pl log2l lgammal tgammal so that the library gets the correct symbols defined in it. libm: Bump minor for new long double transcendental functions. XXX Still missing: remquol, remainderl. fix cross references (from Anon Ymous) Correct history (Brad Smith) libm: Add missing fma(3) and friends for sh3. libm: Add dummy remainderl and remquol. These are pretty bad -- these aren't transcendental functions; not rocket science to make them correctly rounded -- but let's just make sure they're available in libm for netbsd-10. To generate a diff of this commit: cvs rdiff -u -r1.942.2.2 -r1.942.2.3 src/distrib/sets/lists/base/shl.mi cvs rdiff -u -r1.298.2.3 -r1.298.2.4 src/distrib/sets/lists/debug/shl.mi cvs rdiff -u -r1.218 -r1.218.2.1 src/lib/libm/Makefile cvs rdiff -u -r1.17 -r1.17.14.1 src/lib/libm/shlib_version cvs rdiff -u -r1.28 -r1.28.14.1 src/lib/libm/man/math.3 cvs rdiff -u -r1.1 -r1.1.2.1 src/lib/libm/man/sincos.3 cvs rdiff -u -r1.2 -r1.2.26.1 src/lib/libm/src/ldbl_dummy.c cvs rdiff -u -r1.16 -r1.16.2.1 src/lib/libm/src/namespace.h cvs rdiff -u -r1.2 -r1.2.22.1 src/lib/libm/src/s_llrintl.c \ src/lib/libm/src/s_lrintl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/base/shl.mi diff -u src/distrib/sets/lists/base/shl.mi:1.942.2.2 src/distrib/sets/lists/base/shl.mi:1.942.2.3 --- src/distrib/sets/lists/base/shl.mi:1.942.2.2 Fri Aug 11 13:42:53 2023 +++ src/distrib/sets/lists/base/shl.mi Fri Aug 11 14:44:19 2023 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.942.2.2 2023/08/11 13:42:53 martin Exp $ +# $NetBSD: shl.mi,v 1.942.2.3 2023/08/11 14:44:19 martin Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -68,7 +68,7 @@ ./lib/liblzma.so.2.0 base-sys-shlib dynamicroot ./lib/libm.so base-sys-shlib dynamicroot ./lib/libm.so.0 base-sys-shlib dynamicroot -./lib/libm.so.0.12 base-sys-shlib dynamicroot +./lib/libm.so.0.13 base-sys-shlib dynamicroot ./lib/libnpf.so base-npf-shlib dynamicroot,npf ./lib/libnpf.so.0 base-npf-shlib dynamicroot,npf ./lib/libnpf.so.0.1 base-npf-shlib dynamicroot,npf @@ -459,7 +459,7 @@ ./usr/lib/liblzma.so.2.0 base-sys-shlib compatfile ./usr/lib/libm.so base-sys-shlib compatfile ./usr/lib/libm.so.0 base-sys-shlib compatfile -./usr/lib/libm.so.0.12 base-sys-shlib compatfile +./usr/lib/libm.so.0.13 base-sys-shlib compatfile ./usr/lib/libmagic.so base-sys-shlib compatfile ./usr/lib/libmagic.so.8 base-sys-shlib compatfile ./usr/lib/libmagic.so.8.0 base-sys-shlib compatfile Index: src/distrib/sets/lists/debug/shl.mi diff -u src/distrib/sets/lists/debug/shl.mi:1.298.2.3 src/distrib/sets/lists/debug/shl.mi:1.298.2.4 --- src/distrib/sets/lists/debug/shl.mi:1.298.2.3 Fri Aug 11 13:42:54 2023 +++ src/distrib/sets/lists/debug/shl.mi Fri Aug 11 14:44:19 2023 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.298.2.3 2023/08/11 13:42:54 martin Exp $ +# $NetBSD: shl.mi,v 1.298.2.4 2023/08/11 14:44:19 martin Exp $ ./usr/lib/libbfd_g.a comp-c-debuglib debuglib,compatfile,binutils ./usr/libdata/debug/lib base-sys-usr debug,dynamicroot,compatdir ./usr/libdata/debug/lib/libavl.so.0.0.debug comp-zfs-debug debug,dynamicroot,zfs @@ -19,7 +19,7 @@ ./usr/libdata/debug/lib/libkvm.so.6.0.debug comp-sys-debug debug,dynamicroot ./usr/libdata/debug/lib/liblzf.so.1.0.debug comp-sys-debug debug,dynamicroot ./usr/libdata/debug/lib/liblzma.so.2.0.debug comp-sys-debug debug,dynamicroot -./usr/libdata/debug/lib/libm.so.0.12.debug comp-sys-debug debug,dynamicroot +./usr/libdata/debug/lib/libm.so.0.13.debug comp-sys-debug debug,dynamicroot ./usr/libdata/debug/lib/libnpf.so.0.1.debug comp-sys-debug debug,dynamicroot ./usr/libdata/debug/lib/libnvpair.so.0.0.debug comp-zfs-debug debug,dynamicroot,zfs ./usr/libdata/debug/lib/libpcap.so.8.1.debug comp-sys-debug debug,dynamicroot @@ -165,7 +165,7 @@ ./usr/libdata/debug/usr/lib/liblwres.so.8.5.debug comp-obsolete obsolete ./usr/libdata/debug/usr/lib/liblzf.so.1.0.debug comp-sys-debug debug,compatfile ./usr/libdata/debug/usr/lib/liblzma.so.2.0.debug comp-sys-debug debug,compatfile -./usr/libdata/debug/usr/lib/libm.so.0.12.debug comp-sys-debug debug,compatfile +./usr/libdata/debug/usr/lib/libm.so.0.13.debug comp-sys-debug debug,compatfile ./usr/libdata/debug/usr/lib/libmagic.so.8.0.debug comp-sys-debug debug,compatfile ./usr/libdata/debug/usr/lib/libmenu.so.6.0.debug comp-sys-debug debug,obsolete,compatfile ./usr/libdata/debug/usr/lib/libmenu.so.7.0.debug comp-sys-debug debug,obsolete,compatfile Index: src/lib/libm/Makefile diff -u src/lib/libm/Makefile:1.218 src/lib/libm/Makefile:1.218.2.1 --- src/lib/libm/Makefile:1.218 Sat Aug 27 09:56:21 2022 +++ src/lib/libm/Makefile Fri Aug 11 14:44:19 2023 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.218 2022/08/27 09:56:21 christos Exp $ +# $NetBSD: Makefile,v 1.218.2.1 2023/08/11 14:44:19 martin Exp $ # # @(#)Makefile 5.1beta 93/09/24 # @@ -212,6 +212,7 @@ COMMON_SRCS+= s_nexttoward.c .if ${MKSOFTFLOAT} == "no" COMMON_SRCS += fenv.c .endif +COMMON_SRCS+= s_fma.c s_fmaf.c s_fmal.c .endif # End of list of CPU tests Index: src/lib/libm/shlib_version diff -u src/lib/libm/shlib_version:1.17 src/lib/libm/shlib_version:1.17.14.1 --- src/lib/libm/shlib_version:1.17 Tue Sep 26 18:03:30 2017 +++ src/lib/libm/shlib_version Fri Aug 11 14:44:19 2023 @@ -1,8 +1,8 @@ -# $NetBSD: shlib_version,v 1.17 2017/09/26 18:03:30 maya Exp $ +# $NetBSD: shlib_version,v 1.17.14.1 2023/08/11 14:44:19 martin Exp $ # Remember to update distrib/sets/lists/base/shl.* when changing # # things we wish to do on next major version bump: # - remove compatibility cabs # - not provide isinff / isnanf (only provide __isinff version) major=0 -minor=12 +minor=13 Index: src/lib/libm/man/math.3 diff -u src/lib/libm/man/math.3:1.28 src/lib/libm/man/math.3:1.28.14.1 --- src/lib/libm/man/math.3:1.28 Thu Sep 28 11:18:41 2017 +++ src/lib/libm/man/math.3 Fri Aug 11 14:44:19 2023 @@ -1,4 +1,4 @@ -.\" $NetBSD: math.3,v 1.28 2017/09/28 11:18:41 maya Exp $ +.\" $NetBSD: math.3,v 1.28.14.1 2023/08/11 14:44:19 martin Exp $ .\" .\" Copyright (c) 1985 Regents of the University of California. .\" All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)math.3 6.10 (Berkeley) 5/6/91 .\" -.Dd September 28, 2017 +.Dd May 7, 2023 .Dt MATH 3 .Os .Sh NAME @@ -66,10 +66,10 @@ Declarations for these functions may be .It exp2 Ta Xr exp2 3 Ta base 2 exponential Ta ??? .It expm1 Ta Xr expm1 3 Ta exp(x)\-1 Ta 1 .It fabs Ta Xr fabs 3 Ta absolute value Ta 0 -.It fdim Ta Xr erf 3 Ta positive difference Ta ??? +.It fdim Ta Xr fdim 3 Ta positive difference Ta ??? .It finite Ta Xr finite 3 Ta test for finity Ta 0 .It floor Ta Xr floor 3 Ta integer no greater than Ta 0 -.It fma Ta Xr fmod 3 Ta fused multiply-add Ta ??? +.It fma Ta Xr fma 3 Ta fused multiply-add Ta ??? .It fmax Ta Xr fmax 3 Ta maximum Ta 0 .It fmin Ta Xr fmin 3 Ta minimum Ta 0 .It fmod Ta Xr fmod 3 Ta remainder Ta ??? Index: src/lib/libm/man/sincos.3 diff -u src/lib/libm/man/sincos.3:1.1 src/lib/libm/man/sincos.3:1.1.2.1 --- src/lib/libm/man/sincos.3:1.1 Sat Aug 27 08:31:59 2022 +++ src/lib/libm/man/sincos.3 Fri Aug 11 14:44:19 2023 @@ -22,9 +22,9 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD: head/lib/msun/man/sincos.3 366583 2020-10-09 19:12:44Z gbe $ -.\" $NetBSD: sincos.3,v 1.1 2022/08/27 08:31:59 christos Exp $ +.\" $NetBSD: sincos.3,v 1.1.2.1 2023/08/11 14:44:19 martin Exp $ .\" -.Dd March 12, 2011 +.Dd June 11, 2023 .Dt SINCOS 3 .Os .Sh NAME @@ -77,7 +77,7 @@ are assigned the values of sine and cosi .Xr sin 3 , .Sh HISTORY These functions were added to -.Fx 9.0 +.Fx 11.2 and .Nx 10.0 to aid in writing various complex function contained in Index: src/lib/libm/src/ldbl_dummy.c diff -u src/lib/libm/src/ldbl_dummy.c:1.2 src/lib/libm/src/ldbl_dummy.c:1.2.26.1 --- src/lib/libm/src/ldbl_dummy.c:1.2 Thu Nov 13 21:43:27 2014 +++ src/lib/libm/src/ldbl_dummy.c Fri Aug 11 14:44:19 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ldbl_dummy.c,v 1.2 2014/11/13 21:43:27 christos Exp $ */ +/* $NetBSD: ldbl_dummy.c,v 1.2.26.1 2023/08/11 14:44:19 martin Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: ldbl_dummy.c,v 1.2 2014/11/13 21:43:27 christos Exp $"); +__RCSID("$NetBSD: ldbl_dummy.c,v 1.2.26.1 2023/08/11 14:44:19 martin Exp $"); #include "namespace.h" #include <math.h> @@ -43,8 +43,11 @@ __weak_alias(atan2l, _atan2l) __weak_alias(hypotl, _hypotl) __weak_alias(logl, _logl) __weak_alias(log10l, _log10l) +__weak_alias(log2l, _log2l) +__weak_alias(log1pl, _log1pl) __weak_alias(expl, _expl) __weak_alias(exp2l, _exp2l) +__weak_alias(expm1l, _expm1l) __weak_alias(powl, _powl) __weak_alias(cosl, _cosl) __weak_alias(sinl, _sinl) @@ -60,6 +63,8 @@ __weak_alias(asinhl, _asinhl) __weak_alias(atanhl, _atanhl) __weak_alias(erfl, _erfl) __weak_alias(erfcl, _erfcl) +__weak_alias(lgammal, _lgammal) +__weak_alias(tgammal, _tgammal) long double atan2l(long double y, long double x) @@ -86,6 +91,18 @@ log10l(long double x) } long double +log2l(long double x) +{ + return log2(x); +} + +long double +log1pl(long double x) +{ + return log1p(x); +} + +long double expl(long double x) { return exp(x); @@ -98,6 +115,12 @@ exp2l(long double x) } long double +expm1l(long double x) +{ + return expm1(x); +} + +long double powl(long double x, long double y) { return pow(x, y); @@ -187,3 +210,27 @@ erfcl(long double x) { return erfc(x); } + +long double +lgammal(long double x) +{ + return lgamma(x); +} + +long double +tgammal(long double x) +{ + return tgamma(x); +} + +long double +remainderl(long double x, long double y) +{ + return remainder(x, y); +} + +long double +remquol(long double x, long double y, int *quo) +{ + return remquo(x, y, quo); +} Index: src/lib/libm/src/namespace.h diff -u src/lib/libm/src/namespace.h:1.16 src/lib/libm/src/namespace.h:1.16.2.1 --- src/lib/libm/src/namespace.h:1.16 Sat Aug 27 08:31:59 2022 +++ src/lib/libm/src/namespace.h Fri Aug 11 14:44:19 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: namespace.h,v 1.16 2022/08/27 08:31:59 christos Exp $ */ +/* $NetBSD: namespace.h,v 1.16.2.1 2023/08/11 14:44:19 martin Exp $ */ #define atan2 _atan2 #define atan2f _atan2f @@ -10,6 +10,7 @@ #define exp _exp #define expf _expf #define expl _expl +#define expm1l _expm1l #define log _log #define logf _logf #define logl _logl @@ -73,9 +74,14 @@ #define tanhl _tanhl #define atanhl _atanhl #define log10l _log10l +#define log1pl _log1pl +#define log2l _log2l -#define erfl _erfl -#define erfcl _erfcl +#define erfl _erfl +#define erfcl _erfcl + +#define lgammal _lgammal +#define tgammal _tgammal #define feclearexcept _feclearexcept #define fegetenv _fegetenv Index: src/lib/libm/src/s_llrintl.c diff -u src/lib/libm/src/s_llrintl.c:1.2 src/lib/libm/src/s_llrintl.c:1.2.22.1 --- src/lib/libm/src/s_llrintl.c:1.2 Sun May 7 11:29:21 2017 +++ src/lib/libm/src/s_llrintl.c Fri Aug 11 14:44:19 2023 @@ -2,9 +2,11 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: head/lib/msun/src/s_llrintl.c 175309 2008-01-14 02:12:07Z das $"); #else -__RCSID("$NetBSD: s_llrintl.c,v 1.2 2017/05/07 11:29:21 martin Exp $"); +__RCSID("$NetBSD: s_llrintl.c,v 1.2.22.1 2023/08/11 14:44:19 martin Exp $"); #endif +#include <math.h> + #ifdef __HAVE_LONG_DOUBLE #define stype long double #define roundit rintl Index: src/lib/libm/src/s_lrintl.c diff -u src/lib/libm/src/s_lrintl.c:1.2 src/lib/libm/src/s_lrintl.c:1.2.22.1 --- src/lib/libm/src/s_lrintl.c:1.2 Sun May 7 11:29:21 2017 +++ src/lib/libm/src/s_lrintl.c Fri Aug 11 14:44:19 2023 @@ -2,9 +2,11 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: head/lib/msun/src/s_lrintl.c 175309 2008-01-14 02:12:07Z das $"); #else -__RCSID("$NetBSD: s_lrintl.c,v 1.2 2017/05/07 11:29:21 martin Exp $"); +__RCSID("$NetBSD: s_lrintl.c,v 1.2.22.1 2023/08/11 14:44:19 martin Exp $"); #endif +#include <math.h> + #ifdef __HAVE_LONG_DOUBLE #define stype long double #define roundit rintl