OpenBSD CVS

CVS log for src/lib/libm/shlib_version


[BACK] Up to [local] / src / lib / libm

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.21 / (download) - annotate - [select for diffs], Sat Mar 10 20:52:58 2018 UTC (6 years, 3 months ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, HEAD
Changes since 1.20: +1 -1 lines
Diff to previous 1.20 (colored)

Implement sicos(3), sincosf(3) and sincosl(3).  These functions are common
extensions and modern compilers (such as clang) will use them to optimize
separate calculations of sine and cosine.

ok tom@, patrick@, deraadt@, jmc@

Revision 1.20 / (download) - annotate - [select for diffs], Mon Sep 12 19:47:01 2016 UTC (7 years, 8 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.19: +1 -1 lines
Diff to previous 1.19 (colored)

Reduce libm's exports and make internal calls go direct.
All dependencies on libc are now via reserved/standardized names.

ok kettenis@ millert@ deraadt@

Revision 1.19 / (download) - annotate - [select for diffs], Tue Aug 13 05:52:14 2013 UTC (10 years, 10 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9, OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7, OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.18: +1 -1 lines
Diff to previous 1.18 (colored)

Switch time_t, ino_t, clock_t, and struct kevent's ident and data
members to 64bit types.  Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments.  Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir.  Build perl with -DBIG_TIME.

Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.

DANGER: ABI incompatibility.  Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.

Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@

Revision 1.18 / (download) - annotate - [select for diffs], Thu Mar 28 18:09:38 2013 UTC (11 years, 2 months ago) by martynas
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

Switch libc and libm to use strong aliases rather than weak aliases
where appropriate.  Among other things makes the symbols consistent
across all architectures (notably where ldbl mantissa is 53 bits).

While at it, kill unused LINTLIBRARY/PROTOLIB1 cruft which was there
to trick lint into recording the right prototypes for aliased
functions.  Most of the work done at the awesome n2k13 hackathon.

Agreed by kettenis@, guenther@, matthew@.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Aug 23 15:28:16 2012 UTC (11 years, 9 months ago) by martynas
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.16: +1 -1 lines
Diff to previous 1.16 (colored)

Aliases for extended precision were missed on a few functions on hppa.
Reported by Brad, thanks!

Revision 1.16 / (download) - annotate - [select for diffs], Fri Jul 8 22:28:33 2011 UTC (12 years, 11 months ago) by martynas
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.15: +1 -1 lines
Diff to previous 1.15 (colored)

Revert (leaving the complex math part alone).  Some stuff is depending
on this historical behavior;  so we're stuck in this stupid situation.
No cookie for me.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Jul 8 19:21:42 2011 UTC (12 years, 11 months ago) by martynas
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using
them in libc for a very long time.  OK guenther@.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Jul 6 00:02:42 2011 UTC (12 years, 11 months ago) by martynas
Branch: MAIN
Changes since 1.13: +1 -1 lines
Diff to previous 1.13 (colored)

Finalize work on the math library.  It's time to do this monster
commit, and deal with problems (if any) in tree.

Note that this adds the following functions.  Ports with hacks might
need adjustments.

nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3),
atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3),
log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3),
powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3),
floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3),
truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3),
nexttowardl(3), fmal(3).

With this commit, our library implements all functionality required
by C99.  Documentation bits will follow.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Apr 28 18:05:39 2011 UTC (13 years, 1 month ago) by martynas
Branch: MAIN
Changes since 1.12: +1 -1 lines
Diff to previous 1.12 (colored)

- enable fenv
- add nearbyint, nearbyintf and nearbyintl implemented using fenv

Revision 1.12 / (download) - annotate - [select for diffs], Mon Oct 26 21:06:19 2009 UTC (14 years, 7 months ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.11: +1 -1 lines
Diff to previous 1.11 (colored)

Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml
is defined on all architectures.

ok jmc@ (man pages) and martynas@

Revision 1.11 / (download) - annotate - [select for diffs], Sat Jul 25 11:38:10 2009 UTC (14 years, 10 months ago) by martynas
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10 (colored)

int is big enough to fully represent exponents of all supported fp
formats.  which even for 80-bit & 128-bit long doubles is only 15
bits.  therefore, scalbln, scalblnf, scalblnl are essentially the
same as scalbn, scalbnf, scalbnl with bounds checking so that
LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise
exceptions & yield correct values.  looks good to millert@

Revision 1.10 / (download) - annotate - [select for diffs], Tue Dec 9 20:00:35 2008 UTC (15 years, 6 months ago) by martynas
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (colored)

- 80-bit and quad precision trigonometric and other most
important functions: acosl, asinl, atanl, atan2l, cosl,
sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl,
fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml,
fmaxl, fminl.  mostly taken from freebsd, needed alot of
changes to adapt.  note, these are all c versions;  and are
quite slow when architectures have, e.g. sqrt.  assembly
versions will be added afterwards
- make them .weak/__weak_alias to the double precision
versions on other archs
- no need to have two finites.  finite() and finitef() are
non-standard 3BSD obsolete versions of isfinite.  remove
from libm.  make them weak_alias in libc to __isfinite and
__isfinitef instead.  similarly make 3BSD obsolete versions
of isinf, isinff, isnan, isnanf weak_aliases to C99's
__isinf, __isinff, __isnan, __isnanf
- remove unused infinity.c.  the c library has infinities
for each supported platform
- use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that
the double version has a chance of working on i386 with
extra precision
- avoid storing multiple copies of the pi/2 array, since
it won't vary
- bump major due to removed finite/finitef.  although they
will be in libc, which anything is linked to, minor bump
might be enough
ok millert@.   tested by sthen@, jsg@, ajacoutot@, kili@, naddy@

Revision 1.9 / (download) - annotate - [select for diffs], Sun Sep 7 20:36:08 2008 UTC (15 years, 9 months ago) by martynas
Branch: MAIN
Changes since 1.8: +1 -1 lines
Diff to previous 1.8 (colored)

- replace dtoa w/ David's gdtoa, version 2008-03-15
- provide proper dtoa locks
- use the real strtof implementation
- add strtold, __hdtoa, __hldtoa
- add %a/%A support
- don't lose precision in printf, don't round to double anymore
- implement extended-precision versions of libc functions: fpclassify,
isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is
fixed
- separate vax versions of strtof, and __hdtoa
- add complex math support.  added functions: cacos, casin, catan,
ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp,
clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf,
casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf,
ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf,
cimagf, conjf, cprojf, crealf
- add fdim, fmax, fmin
- add log2. (adapted implementation e_log.c.  could be more acruate
& faster, but it's good enough for now)
- remove wrappers & cruft in libm, supposed to work-around mistakes
in SVID, etc.;  use ieee versions.  fixes issues in python 2.6 for
djm@
- make _digittoint static
- proper definitions for i386, and amd64 in ieee.h
- sh, powerpc don't really have extended-precision
- add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h
for LDBL_*
- merge lead to frac for m{6,8}k, for gdtoa to work properly
- add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa
to use
- add EXT_IMPLICIT_NBIT definition, which indicates implicit
normalization bit
- add regression tests for libc: fpclassify and printf
- arith.h & gd_qnan.h definitions
- update ieee.h: hppa doesn't have quad-precision, hppa64 does
- add missing prototypes to gdtoaimp
- on 64-bit platforms make sure gdtoa doesn't use a long when it
really wants an int
- etc., what i may have forgotten...
- bump libm major, due to removed&changed symbols
- no libc bump, since this is riding on djm's libc major crank from
a day ago

discussed with / requested by / testing theo, sthen@, djm@, jsg@,
merdely@, jsing@, tedu@, brad@, jakemsr@, and others.
looks good to millert@
parts of the diff ok kettenis@

this commit does not include:
- man page changes

Revision 1.8 / (download) - annotate - [select for diffs], Thu Jul 24 09:40:16 2008 UTC (15 years, 10 months ago) by martynas
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

- remove isinff, isnanf.  this has been moved to libc
- remove never-enabled signbit.  libc has is now
- add C99 implementations, from freebsd, for nan(), nanf() (needed
to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(),
needed STRICT_ASSIGN macro for math_private.h
- bump major
man pages will follow
exp2{,f} has been requested by chl@
ok millert@

Revision 1.7 / (download) - annotate - [select for diffs], Wed Jun 11 20:53:27 2008 UTC (16 years ago) by martynas
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6 (colored)

- on non-ieee, rename gamma to tgamma, the 'true' gamma
- make gamma an alias of lgamma
- on ieee, add tgamma, based on gamma from non-ieee
- fixes for tgamma/lgamma/exp/log, esp. special cases (some from
freebsd);  properly raise invalid fp operations on vax
- also some general cleanup, ansification, man page (which was ok
jmc@)
- bump minor
this makes some ports using tgamma possible;  also consistifies
behavior across openbsd/ieee and openbsd/non-ieee, and other operating
systems
much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski
for testing
ok millert@

Revision 1.6 / (download) - annotate - [select for diffs], Wed Jul 12 07:26:08 2006 UTC (17 years, 11 months ago) by brad
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2, OPENBSD_4_1_BASE, OPENBSD_4_1, OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.5: +1 -1 lines
Diff to previous 1.5 (colored)

add some more C99 functions: round(3) and roundf(3).

By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu>
From FreeBSD

Revision 1.5 / (download) - annotate - [select for diffs], Sat Mar 18 20:13:24 2006 UTC (18 years, 2 months ago) by brad
Branch: MAIN
Changes since 1.4: +1 -1 lines
Diff to previous 1.4 (colored)

add some more C99 functions: trunc(3) and truncf(3).

From FreeBSD

ok deraadt@ millert@ otto@ jmc@

Revision 1.4 / (download) - annotate - [select for diffs], Thu Nov 17 20:07:40 2005 UTC (18 years, 6 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.3: +1 -1 lines
Diff to previous 1.3 (colored)

Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via
jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@

Revision 1.3 / (download) - annotate - [select for diffs], Tue Jul 13 21:03:35 2004 UTC (19 years, 11 months ago) by marc
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8, OPENBSD_3_7_BASE, OPENBSD_3_7, OPENBSD_3_6_BASE, OPENBSD_3_6
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

errno changes, lib major version bumps, and general flag day
To build you must:
cd /usr/src && make obj && make includes
cd lib/libc && make depend && make && NOMAN=1 sudo make install
cd /usr/src && make build

Revision 1.2 / (download) - annotate - [select for diffs], Tue Dec 3 06:39:38 2002 UTC (21 years, 6 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_5_BASE, OPENBSD_3_5, OPENBSD_3_4_BASE, OPENBSD_3_4, OPENBSD_3_3_BASE, OPENBSD_3_3
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

Crank all library major numbers.  Needed due to the fact that we
now build libraries with propolice enabled.  Without this, existing
binaries (such as ports/packages) that link with any system library
other than libc will fail with an undefined symbol of "___guard"
(__guard on ELF).
Pointed out by markus@ and discussed with deraadt@

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:42:45 1995 UTC (28 years, 8 months ago) by deraadt
CVS Tags: netbsd_1_1, OPENBSD_3_2_BASE, OPENBSD_3_2, OPENBSD_3_1_BASE, OPENBSD_3_1, OPENBSD_3_0_BASE, OPENBSD_3_0, OPENBSD_2_9_BASE, OPENBSD_2_9, OPENBSD_2_8_BASE, OPENBSD_2_8, OPENBSD_2_7_BASE, OPENBSD_2_7, OPENBSD_2_6_BASE, OPENBSD_2_6, OPENBSD_2_5_BASE, OPENBSD_2_5, OPENBSD_2_4_BASE, OPENBSD_2_4, OPENBSD_2_3_BASE, OPENBSD_2_3, OPENBSD_2_2_BASE, OPENBSD_2_2, OPENBSD_2_1_BASE, OPENBSD_2_1, OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of NetBSD tree

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:42:45 1995 UTC (28 years, 8 months ago) by deraadt
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.