History log of /openbsd-current/lib/libc/gen/Makefile.inc
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.82 02-Sep-2019 deraadt

More correction of section 3 layout. directory->opendir, fts->fts_open,
getcap->cgetent. pwcache->user_from_uid. And then repair references.
ok jmc


# 1.81 11-Aug-2019 deraadt

No specific called "exec(3)", so move primary manpage to a name which
does exist -- execv(3). Still call this a family but without "Nm".
Adjust Xr in various pages to refer to the precise function used
rather than the family, in most cases the semantics of execve(2) are
being referenced, so change the Xr.
ok jmc


Revision tags: OPENBSD_6_5_BASE
# 1.80 12-Jan-2019 jca

Move sigwait(3) from libpthread to libc

POSIX wants it in libc, that's where the function can be found on other
systems. Reported by naddy@, input from naddy@ and guenther@.
"looks ok" guenther@, ok deraadt@

Note: riding the libc/libpthread major cranks earlier today.


# 1.79 30-Oct-2018 guenther

Add C11's timespec_get(3); minor bump for libc.

Tweaked diff from brad@
manpage tweaks florian@ and jmc@
ok deraadt@ millert@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.78 12-Jan-2018 deraadt

sysctl(3) can now be renamed to sysctl(2)


Revision tags: OPENBSD_6_2_BASE
# 1.77 05-Sep-2017 mpi

Remove unused 32bit version of elf_hash().

Riding previous libc bump.

ok kettenis@


# 1.76 19-Jun-2017 dlg

port the RBT code to userland by making it part of libc.

src/lib/libc/gen/tree.c is a copy of src/sys/kern/subr_tree.c, but with
annotations for symbol visibility. changes to one should be reflected
in the other.

the malloc debug code that uses RB code is ported to RBT.

because libc provides the RBT code, procmap doesn't have to reach into
the kernel and build subr_tree.c itself now.

mild enthusiasm from many
ok guenther@


# 1.75 29-May-2017 deraadt

It is distasteful to have manual pages which don't refer to real
function calls, but instead a "class" of functions like "sigsetops".
Rename to sigaddset", and while at it improve documentation in sigprocmask(2)
to point to it.
ok tedu


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.74 23-May-2016 guenther

Stop supporting longjmperror(); it's not used, not portable, and the checks
longjmp performs can't really be relied upon, even after we got rid of the
false positives...

ok millert@ deraadt@


# 1.73 30-Mar-2016 jmc

for some time now mandoc has not required MLINKS to function
correctly - logically complete that now by removing MLINKS from base;

authors need only to ensure there is an entry in NAME for any function/
util being added. MLINKS will still work, and remain for perl to ease
upgrades;

ok nicm (curses) bcook (ssl)
ok schwarze, who provided a lot of feedback and assistance
ok tb natano jung


Revision tags: OPENBSD_5_9_BASE
# 1.72 18-Nov-2015 tedu

mlinks for _shadow


# 1.71 30-Oct-2015 guenther

For getgrent.3:
- delete the commented out setgrfile bits, as well as the MLINK
- rename getgr{nam,gid}_r()'s 'buffer' parameters to 'buf' to be
consistent with getpwnam(3) and practically all other section 3 manpages
- we have sysconf(_SC_GETGR_R_SIZE_MAX) now, so uncomment and revise the text
For getpwnam.3:
- rename buflen to bufsize for consistency
- rewrite the description of the getpw{nam,uid}_r functions to
match the better getgr{nam,gid}_r() description, adding sysconf() bits
Add sysconf(3) to SEE ALSO for both

encouraged by schwarze@
ok millert@


# 1.70 13-Sep-2015 guenther

Rename __sysctl syscall to just sysctl, as the userland wrapper is no longer
necessary

ok deraadt@ jsing@


# 1.69 06-Sep-2015 guenther

Fix aliasing of sys_errlist, sys_nerr, sys_siglist, and sys_signame
to eliminate duplicate copies of the tables and get direct access internally

ok kettenis@ deraadt@


Revision tags: OPENBSD_5_8_BASE
# 1.68 07-Apr-2015 millert

Remove obsolete timezone() function.
Add timezone and daylight symbols for XSI compatibility.


Revision tags: OPENBSD_5_7_BASE
# 1.67 06-Feb-2015 doug

Add support for stravis() to vis.3 and Makefile.inc.

stravis(3) is an OpenBSD extension that was added recently.

input + ok schwarze@, jmc@, deraadt@


# 1.66 09-Dec-2014 deraadt

In ingo's new world order, we do not want multiple manual pages describing
the same thingies. Therefore these "lists of functions" man pages can go
away.
Hurray! I've wanted these pages to die for around 10 years!
ok ingo (and i think jmc)


Revision tags: OPENBSD_5_6_BASE
# 1.65 10-Jul-2014 guenther

__tfork_thread is in libc, so move the manpage over too

ok deraadt@


# 1.64 22-Apr-2014 guenther

Oh yeah, MLINKS for errc family

Prodded by deraadt@


# 1.63 22-Apr-2014 guenther

Add errc/verrc/warnc/vwarnc family: versions of err/... that take the errno
value to use for the strerror() message as an argument. Originally from
FreeBSD 3.0

Patch from Steffen Nurpmeso (sdaoden (at) gmail.com) with minor tweaks.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.62 17-Jun-2013 guenther

Add support for the _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME options,
including CLOCK_{PROCESS,THREAD}_CPUTIME_ID constants and
{clock,pthread}_getcpuclockid() functions.

Worked out at t2k13 with help from tedu@ and matthew@ and testing by aja@
ok matthew@


# 1.61 31-May-2013 ajacoutot

Add getprogname() and setprogname() to ease slackers^porters' work.
Man page adapted from FreeBSD and NetBSD.

Bump libc minor now (there will be more upcoming changes).

input from tedu@
get it in deraadt@


# 1.60 31-May-2013 tedu

add shm_open and friends which i have been told ports programs would
like to use.
ok deraadt guenther


# 1.59 15-Apr-2013 matthew

Implement fdatasync() as a wrapper around fsync()

ok guenther, deraadt, jmc


Revision tags: OPENBSD_5_3_BASE
# 1.58 15-Sep-2012 miod

remove tahoe-specific makefile machinery, no such hardware is known to be
in working condition anymore (assuming there would be interest in running on
it).


Revision tags: OPENBSD_5_2_BASE
# 1.57 11-Apr-2012 espie

new clean-room manpages for posix_spawn, unencumbered by any POSIX bullshit.
"just commit it" deraadt@

(nits to be fixed soon)


# 1.56 22-Mar-2012 matthew

Add dirfd() as a function to libc per POSIX requirement; dirfd() macro
to be pruned later when DIR is made an opaque type.

ok guenther@; prodding by brad@ for VLC and other ports


# 1.55 21-Mar-2012 matthew

Implement execvpe(3) and posix_spawn(3) and family. Based on
FreeBSD's implementation via Frank Denis, with various cleanups and
tweaks by me.

ok deraadt@, guenther@; discussions and tweaks from many others
jmc@ promises to help me further with the man pages in tree


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.54 18-Jul-2011 matthew

Add (rough draft) documentation for fdopendir(3) and the 15 new
XXXat(2) system calls from POSIX 2008. Editing will be done in tree.

General style discussed with jmc@, schwarze@, and deraadt@
ok jmc@


# 1.53 08-Jul-2011 martynas

Move fabs(3) manual page from libm to libc, for consistency. The
modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.


# 1.52 08-Jul-2011 martynas

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.


# 1.51 08-Jul-2011 martynas

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 tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.50 03-Feb-2010 miod

Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent
files or directories when applicable.
The inspiration and name of MACHINE_CPU come from NetBSD, although the way to
provide it to Makefiles is completely different.
ok kettenis@


# 1.49 18-Nov-2009 guenther

More shrinkage, a bit for ramdisks but mostly for static binaries:
- wrap with #ifndef NO_LOG_BAD_DNS_RESPONSES libc code that uses
p_class() and p_type() for diagnostics, then add that define to
libstub to avoid pulling in res_debug_syms.o
- split rcmd() and ruserok() into separate files, as nothing uses both
- split readdir_r() to its own file
- split syslog_r() from syslog(), as the latter needs localtime(); many
binaries no longer need to pull in all the time code after this; switch
from usleep() to nanosleep() while we're at it

(The profit of analysis of -Wl,-M,--cref output)

Chops 888kB from /bin and /sbin on i386

ok deraadt@, miod@


Revision tags: OPENBSD_4_6_BASE
# 1.48 02-Jun-2009 jmc

tweak previous;


# 1.47 01-Jun-2009 millert

Split getpw{nam,uid} off into their own man page. Hopefully, this
will help people understand that endpwent() is not normally needed.
OK deraadt@ jmc@


# 1.46 21-Apr-2009 martynas

remove from gen so that lint doesn't check gen if assembly versions
are available. spotted by theo


# 1.45 19-Apr-2009 martynas

- ldexp implementation has issues. switch to the one from libm
- remove frexp in hppa64, cloned from hppa
- move generic ieee754 implementations of modf and ldexp to gen
ok kettenis@, "looks good" millert@


Revision tags: OPENBSD_4_5_BASE
# 1.44 12-Dec-2008 martynas

- document and mlink frexpf, ldexpf, modff added 13 years ago
- document frexpl, ldexpl added recently
a tweak and ok jmc@


Revision tags: OPENBSD_4_4_BASE
# 1.43 29-Jul-2008 martynas

- man pages for fpclassify, isfinite, isinf, isnan, isnormal, signbit,
mostly from freebsd
- also describe deprecated aliases for isinff, isnanf, finite,
finitef
- describe behavior on vax
- add mlinks for finite, finitef, isfinite, isinf, isinff, isnan,
isnanf, isnormal, signbit
- add man pages for isgreater, isgreaterequal, isless, islessequal,
islessgreater, isunordered; from freebsd
looked over by jmc@, it's better for him to work on when they are in tree


# 1.42 24-Jul-2008 martynas

- move isinf, isnan dups to gen, since most is ieee 754
- is{inf,nan} should be macros for real-floating, so rename to
__is{inf,nan}, per C99
- implement C99 __fpclassify(), __fpclassifyf(), __isfinite(),
__isfinitef(), __isnormal(), __isnormalf(), __signbit(), __signbitf()
- long functions added, but not yet enabled, till ieee.h is fixed
- implement vax equivalents of the functions
- reimplement isinff, isnanf in a better way, and move to libc
- add qnan bytes for all archs
- bump major
man pages will follow
ok millert@. arm bits looked over by drahn@
discussed w/ theo, who showed the right direction, to put these
functions in libc


# 1.41 24-Jun-2008 deraadt

implement getpwnam_r() and getpwuid_r() -- very nearly a rewrite of the
entire file. much help from kurt, and tested by many


# 1.40 22-Mar-2008 otto

move statvfs.c to gen, since it is not a syscall; ok deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.39 03-Oct-2005 jmc

remove traces of non-existent getfstype() function;
ok krw@ deraadt@


# 1.38 02-Oct-2005 jmc

add missing MLINK for strnunvis.3, introduced -r1.14;


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.37 01-Feb-2005 millert

Replace broken frexp() with a working one from FreeBSD. There's
no need to have a copy for each platform with ieee floating point,
only vax needs a special version (which probably has similar bugs).
OK and with help from otto@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE
# 1.36 01-Feb-2004 deraadt

do not double login_cap.c; tholo


Revision tags: OPENBSD_3_4_BASE
# 1.35 21-Jul-2003 millert

build ftw and nftw


Revision tags: OPENBSD_3_3_BASE
# 1.34 16-Oct-2002 millert

Implement isfdtype(3) as per the POSIX.1g draft; requested by David Hill


Revision tags: OPENBSD_3_2_BASE
# 1.33 08-Jun-2002 fgsch

use weak aliases whenever is possible; millert@ ok.


Revision tags: OPENBSD_3_1_BASE
# 1.32 16-Mar-2002 millert

Add auth_getpwd MLINK


# 1.31 16-Feb-2002 pvalchev

MI man page to document fpgetmask(3) and friends; from ross@NetBSD, ok deraadt


# 1.30 31-Oct-2001 fgsch

Add MLINK's for syslog_r and friends.


Revision tags: OPENBSD_3_0_BASE
# 1.29 31-Jul-2001 krw

Add missing LINK for cgetusedb


Revision tags: OPENBSD_2_9_BASE
# 1.28 14-Mar-2001 aaron

Move description of exect() to execve(2) man page. Add a note about exect() not
being portable.


# 1.27 21-Nov-2000 millert

Add references to new files.


Revision tags: OPENBSD_2_8_BASE
# 1.26 20-Aug-2000 millert

login.conf code from BSDi. This does not include the bsd auth code
which will come later. At this stage it is primarily used for setting
resource limits.


# 1.25 19-Jul-2000 mickey

from freebsd:
strtofflags/fflagstostr to convert file flags
to/from binary from/into a string as used in chflags(1).

use u_int32_t instead of u_long (as freebsd does).
increase libc minor.
millert@ ok.


Revision tags: OPENBSD_2_7_BASE
# 1.24 25-Apr-2000 deraadt

well if you cannot do a libc commit properly a week before 2.7 tree lock, surely it can wait till after 2.7


# 1.23 25-Apr-2000 d

getpw*_r()


# 1.22 23-Mar-2000 d

*_r MLINKS


# 1.21 17-Nov-1999 millert

Add missing MLINKs


Revision tags: OPENBSD_2_6_BASE
# 1.20 16-Aug-1999 deraadt

doc isinff() and isnanf()


Revision tags: OPENBSD_2_5_BASE
# 1.19 20-Nov-1998 d

Add thread-safety to libc, so that libc_r will build (on i386 at least).
All POSIX libc api now there (to P1003.1c/D10)
(more md stuff is needed for other libc/arch/*)
(setlogin is no longer a special syscall)
Add -pthread option to gcc (that makes it use -lc_r and -D_POSIX_THREADS).
Doc some re-entrant routines
Add libc_r to intro(3)
dig() uses some libc srcs and an extra -I was needed there.
Add more md stuff to libc_r.
Update includes for the pthreads api
Update libc_r TODO


Revision tags: OPENBSD_2_4_BASE
# 1.18 29-Aug-1998 deraadt

man page repairs; aaron@ug.cs.dal.ca


# 1.17 04-Jul-1998 deraadt

split dirname and basename man pages


Revision tags: OPENBSD_2_3_BASE
# 1.16 22-Dec-1997 deraadt

add XPG4.2 lockf; kleink


Revision tags: OPENBSD_2_2_BASE
# 1.15 08-Sep-1997 deraadt

new man page; mikel


# 1.14 06-Sep-1997 millert

ln basename.3 dirname.3


# 1.13 20-Aug-1997 millert

Move getsubopt(3) to stdlib like lite2 and XPG4.2 say...
Update man page from lite2 while I'm at it.


# 1.12 17-Aug-1997 millert

basename(3) and dirname(3) as specified by XPG4 and XPG4.2


# 1.11 23-Jul-1997 kstailey

trailing blanks


# 1.10 23-Jul-1997 kstailey

tabify


Revision tags: OPENBSD_2_1_BASE
# 1.9 03-Feb-1997 millert

Back out stringlist


# 1.8 02-Feb-1997 millert

stringlist routines are now public (ftp uses them)


Revision tags: OPENBSD_2_0_BASE
# 1.7 15-Sep-1996 tholo

Add manpage link


# 1.6 19-Aug-1996 tholo

Fix RCS ids
Make sure everything uses {SYS,}LIBC_SCCS properly


# 1.5 29-May-1996 deraadt

enable ELF/a.out/ECOFF in machine/exec.h


# 1.4 28-May-1996 etheisen

All platforms get elf_nlist(). Hidden __elf_is_okay__() function is
now present for ELF platforms. This function is not ABI compliant and
it's use should be restricted. exec_sup.h now determines the target
OMF for various platforms.


# 1.3 29-Apr-1996 etheisen

Initial libc ELF support. Currently only elf_hash() is implemented.


# 1.2 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.81 11-Aug-2019 deraadt

No specific called "exec(3)", so move primary manpage to a name which
does exist -- execv(3). Still call this a family but without "Nm".
Adjust Xr in various pages to refer to the precise function used
rather than the family, in most cases the semantics of execve(2) are
being referenced, so change the Xr.
ok jmc


Revision tags: OPENBSD_6_5_BASE
# 1.80 12-Jan-2019 jca

Move sigwait(3) from libpthread to libc

POSIX wants it in libc, that's where the function can be found on other
systems. Reported by naddy@, input from naddy@ and guenther@.
"looks ok" guenther@, ok deraadt@

Note: riding the libc/libpthread major cranks earlier today.


# 1.79 30-Oct-2018 guenther

Add C11's timespec_get(3); minor bump for libc.

Tweaked diff from brad@
manpage tweaks florian@ and jmc@
ok deraadt@ millert@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.78 12-Jan-2018 deraadt

sysctl(3) can now be renamed to sysctl(2)


Revision tags: OPENBSD_6_2_BASE
# 1.77 05-Sep-2017 mpi

Remove unused 32bit version of elf_hash().

Riding previous libc bump.

ok kettenis@


# 1.76 19-Jun-2017 dlg

port the RBT code to userland by making it part of libc.

src/lib/libc/gen/tree.c is a copy of src/sys/kern/subr_tree.c, but with
annotations for symbol visibility. changes to one should be reflected
in the other.

the malloc debug code that uses RB code is ported to RBT.

because libc provides the RBT code, procmap doesn't have to reach into
the kernel and build subr_tree.c itself now.

mild enthusiasm from many
ok guenther@


# 1.75 29-May-2017 deraadt

It is distasteful to have manual pages which don't refer to real
function calls, but instead a "class" of functions like "sigsetops".
Rename to sigaddset", and while at it improve documentation in sigprocmask(2)
to point to it.
ok tedu


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.74 23-May-2016 guenther

Stop supporting longjmperror(); it's not used, not portable, and the checks
longjmp performs can't really be relied upon, even after we got rid of the
false positives...

ok millert@ deraadt@


# 1.73 30-Mar-2016 jmc

for some time now mandoc has not required MLINKS to function
correctly - logically complete that now by removing MLINKS from base;

authors need only to ensure there is an entry in NAME for any function/
util being added. MLINKS will still work, and remain for perl to ease
upgrades;

ok nicm (curses) bcook (ssl)
ok schwarze, who provided a lot of feedback and assistance
ok tb natano jung


Revision tags: OPENBSD_5_9_BASE
# 1.72 18-Nov-2015 tedu

mlinks for _shadow


# 1.71 30-Oct-2015 guenther

For getgrent.3:
- delete the commented out setgrfile bits, as well as the MLINK
- rename getgr{nam,gid}_r()'s 'buffer' parameters to 'buf' to be
consistent with getpwnam(3) and practically all other section 3 manpages
- we have sysconf(_SC_GETGR_R_SIZE_MAX) now, so uncomment and revise the text
For getpwnam.3:
- rename buflen to bufsize for consistency
- rewrite the description of the getpw{nam,uid}_r functions to
match the better getgr{nam,gid}_r() description, adding sysconf() bits
Add sysconf(3) to SEE ALSO for both

encouraged by schwarze@
ok millert@


# 1.70 13-Sep-2015 guenther

Rename __sysctl syscall to just sysctl, as the userland wrapper is no longer
necessary

ok deraadt@ jsing@


# 1.69 06-Sep-2015 guenther

Fix aliasing of sys_errlist, sys_nerr, sys_siglist, and sys_signame
to eliminate duplicate copies of the tables and get direct access internally

ok kettenis@ deraadt@


Revision tags: OPENBSD_5_8_BASE
# 1.68 07-Apr-2015 millert

Remove obsolete timezone() function.
Add timezone and daylight symbols for XSI compatibility.


Revision tags: OPENBSD_5_7_BASE
# 1.67 06-Feb-2015 doug

Add support for stravis() to vis.3 and Makefile.inc.

stravis(3) is an OpenBSD extension that was added recently.

input + ok schwarze@, jmc@, deraadt@


# 1.66 09-Dec-2014 deraadt

In ingo's new world order, we do not want multiple manual pages describing
the same thingies. Therefore these "lists of functions" man pages can go
away.
Hurray! I've wanted these pages to die for around 10 years!
ok ingo (and i think jmc)


Revision tags: OPENBSD_5_6_BASE
# 1.65 10-Jul-2014 guenther

__tfork_thread is in libc, so move the manpage over too

ok deraadt@


# 1.64 22-Apr-2014 guenther

Oh yeah, MLINKS for errc family

Prodded by deraadt@


# 1.63 22-Apr-2014 guenther

Add errc/verrc/warnc/vwarnc family: versions of err/... that take the errno
value to use for the strerror() message as an argument. Originally from
FreeBSD 3.0

Patch from Steffen Nurpmeso (sdaoden (at) gmail.com) with minor tweaks.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.62 17-Jun-2013 guenther

Add support for the _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME options,
including CLOCK_{PROCESS,THREAD}_CPUTIME_ID constants and
{clock,pthread}_getcpuclockid() functions.

Worked out at t2k13 with help from tedu@ and matthew@ and testing by aja@
ok matthew@


# 1.61 31-May-2013 ajacoutot

Add getprogname() and setprogname() to ease slackers^porters' work.
Man page adapted from FreeBSD and NetBSD.

Bump libc minor now (there will be more upcoming changes).

input from tedu@
get it in deraadt@


# 1.60 31-May-2013 tedu

add shm_open and friends which i have been told ports programs would
like to use.
ok deraadt guenther


# 1.59 15-Apr-2013 matthew

Implement fdatasync() as a wrapper around fsync()

ok guenther, deraadt, jmc


Revision tags: OPENBSD_5_3_BASE
# 1.58 15-Sep-2012 miod

remove tahoe-specific makefile machinery, no such hardware is known to be
in working condition anymore (assuming there would be interest in running on
it).


Revision tags: OPENBSD_5_2_BASE
# 1.57 11-Apr-2012 espie

new clean-room manpages for posix_spawn, unencumbered by any POSIX bullshit.
"just commit it" deraadt@

(nits to be fixed soon)


# 1.56 22-Mar-2012 matthew

Add dirfd() as a function to libc per POSIX requirement; dirfd() macro
to be pruned later when DIR is made an opaque type.

ok guenther@; prodding by brad@ for VLC and other ports


# 1.55 21-Mar-2012 matthew

Implement execvpe(3) and posix_spawn(3) and family. Based on
FreeBSD's implementation via Frank Denis, with various cleanups and
tweaks by me.

ok deraadt@, guenther@; discussions and tweaks from many others
jmc@ promises to help me further with the man pages in tree


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.54 18-Jul-2011 matthew

Add (rough draft) documentation for fdopendir(3) and the 15 new
XXXat(2) system calls from POSIX 2008. Editing will be done in tree.

General style discussed with jmc@, schwarze@, and deraadt@
ok jmc@


# 1.53 08-Jul-2011 martynas

Move fabs(3) manual page from libm to libc, for consistency. The
modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.


# 1.52 08-Jul-2011 martynas

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.


# 1.51 08-Jul-2011 martynas

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 tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.50 03-Feb-2010 miod

Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent
files or directories when applicable.
The inspiration and name of MACHINE_CPU come from NetBSD, although the way to
provide it to Makefiles is completely different.
ok kettenis@


# 1.49 18-Nov-2009 guenther

More shrinkage, a bit for ramdisks but mostly for static binaries:
- wrap with #ifndef NO_LOG_BAD_DNS_RESPONSES libc code that uses
p_class() and p_type() for diagnostics, then add that define to
libstub to avoid pulling in res_debug_syms.o
- split rcmd() and ruserok() into separate files, as nothing uses both
- split readdir_r() to its own file
- split syslog_r() from syslog(), as the latter needs localtime(); many
binaries no longer need to pull in all the time code after this; switch
from usleep() to nanosleep() while we're at it

(The profit of analysis of -Wl,-M,--cref output)

Chops 888kB from /bin and /sbin on i386

ok deraadt@, miod@


Revision tags: OPENBSD_4_6_BASE
# 1.48 02-Jun-2009 jmc

tweak previous;


# 1.47 01-Jun-2009 millert

Split getpw{nam,uid} off into their own man page. Hopefully, this
will help people understand that endpwent() is not normally needed.
OK deraadt@ jmc@


# 1.46 21-Apr-2009 martynas

remove from gen so that lint doesn't check gen if assembly versions
are available. spotted by theo


# 1.45 19-Apr-2009 martynas

- ldexp implementation has issues. switch to the one from libm
- remove frexp in hppa64, cloned from hppa
- move generic ieee754 implementations of modf and ldexp to gen
ok kettenis@, "looks good" millert@


Revision tags: OPENBSD_4_5_BASE
# 1.44 12-Dec-2008 martynas

- document and mlink frexpf, ldexpf, modff added 13 years ago
- document frexpl, ldexpl added recently
a tweak and ok jmc@


Revision tags: OPENBSD_4_4_BASE
# 1.43 29-Jul-2008 martynas

- man pages for fpclassify, isfinite, isinf, isnan, isnormal, signbit,
mostly from freebsd
- also describe deprecated aliases for isinff, isnanf, finite,
finitef
- describe behavior on vax
- add mlinks for finite, finitef, isfinite, isinf, isinff, isnan,
isnanf, isnormal, signbit
- add man pages for isgreater, isgreaterequal, isless, islessequal,
islessgreater, isunordered; from freebsd
looked over by jmc@, it's better for him to work on when they are in tree


# 1.42 24-Jul-2008 martynas

- move isinf, isnan dups to gen, since most is ieee 754
- is{inf,nan} should be macros for real-floating, so rename to
__is{inf,nan}, per C99
- implement C99 __fpclassify(), __fpclassifyf(), __isfinite(),
__isfinitef(), __isnormal(), __isnormalf(), __signbit(), __signbitf()
- long functions added, but not yet enabled, till ieee.h is fixed
- implement vax equivalents of the functions
- reimplement isinff, isnanf in a better way, and move to libc
- add qnan bytes for all archs
- bump major
man pages will follow
ok millert@. arm bits looked over by drahn@
discussed w/ theo, who showed the right direction, to put these
functions in libc


# 1.41 24-Jun-2008 deraadt

implement getpwnam_r() and getpwuid_r() -- very nearly a rewrite of the
entire file. much help from kurt, and tested by many


# 1.40 22-Mar-2008 otto

move statvfs.c to gen, since it is not a syscall; ok deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.39 03-Oct-2005 jmc

remove traces of non-existent getfstype() function;
ok krw@ deraadt@


# 1.38 02-Oct-2005 jmc

add missing MLINK for strnunvis.3, introduced -r1.14;


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.37 01-Feb-2005 millert

Replace broken frexp() with a working one from FreeBSD. There's
no need to have a copy for each platform with ieee floating point,
only vax needs a special version (which probably has similar bugs).
OK and with help from otto@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE
# 1.36 01-Feb-2004 deraadt

do not double login_cap.c; tholo


Revision tags: OPENBSD_3_4_BASE
# 1.35 21-Jul-2003 millert

build ftw and nftw


Revision tags: OPENBSD_3_3_BASE
# 1.34 16-Oct-2002 millert

Implement isfdtype(3) as per the POSIX.1g draft; requested by David Hill


Revision tags: OPENBSD_3_2_BASE
# 1.33 08-Jun-2002 fgsch

use weak aliases whenever is possible; millert@ ok.


Revision tags: OPENBSD_3_1_BASE
# 1.32 16-Mar-2002 millert

Add auth_getpwd MLINK


# 1.31 16-Feb-2002 pvalchev

MI man page to document fpgetmask(3) and friends; from ross@NetBSD, ok deraadt


# 1.30 31-Oct-2001 fgsch

Add MLINK's for syslog_r and friends.


Revision tags: OPENBSD_3_0_BASE
# 1.29 31-Jul-2001 krw

Add missing LINK for cgetusedb


Revision tags: OPENBSD_2_9_BASE
# 1.28 14-Mar-2001 aaron

Move description of exect() to execve(2) man page. Add a note about exect() not
being portable.


# 1.27 21-Nov-2000 millert

Add references to new files.


Revision tags: OPENBSD_2_8_BASE
# 1.26 20-Aug-2000 millert

login.conf code from BSDi. This does not include the bsd auth code
which will come later. At this stage it is primarily used for setting
resource limits.


# 1.25 19-Jul-2000 mickey

from freebsd:
strtofflags/fflagstostr to convert file flags
to/from binary from/into a string as used in chflags(1).

use u_int32_t instead of u_long (as freebsd does).
increase libc minor.
millert@ ok.


Revision tags: OPENBSD_2_7_BASE
# 1.24 25-Apr-2000 deraadt

well if you cannot do a libc commit properly a week before 2.7 tree lock, surely it can wait till after 2.7


# 1.23 25-Apr-2000 d

getpw*_r()


# 1.22 23-Mar-2000 d

*_r MLINKS


# 1.21 17-Nov-1999 millert

Add missing MLINKs


Revision tags: OPENBSD_2_6_BASE
# 1.20 16-Aug-1999 deraadt

doc isinff() and isnanf()


Revision tags: OPENBSD_2_5_BASE
# 1.19 20-Nov-1998 d

Add thread-safety to libc, so that libc_r will build (on i386 at least).
All POSIX libc api now there (to P1003.1c/D10)
(more md stuff is needed for other libc/arch/*)
(setlogin is no longer a special syscall)
Add -pthread option to gcc (that makes it use -lc_r and -D_POSIX_THREADS).
Doc some re-entrant routines
Add libc_r to intro(3)
dig() uses some libc srcs and an extra -I was needed there.
Add more md stuff to libc_r.
Update includes for the pthreads api
Update libc_r TODO


Revision tags: OPENBSD_2_4_BASE
# 1.18 29-Aug-1998 deraadt

man page repairs; aaron@ug.cs.dal.ca


# 1.17 04-Jul-1998 deraadt

split dirname and basename man pages


Revision tags: OPENBSD_2_3_BASE
# 1.16 22-Dec-1997 deraadt

add XPG4.2 lockf; kleink


Revision tags: OPENBSD_2_2_BASE
# 1.15 08-Sep-1997 deraadt

new man page; mikel


# 1.14 06-Sep-1997 millert

ln basename.3 dirname.3


# 1.13 20-Aug-1997 millert

Move getsubopt(3) to stdlib like lite2 and XPG4.2 say...
Update man page from lite2 while I'm at it.


# 1.12 17-Aug-1997 millert

basename(3) and dirname(3) as specified by XPG4 and XPG4.2


# 1.11 23-Jul-1997 kstailey

trailing blanks


# 1.10 23-Jul-1997 kstailey

tabify


Revision tags: OPENBSD_2_1_BASE
# 1.9 03-Feb-1997 millert

Back out stringlist


# 1.8 02-Feb-1997 millert

stringlist routines are now public (ftp uses them)


Revision tags: OPENBSD_2_0_BASE
# 1.7 15-Sep-1996 tholo

Add manpage link


# 1.6 19-Aug-1996 tholo

Fix RCS ids
Make sure everything uses {SYS,}LIBC_SCCS properly


# 1.5 29-May-1996 deraadt

enable ELF/a.out/ECOFF in machine/exec.h


# 1.4 28-May-1996 etheisen

All platforms get elf_nlist(). Hidden __elf_is_okay__() function is
now present for ELF platforms. This function is not ABI compliant and
it's use should be restricted. exec_sup.h now determines the target
OMF for various platforms.


# 1.3 29-Apr-1996 etheisen

Initial libc ELF support. Currently only elf_hash() is implemented.


# 1.2 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.80 12-Jan-2019 jca

Move sigwait(3) from libpthread to libc

POSIX wants it in libc, that's where the function can be found on other
systems. Reported by naddy@, input from naddy@ and guenther@.
"looks ok" guenther@, ok deraadt@

Note: riding the libc/libpthread major cranks earlier today.


# 1.79 30-Oct-2018 guenther

Add C11's timespec_get(3); minor bump for libc.

Tweaked diff from brad@
manpage tweaks florian@ and jmc@
ok deraadt@ millert@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.78 12-Jan-2018 deraadt

sysctl(3) can now be renamed to sysctl(2)


Revision tags: OPENBSD_6_2_BASE
# 1.77 05-Sep-2017 mpi

Remove unused 32bit version of elf_hash().

Riding previous libc bump.

ok kettenis@


# 1.76 19-Jun-2017 dlg

port the RBT code to userland by making it part of libc.

src/lib/libc/gen/tree.c is a copy of src/sys/kern/subr_tree.c, but with
annotations for symbol visibility. changes to one should be reflected
in the other.

the malloc debug code that uses RB code is ported to RBT.

because libc provides the RBT code, procmap doesn't have to reach into
the kernel and build subr_tree.c itself now.

mild enthusiasm from many
ok guenther@


# 1.75 29-May-2017 deraadt

It is distasteful to have manual pages which don't refer to real
function calls, but instead a "class" of functions like "sigsetops".
Rename to sigaddset", and while at it improve documentation in sigprocmask(2)
to point to it.
ok tedu


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.74 23-May-2016 guenther

Stop supporting longjmperror(); it's not used, not portable, and the checks
longjmp performs can't really be relied upon, even after we got rid of the
false positives...

ok millert@ deraadt@


# 1.73 30-Mar-2016 jmc

for some time now mandoc has not required MLINKS to function
correctly - logically complete that now by removing MLINKS from base;

authors need only to ensure there is an entry in NAME for any function/
util being added. MLINKS will still work, and remain for perl to ease
upgrades;

ok nicm (curses) bcook (ssl)
ok schwarze, who provided a lot of feedback and assistance
ok tb natano jung


Revision tags: OPENBSD_5_9_BASE
# 1.72 18-Nov-2015 tedu

mlinks for _shadow


# 1.71 30-Oct-2015 guenther

For getgrent.3:
- delete the commented out setgrfile bits, as well as the MLINK
- rename getgr{nam,gid}_r()'s 'buffer' parameters to 'buf' to be
consistent with getpwnam(3) and practically all other section 3 manpages
- we have sysconf(_SC_GETGR_R_SIZE_MAX) now, so uncomment and revise the text
For getpwnam.3:
- rename buflen to bufsize for consistency
- rewrite the description of the getpw{nam,uid}_r functions to
match the better getgr{nam,gid}_r() description, adding sysconf() bits
Add sysconf(3) to SEE ALSO for both

encouraged by schwarze@
ok millert@


# 1.70 13-Sep-2015 guenther

Rename __sysctl syscall to just sysctl, as the userland wrapper is no longer
necessary

ok deraadt@ jsing@


# 1.69 06-Sep-2015 guenther

Fix aliasing of sys_errlist, sys_nerr, sys_siglist, and sys_signame
to eliminate duplicate copies of the tables and get direct access internally

ok kettenis@ deraadt@


Revision tags: OPENBSD_5_8_BASE
# 1.68 07-Apr-2015 millert

Remove obsolete timezone() function.
Add timezone and daylight symbols for XSI compatibility.


Revision tags: OPENBSD_5_7_BASE
# 1.67 06-Feb-2015 doug

Add support for stravis() to vis.3 and Makefile.inc.

stravis(3) is an OpenBSD extension that was added recently.

input + ok schwarze@, jmc@, deraadt@


# 1.66 09-Dec-2014 deraadt

In ingo's new world order, we do not want multiple manual pages describing
the same thingies. Therefore these "lists of functions" man pages can go
away.
Hurray! I've wanted these pages to die for around 10 years!
ok ingo (and i think jmc)


Revision tags: OPENBSD_5_6_BASE
# 1.65 10-Jul-2014 guenther

__tfork_thread is in libc, so move the manpage over too

ok deraadt@


# 1.64 22-Apr-2014 guenther

Oh yeah, MLINKS for errc family

Prodded by deraadt@


# 1.63 22-Apr-2014 guenther

Add errc/verrc/warnc/vwarnc family: versions of err/... that take the errno
value to use for the strerror() message as an argument. Originally from
FreeBSD 3.0

Patch from Steffen Nurpmeso (sdaoden (at) gmail.com) with minor tweaks.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.62 17-Jun-2013 guenther

Add support for the _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME options,
including CLOCK_{PROCESS,THREAD}_CPUTIME_ID constants and
{clock,pthread}_getcpuclockid() functions.

Worked out at t2k13 with help from tedu@ and matthew@ and testing by aja@
ok matthew@


# 1.61 31-May-2013 ajacoutot

Add getprogname() and setprogname() to ease slackers^porters' work.
Man page adapted from FreeBSD and NetBSD.

Bump libc minor now (there will be more upcoming changes).

input from tedu@
get it in deraadt@


# 1.60 31-May-2013 tedu

add shm_open and friends which i have been told ports programs would
like to use.
ok deraadt guenther


# 1.59 15-Apr-2013 matthew

Implement fdatasync() as a wrapper around fsync()

ok guenther, deraadt, jmc


Revision tags: OPENBSD_5_3_BASE
# 1.58 15-Sep-2012 miod

remove tahoe-specific makefile machinery, no such hardware is known to be
in working condition anymore (assuming there would be interest in running on
it).


Revision tags: OPENBSD_5_2_BASE
# 1.57 11-Apr-2012 espie

new clean-room manpages for posix_spawn, unencumbered by any POSIX bullshit.
"just commit it" deraadt@

(nits to be fixed soon)


# 1.56 22-Mar-2012 matthew

Add dirfd() as a function to libc per POSIX requirement; dirfd() macro
to be pruned later when DIR is made an opaque type.

ok guenther@; prodding by brad@ for VLC and other ports


# 1.55 21-Mar-2012 matthew

Implement execvpe(3) and posix_spawn(3) and family. Based on
FreeBSD's implementation via Frank Denis, with various cleanups and
tweaks by me.

ok deraadt@, guenther@; discussions and tweaks from many others
jmc@ promises to help me further with the man pages in tree


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.54 18-Jul-2011 matthew

Add (rough draft) documentation for fdopendir(3) and the 15 new
XXXat(2) system calls from POSIX 2008. Editing will be done in tree.

General style discussed with jmc@, schwarze@, and deraadt@
ok jmc@


# 1.53 08-Jul-2011 martynas

Move fabs(3) manual page from libm to libc, for consistency. The
modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.


# 1.52 08-Jul-2011 martynas

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.


# 1.51 08-Jul-2011 martynas

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 tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.50 03-Feb-2010 miod

Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent
files or directories when applicable.
The inspiration and name of MACHINE_CPU come from NetBSD, although the way to
provide it to Makefiles is completely different.
ok kettenis@


# 1.49 18-Nov-2009 guenther

More shrinkage, a bit for ramdisks but mostly for static binaries:
- wrap with #ifndef NO_LOG_BAD_DNS_RESPONSES libc code that uses
p_class() and p_type() for diagnostics, then add that define to
libstub to avoid pulling in res_debug_syms.o
- split rcmd() and ruserok() into separate files, as nothing uses both
- split readdir_r() to its own file
- split syslog_r() from syslog(), as the latter needs localtime(); many
binaries no longer need to pull in all the time code after this; switch
from usleep() to nanosleep() while we're at it

(The profit of analysis of -Wl,-M,--cref output)

Chops 888kB from /bin and /sbin on i386

ok deraadt@, miod@


Revision tags: OPENBSD_4_6_BASE
# 1.48 02-Jun-2009 jmc

tweak previous;


# 1.47 01-Jun-2009 millert

Split getpw{nam,uid} off into their own man page. Hopefully, this
will help people understand that endpwent() is not normally needed.
OK deraadt@ jmc@


# 1.46 21-Apr-2009 martynas

remove from gen so that lint doesn't check gen if assembly versions
are available. spotted by theo


# 1.45 19-Apr-2009 martynas

- ldexp implementation has issues. switch to the one from libm
- remove frexp in hppa64, cloned from hppa
- move generic ieee754 implementations of modf and ldexp to gen
ok kettenis@, "looks good" millert@


Revision tags: OPENBSD_4_5_BASE
# 1.44 12-Dec-2008 martynas

- document and mlink frexpf, ldexpf, modff added 13 years ago
- document frexpl, ldexpl added recently
a tweak and ok jmc@


Revision tags: OPENBSD_4_4_BASE
# 1.43 29-Jul-2008 martynas

- man pages for fpclassify, isfinite, isinf, isnan, isnormal, signbit,
mostly from freebsd
- also describe deprecated aliases for isinff, isnanf, finite,
finitef
- describe behavior on vax
- add mlinks for finite, finitef, isfinite, isinf, isinff, isnan,
isnanf, isnormal, signbit
- add man pages for isgreater, isgreaterequal, isless, islessequal,
islessgreater, isunordered; from freebsd
looked over by jmc@, it's better for him to work on when they are in tree


# 1.42 24-Jul-2008 martynas

- move isinf, isnan dups to gen, since most is ieee 754
- is{inf,nan} should be macros for real-floating, so rename to
__is{inf,nan}, per C99
- implement C99 __fpclassify(), __fpclassifyf(), __isfinite(),
__isfinitef(), __isnormal(), __isnormalf(), __signbit(), __signbitf()
- long functions added, but not yet enabled, till ieee.h is fixed
- implement vax equivalents of the functions
- reimplement isinff, isnanf in a better way, and move to libc
- add qnan bytes for all archs
- bump major
man pages will follow
ok millert@. arm bits looked over by drahn@
discussed w/ theo, who showed the right direction, to put these
functions in libc


# 1.41 24-Jun-2008 deraadt

implement getpwnam_r() and getpwuid_r() -- very nearly a rewrite of the
entire file. much help from kurt, and tested by many


# 1.40 22-Mar-2008 otto

move statvfs.c to gen, since it is not a syscall; ok deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.39 03-Oct-2005 jmc

remove traces of non-existent getfstype() function;
ok krw@ deraadt@


# 1.38 02-Oct-2005 jmc

add missing MLINK for strnunvis.3, introduced -r1.14;


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.37 01-Feb-2005 millert

Replace broken frexp() with a working one from FreeBSD. There's
no need to have a copy for each platform with ieee floating point,
only vax needs a special version (which probably has similar bugs).
OK and with help from otto@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE
# 1.36 01-Feb-2004 deraadt

do not double login_cap.c; tholo


Revision tags: OPENBSD_3_4_BASE
# 1.35 21-Jul-2003 millert

build ftw and nftw


Revision tags: OPENBSD_3_3_BASE
# 1.34 16-Oct-2002 millert

Implement isfdtype(3) as per the POSIX.1g draft; requested by David Hill


Revision tags: OPENBSD_3_2_BASE
# 1.33 08-Jun-2002 fgsch

use weak aliases whenever is possible; millert@ ok.


Revision tags: OPENBSD_3_1_BASE
# 1.32 16-Mar-2002 millert

Add auth_getpwd MLINK


# 1.31 16-Feb-2002 pvalchev

MI man page to document fpgetmask(3) and friends; from ross@NetBSD, ok deraadt


# 1.30 31-Oct-2001 fgsch

Add MLINK's for syslog_r and friends.


Revision tags: OPENBSD_3_0_BASE
# 1.29 31-Jul-2001 krw

Add missing LINK for cgetusedb


Revision tags: OPENBSD_2_9_BASE
# 1.28 14-Mar-2001 aaron

Move description of exect() to execve(2) man page. Add a note about exect() not
being portable.


# 1.27 21-Nov-2000 millert

Add references to new files.


Revision tags: OPENBSD_2_8_BASE
# 1.26 20-Aug-2000 millert

login.conf code from BSDi. This does not include the bsd auth code
which will come later. At this stage it is primarily used for setting
resource limits.


# 1.25 19-Jul-2000 mickey

from freebsd:
strtofflags/fflagstostr to convert file flags
to/from binary from/into a string as used in chflags(1).

use u_int32_t instead of u_long (as freebsd does).
increase libc minor.
millert@ ok.


Revision tags: OPENBSD_2_7_BASE
# 1.24 25-Apr-2000 deraadt

well if you cannot do a libc commit properly a week before 2.7 tree lock, surely it can wait till after 2.7


# 1.23 25-Apr-2000 d

getpw*_r()


# 1.22 23-Mar-2000 d

*_r MLINKS


# 1.21 17-Nov-1999 millert

Add missing MLINKs


Revision tags: OPENBSD_2_6_BASE
# 1.20 16-Aug-1999 deraadt

doc isinff() and isnanf()


Revision tags: OPENBSD_2_5_BASE
# 1.19 20-Nov-1998 d

Add thread-safety to libc, so that libc_r will build (on i386 at least).
All POSIX libc api now there (to P1003.1c/D10)
(more md stuff is needed for other libc/arch/*)
(setlogin is no longer a special syscall)
Add -pthread option to gcc (that makes it use -lc_r and -D_POSIX_THREADS).
Doc some re-entrant routines
Add libc_r to intro(3)
dig() uses some libc srcs and an extra -I was needed there.
Add more md stuff to libc_r.
Update includes for the pthreads api
Update libc_r TODO


Revision tags: OPENBSD_2_4_BASE
# 1.18 29-Aug-1998 deraadt

man page repairs; aaron@ug.cs.dal.ca


# 1.17 04-Jul-1998 deraadt

split dirname and basename man pages


Revision tags: OPENBSD_2_3_BASE
# 1.16 22-Dec-1997 deraadt

add XPG4.2 lockf; kleink


Revision tags: OPENBSD_2_2_BASE
# 1.15 08-Sep-1997 deraadt

new man page; mikel


# 1.14 06-Sep-1997 millert

ln basename.3 dirname.3


# 1.13 20-Aug-1997 millert

Move getsubopt(3) to stdlib like lite2 and XPG4.2 say...
Update man page from lite2 while I'm at it.


# 1.12 17-Aug-1997 millert

basename(3) and dirname(3) as specified by XPG4 and XPG4.2


# 1.11 23-Jul-1997 kstailey

trailing blanks


# 1.10 23-Jul-1997 kstailey

tabify


Revision tags: OPENBSD_2_1_BASE
# 1.9 03-Feb-1997 millert

Back out stringlist


# 1.8 02-Feb-1997 millert

stringlist routines are now public (ftp uses them)


Revision tags: OPENBSD_2_0_BASE
# 1.7 15-Sep-1996 tholo

Add manpage link


# 1.6 19-Aug-1996 tholo

Fix RCS ids
Make sure everything uses {SYS,}LIBC_SCCS properly


# 1.5 29-May-1996 deraadt

enable ELF/a.out/ECOFF in machine/exec.h


# 1.4 28-May-1996 etheisen

All platforms get elf_nlist(). Hidden __elf_is_okay__() function is
now present for ELF platforms. This function is not ABI compliant and
it's use should be restricted. exec_sup.h now determines the target
OMF for various platforms.


# 1.3 29-Apr-1996 etheisen

Initial libc ELF support. Currently only elf_hash() is implemented.


# 1.2 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.79 30-Oct-2018 guenther

Add C11's timespec_get(3); minor bump for libc.

Tweaked diff from brad@
manpage tweaks florian@ and jmc@
ok deraadt@ millert@


Revision tags: OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.78 12-Jan-2018 deraadt

sysctl(3) can now be renamed to sysctl(2)


Revision tags: OPENBSD_6_2_BASE
# 1.77 05-Sep-2017 mpi

Remove unused 32bit version of elf_hash().

Riding previous libc bump.

ok kettenis@


# 1.76 19-Jun-2017 dlg

port the RBT code to userland by making it part of libc.

src/lib/libc/gen/tree.c is a copy of src/sys/kern/subr_tree.c, but with
annotations for symbol visibility. changes to one should be reflected
in the other.

the malloc debug code that uses RB code is ported to RBT.

because libc provides the RBT code, procmap doesn't have to reach into
the kernel and build subr_tree.c itself now.

mild enthusiasm from many
ok guenther@


# 1.75 29-May-2017 deraadt

It is distasteful to have manual pages which don't refer to real
function calls, but instead a "class" of functions like "sigsetops".
Rename to sigaddset", and while at it improve documentation in sigprocmask(2)
to point to it.
ok tedu


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.74 23-May-2016 guenther

Stop supporting longjmperror(); it's not used, not portable, and the checks
longjmp performs can't really be relied upon, even after we got rid of the
false positives...

ok millert@ deraadt@


# 1.73 30-Mar-2016 jmc

for some time now mandoc has not required MLINKS to function
correctly - logically complete that now by removing MLINKS from base;

authors need only to ensure there is an entry in NAME for any function/
util being added. MLINKS will still work, and remain for perl to ease
upgrades;

ok nicm (curses) bcook (ssl)
ok schwarze, who provided a lot of feedback and assistance
ok tb natano jung


Revision tags: OPENBSD_5_9_BASE
# 1.72 18-Nov-2015 tedu

mlinks for _shadow


# 1.71 30-Oct-2015 guenther

For getgrent.3:
- delete the commented out setgrfile bits, as well as the MLINK
- rename getgr{nam,gid}_r()'s 'buffer' parameters to 'buf' to be
consistent with getpwnam(3) and practically all other section 3 manpages
- we have sysconf(_SC_GETGR_R_SIZE_MAX) now, so uncomment and revise the text
For getpwnam.3:
- rename buflen to bufsize for consistency
- rewrite the description of the getpw{nam,uid}_r functions to
match the better getgr{nam,gid}_r() description, adding sysconf() bits
Add sysconf(3) to SEE ALSO for both

encouraged by schwarze@
ok millert@


# 1.70 13-Sep-2015 guenther

Rename __sysctl syscall to just sysctl, as the userland wrapper is no longer
necessary

ok deraadt@ jsing@


# 1.69 06-Sep-2015 guenther

Fix aliasing of sys_errlist, sys_nerr, sys_siglist, and sys_signame
to eliminate duplicate copies of the tables and get direct access internally

ok kettenis@ deraadt@


Revision tags: OPENBSD_5_8_BASE
# 1.68 07-Apr-2015 millert

Remove obsolete timezone() function.
Add timezone and daylight symbols for XSI compatibility.


Revision tags: OPENBSD_5_7_BASE
# 1.67 06-Feb-2015 doug

Add support for stravis() to vis.3 and Makefile.inc.

stravis(3) is an OpenBSD extension that was added recently.

input + ok schwarze@, jmc@, deraadt@


# 1.66 09-Dec-2014 deraadt

In ingo's new world order, we do not want multiple manual pages describing
the same thingies. Therefore these "lists of functions" man pages can go
away.
Hurray! I've wanted these pages to die for around 10 years!
ok ingo (and i think jmc)


Revision tags: OPENBSD_5_6_BASE
# 1.65 10-Jul-2014 guenther

__tfork_thread is in libc, so move the manpage over too

ok deraadt@


# 1.64 22-Apr-2014 guenther

Oh yeah, MLINKS for errc family

Prodded by deraadt@


# 1.63 22-Apr-2014 guenther

Add errc/verrc/warnc/vwarnc family: versions of err/... that take the errno
value to use for the strerror() message as an argument. Originally from
FreeBSD 3.0

Patch from Steffen Nurpmeso (sdaoden (at) gmail.com) with minor tweaks.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.62 17-Jun-2013 guenther

Add support for the _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME options,
including CLOCK_{PROCESS,THREAD}_CPUTIME_ID constants and
{clock,pthread}_getcpuclockid() functions.

Worked out at t2k13 with help from tedu@ and matthew@ and testing by aja@
ok matthew@


# 1.61 31-May-2013 ajacoutot

Add getprogname() and setprogname() to ease slackers^porters' work.
Man page adapted from FreeBSD and NetBSD.

Bump libc minor now (there will be more upcoming changes).

input from tedu@
get it in deraadt@


# 1.60 31-May-2013 tedu

add shm_open and friends which i have been told ports programs would
like to use.
ok deraadt guenther


# 1.59 15-Apr-2013 matthew

Implement fdatasync() as a wrapper around fsync()

ok guenther, deraadt, jmc


Revision tags: OPENBSD_5_3_BASE
# 1.58 15-Sep-2012 miod

remove tahoe-specific makefile machinery, no such hardware is known to be
in working condition anymore (assuming there would be interest in running on
it).


Revision tags: OPENBSD_5_2_BASE
# 1.57 11-Apr-2012 espie

new clean-room manpages for posix_spawn, unencumbered by any POSIX bullshit.
"just commit it" deraadt@

(nits to be fixed soon)


# 1.56 22-Mar-2012 matthew

Add dirfd() as a function to libc per POSIX requirement; dirfd() macro
to be pruned later when DIR is made an opaque type.

ok guenther@; prodding by brad@ for VLC and other ports


# 1.55 21-Mar-2012 matthew

Implement execvpe(3) and posix_spawn(3) and family. Based on
FreeBSD's implementation via Frank Denis, with various cleanups and
tweaks by me.

ok deraadt@, guenther@; discussions and tweaks from many others
jmc@ promises to help me further with the man pages in tree


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.54 18-Jul-2011 matthew

Add (rough draft) documentation for fdopendir(3) and the 15 new
XXXat(2) system calls from POSIX 2008. Editing will be done in tree.

General style discussed with jmc@, schwarze@, and deraadt@
ok jmc@


# 1.53 08-Jul-2011 martynas

Move fabs(3) manual page from libm to libc, for consistency. The
modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.


# 1.52 08-Jul-2011 martynas

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.


# 1.51 08-Jul-2011 martynas

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 tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.50 03-Feb-2010 miod

Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent
files or directories when applicable.
The inspiration and name of MACHINE_CPU come from NetBSD, although the way to
provide it to Makefiles is completely different.
ok kettenis@


# 1.49 18-Nov-2009 guenther

More shrinkage, a bit for ramdisks but mostly for static binaries:
- wrap with #ifndef NO_LOG_BAD_DNS_RESPONSES libc code that uses
p_class() and p_type() for diagnostics, then add that define to
libstub to avoid pulling in res_debug_syms.o
- split rcmd() and ruserok() into separate files, as nothing uses both
- split readdir_r() to its own file
- split syslog_r() from syslog(), as the latter needs localtime(); many
binaries no longer need to pull in all the time code after this; switch
from usleep() to nanosleep() while we're at it

(The profit of analysis of -Wl,-M,--cref output)

Chops 888kB from /bin and /sbin on i386

ok deraadt@, miod@


Revision tags: OPENBSD_4_6_BASE
# 1.48 02-Jun-2009 jmc

tweak previous;


# 1.47 01-Jun-2009 millert

Split getpw{nam,uid} off into their own man page. Hopefully, this
will help people understand that endpwent() is not normally needed.
OK deraadt@ jmc@


# 1.46 21-Apr-2009 martynas

remove from gen so that lint doesn't check gen if assembly versions
are available. spotted by theo


# 1.45 19-Apr-2009 martynas

- ldexp implementation has issues. switch to the one from libm
- remove frexp in hppa64, cloned from hppa
- move generic ieee754 implementations of modf and ldexp to gen
ok kettenis@, "looks good" millert@


Revision tags: OPENBSD_4_5_BASE
# 1.44 12-Dec-2008 martynas

- document and mlink frexpf, ldexpf, modff added 13 years ago
- document frexpl, ldexpl added recently
a tweak and ok jmc@


Revision tags: OPENBSD_4_4_BASE
# 1.43 29-Jul-2008 martynas

- man pages for fpclassify, isfinite, isinf, isnan, isnormal, signbit,
mostly from freebsd
- also describe deprecated aliases for isinff, isnanf, finite,
finitef
- describe behavior on vax
- add mlinks for finite, finitef, isfinite, isinf, isinff, isnan,
isnanf, isnormal, signbit
- add man pages for isgreater, isgreaterequal, isless, islessequal,
islessgreater, isunordered; from freebsd
looked over by jmc@, it's better for him to work on when they are in tree


# 1.42 24-Jul-2008 martynas

- move isinf, isnan dups to gen, since most is ieee 754
- is{inf,nan} should be macros for real-floating, so rename to
__is{inf,nan}, per C99
- implement C99 __fpclassify(), __fpclassifyf(), __isfinite(),
__isfinitef(), __isnormal(), __isnormalf(), __signbit(), __signbitf()
- long functions added, but not yet enabled, till ieee.h is fixed
- implement vax equivalents of the functions
- reimplement isinff, isnanf in a better way, and move to libc
- add qnan bytes for all archs
- bump major
man pages will follow
ok millert@. arm bits looked over by drahn@
discussed w/ theo, who showed the right direction, to put these
functions in libc


# 1.41 24-Jun-2008 deraadt

implement getpwnam_r() and getpwuid_r() -- very nearly a rewrite of the
entire file. much help from kurt, and tested by many


# 1.40 22-Mar-2008 otto

move statvfs.c to gen, since it is not a syscall; ok deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.39 03-Oct-2005 jmc

remove traces of non-existent getfstype() function;
ok krw@ deraadt@


# 1.38 02-Oct-2005 jmc

add missing MLINK for strnunvis.3, introduced -r1.14;


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.37 01-Feb-2005 millert

Replace broken frexp() with a working one from FreeBSD. There's
no need to have a copy for each platform with ieee floating point,
only vax needs a special version (which probably has similar bugs).
OK and with help from otto@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE
# 1.36 01-Feb-2004 deraadt

do not double login_cap.c; tholo


Revision tags: OPENBSD_3_4_BASE
# 1.35 21-Jul-2003 millert

build ftw and nftw


Revision tags: OPENBSD_3_3_BASE
# 1.34 16-Oct-2002 millert

Implement isfdtype(3) as per the POSIX.1g draft; requested by David Hill


Revision tags: OPENBSD_3_2_BASE
# 1.33 08-Jun-2002 fgsch

use weak aliases whenever is possible; millert@ ok.


Revision tags: OPENBSD_3_1_BASE
# 1.32 16-Mar-2002 millert

Add auth_getpwd MLINK


# 1.31 16-Feb-2002 pvalchev

MI man page to document fpgetmask(3) and friends; from ross@NetBSD, ok deraadt


# 1.30 31-Oct-2001 fgsch

Add MLINK's for syslog_r and friends.


Revision tags: OPENBSD_3_0_BASE
# 1.29 31-Jul-2001 krw

Add missing LINK for cgetusedb


Revision tags: OPENBSD_2_9_BASE
# 1.28 14-Mar-2001 aaron

Move description of exect() to execve(2) man page. Add a note about exect() not
being portable.


# 1.27 21-Nov-2000 millert

Add references to new files.


Revision tags: OPENBSD_2_8_BASE
# 1.26 20-Aug-2000 millert

login.conf code from BSDi. This does not include the bsd auth code
which will come later. At this stage it is primarily used for setting
resource limits.


# 1.25 19-Jul-2000 mickey

from freebsd:
strtofflags/fflagstostr to convert file flags
to/from binary from/into a string as used in chflags(1).

use u_int32_t instead of u_long (as freebsd does).
increase libc minor.
millert@ ok.


Revision tags: OPENBSD_2_7_BASE
# 1.24 25-Apr-2000 deraadt

well if you cannot do a libc commit properly a week before 2.7 tree lock, surely it can wait till after 2.7


# 1.23 25-Apr-2000 d

getpw*_r()


# 1.22 23-Mar-2000 d

*_r MLINKS


# 1.21 17-Nov-1999 millert

Add missing MLINKs


Revision tags: OPENBSD_2_6_BASE
# 1.20 16-Aug-1999 deraadt

doc isinff() and isnanf()


Revision tags: OPENBSD_2_5_BASE
# 1.19 20-Nov-1998 d

Add thread-safety to libc, so that libc_r will build (on i386 at least).
All POSIX libc api now there (to P1003.1c/D10)
(more md stuff is needed for other libc/arch/*)
(setlogin is no longer a special syscall)
Add -pthread option to gcc (that makes it use -lc_r and -D_POSIX_THREADS).
Doc some re-entrant routines
Add libc_r to intro(3)
dig() uses some libc srcs and an extra -I was needed there.
Add more md stuff to libc_r.
Update includes for the pthreads api
Update libc_r TODO


Revision tags: OPENBSD_2_4_BASE
# 1.18 29-Aug-1998 deraadt

man page repairs; aaron@ug.cs.dal.ca


# 1.17 04-Jul-1998 deraadt

split dirname and basename man pages


Revision tags: OPENBSD_2_3_BASE
# 1.16 22-Dec-1997 deraadt

add XPG4.2 lockf; kleink


Revision tags: OPENBSD_2_2_BASE
# 1.15 08-Sep-1997 deraadt

new man page; mikel


# 1.14 06-Sep-1997 millert

ln basename.3 dirname.3


# 1.13 20-Aug-1997 millert

Move getsubopt(3) to stdlib like lite2 and XPG4.2 say...
Update man page from lite2 while I'm at it.


# 1.12 17-Aug-1997 millert

basename(3) and dirname(3) as specified by XPG4 and XPG4.2


# 1.11 23-Jul-1997 kstailey

trailing blanks


# 1.10 23-Jul-1997 kstailey

tabify


Revision tags: OPENBSD_2_1_BASE
# 1.9 03-Feb-1997 millert

Back out stringlist


# 1.8 02-Feb-1997 millert

stringlist routines are now public (ftp uses them)


Revision tags: OPENBSD_2_0_BASE
# 1.7 15-Sep-1996 tholo

Add manpage link


# 1.6 19-Aug-1996 tholo

Fix RCS ids
Make sure everything uses {SYS,}LIBC_SCCS properly


# 1.5 29-May-1996 deraadt

enable ELF/a.out/ECOFF in machine/exec.h


# 1.4 28-May-1996 etheisen

All platforms get elf_nlist(). Hidden __elf_is_okay__() function is
now present for ELF platforms. This function is not ABI compliant and
it's use should be restricted. exec_sup.h now determines the target
OMF for various platforms.


# 1.3 29-Apr-1996 etheisen

Initial libc ELF support. Currently only elf_hash() is implemented.


# 1.2 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.78 12-Jan-2018 deraadt

sysctl(3) can now be renamed to sysctl(2)


Revision tags: OPENBSD_6_2_BASE
# 1.77 05-Sep-2017 mpi

Remove unused 32bit version of elf_hash().

Riding previous libc bump.

ok kettenis@


# 1.76 19-Jun-2017 dlg

port the RBT code to userland by making it part of libc.

src/lib/libc/gen/tree.c is a copy of src/sys/kern/subr_tree.c, but with
annotations for symbol visibility. changes to one should be reflected
in the other.

the malloc debug code that uses RB code is ported to RBT.

because libc provides the RBT code, procmap doesn't have to reach into
the kernel and build subr_tree.c itself now.

mild enthusiasm from many
ok guenther@


# 1.75 29-May-2017 deraadt

It is distasteful to have manual pages which don't refer to real
function calls, but instead a "class" of functions like "sigsetops".
Rename to sigaddset", and while at it improve documentation in sigprocmask(2)
to point to it.
ok tedu


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.74 23-May-2016 guenther

Stop supporting longjmperror(); it's not used, not portable, and the checks
longjmp performs can't really be relied upon, even after we got rid of the
false positives...

ok millert@ deraadt@


# 1.73 30-Mar-2016 jmc

for some time now mandoc has not required MLINKS to function
correctly - logically complete that now by removing MLINKS from base;

authors need only to ensure there is an entry in NAME for any function/
util being added. MLINKS will still work, and remain for perl to ease
upgrades;

ok nicm (curses) bcook (ssl)
ok schwarze, who provided a lot of feedback and assistance
ok tb natano jung


Revision tags: OPENBSD_5_9_BASE
# 1.72 18-Nov-2015 tedu

mlinks for _shadow


# 1.71 30-Oct-2015 guenther

For getgrent.3:
- delete the commented out setgrfile bits, as well as the MLINK
- rename getgr{nam,gid}_r()'s 'buffer' parameters to 'buf' to be
consistent with getpwnam(3) and practically all other section 3 manpages
- we have sysconf(_SC_GETGR_R_SIZE_MAX) now, so uncomment and revise the text
For getpwnam.3:
- rename buflen to bufsize for consistency
- rewrite the description of the getpw{nam,uid}_r functions to
match the better getgr{nam,gid}_r() description, adding sysconf() bits
Add sysconf(3) to SEE ALSO for both

encouraged by schwarze@
ok millert@


# 1.70 13-Sep-2015 guenther

Rename __sysctl syscall to just sysctl, as the userland wrapper is no longer
necessary

ok deraadt@ jsing@


# 1.69 06-Sep-2015 guenther

Fix aliasing of sys_errlist, sys_nerr, sys_siglist, and sys_signame
to eliminate duplicate copies of the tables and get direct access internally

ok kettenis@ deraadt@


Revision tags: OPENBSD_5_8_BASE
# 1.68 07-Apr-2015 millert

Remove obsolete timezone() function.
Add timezone and daylight symbols for XSI compatibility.


Revision tags: OPENBSD_5_7_BASE
# 1.67 06-Feb-2015 doug

Add support for stravis() to vis.3 and Makefile.inc.

stravis(3) is an OpenBSD extension that was added recently.

input + ok schwarze@, jmc@, deraadt@


# 1.66 09-Dec-2014 deraadt

In ingo's new world order, we do not want multiple manual pages describing
the same thingies. Therefore these "lists of functions" man pages can go
away.
Hurray! I've wanted these pages to die for around 10 years!
ok ingo (and i think jmc)


Revision tags: OPENBSD_5_6_BASE
# 1.65 10-Jul-2014 guenther

__tfork_thread is in libc, so move the manpage over too

ok deraadt@


# 1.64 22-Apr-2014 guenther

Oh yeah, MLINKS for errc family

Prodded by deraadt@


# 1.63 22-Apr-2014 guenther

Add errc/verrc/warnc/vwarnc family: versions of err/... that take the errno
value to use for the strerror() message as an argument. Originally from
FreeBSD 3.0

Patch from Steffen Nurpmeso (sdaoden (at) gmail.com) with minor tweaks.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.62 17-Jun-2013 guenther

Add support for the _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME options,
including CLOCK_{PROCESS,THREAD}_CPUTIME_ID constants and
{clock,pthread}_getcpuclockid() functions.

Worked out at t2k13 with help from tedu@ and matthew@ and testing by aja@
ok matthew@


# 1.61 31-May-2013 ajacoutot

Add getprogname() and setprogname() to ease slackers^porters' work.
Man page adapted from FreeBSD and NetBSD.

Bump libc minor now (there will be more upcoming changes).

input from tedu@
get it in deraadt@


# 1.60 31-May-2013 tedu

add shm_open and friends which i have been told ports programs would
like to use.
ok deraadt guenther


# 1.59 15-Apr-2013 matthew

Implement fdatasync() as a wrapper around fsync()

ok guenther, deraadt, jmc


Revision tags: OPENBSD_5_3_BASE
# 1.58 15-Sep-2012 miod

remove tahoe-specific makefile machinery, no such hardware is known to be
in working condition anymore (assuming there would be interest in running on
it).


Revision tags: OPENBSD_5_2_BASE
# 1.57 11-Apr-2012 espie

new clean-room manpages for posix_spawn, unencumbered by any POSIX bullshit.
"just commit it" deraadt@

(nits to be fixed soon)


# 1.56 22-Mar-2012 matthew

Add dirfd() as a function to libc per POSIX requirement; dirfd() macro
to be pruned later when DIR is made an opaque type.

ok guenther@; prodding by brad@ for VLC and other ports


# 1.55 21-Mar-2012 matthew

Implement execvpe(3) and posix_spawn(3) and family. Based on
FreeBSD's implementation via Frank Denis, with various cleanups and
tweaks by me.

ok deraadt@, guenther@; discussions and tweaks from many others
jmc@ promises to help me further with the man pages in tree


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.54 18-Jul-2011 matthew

Add (rough draft) documentation for fdopendir(3) and the 15 new
XXXat(2) system calls from POSIX 2008. Editing will be done in tree.

General style discussed with jmc@, schwarze@, and deraadt@
ok jmc@


# 1.53 08-Jul-2011 martynas

Move fabs(3) manual page from libm to libc, for consistency. The
modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.


# 1.52 08-Jul-2011 martynas

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.


# 1.51 08-Jul-2011 martynas

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 tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.50 03-Feb-2010 miod

Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent
files or directories when applicable.
The inspiration and name of MACHINE_CPU come from NetBSD, although the way to
provide it to Makefiles is completely different.
ok kettenis@


# 1.49 18-Nov-2009 guenther

More shrinkage, a bit for ramdisks but mostly for static binaries:
- wrap with #ifndef NO_LOG_BAD_DNS_RESPONSES libc code that uses
p_class() and p_type() for diagnostics, then add that define to
libstub to avoid pulling in res_debug_syms.o
- split rcmd() and ruserok() into separate files, as nothing uses both
- split readdir_r() to its own file
- split syslog_r() from syslog(), as the latter needs localtime(); many
binaries no longer need to pull in all the time code after this; switch
from usleep() to nanosleep() while we're at it

(The profit of analysis of -Wl,-M,--cref output)

Chops 888kB from /bin and /sbin on i386

ok deraadt@, miod@


Revision tags: OPENBSD_4_6_BASE
# 1.48 02-Jun-2009 jmc

tweak previous;


# 1.47 01-Jun-2009 millert

Split getpw{nam,uid} off into their own man page. Hopefully, this
will help people understand that endpwent() is not normally needed.
OK deraadt@ jmc@


# 1.46 21-Apr-2009 martynas

remove from gen so that lint doesn't check gen if assembly versions
are available. spotted by theo


# 1.45 19-Apr-2009 martynas

- ldexp implementation has issues. switch to the one from libm
- remove frexp in hppa64, cloned from hppa
- move generic ieee754 implementations of modf and ldexp to gen
ok kettenis@, "looks good" millert@


Revision tags: OPENBSD_4_5_BASE
# 1.44 12-Dec-2008 martynas

- document and mlink frexpf, ldexpf, modff added 13 years ago
- document frexpl, ldexpl added recently
a tweak and ok jmc@


Revision tags: OPENBSD_4_4_BASE
# 1.43 29-Jul-2008 martynas

- man pages for fpclassify, isfinite, isinf, isnan, isnormal, signbit,
mostly from freebsd
- also describe deprecated aliases for isinff, isnanf, finite,
finitef
- describe behavior on vax
- add mlinks for finite, finitef, isfinite, isinf, isinff, isnan,
isnanf, isnormal, signbit
- add man pages for isgreater, isgreaterequal, isless, islessequal,
islessgreater, isunordered; from freebsd
looked over by jmc@, it's better for him to work on when they are in tree


# 1.42 24-Jul-2008 martynas

- move isinf, isnan dups to gen, since most is ieee 754
- is{inf,nan} should be macros for real-floating, so rename to
__is{inf,nan}, per C99
- implement C99 __fpclassify(), __fpclassifyf(), __isfinite(),
__isfinitef(), __isnormal(), __isnormalf(), __signbit(), __signbitf()
- long functions added, but not yet enabled, till ieee.h is fixed
- implement vax equivalents of the functions
- reimplement isinff, isnanf in a better way, and move to libc
- add qnan bytes for all archs
- bump major
man pages will follow
ok millert@. arm bits looked over by drahn@
discussed w/ theo, who showed the right direction, to put these
functions in libc


# 1.41 24-Jun-2008 deraadt

implement getpwnam_r() and getpwuid_r() -- very nearly a rewrite of the
entire file. much help from kurt, and tested by many


# 1.40 22-Mar-2008 otto

move statvfs.c to gen, since it is not a syscall; ok deraadt@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.39 03-Oct-2005 jmc

remove traces of non-existent getfstype() function;
ok krw@ deraadt@


# 1.38 02-Oct-2005 jmc

add missing MLINK for strnunvis.3, introduced -r1.14;


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.37 01-Feb-2005 millert

Replace broken frexp() with a working one from FreeBSD. There's
no need to have a copy for each platform with ieee floating point,
only vax needs a special version (which probably has similar bugs).
OK and with help from otto@


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE
# 1.36 01-Feb-2004 deraadt

do not double login_cap.c; tholo


Revision tags: OPENBSD_3_4_BASE
# 1.35 21-Jul-2003 millert

build ftw and nftw


Revision tags: OPENBSD_3_3_BASE
# 1.34 16-Oct-2002 millert

Implement isfdtype(3) as per the POSIX.1g draft; requested by David Hill


Revision tags: OPENBSD_3_2_BASE
# 1.33 08-Jun-2002 fgsch

use weak aliases whenever is possible; millert@ ok.


Revision tags: OPENBSD_3_1_BASE
# 1.32 16-Mar-2002 millert

Add auth_getpwd MLINK


# 1.31 16-Feb-2002 pvalchev

MI man page to document fpgetmask(3) and friends; from ross@NetBSD, ok deraadt


# 1.30 31-Oct-2001 fgsch

Add MLINK's for syslog_r and friends.


Revision tags: OPENBSD_3_0_BASE
# 1.29 31-Jul-2001 krw

Add missing LINK for cgetusedb


Revision tags: OPENBSD_2_9_BASE
# 1.28 14-Mar-2001 aaron

Move description of exect() to execve(2) man page. Add a note about exect() not
being portable.


# 1.27 21-Nov-2000 millert

Add references to new files.


Revision tags: OPENBSD_2_8_BASE
# 1.26 20-Aug-2000 millert

login.conf code from BSDi. This does not include the bsd auth code
which will come later. At this stage it is primarily used for setting
resource limits.


# 1.25 19-Jul-2000 mickey

from freebsd:
strtofflags/fflagstostr to convert file flags
to/from binary from/into a string as used in chflags(1).

use u_int32_t instead of u_long (as freebsd does).
increase libc minor.
millert@ ok.


Revision tags: OPENBSD_2_7_BASE
# 1.24 25-Apr-2000 deraadt

well if you cannot do a libc commit properly a week before 2.7 tree lock, surely it can wait till after 2.7


# 1.23 25-Apr-2000 d

getpw*_r()


# 1.22 23-Mar-2000 d

*_r MLINKS


# 1.21 17-Nov-1999 millert

Add missing MLINKs


Revision tags: OPENBSD_2_6_BASE
# 1.20 16-Aug-1999 deraadt

doc isinff() and isnanf()


Revision tags: OPENBSD_2_5_BASE
# 1.19 20-Nov-1998 d

Add thread-safety to libc, so that libc_r will build (on i386 at least).
All POSIX libc api now there (to P1003.1c/D10)
(more md stuff is needed for other libc/arch/*)
(setlogin is no longer a special syscall)
Add -pthread option to gcc (that makes it use -lc_r and -D_POSIX_THREADS).
Doc some re-entrant routines
Add libc_r to intro(3)
dig() uses some libc srcs and an extra -I was needed there.
Add more md stuff to libc_r.
Update includes for the pthreads api
Update libc_r TODO


Revision tags: OPENBSD_2_4_BASE
# 1.18 29-Aug-1998 deraadt

man page repairs; aaron@ug.cs.dal.ca


# 1.17 04-Jul-1998 deraadt

split dirname and basename man pages


Revision tags: OPENBSD_2_3_BASE
# 1.16 22-Dec-1997 deraadt

add XPG4.2 lockf; kleink


Revision tags: OPENBSD_2_2_BASE
# 1.15 08-Sep-1997 deraadt

new man page; mikel


# 1.14 06-Sep-1997 millert

ln basename.3 dirname.3


# 1.13 20-Aug-1997 millert

Move getsubopt(3) to stdlib like lite2 and XPG4.2 say...
Update man page from lite2 while I'm at it.


# 1.12 17-Aug-1997 millert

basename(3) and dirname(3) as specified by XPG4 and XPG4.2


# 1.11 23-Jul-1997 kstailey

trailing blanks


# 1.10 23-Jul-1997 kstailey

tabify


Revision tags: OPENBSD_2_1_BASE
# 1.9 03-Feb-1997 millert

Back out stringlist


# 1.8 02-Feb-1997 millert

stringlist routines are now public (ftp uses them)


Revision tags: OPENBSD_2_0_BASE
# 1.7 15-Sep-1996 tholo

Add manpage link


# 1.6 19-Aug-1996 tholo

Fix RCS ids
Make sure everything uses {SYS,}LIBC_SCCS properly


# 1.5 29-May-1996 deraadt

enable ELF/a.out/ECOFF in machine/exec.h


# 1.4 28-May-1996 etheisen

All platforms get elf_nlist(). Hidden __elf_is_okay__() function is
now present for ELF platforms. This function is not ABI compliant and
it's use should be restricted. exec_sup.h now determines the target
OMF for various platforms.


# 1.3 29-Apr-1996 etheisen

Initial libc ELF support. Currently only elf_hash() is implemented.


# 1.2 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision