Home | History | Annotate | only in /src/lib/libc/compat/gen
History log of /src/lib/libc/compat/gen
RevisionDateAuthorComments
 1.18 22-Sep-2019  christos Add a new member to struct vfsstat and grow the unused members
The new member is caled f_mntfromlabel and it is the dkw_wname
of the corresponding wedge. This is now used by df -W to display
the mountpoint name as NAME=
 1.17 16-Jan-2014  christos branches: 1.17.26;
"soon" is "now". Remove all __indr_reference crap.
 1.16 24-Oct-2012  christos Add a warning when we are using the libc version of alloca(3).
 1.15 10-Oct-2012  christos Add compat functions for syslog.
 1.14 12-Mar-2011  christos branches: 1.14.4; 1.14.10;
Fix various vis/unvis issues:
- no need for all the weak symbols
- define a new _VIS_END flag for UNVIS_END so that there are no collisions
between and vis and unvis flags.
- add bound versions of the vis and unvis functions that take the length of
the destination buffer. Unlike the OpenBSD ones they return -1 or NULL if
the buffer is not large enough, instead of silently truncating.
 1.13 23-Apr-2010  drochner use the local versions of ldexp/frexp/modf again rather than pulling
in libm source code. The libm functions depend on other libm functions,
this requires symbol renaming, and with the reachover method this
is going to be a mess. Also, bundling the dependencies into one .o
file has the potential to cause symbol conflicts on static linking.
 1.12 16-Aug-2009  christos Version fts one more time! This is the most versioned API ever... Bump
fts_level from short to int to avoid a potential DoS.
From Maksymilian Arciemowicz
 1.11 24-Feb-2009  christos version alphasort.
 1.10 20-Jan-2009  drochner branches: 1.10.2;
cleanup after devmajor_t:
-since getdevmajor(3) is now binary compatible again with <=5.0
there is no need to rename, I've just left a __getdevmajor50 symbol
temporarily for those who track -current
-update manpage
 1.9 11-Jan-2009  christos merge christos-time_t
 1.8 26-Oct-2008  mrg branches: 1.8.4;
define and use LIBCDIR in terms of .CURDIR. fixes compat/lib/libc build.
 1.7 28-Sep-2008  christos having 2 separate implementations of frexp ldexp and modf (one here and
one in libm) that produce different results does not make any sense. Use
the one from libm to build instead.
 1.6 04-May-2008  tonnerre Fix a bug in the implementation of seekdir(). If the first entry in
a block has been unlinked, seekdir() may overshoot by one entry.
Thus, _readdir_unlinked() must not skip deleted entries when being
called from seekdir().
Christos agreed.
 1.5 27-Jul-2006  christos branches: 1.5.18;
Turn fts_number to a quad.
 1.4 30-Mar-2006  christos PR/33163: Auster Vl.: fts: cant allocate memory | filename too long
Change the ftp_pathlen and fts_namelen to u_int from u_short so that
pathnames > 32K work.
 1.3 26-Mar-2006  christos PR/33123: Murray Armfield: standards compliance & glob.h
Certain fields in glob.h need to be size_t; fix this and version glob(3).
http://www.opengroup.org/onlinepubs/000095399/basedefs/glob.h.html
 1.2 11-Mar-2006  christos Add glue to build the compat library as a separate "libcold" turned off by
default. Clean up the libc Makefile and remove obsolete stuff such as copy
to libkern.
 1.1 13-Sep-2005  christos compat core reorg.
 1.5.18.1 18-May-2008  yamt sync with head.
 1.8.4.4 23-Nov-2008  christos fix utmp{,x} issues:
- add old utmp format support. Ugly and difficult to get right. For now
try to deal by detecting the size of the file and seeing if it is a
multiple of sizeof(struct utmp50).
- fix NULL pointer in cvt.
- version the UTMPX database, and detect if we have an old or new one
and act accordingly.
 1.8.4.3 09-Nov-2008  christos version some more stuff and add sys_foo aliases.
 1.8.4.2 08-Nov-2008  christos time_t changes
 1.8.4.1 26-Oct-2008  christos file Makefile.inc was added on branch christos-time_t on 2008-11-08 21:45:37 +0000
 1.10.2.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.14.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.14.10.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.14.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14.4.1 30-Oct-2012  yamt sync with head
 1.17.26.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.10 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.9 14-Mar-2012  christos branches: 1.9.2;
rename the macros ftsent_ since they apply to the ftsent struct not the
fts one.
 1.8 13-Mar-2012  joerg Fix all the issues lint is too dumb to warn about and re-enable
-Wconstant-conversion.
 1.7 13-Mar-2012  christos PR/45989: Martin Husemann: lint invocation does include -w only on i386

- turn lint -w for all the platforms after fixing the lint warnings.
- add _DIAGASSERTS() for casts that would assign values to types that
would not fit.
- change types, add casts
- change into ansii prototypes
- turn on _DIAGNOSTIC for libc (during current, to be eliminated for release
builds)

approved by core@
 1.6 19-Oct-2009  christos branches: 1.6.6;
PR/42201: NAKAJIMA Yoshihiro: fts(3): broken compatibility
As new field types were added, we did not provide overrides for older compat
versions. This restores compatibility.
 1.5 11-Jan-2009  christos merge christos-time_t
 1.4 27-Jul-2006  christos branches: 1.4.28;
Turn fts_number to a quad.
 1.3 30-Mar-2006  christos Unbreak fts13 after yesterdays header changes [yes I keep old binaries around
just to test this]
 1.2 11-Dec-2005  christos Restore the compatibility versions of fts not to do path mangling (i.e.
remove double slashes). Also make sure we free sp in all cases. From yamt,
many thanks!
 1.1 13-Sep-2005  christos compat core reorg.
 1.4.28.1 08-Nov-2008  christos time_t changes
 1.6.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6.6.1 17-Apr-2012  yamt sync with head
 1.9.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.7 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.6 14-Mar-2012  christos branches: 1.6.2;
rename the macros ftsent_ since they apply to the ftsent struct not the
fts one.
 1.5 13-Mar-2012  joerg Fix all the issues lint is too dumb to warn about and re-enable
-Wconstant-conversion.
 1.4 13-Mar-2012  christos PR/45989: Martin Husemann: lint invocation does include -w only on i386

- turn lint -w for all the platforms after fixing the lint warnings.
- add _DIAGASSERTS() for casts that would assign values to types that
would not fit.
- change types, add casts
- change into ansii prototypes
- turn on _DIAGNOSTIC for libc (during current, to be eliminated for release
builds)

approved by core@
 1.3 19-Oct-2009  christos branches: 1.3.6;
PR/42201: NAKAJIMA Yoshihiro: fts(3): broken compatibility
As new field types were added, we did not provide overrides for older compat
versions. This restores compatibility.
 1.2 27-Jul-2006  christos Turn fts_number to a quad.
 1.1 30-Mar-2006  christos PR/33163: Auster Vl.: fts: cant allocate memory | filename too long
Change the ftp_pathlen and fts_namelen to u_int from u_short so that
pathnames > 32K work.
 1.3.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.6.1 17-Apr-2012  yamt sync with head
 1.6.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.5 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.4 14-Mar-2012  christos branches: 1.4.2;
rename the macros ftsent_ since they apply to the ftsent struct not the
fts one.
 1.3 13-Mar-2012  christos PR/45989: Martin Husemann: lint invocation does include -w only on i386

- turn lint -w for all the platforms after fixing the lint warnings.
- add _DIAGASSERTS() for casts that would assign values to types that
would not fit.
- change types, add casts
- change into ansii prototypes
- turn on _DIAGNOSTIC for libc (during current, to be eliminated for release
builds)

approved by core@
 1.2 19-Oct-2009  christos branches: 1.2.6;
PR/42201: NAKAJIMA Yoshihiro: fts(3): broken compatibility
As new field types were added, we did not provide overrides for older compat
versions. This restores compatibility.
 1.1 27-Jul-2006  christos Turn fts_number to a quad.
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 17-Apr-2012  yamt sync with head
 1.4.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.4 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.3 19-Oct-2009  christos branches: 1.3.6; 1.3.12;
PR/42201: NAKAJIMA Yoshihiro: fts(3): broken compatibility
As new field types were added, we did not provide overrides for older compat
versions. This restores compatibility.
 1.2 11-Jan-2009  christos merge christos-time_t
 1.1 09-Nov-2008  christos branches: 1.1.2;
file compat___fts32.c was initially added on branch christos-time_t.
 1.1.2.1 09-Nov-2008  christos version some more stuff and add sys_foo aliases.
 1.3.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 19-Oct-2009  christos PR/42201: NAKAJIMA Yoshihiro: fts(3): broken compatibility
As new field types were added, we did not provide overrides for older compat
versions. This restores compatibility.
 1.1 16-Aug-2009  christos Version fts one more time! This is the most versioned API ever... Bump
fts_level from short to int to avoid a potential DoS.
From Maksymilian Arciemowicz
 1.1 22-Sep-2019  christos branches: 1.1.4;
Add a new member to struct vfsstat and grow the unused members
The new member is caled f_mntfromlabel and it is the dkw_wname
of the corresponding wedge. This is now used by df -W to display
the mountpoint name as NAME=
 1.1.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.1 22-Sep-2019  martin file compat___getmntinfo13.c was added on branch phil-wifi on 2020-04-13 08:03:09 +0000
 1.2 11-Jan-2009  christos merge christos-time_t
 1.1 26-Mar-2006  christos branches: 1.1.28;
PR/33123: Murray Armfield: standards compliance & glob.h
Certain fields in glob.h need to be size_t; fix this and version glob(3).
http://www.opengroup.org/onlinepubs/000095399/basedefs/glob.h.html
 1.1.28.1 08-Nov-2008  christos time_t changes
 1.1 12-Mar-2011  christos Fix various vis/unvis issues:
- no need for all the weak symbols
- define a new _VIS_END flag for UNVIS_END so that there are no collisions
between and vis and unvis flags.
- add bound versions of the vis and unvis functions that take the length of
the destination buffer. Unlike the OpenBSD ones they return -1 or NULL if
the buffer is not large enough, instead of silently truncating.
 1.1 04-May-2008  tonnerre branches: 1.1.4; 1.1.10;
Fix a bug in the implementation of seekdir(). If the first entry in
a block has been unlinked, seekdir() may overshoot by one entry.
Thus, _readdir_unlinked() must not skip deleted entries when being
called from seekdir().
Christos agreed.
 1.1.10.2 04-May-2008  tonnerre Fix a bug in the implementation of seekdir(). If the first entry in
a block has been unlinked, seekdir() may overshoot by one entry.
Thus, _readdir_unlinked() must not skip deleted entries when being
called from seekdir().
Christos agreed.
 1.1.10.1 04-May-2008  tonnerre file compat__readdir_unlocked30.c was added on branch christos-time_t on 2008-05-04 18:53:27 +0000
 1.1.4.2 18-May-2008  yamt sync with head.
 1.1.4.1 04-May-2008  yamt file compat__readdir_unlocked30.c was added on branch yamt-pf42 on 2008-05-18 12:30:15 +0000
 1.2 16-Jan-2014  christos "soon" is "now". Remove all __indr_reference crap.
 1.1 13-Sep-2005  christos branches: 1.1.44; 1.1.50;
compat core reorg.
 1.1.50.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.44.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 16-Jan-2014  christos "soon" is "now". Remove all __indr_reference crap.
 1.1 13-Sep-2005  christos branches: 1.1.44; 1.1.50;
compat core reorg.
 1.1.50.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.44.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 16-Jan-2014  christos "soon" is "now". Remove all __indr_reference crap.
 1.1 13-Sep-2005  christos branches: 1.1.44; 1.1.50;
compat core reorg.
 1.1.50.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.44.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 08-Oct-2022  nia libc: Use a functional example when warning about incorrect alloca usage
 1.1 24-Oct-2012  christos branches: 1.1.2; 1.1.4;
Add a warning when we are using the libc version of alloca(3).
 1.1.4.2 24-Oct-2012  christos Add a warning when we are using the libc version of alloca(3).
 1.1.4.1 24-Oct-2012  christos file compat_alloca.c was added on branch tls-maxphys on 2012-10-24 22:10:53 +0000
 1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 24-Oct-2012  yamt file compat_alloca.c was added on branch yamt-pagecache on 2012-10-30 18:58:43 +0000
 1.2 16-Dec-2016  mrg scandir/alphasort take "const struct dirent **" not "const void *" in
modern unix. since we claim to be 'IEEE Std 1003.1-2008', make it so.
 1.1 24-Feb-2009  christos branches: 1.1.2; 1.1.30;
version alphasort.
 1.1.30.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.2.2 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.1.2.1 24-Feb-2009  jym file compat_alphasort.c was added on branch jym-xensuspend on 2009-05-13 19:18:22 +0000
 1.2 11-Jan-2009  christos merge christos-time_t
 1.1 08-Nov-2008  christos branches: 1.1.2;
file compat_devname.c was initially added on branch christos-time_t.
 1.1.2.2 08-Nov-2008  christos add more stuff.
 1.1.2.1 08-Nov-2008  christos new files for time_t
 1.3 20-Jan-2024  christos Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.2 31-Oct-2006  cbiere Changed error message of ENOPROTOOPT to "Protocol option not available".
 1.1 13-Sep-2005  christos compat core reorg.
 1.6 20-Jan-2024  christos Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.5 23-Apr-2010  drochner use the local versions of ldexp/frexp/modf again rather than pulling
in libm source code. The libm functions depend on other libm functions,
this requires symbol renaming, and with the reachover method this
is going to be a mess. Also, bundling the dependencies into one .o
file has the potential to cause symbol conflicts on static linking.
 1.4 28-Sep-2008  christos branches: 1.4.6;
having 2 separate implementations of frexp ldexp and modf (one here and
one in libm) that produce different results does not make any sense. Use
the one from libm to build instead.
 1.3 14-Sep-2008  drochner fix the -0.0 case, fixes a gm4 test error reported by wiz
(normally, the libm implementation should be used)
 1.2 03-Jul-2006  drochner branches: 1.2.20;
Remove a comment questioning correct denormal handling.
This has been fixed.
 1.1 27-Jun-2006  drochner First step to clean up the variety of frexp(), ldexp() and modf()
implementations.
Long term goal is to use the implementation in libm and get rid of
the libc instances. For now, we need to keep one in libc for compatibility,
it belongs into the compat subtree.
The switch is per-arch. Should be painless for ieee754 boxes.
If all ieee754 archs are switched, libc/gen/{frexp,ldexp,modf}_ieee754.c
can be removed.
 1.2.20.1 24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.4.6.2 28-Sep-2008  christos having 2 separate implementations of frexp ldexp and modf (one here and
one in libm) that produce different results does not make any sense. Use
the one from libm to build instead.
 1.4.6.1 28-Sep-2008  christos file compat_frexp_ieee754.c was added on branch christos-time_t on 2008-09-28 15:19:10 +0000
 1.8 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.7 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.6 15-Mar-2012  christos branches: 1.6.2;
missed one (thanks joerg)
 1.5 13-Mar-2012  joerg Fix all the issues lint is too dumb to warn about and re-enable
-Wconstant-conversion.
 1.4 19-Oct-2009  christos branches: 1.4.6;
PR/42201: NAKAJIMA Yoshihiro: fts(3): broken compatibility
As new field types were added, we did not provide overrides for older compat
versions. This restores compatibility.
 1.3 11-Jan-2009  christos merge christos-time_t
 1.2 11-Dec-2005  christos branches: 1.2.28;
Restore the compatibility versions of fts not to do path mangling (i.e.
remove double slashes). Also make sure we free sp in all cases. From yamt,
many thanks!
 1.1 13-Sep-2005  christos compat core reorg.
 1.2.28.1 08-Nov-2008  christos time_t changes
 1.4.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4.6.1 17-Apr-2012  yamt sync with head
 1.6.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3 20-Jan-2009  drochner cleanup after devmajor_t:
-since getdevmajor(3) is now binary compatible again with <=5.0
there is no need to rename, I've just left a __getdevmajor50 symbol
temporarily for those who track -current
-update manpage
 1.2 11-Jan-2009  christos merge christos-time_t
 1.1 08-Nov-2008  christos branches: 1.1.2;
file compat_getdevmajor.c was initially added on branch christos-time_t.
 1.1.2.2 08-Nov-2008  christos add more stuff.
 1.1.2.1 08-Nov-2008  christos new files for time_t
 1.4 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.3 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.2 20-Mar-2012  matt branches: 1.2.2;
Switch to C89 definitions.
Remove use of __P
 1.1 13-Sep-2005  christos branches: 1.1.44;
compat core reorg.
 1.1.44.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.44.1 17-Apr-2012  yamt sync with head
 1.2.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3 01-Jun-2009  yamt fix NULL dereferences in the compat versions of getpwent, getpwnam,
and getpwuid.
 1.2 11-Jan-2009  christos merge christos-time_t
 1.1 08-Nov-2008  christos branches: 1.1.2;
file compat_getpwent.c was initially added on branch christos-time_t.
 1.1.2.3 28-Dec-2008  christos move conversion functions to inlines so that libutil can use them.
 1.1.2.2 08-Nov-2008  christos add more stuff.
 1.1.2.1 08-Nov-2008  christos new files for time_t
 1.4 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.3 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.2 11-Jan-2009  christos branches: 1.2.8; 1.2.14;
merge christos-time_t
 1.1 13-Sep-2005  christos branches: 1.1.28;
compat core reorg.
 1.1.28.1 08-Nov-2008  christos time_t changes
 1.2.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2 11-Jan-2009  christos merge christos-time_t
 1.1 08-Nov-2008  christos branches: 1.1.2;
file compat_lastlogx.c was initially added on branch christos-time_t.
 1.1.2.1 08-Nov-2008  christos new files for time_t
 1.9 17-Jun-2024  riastradh libc ldexp(3): Avoid undefined behaviour in arithmetic overflow.

PR lib/58347
 1.8 21-May-2020  riastradh branches: 1.8.6;
Teach libc's compat ldexp stub to raise fp exceptions.

This ldexp stub will shadow the ldexp weak alias for scalbn in libm,
which is unfortunate but hard to fix properly without chasing the
mythical libc bump beast. With the change here, we should raise all
the same exceptions that libm's scalbn does -- overflow, underflow,
inexact-result, and (for signalling NaN only) invalid-operation.
This in turn should correct the missing overflow/underflow exceptions
of our portable C fma, and perhaps other routines.

XXX pullup
 1.7 27-Aug-2016  christos branches: 1.7.16;
remove debugging
 1.6 27-Aug-2016  christos detect overflow in oldexp + newexp
 1.5 23-Apr-2010  drochner use the local versions of ldexp/frexp/modf again rather than pulling
in libm source code. The libm functions depend on other libm functions,
this requires symbol renaming, and with the reachover method this
is going to be a mess. Also, bundling the dependencies into one .o
file has the potential to cause symbol conflicts on static linking.
 1.4 28-Sep-2008  christos branches: 1.4.6;
this needs finite and scalbn
 1.3 28-Sep-2008  christos having 2 separate implementations of frexp ldexp and modf (one here and
one in libm) that produce different results does not make any sense. Use
the one from libm to build instead.
 1.2 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.1 27-Jun-2006  drochner branches: 1.1.18;
First step to clean up the variety of frexp(), ldexp() and modf()
implementations.
Long term goal is to use the implementation in libm and get rid of
the libc instances. For now, we need to keep one in libc for compatibility,
it belongs into the compat subtree.
The switch is per-arch. Should be painless for ieee754 boxes.
If all ieee754 archs are switched, libc/gen/{frexp,ldexp,modf}_ieee754.c
can be removed.
 1.1.18.1 18-May-2008  yamt sync with head.
 1.4.6.2 28-Sep-2008  christos this needs finite and scalbn
 1.4.6.1 28-Sep-2008  christos file compat_ldexp_ieee754.c was added on branch christos-time_t on 2008-09-28 18:54:31 +0000
 1.7.16.2 13-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1905):

lib/libc/compat/gen/compat_ldexp_ieee754.c: revision 1.9

libc ldexp(3): Avoid undefined behaviour in arithmetic overflow.

PR lib/58347
 1.7.16.1 25-May-2020  martin Pull up following revision(s) (requested by riastradh in ticket #920):

lib/libc/compat/gen/compat_ldexp_ieee754.c: revision 1.8

Teach libc's compat ldexp stub to raise fp exceptions.

This ldexp stub will shadow the ldexp weak alias for scalbn in libm,
which is unfortunate but hard to fix properly without chasing the
mythical libc bump beast. With the change here, we should raise all
the same exceptions that libm's scalbn does -- overflow, underflow,
inexact-result, and (for signalling NaN only) invalid-operation.

This in turn should correct the missing overflow/underflow exceptions
of our portable C fma, and perhaps other routines.

XXX pullup
 1.8.6.1 13-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #962):

lib/libc/compat/gen/compat_ldexp_ieee754.c: revision 1.9

libc ldexp(3): Avoid undefined behaviour in arithmetic overflow.

PR lib/58347
 1.6 20-Jan-2024  christos Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.5 07-Oct-2016  christos Sync with compat and remove dup implementations of ldexp and modf, switching
mips and m68k to the compat copies.
 1.4 23-Apr-2010  drochner branches: 1.4.28;
use the local versions of ldexp/frexp/modf again rather than pulling
in libm source code. The libm functions depend on other libm functions,
this requires symbol renaming, and with the reachover method this
is going to be a mess. Also, bundling the dependencies into one .o
file has the potential to cause symbol conflicts on static linking.
 1.3 27-Jan-2010  drochner fix behavior in case of +-Inf or NaN input: return the proper
values and set *iptr
(This code is only used under non-default build options, and on m68k.)
 1.2 28-Sep-2008  christos branches: 1.2.6;
having 2 separate implementations of frexp ldexp and modf (one here and
one in libm) that produce different results does not make any sense. Use
the one from libm to build instead.
 1.1 27-Jun-2006  drochner First step to clean up the variety of frexp(), ldexp() and modf()
implementations.
Long term goal is to use the implementation in libm and get rid of
the libc instances. For now, we need to keep one in libc for compatibility,
it belongs into the compat subtree.
The switch is per-arch. Should be painless for ieee754 boxes.
If all ieee754 archs are switched, libc/gen/{frexp,ldexp,modf}_ieee754.c
can be removed.
 1.2.6.2 28-Sep-2008  christos having 2 separate implementations of frexp ldexp and modf (one here and
one in libm) that produce different results does not make any sense. Use
the one from libm to build instead.
 1.2.6.1 28-Sep-2008  christos file compat_modf_ieee754.c was added on branch christos-time_t on 2008-09-28 15:19:10 +0000
 1.4.28.1 04-Nov-2016  pgoyette Sync with HEAD
 1.2 22-Sep-2019  christos Add a new member to struct vfsstat and grow the unused members
The new member is caled f_mntfromlabel and it is the dkw_wname
of the corresponding wedge. This is now used by df -W to display
the mountpoint name as NAME=
 1.1 13-Sep-2005  christos branches: 1.1.86;
compat core reorg.
 1.1.86.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3 08-Feb-2012  mbalmer Add missing cast, fixes i386 build. releng ok.
 1.2 08-Feb-2012  christos Restore binary compatibility with netbsd-1.x for readdir(3). Tested with
a shark tcsh dynamic binary:

tcsh: ELF 32-bit LSB executable, ARM, version 1, dynamically linked \
(uses shared libs), for NetBSD, not stripped
-rwxr-xr-x 1 root wheel 994170 Jun 24 2004 /bin/tcsh

This would infinite loop on ls-F /dev
 1.1 13-Sep-2005  christos branches: 1.1.44;
compat core reorg.
 1.1.44.1 17-Apr-2012  yamt sync with head
 1.2 16-Dec-2016  mrg scandir/alphasort take "const struct dirent **" not "const void *" in
modern unix. since we claim to be 'IEEE Std 1003.1-2008', make it so.
 1.1 13-Sep-2005  christos branches: 1.1.68;
compat core reorg.
 1.1.68.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.2 20-Jan-2024  christos Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.1 13-Sep-2005  christos compat core reorg.
 1.2 20-Jan-2024  christos Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.1 13-Sep-2005  christos compat core reorg.
 1.3 20-Mar-2012  matt Switch to C89 definitions.
Remove use of __P
 1.2 11-Jan-2009  christos branches: 1.2.8;
merge christos-time_t
 1.1 13-Sep-2005  christos branches: 1.1.28;
compat core reorg.
 1.1.28.1 08-Nov-2008  christos time_t changes
 1.2.8.1 17-Apr-2012  yamt sync with head
 1.3 20-Jan-2024  christos Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.2 11-Oct-2012  christos branches: 1.2.2; 1.2.4;
take care of the signal safe syslog calls which are not exposed.
 1.1 10-Oct-2012  christos Add compat functions for syslog.
 1.2.4.2 11-Oct-2012  christos take care of the signal safe syslog calls which are not exposed.
 1.2.4.1 11-Oct-2012  christos file compat_syslog.c was added on branch tls-maxphys on 2012-10-11 17:09:56 +0000
 1.2.2.2 30-Oct-2012  yamt sync with head
 1.2.2.1 11-Oct-2012  yamt file compat_syslog.c was added on branch yamt-pagecache on 2012-10-30 18:58:43 +0000
 1.4 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.3 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.2 11-Jan-2009  christos branches: 1.2.8; 1.2.14;
merge christos-time_t
 1.1 08-Nov-2008  christos branches: 1.1.2;
file compat_time.c was initially added on branch christos-time_t.
 1.1.2.2 23-Nov-2008  christos simplify the time_t define dance.
 1.1.2.1 08-Nov-2008  christos new files for time_t
 1.2.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.4 04-Oct-2013  christos prefix compat with __ in case __dso_hidden is not available
 1.3 04-Oct-2013  christos avoid linker warning for compat symbols that are used internally in libc,
by introducing a hidden compat_foo() function, using that internally in
libc, and exposing foo as a strong alias to compat_foo(). I am open for
better ideas.
 1.2 11-Jan-2009  christos branches: 1.2.8; 1.2.14;
merge christos-time_t
 1.1 13-Sep-2005  christos branches: 1.1.28;
compat core reorg.
 1.1.28.1 08-Nov-2008  christos time_t changes
 1.2.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5 20-Jan-2024  christos Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.4 20-Mar-2012  matt Switch to C89 definitions.
Remove use of __P
 1.3 11-Jan-2009  christos branches: 1.3.8;
merge christos-time_t
 1.2 29-Nov-2005  christos branches: 1.2.28;
WARNS=4
 1.1 13-Sep-2005  christos compat core reorg.
 1.2.28.1 08-Nov-2008  christos time_t changes
 1.3.8.1 17-Apr-2012  yamt sync with head
 1.3 12-Mar-2011  christos Fix various vis/unvis issues:
- no need for all the weak symbols
- define a new _VIS_END flag for UNVIS_END so that there are no collisions
between and vis and unvis flags.
- add bound versions of the vis and unvis functions that take the length of
the destination buffer. Unlike the OpenBSD ones they return -1 or NULL if
the buffer is not large enough, instead of silently truncating.
 1.2 10-Mar-2007  hubertf - Remove unused ctype.h header
- ANSIfy prototype

From: Slava Semushin <php-coder@altlinux.ru>
 1.1 13-Sep-2005  christos compat core reorg.
 1.2 11-Jan-2009  christos merge christos-time_t
 1.1 08-Nov-2008  christos branches: 1.1.2;
file compat_utime.c was initially added on branch christos-time_t.
 1.1.2.2 29-Dec-2008  christos don't call one compat function from another.
 1.1.2.1 08-Nov-2008  christos new files for time_t
 1.2 11-Jan-2009  christos merge christos-time_t
 1.1 23-Nov-2008  christos branches: 1.1.2;
file compat_utmp.c was initially added on branch christos-time_t.
 1.1.2.1 23-Nov-2008  christos fix utmp{,x} issues:
- add old utmp format support. Ugly and difficult to get right. For now
try to deal by detecting the size of the file and seeing if it is a
multiple of sizeof(struct utmp50).
- fix NULL pointer in cvt.
- version the UTMPX database, and detect if we have an old or new one
and act accordingly.
 1.4 01-Jul-2011  joerg Fix memcpy usage.
 1.3 11-Jan-2009  christos merge christos-time_t
 1.2 28-Apr-2008  martin branches: 1.2.8;
Remove clause 3 and 4 from TNF licenses
 1.1 13-Sep-2005  christos branches: 1.1.18;
compat core reorg.
 1.1.18.1 18-May-2008  yamt sync with head.
 1.2.8.4 28-Dec-2008  christos move conversion functions to inlines so that libutil can use them.
 1.2.8.3 23-Nov-2008  christos fix utmp{,x} issues:
- add old utmp format support. Ugly and difficult to get right. For now
try to deal by detecting the size of the file and seeing if it is a
multiple of sizeof(struct utmp50).
- fix NULL pointer in cvt.
- version the UTMPX database, and detect if we have an old or new one
and act accordingly.
 1.2.8.2 08-Nov-2008  christos time_t changes
 1.2.8.1 28-Apr-2008  christos file compat_utmpx.c was added on branch christos-time_t on 2008-11-08 21:45:38 +0000

RSS XML Feed