Home | History | Annotate | Download | only in sys
History log of /src/lib/libc/sys/Makefile.inc
RevisionDateAuthorComments
 1.259  09-Mar-2025  martin fix typo
 1.258  09-Mar-2025  christos PR/59160: Taylor R Campbell: extattrctl(2): missing man page
 1.257  03-Oct-2024  christos typo
 1.256  03-Oct-2024  christos new semtimedop(2) GSoC 2024 (Shivraj Jamgade)
 1.255  20-May-2024  christos Rename dup3110 to dup3100 to match historical practice for NetBSD-11,
because we already have kevent100. Fix compat_dup3 to belong in compat_100
not compat_110.
 1.254  19-May-2024  christos version dup3
 1.253  03-Aug-2023  nia Revert addition of epoll to libc until discussion concludes
 1.252  28-Jul-2023  christos Add epoll(2) from Theodore Preduta as part of GSoC 2023
 1.251  10-Jul-2023  christos Add memfd_create(2) from GSoC 2023 by Theodore Preduta
 1.250  01-Nov-2021  thorpej Version the sigaction(2) libc wrapper. The new version uses the "siginfo"
trampoline exclusively, thus relegating "sigcontext"-style handlers (which
have not been documented for many years now) to the dustbin of the compat
library.
 1.249  31-Oct-2021  thorpej Tidy up how __sigaction14_sigtramp.c is added to SRCS.
 1.248  26-Oct-2021  christos Merge all MD __sigaction14_sigtramp.c copies into one:
- sparc and sparc64 were not using version 0 sigcontext when there were
no arguments in the signal version. This was probably a bug.
- vax is using +1 the version numbers of the other archs.
- Only hppa was defining __LIBC12_SOURCE__ so it was getting a working
sigcontext before. all the other ports that supported sigcontext had
the compat code disabled.
[pointed out by thorpej, thanks!]
If we want to remove sigcontext support from userland at least now there
is less work to do so.
 1.247  01-Oct-2021  christos PR/56424: Clay Mayers: recvfrom() is not a cancelation point as documented
in pthread_setcanceltype.3
 1.246  19-Sep-2021  thorpej Add native implementations of eventfd(2) and timerfd(2), compatible with
the Linux interfaces of the same name.
 1.245  14-Aug-2020  riastradh New system call getrandom() compatible with Linux and others.

Three ways to call:

getrandom(p, n, 0) Blocks at boot until full entropy.
Returns up to n bytes at p; guarantees
up to 256 bytes even if interrupted
after blocking. getrandom(0,0,0)
serves as an entropy barrier: return
only after system has full entropy.

getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256
bytes even if interrupted. Equivalent
to /dev/urandom. Safe only after
successful getrandom(...,0),
getrandom(...,GRND_RANDOM), or read
from /dev/random.

getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n
bytes at p, but no guarantees about how
many -- may return as short as 1 byte.
Equivalent to /dev/random. Legacy.
Provided only for source compatibility
with Linux.

Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN
without producing any output instead of blocking.

- The combination GRND_INSECURE|GRND_NONBLOCK is the same as
GRND_INSECURE, since GRND_INSECURE never blocks anyway.

- The combinations GRND_INSECURE|GRND_RANDOM and
GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail
with EINVAL.

As proposed on tech-userlevel, tech-crypto, tech-security, and
tech-kern, and subsequently adopted by core (minus the getentropy part
of the proposal, because other operating systems and participants in
the discussion couldn't come to an agreement about getentropy and
blocking semantics):

https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html
 1.244  17-Jul-2020  kamil Add ppoll() a compatibility wrapper around pollts(2)

Submitted by Apurva Nandan.
 1.243  16-May-2020  christos Add ACL support for FFS. From FreeBSD.
 1.242  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.241  15-Sep-2019  christos documentation for fexecve(2)
 1.240  31-Jul-2018  rjs branches: 1.240.2;
Userland changes for getsockopt2().
 1.239  12-Jul-2018  maxv Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.238  25-Dec-2017  kamil branches: 1.238.2; 1.238.4;
libc: Add a dummy implementation of vadvise()

This readds a symbol that has been removed accidentally without major bump.

The implementation is dummy (similar to the old one), without API in public
headers.

Pointed out by <maya>

Sponsored by <The NetBSD Foundation>
 1.237  19-Dec-2017  kamil Deregister vadvise.S from lib/libc/sys/Makefile.inc

Such file was never registered since the inception of NetBSD.
The (o)vadvise is dummy since the beginning of NetBSD.

Sponsored by <The NetBSD Foundation>
 1.236  01-Apr-2017  abhinav Add man page links for:
EV_SET to kqueue(2)
getmntoptstr, getmntoptnum, freemntopts to getmntopts(3)

Reviewed by wiz@
 1.235  23-Feb-2017  christos add link for accept4.
 1.234  08-Feb-2017  maya Add accept4, a tiny wrapper around paccept.

accept4 is a syscall in Linux, FreeBSD and OpenBSD. It is used in
LLVM, zeromq, and probably others. paccept is a superset of it.

adding it to libc ensures it is used by programs and prevents the
need to define the same wrapper in every program.
 1.233  08-Feb-2017  maya Make paccept a weak symbol in preparation for using it in another function
 1.232  07-Feb-2017  kamil Mark exect(3) obsolete and bind it to plain execve(2) on all platforms

The original exect(2) from BSD4.2 was enabling bit for tracing
(single-step mode) and calling execve(2). The purpose of it was to generate
a signal for a tracer once the application will change its image to a new
program.

This approach no longer works as:
- exect(2) traces (single-steps) libc and it requires hundreds or
thousands steps before entering a new image
- it's vax and x86 specific code
- this functionality has been moved to the kernel - once a process is
traced it will generate SIGTRAP with si_code TRAP_EXEC and route it to
its debugger
- the side effects and unportability make this interface unusable
- there are no known users of this interface
- it apparently never worked better since day0 of NetBSD ("day0 bug")

Users are requested to move to other execve(2) variants. Calling current
execve(2) as it is the most similar behavior to this one from BSD4.2.

Discussed several times on mailing lists and in PR/51700.

Add warning to exect(3) telling about marking this function obsolete.

This function is prepared to be removed in next libc major bump.

Sponsored by <The NetBSD Foundation>
 1.231  03-Jul-2016  christos branches: 1.231.2; 1.231.4;
GSoC 2016 Charles Cui: Implement thread priority protection based on work
by Andy Doran. Also document the get/set pshared thread calls as not
implemented, and add a skeleton implementation that is disabled.
XXX: document _sched_protect(2).
 1.230  23-Apr-2016  christos add clock_getcpuclockid{2,}
 1.229  03-Apr-2016  christos userland bits for wait6/waitid.
 1.228  29-Nov-2015  pgoyette Initial documentation of the internal syscalls that implement the librt
posix semaphores. As requested in PR kern/37427

XXX Feel free to expand this page!
 1.227  31-Jan-2015  christos PR/49617: Kirk Russell: posix_fallocate() should be returning an error on
failure, without setting errno, so make it PSEUDO_NOERROR, by adding a new
category GLUENOERR.
 1.226  10-Dec-2014  pooka Add hooks for RUMPRUN build of libc

If "yes", does the following (default "no"):
* prevents ASM syscalls from being built (librump provides syscalls)
* does not include compat (useless when application is linked with libc)
* does not build tags (no /var/db to install them to)
* does not include tls

==> libc for rumprun can now be built against unmodified NetBSD sources
 1.225  25-Sep-2014  manu Fix argument paddiing for posix_fallocate and fdiscard with gcc 1.x
 1.224  25-Jul-2014  dholland branches: 1.224.2;
Add userlevel manifestations of posix_fallocate and fdiscard, in
unistd.h and libc, and add a man page.

Allow wiggle room in the man page for implementations of fallocate
that either (a) don't fully unwind on failure, leaving new blocks
allocated without changing the file size, or (b) create only in-memory
transient reservations that disappear when crashing or rebooting.

Also, add crossreference to fdiscard from ftruncate(2), and remove the
old BUGS entry from there that called for a generalized version that
allows discarding ranges of a file: that's what fdiscard is.
 1.223  31-Jan-2014  christos branches: 1.223.2;
expose __lwp_park60
 1.222  16-Jan-2014  christos "soon" is "now". Remove all __indr_reference crap.
 1.221  09-Nov-2013  njoly Add utimens/lutimens man pages links.
 1.220  17-Oct-2013  njoly Change mknodat(2) device argument type from uint32_t to dev_t.
Adds needed extra PAD argument for 64bit alignment, and libc wrapper.
 1.219  29-Mar-2013  christos no need for __lwp_park50.S here and we don't provide __lwp_park60.S so that
it does not get accidentally used.
 1.218  18-Nov-2012  manu Add most system calls for POSIX extended API set, part 2, with test cases:
faccessat(2), fchmodat(2), fchownat(2), fstatat(2), mkdirat(2), mkfifoat(2),
mknodat(2), linkat(2), readlinkat(2), symlinkat(2), renameat(2), unlinkat(2),
utimensat(2), openat(2).

Also implement O_SEARCH for openat(2)

Still missing:
- some flags for openat(2)
- fexecve(2) implementation
 1.217  02-Oct-2012  christos add clock_nanosleep(2)
 1.216  12-Sep-2012  manu branches: 1.216.2;
setcontext() used to be incompatible with -lpthread since it affected
the TLS pointer, therefore wrecking the pthread environement.

Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha)
that controlled whether setcontext() would change the TLS pointer.
This change let libpthread override setcontext() with its own version
that unsets _UC_TLSBASE, enabling safe usage of setcontext() with
-lpthread.

We also have the following required changes here:
- rename alpha's _UC_UNIQUE into _UC_TLSBASE
- add _UC_TLSBASE definition in header file for all ports
(powerpc, sh3, sparc and sparc64 lack the implementation for now)
- introduce a libc stub that can be overriden for setcontext()
- modify MD libcs swapcontext() implementations so that they use the
setcontext() libc stub instead of doing a plain system call.

While we are there:
- document various MD _UC_* flags in header file
- add libc and libpthread tests for swapcontext() behavior
(hopefully helpful to spot MD problems introduced with this change)

Future work:
- Deciding whether kernel support or _UC_TLSBASE should be added for
powerpc, sh3, sparc and sparc64 is left to portmasters
sparc64

Approved by core@
 1.215  22-Jun-2012  christos {send,recv}mmsg glue
 1.214  08-Mar-2012  joerg Implement sem_timedwait.
 1.213  19-Feb-2012  matt Emit SA syscalls using SYS_compat_60_*
 1.212  13-Feb-2012  dholland Quota-related docs fixes:

- Remove old quotactl(2); replace with new __quotactl(2).
- Document quota_getrestrictions(3), the semantic restriction codes,
and quota_quotaon/off(3).
- Update VFS_QUOTACTL(9), which was still describing the pre-proplib API.

Approved by releng for the freeze.
 1.211  11-Feb-2012  martin Add userland part of posix_spawn. Libc functions imported from FreeBSD.
Based on Charles Zhang's summer of code project.
 1.210  01-Feb-2012  dholland Change the syscall API for quotas over to the new non-proplib one.

- struct vfs_quotactl_args -> struct quotactl_args
- add sys/stdint.h to sys/quotactl.h for clean userland build
- install sys/quotactl.h in /usr/include
- update set lists for same
- add new marshalling code in libquota
- add new unmarshalling code in vfs_syscalls.c
- discard proplib interpreter code in vfs_quotactl.c
- add dispatching code for the 14 quotactl ops in vfs_quotactl.c
- mark the proplib quotactl syscall obsolete
- add a new syscall number for the new quotactl syscall
- change the name of the syscall to __quotactl()
- remove the decl of the old quotactl from quota/quotaprop.h
- add a decl of the new quotactl to sys/quotactl.h
- update the libc build
- update ktruss
- remove proplib marshalling code from libquota
- update copy of syscall table in gdb ppc sources
- hack rumphijack to accomodate new quotactl name (as I recall,
pooka wanted such a name change to simplify something, but I
don't really see what/how)

This change appears to require a kernel version bump for rumpish
reasons.
 1.209  17-Aug-2011  manu branches: 1.209.2;
Add futimens(2) and part of utimnsat(2)
 1.208  08-Aug-2011  manu First stage of support for Extended API set 2. Most of the think is
unimplemented, except enough of linkat(2) to hardlink to a symlink.

Everything new in headers is guarded #ifdef _INCOMPLETE_XOPEN_C063 since
some software (e.g.: xcvs in our own tree) will assume they can use openat(2)
when AT_FDCWD is defined. _INCOMPLETE_XOPEN_C063 will go away once support
will be completed.
 1.207  27-Jun-2011  manu Fix multiple non compliances in our Linux-like extattr API, and make it
public so that it can be used.
 1.206  26-Jun-2011  christos * Arrange for interfaces that create new file descriptors to be able to
set close-on-exec on creation (http://udrepper.livejournal.com/20407.html).

- Add F_DUPFD_CLOEXEC to fcntl(2).
- Add MSG_CMSG_CLOEXEC to recvmsg(2) for unix file descriptor passing.
- Add dup3(2) syscall with a flags argument for O_CLOEXEC, O_NONBLOCK.
- Add pipe2(2) syscall with a flags argument for O_CLOEXEC, O_NONBLOCK.
- Add flags SOCK_CLOEXEC, SOCK_NONBLOCK to the socket type parameter
for socket(2) and socketpair(2).
- Add new paccept(2) syscall that takes an additional sigset_t to alter
the sigmask temporarily and a flags argument to set SOCK_CLOEXEC,
SOCK_NONBLOCK.
- Add new mode character 'e' to fopen(3) and popen(3) to open pipes
and file descriptors for close on exec.
- Add new kqueue1(2) syscall with a new flags argument to open the
kqueue file descriptor with O_CLOEXEC, O_NONBLOCK.

* Fix the system calls that take socklen_t arguments to actually do so.

* Don't include userland header files (signal.h) from system header files
(rump_syscallargs.h).

* Bump libc version for the new syscalls.
 1.205  06-Mar-2011  bouyer merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
 1.204  10-Jan-2011  christos branches: 1.204.2;
add sigqueue
 1.203  06-Aug-2010  christos weakasm for kevent so it can be a cancelation point.
 1.202  20-Oct-2009  jnemeth First pass at a manpage for modctl(2) (hi ad!).
 1.201  10-Apr-2009  christos Add a special lint stub for __sigaction14 which broke when we switched
to sigaction_sigtramp.
 1.200  29-Jan-2009  martin branches: 1.200.2;
__posix_fadvise50() does not use the standard errno behaviour, but returns
the error value itself - so move it from ASM to NOERR. Pointed out by
Nick. I have no idea how/if this ever could have worked, but I would swear
I realy tested it when I last touched it! Fixes the sys/fs/posix_fadvise
regression test.
 1.199  16-Jan-2009  christos don't use glue for semctl, the number of underscores makes this an intractable
problem :-) Use regular wrappers like we do with sigtimedwait.
 1.198  15-Jan-2009  christos fix the semctl glue build that worked before by chance by side effects of
building the the assembly stub as a normal stub. Just build it as a glue
stub.
 1.197  11-Jan-2009  christos merge christos-time_t
 1.196  26-Oct-2008  mrg branches: 1.196.2; 1.196.4;
define and use LIBCDIR in terms of .CURDIR. fixes compat/lib/libc build.
 1.195  06-Aug-2008  matt Add a missing dependency
 1.194  05-Aug-2008  lukem Redo previous in a much simpler way.
Inspired by and fixes PR 39285.
 1.193  05-Aug-2008  lukem Add '-e sedcmd' to makelintstub, to translate filename to syscall name.
Improve usage, etc.

Invoke makelintstub with -e 's/^tmp_//' when building LintSysNormal.c

Fixes build problem that matt@ highlighted to me.
 1.192  04-Aug-2008  lukem Prefix filenames of tomporarily generated .S files with "tmp_", so that the
".if exists(foo.S)" check doesn't get confused by ${.OBJDIR}/foo.S.
Fixes PR/39217
 1.191  02-Jul-2008  rmind Move scheduling functions from librt to libc.
Fixes PR/38657.
 1.190  25-Jun-2008  ad Fix MLINKS line
 1.189  25-Jun-2008  ad Add getlogin_r. Manual page changes mostly lifted from FreeBSD.
 1.188  15-Jun-2008  christos Glue in cpuset.c
 1.187  22-Apr-2008  rmind branches: 1.187.2;
Add posix_madvise(2) and appropriate definitions in sys/mman.h header.
This interface is identical to madvise(2), however, is defined by POSIX.
Partially sync madvise(2) man page with FreeBSD.

Reviewed by <mrg>.
 1.186  09-Feb-2008  mrg branches: 1.186.4;
m68k/Makefile.inc:
- add __mmap.S to SRCS.
- add _lwp_getprivate.S mremap.S to ASM.
sys/Makefile.inc:
- look for __glue.S as well as glue.S.
- introduce a new ASM_MD and set it to "_lwp_getprivate.S mremap.S".
this is used for assembler files that may have non-default
implementations.

now m68k and m68000 mostly build again.
 1.185  27-Jan-2008  martin libc part of posix_fadvise changes.
The new compatibility stub is ABI compatible to the old syscall, so no
need to bump libc minor.
 1.184  16-Jan-2008  ad Pull in my modules code for review/test/hacking.
 1.183  15-Jan-2008  rmind Implementation of processor-sets, affinity and POSIX real-time extensions.
Add schedctl(8) - a program to control scheduling of processes and threads.

Notes:
- This is supported only by SCHED_M2;
- Migration of LWP mechanism will be revisited;

Proposed on: <tech-kern>. Reviewed by: <ad>.
 1.182  14-Dec-2007  yamt document following system calls.
_lwp_ctl
_lwp_getname
_lwp_setname
 1.181  22-Nov-2007  dsl Change all the syscall C 'glue' functions (most of which just add in an
extra argument to ensure that 'off_t' parameters are even numbered
parameters for stack alignment reasons on 32 bit systems) to use a normal
'syscall' wrapper for __foo instead of using __syscall(SYS_foo, ... ).
This saves all the faffing needed to get a 32bit return value on sparc.
Auto-generate the extra syscall wrappers.
Move swapon.c into the correct list (swapon() uses swapctl()).
This probably means there are very few users of syscall() and __syscall() left.
 1.180  13-Nov-2007  ad - stack_protector.c doesn't really belong under sys/. Add a new directory
for misc support routines and put it there.
- Add a libc constructor. Use this to initialize threading and the
stack protector stuff. libpthread cannot be initialized safely using
its own constructor because libc and libpthread are deeply intertwined.
PR bin/37347
 1.179  12-Nov-2007  ad Add _lwp_ctl() system call: provides a bidirectional, per-LWP communication
area between processes and the kernel.
 1.178  07-Nov-2007  ad Add _lwp_setname/_lwp_getname to libc.
 1.177  09-Oct-2007  rmind Add cancellation stubs in libpthread for POSIX messages queues and
asynchronous I/O.

OK by <ad>.
 1.176  17-Jul-2007  joerg branches: 1.176.4;
Add native mremap system call based on the UVM implementation for
Linux compat. Add code to enforce alignment of the new location.
Special thanks to wizd for helping with the man page.
 1.175  14-Jul-2007  dsl Change libc system callstub from 'mount' to '__mount50', add compat call.
 1.174  03-Jun-2007  christos provide a weak symbol for readlink since it is used internally.
 1.173  10-Feb-2007  ad Add manual pages for new LWP syscalls.
 1.172  09-Feb-2007  ad - Exclude SA syscalls from LintSysNormal.c.
- Obsolete SA manual pages.
 1.171  16-Jan-2007  ad Add: _lwp_kill, _lwp_detach, _lwp_park, _lwp_unpark, _lwp_unpark_all,
sched_yield.
 1.170  08-Nov-2006  christos add ssp code and bump.
 1.169  31-Jul-2006  martin Make filehandles opaque to userland
 1.168  13-Jul-2006  martin Fix alignement problems for fhandle_t, exposed by gcc4.1.

While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ,
version the getfh(2) syscall and explicitly pass the size available in
the filehandle from userland.

Discussed on tech-kern, with lots of help from yamt (thanks!).
 1.167  26-Jun-2006  mrg version the socket(2) syscall. for compat30 socket, we use
EPROTONOSUPPORT instead of EAFNOSUPPORT.

from pavel@ with a little bit of clean up from myself.

XXX: netbsd32 (and perhaps other emulations) should be able
XXX: to call the standard socket calls for this i think, but
XXX: revisit this at another time.
 1.166  29-May-2006  drochner support the new ntp_gettime() syscall and add compatibility for the old one
 1.165  04-May-2006  christos Adjust for the fhstat() compat kernel change.
 1.164  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.163  19-Feb-2006  yamt document posix_fadvise.
 1.162  20-Jan-2006  christos Make _Exit an alias to _exit.
 1.161  29-Nov-2005  yamt add posix_fadvise.
 1.160  13-Sep-2005  christos compat core reorg.
 1.159  19-Aug-2005  christos 64 bit inode changes
 1.158  16-Jul-2005  christos We don't need to define fork anymore (pthread_atfork.c) or setlogin
(setlogin.c). Lint pass 2 works now.
 1.157  18-Mar-2005  kleink Interpose cancellation points in pollts() and pselect(), bringing us
to libc.so.12.127 and libpthread.so.0.6.
 1.156  26-Feb-2005  matt branches: 1.156.2;
Build syscalls stubs for pselect and pollts. Update man pages.
 1.155  25-Feb-2005  matt Alphabetize main list of sources.
 1.154  02-Jan-2005  thorpej System calls and support routines for file system extended attributes. Libc
version is bumped to 12.125.

From FreeBSD.
 1.153  21-May-2004  kleink IEEE Std 1003.1-2001/Cor 2-2004, item XSH/TC2/D6/5: fdatasync() shall
have cancellation points.

Note: we ride today's resolver-related version bumps.
 1.152  21-Apr-2004  christos Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
 1.151  26-Mar-2004  drochner sigreturn() isn't officially supported anymore; remove its manpage
(which was outdated anyway)
 1.150  26-Mar-2004  drochner sigreturn14 is just for compatibility, not referenced by any new code
 1.149  14-Mar-2004  yamt some manpages of scheduler activation syscalls.
 1.148  08-Feb-2004  lukem MAKEVERBOSE messages
 1.147  29-Jan-2004  tsarna uuidgen(2) syscall. Originally from FreeBSD, ported by John Franklin in
PR#23470, with minor updates by me. This is only the syscall support
from that PR, for now.

Changes: port over fix from FreeBSD for multicast address generation.
Changed bcopy to memcpy. For now, #ifdef notyet the portions of
kern_uuid.c that are meant to be used by (currently nonexistent) other
things in the kernel. Added syscall to COMPAT_FREEBSD as well, though
that's currently not useful, as any program new enough to use this call
also uses other syscalls we don't (yet) emulate.
 1.146  02-Jan-2004  cl - libc.so.12.109 and libpthread.so.0.4
- add ssize_t stackinfo_offset argument to sa_register syscall
- remove sa_unblockyield syscall
- make __sigprocmask14 syscall weak
- in pthread__sa_start: catch up with 4-argument sa_register syscall
 1.145  18-Nov-2003  thorpej Userland portion of fsync_range(2), written by Bill Studenmund, and
contributed by Wasabi Systems, Inc.
 1.144  16-Sep-2003  cl fix SA/pthread pagefault failure:
- prevent BLOCKED upcalls on double page faults and during upcalls
- make libpthread handle blocked threads which hold locks
- prevent UNBLOCKED upcalls from overtaking their BLOCKED upcall
this adds a new syscall sa_unblockyield
see also http://mail-index.netbsd.org/tech-kern/2003/09/15/0020.html
 1.143  13-Sep-2003  christos forgot to install timer_settime.
 1.142  13-Sep-2003  christos Add timer man pages. Hi Nathan!
 1.141  01-Aug-2003  lukem Rework how dependency generation is performed:

* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
This is a change of behaviour. If a Makefile wants the clean semantics
it must specifically append to CLEANFILES.
Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
 1.140  08-May-2003  christos USE ${HOST_SH}
 1.139  14-Mar-2003  nathanw Make execve a weak syscall.
 1.138  01-Mar-2003  bjh21 Add _Exit(), for C99 and POSIX-2001.
Proposed on tech-userlevel to a resounding silence in April last year.
 1.137  15-Feb-2003  jdolecek add POSIX sigtimedwait(), sigwaitinfo(), sigwait() - wait for queued signals

note these are for non-threaded programs only - libpthread will provide
it's own thread-aware wrapper
 1.136  13-Feb-2003  jdolecek for WEAKSM list, use leading tab, rather than spaces on the continuation lines
 1.135  28-Jan-2003  thorpej Make the generated .S files depend on ${.CURDIR}/sys/Makefile.inc.
 1.134  27-Jan-2003  nathanw Move accept and connect stubs to WEAKASM so that they can be overridden.
 1.133  20-Jan-2003  christos Add _ksem stubs.
 1.132  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.131  23-Oct-2002  jdolecek make support for kqueue(2) and kevent(2) unconditional, the kqueue branch
was merged
 1.130  12-Oct-2002  jdolecek if WITH_KQUEUE is defined and <sys/event.h> exists in DESTDIR, compile
support for kqueue(2) and kevent(2) in

this is temporary measure to ease testing of kqueue branch; the support
will be made unconditional once kqueue branch would be merged
 1.129  22-Sep-2002  jdolecek add kqueue(2)/kevent(2) manpage to mainline, to reduce difference between
the kqueue branch and -current and thus make testing easier

change HISTORY to clearly state this interface is only available with
experimental kernel branch
add Jason Thorpe and me to AUTHORS
update .Dd
 1.128  14-Sep-2002  thorpej Fix some problems using makelintstub as a cross-tool:
* Require that the path to the C preprocessor be passed in the CPP
environemnt variable, and use it rather than hard-coding "cpp".
Provide the target's preprocessor when invoking makelintstub.
* Fix some quoting issues that turned up with Solaris 8's XPG4 sh and sed.
* Don't use echo -n. Instead, don't bother making the output pretty; the
whitespace isn't supposed to be syntactically significant anyhow.
 1.127  28-Aug-2002  gmcgarry rasctl(2)
 1.126  07-Aug-2002  briggs Add stubs to new system calls for performance monitoring interface.
 1.125  10-Jul-2002  thorpej Enable the libc-provided signal trampoline. The old __sigaction14
entry point has been replaced by the new __sigaction14() which is a
wrapper around the __sigaction_sigtramp system call (which is itself
not directly exposed outside of libc).

No shared library version change is necessary; no new symbols
are exposed outside of libc.
 1.124  29-Jan-2002  tv branches: 1.124.2;
Don't even put Lint*.c in DPSRCS if MKLINT=no.
 1.123  14-Jan-2002  thorpej * Add WSYSCALL() to SYS.h, which creates a system call with an
internal name and a weak alias for the name.
* Add a WEAKASM syscall list, and process it.
* Make sysarch() have an internal name (_sysarch()).
 1.122  13-Nov-2001  tv Only put LintSys*.c in DPSRCS; the others are static files.
 1.121  13-Nov-2001  tv Clean up a little more (DPSRCS already goes in CLEANFILES; reduce
redundancy of DPSRCS).
 1.120  13-Nov-2001  tv No need for the .for in this case (holdover from earlier noncommitted
version of the simplification).
 1.119  13-Nov-2001  tv Make previous a bit cleaner, too: just refer to all these files by the
.S extension; no need to do all the :.o=.S transforms.
 1.118  13-Nov-2001  tv Fix backslash typo in previous.
 1.117  13-Nov-2001  tv Make the generation of syscall stubs a lot more reliable by generating real
`.S' files and letting <bsd.sys.mk> and <bsd.lib.mk> compile them like every
other .S file. The compilation options passed to ${CC} are still correct.

Also make sure LintSysPseudoNoerr.c gets removed on "make clean".
 1.116  16-Sep-2001  manu Added support to use the clockctl driver if present for adjtime(),
clock_settime(), ntp_adjtime() and settimeofday(). The super-user still
always use the plain system call.
Approved by Christos
 1.115  08-Sep-2001  christos Add __clone.S
XXX: This breaks the x86_64 port. Frank are you there?
 1.114  06-Sep-2001  wiz Add ntp_adjtime(2) and ntp_gettime(2) man page.
 1.113  18-Jul-2001  thorpej Build __clone.S, the Lint stubs, and the manual pages.

Yes, I know now all ports have a __clone() stub yet, but this
will force the issue -- they don't get to build their libc until
they implement it.

Implementers are encouraged to use the regression test for it
in src/regress/lib/libc/clone.
 1.112  18-Apr-2001  kleink branches: 1.112.2;
Document fchroot(2).
 1.111  05-Jan-2001  jdolecek branches: 1.111.2;
add utrace(2)
 1.110  13-Dec-2000  matt Add __syscall.S back to sys/Makefile.inc. Remove from arch/i386/gen/
Makefile.inc. If your architecture doesn't have __syscall.S, *add it*.
 1.109  12-Dec-2000  simonb Move __syscall.S to the arch specific Makefile.inc's where it is
implemented.
 1.108  10-Dec-2000  mycroft Handle __syscall() in user-level code for i386.
 1.107  28-Sep-2000  kleink Need an internal name for pipe(2).
 1.106  08-Jul-2000  enami Create link to lchflags.[02].
 1.105  07-Jul-2000  itohy Add special treatment of shmat(2).
On m68k ELF calling standard (__SVR4_ABI__), if a function
returns a pointer, the return value should go to a0 as well as d0.
 1.104  26-Jun-2000  kleink Need an internal name for fork().
 1.103  23-Jun-2000  kleink Add internal names for brk() and sbrk().
 1.102  24-May-2000  perseant branches: 1.102.4;
Add man pages for LFS syscalls
 1.101  21-Apr-2000  minoura issetugid(2) manpage.
 1.100  21-Apr-2000  minoura New syscall issetugid.
 1.99  17-Apr-2000  mrg implement lchflags(2), which does the chflags(2) dance without following
symlinks, and thus can operate on symlinks. remove a bogus comment in
chflags(1) that claims symlinks do not have file flags.

XXX: todo -- make chflags(1) use lchflags(2) when given the right options.
 1.98  31-Jan-2000  christos Add a userland stub to do the union semun -> union semun * redirection.
 1.97  27-Oct-1999  is Actually profile system calls.
Problem and most of the fix reported by Anders Hjalmarsson in PR 4976; libposix
mentioned by Chris G. Demetriou.
 1.96  25-Aug-1999  thorpej branches: 1.96.2;
Add __msgctl13(), __semctl13(), and __shmctl13() (symbols are __RENAME()'d
in their respective header files). Add PSEUDO stubs for the old versions
of these system calls.

Note that __semctl13() doesn't require the extra stub that the old
semctl()/__semctl() did, as the SUSv2 version takes variable arguments,
and thus does not require the extra indirection.
 1.95  04-Jul-1999  sommerfeld Build system call stubs using system includes from ${DESTDIR}/usr/include
if DESTDIR is set.
This allows you to build a working libc which include syscall stubs
for new syscalls not defined in /usr/include/sys/syscall.h
 1.94  30-Jun-1999  wrstuden Give fhopen, fhstat, and fhstatfs a man page.
 1.93  29-Jun-1999  wrstuden Add fhopen, fhstat, and fhstatfs syscall stubs.
 1.92  15-Jun-1999  thorpej Add mlockall(2)/munlockall(2).
 1.91  22-Mar-1999  sommerfe branches: 1.91.2;
Build fchroot and __getcwd syscall stubs
 1.90  24-Feb-1999  drochner use ${ARCHDIR} instead of ${.CURDIR}/arch/${MACHINE_ARCH} where appropriate
libc builds on pmax again
 1.89  11-Feb-1999  carrel use clock_settime.2 not clock_settime.c in MAN
 1.88  11-Feb-1999  kleink Document clock_settime(2) and friends.
 1.87  26-Sep-1998  christos Adapt to the new signal changes.
 1.86  02-Jul-1998  thorpej Wrappers around the indirected positional i/o system calls; the off_t
arguments must be padded.
 1.85  30-Jun-1998  thorpej Add pread(2), pwrite(2), preadv(2), pwritev(2) system calls.
 1.84  27-Jun-1998  christos Add stub for fktrace(2)
 1.83  08-Jun-1998  kleink Build fdatasync(2) stubs and manpage.
 1.82  14-Feb-1998  kleink Oops, silly typo in last commit. Sigh.
 1.81  14-Feb-1998  kleink Generate syscall stubs for getsid() (from thorpej), __posix_chown(),
__posix_fchown() and __posix_lchown().
 1.80  14-Feb-1998  thorpej Add getsid.2
 1.79  02-Feb-1998  perry merge lite-2
 1.78  05-Jan-1998  thorpej Add __vfork14.S and Lint___vfork14.c
 1.77  29-Nov-1997  kleink Modify the recent sigaltstack() interface change to use the __RENAME() scheme;
add __sigaltstack14().
 1.76  06-Nov-1997  cgd sh makelintstub, rather than trying to execute it directly
 1.75  05-Nov-1997  cgd lint stubs for assembly routines.
 1.74  05-Nov-1997  thorpej Instead of creating a .ln for each syscall stub, create one (big) .ln
per class of syscall stubs. This is much more efficient (though it's still
pretty inefficient).

This also fixes a problem with syscall.h and DESTDIR which was pretty
well buried in the old implementation.

From Chris Demetriou <cgd@pa.dec.com>.
 1.73  22-Oct-1997  lukem - use CPPFLAGS instead of CFLAGS
- use ${COMPILE.C} ... instead of ${CC} ${CFLAGS} -c ...
 1.72  21-Oct-1997  thorpej Fix an oversight in the previous.
 1.71  20-Oct-1997  thorpej branches: 1.71.2;
Fix the shared library versioning snafu caused by the recent changes
to the stat(2) family and msync(2). This uses a primitive function
versioning scheme.

This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.

From Frank van der Linden <fvdl@NetBSD.ORG>.
 1.70  20-Oct-1997  christos Bring back swapon and getdirentries from libcompat.
 1.69  18-Oct-1997  enami Fix typo; MLINKS are always constructed from pair of link src and dst.

- delete the line `MLINKS += swapctl.2'.
 1.68  16-Oct-1997  christos swapon migrated to libcompat
 1.67  12-Oct-1997  fvdl Create getdirentries man page seperately now.
 1.66  10-Oct-1997  fvdl Add new getdents() syscall, provide compat code for old getdirentries.
 1.65  06-Oct-1997  enami Add C library interface for new system call lchmod, lchown and lutimes.
 1.64  08-Sep-1997  chuck import minherit from OpenBSD
 1.63  25-Aug-1997  mikel feed makelintstub to sh, don't rely on x-bits
 1.62  20-Aug-1997  mikel add link from swapon(2) to swapctl(2); from
<entropy@tardis.bernstein.com> in PR lib/4015
while I'm here, also move swapon.c to a more appropriate spot
 1.61  12-Jun-1997  mrg move swapon() stub here
 1.60  12-Jun-1997  mrg bring mrg-vm-swap2 onto mainilne.
 1.59  31-May-1997  cjs Back out BUILDDIR change.
 1.58  30-May-1997  kleink branches: 1.58.2;
DESTDIR -> BUILDDIR
 1.57  24-May-1997  jonathan Delete hanging .if left by patch.
 1.56  24-May-1997  jonathan More table-driven changes: split CPICFLAGS into separate flags, to
support the two different incompatible rules for build .so files from
.S source on both NetBSD and binutils toolchains:

${CPP} | ${AS} for syscalls
${CC} for non-syscalls
for which the different toolchains's ${AS} requires diffferent flags.
 1.55  14-May-1997  kleink Precede the dependency on /usr/include/sys/syscall.h with ${DESTDIR};
fixes PR/3595 from dave@comp.vuw.ac.nz (Dave Sainty).
 1.54  02-May-1997  kleink Use PSEUDO_NOERROR() for _exit(): it never returns.
 1.53  17-Apr-1997  jtc branches: 1.53.2;
Add stubs which set errno to ENOSYS and return -1 for the POSIX.1b
timer_* API. This was done to avoid bumping the libc minor number
each time a new portion is implemented.

This should be extended to the entire .1b API, although that will
require minor header file modifications to add the required structure
and type definitions.
 1.52  17-Apr-1997  jtc Add nanosleep
 1.51  01-Apr-1997  mikel oops, realphabetize manpages
 1.50  29-Mar-1997  christos PR/3410: NAKAJIMA Yoshihiro: Add futimes.2 link
 1.49  29-Mar-1997  thorpej PowerPC uses new binutils, as well.
 1.48  27-Mar-1997  mikel add ktrace(2), don't segregate SYSV IPC manpages, and add link for shmdt(2)
 1.47  22-Dec-1996  cgd add LASM, LNOERR, and LPSEUDO variables, analogous to e.g. PASM, PNOERR, and
PPSEUDO but for .ln files rather than .po files. Add the new variables
to LOBJS, as well. The rules to build those objects them call a helper
script (sys/makelintstub) and pipe the result to lint. Unfortunately,
dependency handling for these built .ln files is a bit sub-optimal right
now, but that can be fixed later.
 1.46  19-Nov-1996  jtc Add clock_* and ntp_* syscalls
 1.45  11-Nov-1996  mycroft Treat reboot() like a normal system call. From PR 2458.
 1.44  19-Oct-1996  perry Remove spurious clock_* syscalls that got committed last night. They
broke shared libc's very badly. (Okayed by thorpej).
 1.43  19-Oct-1996  jtc Generate syscall functions which can never fail (getgid, getegid, geteuid,
getpid, getppid, ...) with new RSYSCALL_NOERROR macro which has been added
to the SYS.h header of each port.
 1.42  13-Oct-1996  cgd temporary hack until better support for multiple toolchains is in the tree:
build SASM and SPSEUDO on the alpha without the '-k' flag to the assembler,
since -k is a flag specific to NetBSD's hacked assembler.
 1.41  19-Sep-1996  jtc Renamed _getlogin syscall to __getlogin, as _getlogin is the namespace
clean name for getlogin.

Moved _getlogin.o (now __getlogin.o) from PSEUDO to ASM, as this
syscall really does have a return value (although it will "always"
succeed since it should only be called from libc's getlogin())
 1.40  07-Sep-1996  mycroft branches: 1.40.2;
Add a poll(2) man page.
 1.39  07-Sep-1996  mycroft Build a stub for poll(2).
 1.38  09-Aug-1996  mrg reboot(2)/getpgid(2) changes.
 1.37  23-Jun-1996  mycroft Resurrect the setre[ug]id() stubs.
 1.36  23-Apr-1996  mycroft branches: 1.36.4;
Build a stub for futimes().
 1.35  16-Oct-1995  jtc SysV IPC manpages from Frank van der Linden
 1.34  25-Sep-1995  christos Don't write a.out files; breaks parallel makes.
 1.33  27-Feb-1995  cgd fix typo, and the fact that i was using a large xterm
 1.32  27-Feb-1995  cgd clean up merge, fix Id's
 1.31  28-Dec-1994  mycroft Build undelete(2) stub.
 1.30  22-Dec-1994  cgd specify man pages the new way.
 1.29  14-Nov-1994  deraadt ptrace(2) by der mouse; not checked for accuracy
 1.28  20-Oct-1994  cgd make the sysv functions real syscalls.
 1.27  14-Jun-1994  jtc Convert getdtablesize() from syscall to function
 1.26  13-Jun-1994  cgd oops; forgot man page
 1.25  12-Jun-1994  cgd kill async_daemon; it's dead now
 1.24  08-May-1994  cgd oops, forgot to delete
 1.23  07-May-1994  cgd update for present reality. shlib version number bump (last for a bit)
 1.22  07-May-1994  jtc revoke(2) manpage
 1.21  04-May-1994  cgd rlimit stuff, and more. bump shlib major, for rlimit change, and for
safety (now that hackish off_t stuff gone completely.)
 1.20  15-Apr-1994  jtc First cut at a setsid(2) manual page.
 1.19  09-Apr-1994  cgd fix typo; from Thomas Eberhardt
 1.18  06-Apr-1994  cgd M-x shuffle-functions-and-documentation
basically, move things around so documentation is in the correct place,
and bump appropriate functions into the 'compat' section.
 1.17  02-Apr-1994  cgd stubs, to get the padding right. so nasty it's almost unbelievable.
also, kill "special lseek" bogon.
 1.16  31-Mar-1994  mycroft Add lseek.S to SRCS.
 1.15  04-Dec-1993  cgd update for .S and MACHINE_ARCH
 1.14  21-Nov-1993  mycroft MLINKS+=setpgid.2 setpgrp.2
Noticed by Poul-Henning Kamp <phk@data.fls.dk>.
 1.13  14-Nov-1993  cgd Add the System V message queue and semaphore facilities. Implemented
by Daniel Boulet <danny@BouletFermat.ab.ca>
 1.12  12-Oct-1993  cgd adding sysarch() man page
 1.11  07-Oct-1993  cgd make an arch directory in libc, and move all machine dirs into it
 1.10  29-Sep-1993  pk Support for making PIC versions of the system call stubs.
 1.9  19-Sep-1993  brezak Add sysarch() syscall.
 1.8  25-Aug-1993  brezak Add syscall stubs for SYSV Shared Memory.
 1.7  16-Aug-1993  mycroft We shouldn't be diddling POBJS and CLEANFILES. bsd.lib.mk already does the
Right Thing.
 1.6  16-Aug-1993  mycroft For some reason, substitution on variables doesn't seem to work in a target
list. I don't think I want to know why.
 1.5  16-Aug-1993  mycroft Separate rules for .o and .po files. The previous method just caused too
many problems.
 1.4  01-Aug-1993  mycroft Add RCS identifiers.
 1.3  06-May-1993  cgd diffs for uname (posix!) system call, provided by John Brezak <brezak@osf.org>
 1.2  02-Apr-1993  deraadt added: the entire domainanme set. domainmame(1), domainname(2), and a spiffy
man page.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  02-Feb-1998  perry import lite-2
 1.1.1.2  27-Feb-1995  cgd from Lite
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.36.4.1  10-Dec-1996  mycroft From trunk:
Implement setre[ug]id() for real.
 1.40.2.1  19-Sep-1996  jtc snapshot namespace cleanup: gen
 1.53.2.1  01-Jun-1997  mrg the new system call is going to be swapctl(2).
 1.58.2.5  19-Oct-1997  cjs Oops, fix that last commit.
 1.58.2.4  19-Oct-1997  cjs Update to 1.69.
 1.58.2.3  13-Oct-1997  cjs Update to 1.67.
 1.58.2.2  16-Jun-1997  cjs $CPP was being called without $CPPFLAGS, and thus using the wrong include
files when BUILDDIR was set.
 1.58.2.1  15-Jun-1997  cjs Sync with main branch (for swapctl).
 1.71.2.4  09-Nov-1997  lukem sync with trunk (approved by thorpej)
 1.71.2.3  07-Nov-1997  mellon Pull rev 1.75 and 1.76 up from trunk (cgd)
 1.71.2.2  05-Nov-1997  thorpej Update from trunk: fix lint syscall stub generation.
 1.71.2.1  21-Oct-1997  thorpej Pull up from trunk: Fix an oversight in the previous.
 1.91.2.3  08-Oct-2000  he Pull up revision 1.101 (via patch, requested by he):
Introduce the issetugid() system call.
Add manual page.
 1.91.2.2  06-Oct-2000  he Pull up revision 1.100 (requested by sommerfeld):
Introduce the issetugid() system call.
 1.91.2.1  11-Nov-1999  he Pull up revision 1.97 via patch (requested by is):
Do call graph profiling for system calls. Fixes PR#4976.
 1.96.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.102.4.3  24-Apr-2001  he Pull up revision 1.112 (requested by kleink):
Document fchroot(2).
 1.102.4.2  29-Sep-2000  kleink Pull up rev. 1.107 (approved by thorpej):
Add internal name for pipe().
 1.102.4.1  22-Aug-2000  kleink Pull up revs. 1.103-1.104 (approved by thorpej):
Add internal names for brk(), sbrk() and fork().
 1.111.2.19  17-Jan-2003  thorpej Document _lwp_getprivate(2) and _lwp_setprivate(2).
 1.111.2.18  17-Jan-2003  thorpej Add _lwp_getprivate(2) and _lwp_setprivate(2).
 1.111.2.17  15-Jan-2003  wiz Correct MLINKS: _lwp_suspend should be linked to _lwp_continue, not _lwp_create.
 1.111.2.16  14-Jan-2003  thorpej Manual pages for the LWP-related system calls.

XXX Note our current implementation mis-matches these slightly (error
codes are stuff into errno, where they should simply be returned by
these calls). This will be addressed shortly.
 1.111.2.15  08-Jan-2003  thorpej Need an internal name for kill().
 1.111.2.14  11-Nov-2002  nathanw Catch up to -current
 1.111.2.13  18-Oct-2002  nathanw Catch up to -current.
 1.111.2.12  17-Sep-2002  nathanw Catch up to -current.
 1.111.2.11  13-Aug-2002  nathanw Catch up to -current.
 1.111.2.10  02-Aug-2002  nathanw Go back to generating syscall stubs here in libc. For every syscall "foo"
listed in WEAKASM, generate the stub with entry point name "_sys_foo" and
weak aliases named "_foo" and "foo".
(likely to be replaced with a table-based system soon)
 1.111.2.9  22-Mar-2002  nathanw Catch up to -current.
 1.111.2.8  08-Mar-2002  nathanw Catch up to -current.
 1.111.2.7  29-Jan-2002  nathanw Actual syscall generation has moved to libsyscall.
 1.111.2.6  28-Jan-2002  nathanw Catch up to -current.
 1.111.2.5  17-Nov-2001  briggs Remove timer_*.c files and alphabetize/remove dups in the timer_*.S list.
 1.111.2.4  17-Nov-2001  nathanw Timer syscalls exist now.
 1.111.2.3  14-Nov-2001  nathanw Catch up to -current.
 1.111.2.2  08-Oct-2001  nathanw Catch up to -current.
 1.111.2.1  05-Mar-2001  nathanw User-level support for LWPs and scheduler activations.
SVR4-style ucontext code by Klaus Klein.
 1.112.2.1  10-Jul-2001  lukem add kevent.o, kqueue.o, kqueue.2, kevent.2
 1.124.2.1  11-Nov-2002  he Pull up revision 1.128 (requested by thorpej in ticket #803):
Fix some problems using makelintstub as a cross-tool:
o Require that the path to the C preprocessor be passed
in the CPP environment variable, and use it rather than
hard-coding "cpp". Provide the target's preprocessor
when invoking makelintstub.
o Fix some quoting issues found with Solaris 8's XPG4 sh
and sed.
o Do not use "echo -n". The resulting whitespace is not
supposed to be syntactically significant anyway.
 1.156.2.1  20-Mar-2005  tron Pull up revision 1.157 (requested by kleink in ticket #27):
Interpose cancellation points in pollts() and pselect(), bringing us
to libc.so.12.127 and libpthread.so.0.6.
 1.176.4.3  23-Mar-2008  matt sync with HEAD
 1.176.4.2  09-Jan-2008  matt sync with HEAD
 1.176.4.1  06-Nov-2007  matt sync with HEAD
 1.186.4.2  17-Jun-2008  yamt sync with head.
 1.186.4.1  18-May-2008  yamt sync with head.
 1.187.2.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.187.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.196.4.3  09-Nov-2008  christos fix fhstat.
 1.196.4.2  08-Nov-2008  christos time_t changes
 1.196.4.1  26-Oct-2008  christos file Makefile.inc was added on branch christos-time_t on 2008-11-08 21:45:38 +0000
 1.196.2.3  17-Sep-2011  bouyer Pull up following revision(s) (requested by manu in ticket #1658):
sys/rump/include/rump/rump_syscalls.h: revision 1.52 via patch
sys/kern/init_sysent.c: revision 1.257 via patch
sys/rump/include/rump/rumpvnode_if.h: revision 1.12 via patch
lib/libc/sys/Makefile.inc: revision 1.208 via patch
sys/sys/syscallargs.h: revision 1.227 via patch
sys/kern/kern_exec.c: revision 1.317 via patch
sys/rump/librump/rumpkern/rump_syscalls.c: revision 1.74 via patch
include/limits.h: revision 1.30 via patch
sys/kern/syscalls.master: revision 1.251 via patch
sys/sys/vnode_if.h: revision 1.83 via patch
sys/sys/fcntl.h: revision 1.40 via patch
sys/sys/fcntl.h: revision 1.41 via patch
sys/kern/vfs_syscalls.c: revision 1.433 via patch
sys/rump/librump/rumpvfs/rumpvnode_if.c: revision 1.11 via patch
sys/kern/syscalls.c: revision 1.248 via patch
sys/sys/syscall.h: revision 1.244 via patch
lib/libc/sys/link.2: revision 1.25 via patch
include/unistd.h: revision 1.127 via patch
distrib/sets/lists/comp/mi: revision 1.1659 via patch
sys/sys/stat.h: revision 1.61 via patch
First stage of support for Extended API set 2. Most of the think is
unimplemented, except enough of linkat(2) to hardlink to a symlink.
Everything new in headers is guarded #ifdef _INCOMPLETE_XOPEN_C063 since
some software (e.g.: xcvs in our own tree) will assume they can use openat(2)
when AT_FDCWD is defined. _INCOMPLETE_XOPEN_C063 will go away once support
will be completed.
regen
improve comment about AT_* defines: they are not only used by linkat(2)
Add macros to hide OpenGroup extened API set 2 from GNU configure. This
is a temporary workaround until the implementation is completed.
 1.196.2.2  17-Jul-2011  riz Pull up following revision(s) (requested by manu in ticket #1645):
lib/libc/sys/Makefile.inc 1.207 via patch
lib/libc/sys/extattr_get_file.2 patch
lib/libpuffs/dispatcher.c 1.34,1.36 via patch
lib/libpuffs/puffs.c 1.107 via patch
lib/libpuffs/puffs.h 1.115,1.118 via patch
sys/fs/puffs/puffs_msgif.h 1.71,1.76 via patch
sys/fs/puffs/puffs_vfsops.c 1.88 via patch
sys/fs/puffs/puffs_vnops.c 1.145,1.154 via patch
sys/kern/vfs_xattr.c 1.24-1.27 via patch
sys/kern/vnode_if.c 1.87 via patch
sys/sys/Makefile 1.133 via patch
sys/sys/extattr.h 1.6 via patch
sys/sys/vnode_if.h 1.81 via patch
sys/ufs/ffs/ffs_vnops.c patch
sys/ufs/ufs/ufs_extattr.c 1.31,1.34 via patch

* support extended attributes
* bump major due to structure growth
* add some spare space
* remove ABI sillyness
Support extended attributes.
Fix multiple non compliances in our Linux-like extattr API, and make it
public so that it can be used.
Improve a bit listxattr(2). It attemps to list both system and user
extended attributes, and it faled if calling user did not have privilege
for reading system EA. Now we just lise user EA and skip system EA in
reading them is not allowed.
Fix bug introduced in previous commuit: Do not vrele() a vnode we did not
obtained.
Improve UFS1 extended attributes usability
- autocreate attribute backing file for new attributes
- autoload attributes when issuing extattrctl start
- when autoloading attributes, do not display garbage warning when looking
up entries that got ENOENT
Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell the
filesystem in which format extended attribute shall be listed.
There are currently two formats:
- NUL-terminated strings, used for listxattr(2), this is the default.
- one byte length-pprefixed, non NUL-terminated strings, used for
extattr_list_file(2), which is obtanined by setting the
EXTATTR_LIST_PREFIXLEN flag to VOP_LISTEXTATTR(9)
This approach avoid the need for converting the list back and forth, except
in libperfuse, since FUSE uses NUL-terminated strings, and the kernel may
have requested EXTATTR_LIST_PREFIXLEN.
 1.196.2.1  02-Feb-2009  snj Pull up following revision(s) (requested by martin in ticket #374):
lib/libc/sys/Makefile.inc: revision 1.200
__posix_fadvise50() does not use the standard errno behaviour, but returns
the error value itself - so move it from ASM to NOERR. Pointed out by
Nick. I have no idea how/if this ever could have worked, but I would swear
I realy tested it when I last touched it! Fixes the sys/fs/posix_fadvise
regression test.
 1.200.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.204.2.1  20-Jan-2011  bouyer Snapshot of work in progress on a modernised disk quota system:
- new quotactl syscall (versionned for backward compat), which takes
as parameter a path to a mount point, and a prop_dictionary
(in plistref format) describing commands and arguments.
For each command, status and data are returned as a prop_dictionary.
quota commands features will be added to take advantage of this,
exporting quota data or getting quota commands as plists.

- new on disk-format storage (all 64bit wide), integrated to metadata for
ffs (and playing nicely with wapbl).
Quotas are enabled on a ffs filesystem via superblock flags.
tunefs(8) can enable or disable quotas.
On a quota-enabled filesystem, fsck_ffs(8) will track per-uid/gid
block and inode usages, and will check and update quotas in Pass 6.
quota usage and limits are stored in unliked files (one for users,
one for groups)l fsck_ffs(8) will create the files if needed, or
free them if needed. This means that after enabling or disabling
quotas on a filesystem; a fsck_ffs(8) run is required.
quotacheck(8) is not needed any more, on a unclean shutdown
fsck or journal replay will take care of fixing quotas.
newfs(8) can create a ready-to-mount quota-enabled filesystem
(superblock flags are set and quota inodes are created).
Other new features or semantic changes:
- default quota datas, applied to users or groups which don't already
have a quota entry
- per-user/group grace time (instead of a filesystem global one)
- 0 really means "nothing allowed at all", not "no limit".
If you want "no limit", set the limit to UQUAD_MAX (tools will
understand "unlimited" and "-")

A quota file is structured as follow:
it starts with a header, containing a few per-filesystem values,
and the default quota limits.
Quota entries are linked together as a simple list, each entry has a
pointer (as an offset withing the file) to the next.
The header has a pointer to a list of free quota entries, and
a hash table of in-use entries. The size of the hash table depends
on the filesystem block size (header+hash table should fit in the
first block). The file is not sparse and is a multiple of
filesystem block size (when the free quota entry list is empty a new
filesystem block is allocated). quota entries to not cross
filesystem block boundaries.

In memory, the kernel keeps a cache of recently used quota entries
as a reference to the block number, and offset withing the block.
The quota entry itself is keept in the buf cache.

fsck_ffs(8), tunefs(8) and newfs(8) supports are completed (with
related atf tests :)
The kernel can update disk usage and report it via quotactl(2).

Todo: enforce quotas limits (limits are not checked by kernel yet)
update repquota, edquota and rpc.rquotad to the new world
implement compat_50_quotactl ioctl.
update quotactl(2) man page

fsck_ffs required fixes so that allocating new blocks or inodes will
properly update the superblock and cg sumaries. This was not an issue up
to now because superblock and cg sumaries check happened last, but now
allocations or frees can happen in pass 6.
 1.209.2.4  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.209.2.3  16-Jan-2013  yamt sync with (a bit old) head
 1.209.2.2  30-Oct-2012  yamt sync with head
 1.209.2.1  17-Apr-2012  yamt sync with head
 1.216.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.216.2.2  23-Jun-2013  tls resync from head
 1.216.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.223.2.1  10-Aug-2014  tls Rebase.
 1.224.2.1  08-Feb-2015  snj Pull up following revision(s) (requested by christos in ticket #472):
lib/libc/include/namespace.h: revision 1.175
lib/libc/sys/Makefile.inc: revision 1.225, 1.227
lib/libc/sys/fdiscard.2: revision 1.3
lib/libc/sys/fdiscard.c: revision 1.1
lib/libc/sys/posix_fallocate.c: revision 1.1
Fix argument paddiing for posix_fallocate and fdiscard with gcc 1.x
--
PR/49617: Kirk Russell: posix_fallocate() should be returning an error on
failure, without setting errno, so make it PSEUDO_NOERROR, by adding a new
category GLUENOERR.
--
PR/49617: Kirk Russell: Describe the posix_fallocate return values correctly.
 1.231.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.231.2.2  26-Apr-2017  pgoyette Sync with HEAD
 1.231.2.1  20-Mar-2017  pgoyette Sync with HEAD
 1.238.4.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.238.4.1  10-Jun-2019  christos Sync with HEAD
 1.238.2.2  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.238.2.1  28-Jul-2018  pgoyette Sync with HEAD
 1.240.2.1  05-Oct-2021  martin Pull up following revision(s) (requested by christos in ticket #1355):

lib/libpthread/pthread_cancelstub.c: revision 1.39
lib/libc/sys/Makefile.inc: revision 1.247
lib/libpthread/pthread_cancelstub.c: revision 1.40

PR/56424: Clay Mayers: recvfrom() is not a cancelation point as documented
in pthread_setcanceltype.3

remove parameter names from decls.

RSS XML Feed