opnsense-src/lib/libc/gen
Kyle Evans 702423e864 libc: gen: refactor execvPe() for readability
The current incarnation of execvPe() is a bit messy, and it can be
rather difficult to reason about whether we're actually doing the right
thing with our errors. We have two cases in which we may enter the loop:

1.) We have a name that has no slashes in it, and we enter the loop
    normally through our strsep() logic to process $PATH

2.) We have a name with at least one slash, in which case we jump into
    the middle of the loop then bail after precisely the one iteration
    if we failed

Both paths will exit the loop if we failed, either via jumping to the
`done` label to preserve an errno or into the path that clobbers errno.
Clobbering errno for case #2 above would seem to be wrong, as we did not
actually search -- this would seem to be what POSIX expects, as well,
based on expectations of the conformance test suite.

Simplify reasoning about the two paths by splitting out an execvPe_prog
that does the execve(2) call specifically, and returns based on whether
the error would be fatal in a PATH search or not.  For the
relative/absolute case, we can just ignore the return value and keep
errno intact.  The search case gets simplified to return early if
we hit a fatal error, or continue until the end and clobber errno if
we did not find a suitable candidate.

Another posix_spawnp() test is added to confirm that we didn't break our
EACCES behavior in the process.

Reviewed by:	des, markj
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D51629
2025-08-02 23:15:03 -05:00
..
__pthread_mutex_init_calloc_cb_stub.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
__xuname.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
_once_stub.c libsys: remove usage of pthread_once and _once_stub 2024-02-21 02:26:11 +02:00
_pthread_stubs.c libc: Give __thr_jtable protected visibility 2025-05-19 14:29:12 +00:00
_rand48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
_spinlock_stub.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
_thread_init.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
aio_read2.c aio_read2/aio_write2: add AIO_OP2_VECTORED 2024-02-11 03:54:11 +02:00
aio_write2.c aio_read2/aio_write2: add AIO_OP2_VECTORED 2024-02-11 03:54:11 +02:00
alarm.3 (u)alarm.3: Improve readability of setitmer(2) restrictions 2025-04-10 11:44:39 +02:00
alarm.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
arc4random-compat.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
arc4random.3 lib/libc/gen: use Lemire's algorithm for arc4random_uniform(). 2024-12-02 11:41:11 +01:00
arc4random.c include: ssp: fortify <stdlib.h> 2024-07-13 00:16:24 -05:00
arc4random.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
arc4random_uniform.c lib/libc/gen: use Lemire's algorithm for arc4random_uniform(). 2024-12-02 11:41:11 +01:00
assert.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
basename.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
basename.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
basename_compat.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
cap_rights_get.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cap_sandboxed.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cap_sandboxed.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
check_utility_compat.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
check_utility_compat.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
clock.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
clock.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
clock_getcpuclockid.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
clock_getcpuclockid.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
closedir.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
confstr.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
confstr.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
cpuset_alloc.c Make CPU_SET macros compliant with other implementations 2021-12-30 12:20:32 +01:00
cpuset_free.c Make CPU_SET macros compliant with other implementations 2021-12-30 12:20:32 +01:00
crypt.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ctermid.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ctermid.c include: ssp: round out fortification of current set of headers 2024-07-13 00:16:24 -05:00
daemon.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
daemon.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
devname-compat11.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
devname.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
devname.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
directory.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
dirfd.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
dirname.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
dirname.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
dirname_compat.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
disklabel.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
dl_iterate_phdr.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
dladdr.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
dlfcn.c libc: Fix dl_iterate_phdr's dlpi_tls_data for PowerPC and RISC-V 2025-05-06 23:14:50 +01:00
dlinfo.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
dllockinit.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
dlopen.3 dlopen(3): mention fdlopen for capsicum(4) 2024-05-07 09:09:59 -04:00
drand48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
dup3.3 Add manpages for O_CLOFORK flag and others 2025-07-06 23:08:41 +00:00
dup3.c kern: Make dup3() support O_CLOFORK 2025-07-06 23:08:37 +00:00
elf_utils.c libc,libthr: Remove __pthread_distribute_static_tls 2025-07-10 20:00:28 +01:00
erand48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
err.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
err.c libc: only append exterr herald and text if exterr was recorded 2025-07-08 18:55:54 +03:00
errlst.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
eventfd.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
exec.3 manuals: Misc syntax fixes 2024-10-07 15:41:14 -03:00
exec.c libc: gen: refactor execvPe() for readability 2025-08-02 23:15:03 -05:00
exect.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
fdevname.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
fdopendir.c lib: Fix calls that naively set F_SETFD. 2025-07-17 17:00:32 +00:00
feature_present.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
feature_present.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
fmtcheck.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fmtcheck.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
fmtmsg.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fmtmsg.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
fnmatch.3 fnmatch: Add support for collating symbols, equivalence classes, and character classes 2025-04-10 11:44:28 +02:00
fnmatch.c libc: fnmatch: Unwrap comma operator assignments 2025-04-10 14:09:35 +02:00
fpclassify.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fpclassify.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
frexp.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
frexp.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
fstab.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ftok.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
ftok.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
fts-compat.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
fts-compat.h lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
fts-compat11.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
fts-compat11.h lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
fts.3 fts: Fix option list indentation. 2025-07-09 15:20:08 +02:00
fts.c fts: Fix misindented line. 2025-05-08 20:01:55 +02:00
ftw-compat11.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
ftw.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
ftw.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
gen-compat.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
gen-private.h opendir, readdir, telldir: Use the correct types. 2025-07-09 22:34:22 +02:00
getbootfile.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getbootfile.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getbsize.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getbsize.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getcap.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getcap.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getcontext.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getcwd.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getcwd.c Prepare the system for _FORTIFY_SOURCE 2024-05-13 00:23:50 -05:00
getdiskbyname.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getdomainname.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getdomainname.c include: ssp: round out fortification of current set of headers 2024-07-13 00:16:24 -05:00
getentropy.3 libc: Fix getentropy POSIX 2024 conformance issues 2025-01-17 13:23:23 -05:00
getentropy.c libc: Fix getentropy POSIX 2024 conformance issues 2025-01-17 13:23:23 -05:00
getfsent.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getgrent.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getgrent.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
getgrouplist.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getgrouplist.c include: ssp: round out fortification of current set of headers 2024-07-13 00:16:24 -05:00
gethostname.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
gethostname.c include: ssp: round out fortification of current set of headers 2024-07-13 00:16:24 -05:00
getloadavg.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getloadavg.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getlogin.c include: ssp: round out fortification of current set of headers 2024-07-13 00:16:24 -05:00
getmntinfo-compat11.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getmntinfo.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getmntinfo.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getnetgrent.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getnetgrent.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getosreldate.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getosreldate.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getpass.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getpeereid.3 getpeerid.3: Clarify the 's' argument 2023-11-18 10:02:12 +01:00
getpeereid.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
getprogname.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getprogname.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
getpwent.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getpwent.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
getttyent.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getttyent.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getusershell.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getusershell.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getutxent.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getutxent.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
getvfsbyname.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
getvfsbyname.c man filesystems: fix more xrefs after move to s4 2024-06-27 18:32:05 -06:00
glob-compat11.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
glob-compat11.h lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
glob.3 glob.3: Fix punctuation mistakes 2025-06-23 11:34:45 +02:00
glob.c glob: Delete trailing whitespace in 'struct glob_limit' definition 2025-06-23 11:58:41 +02:00
initgroups.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
initgroups.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
inotify.c libc: Add inotify support 2025-07-04 14:42:33 +00:00
isatty.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
isgreater.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
isinf.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
isnan.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
jrand48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
kqueue1.c Change kqueue1() to be compatible with NetBSD 2023-04-05 06:29:49 +03:00
lcong48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
ldexp.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ldexp.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
libc_dlopen.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
libc_interposing_table.c libc,libthr: Remove __pthread_distribute_static_tls 2025-07-10 20:00:28 +01:00
lrand48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
makecontext.3 manuals: Fix "missing end of block" errors 2024-10-07 15:40:58 -03:00
Makefile.inc libc: Add inotify support 2025-07-04 14:42:33 +00:00
memalign.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
memfd_create.c memfd_create: don't allocate heap memory 2023-11-28 17:09:27 +00:00
modf.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
modf.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
mrand48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
nftw-compat11.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
nftw.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
nice.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
nice.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
nlist.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
nlist.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
nrand48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
opendir.c opendir, fdopendir: Add tests, clean up. 2025-07-08 21:41:21 +02:00
opendir2.c opendir, readdir, telldir: Use the correct types. 2025-07-09 22:34:22 +02:00
pause.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
pause.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
pmadvise.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
popen.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
popen.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
posix_spawn.3 manuals: Fix "unusual .Xr" warnings with a script 2024-10-15 17:18:14 -03:00
posix_spawn.c libc: treat execvpe as a week symbol 2025-04-22 14:12:26 -04:00
posix_spawn_file_actions_addopen.3 Fix "version introduced" in numerous manual pages 2024-01-08 11:35:16 -05:00
posix_spawn_file_actions_init.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
posix_spawnattr_getflags.3 posix_spawn(3): document POSIX_SPAWN_DISABLE_ASLR_NP 2024-03-04 03:00:39 +02:00
posix_spawnattr_getpgroup.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
posix_spawnattr_getschedparam.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
posix_spawnattr_getschedpolicy.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
posix_spawnattr_getsigdefault.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
posix_spawnattr_getsigmask.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
posix_spawnattr_init.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
psignal.3 Add the POSIX sig2str(3) & str2sig(3) calls 2025-06-11 17:16:22 -06:00
psignal.c Add POSIX psiginfo(3) call 2025-04-17 18:19:44 +03:00
pututxline.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
pw_scan.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
pw_scan.h lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
raise.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
raise.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
rand48.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
rand48.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
readdir-compat11.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
readdir.c libc: Deprecate readdir_r() 2025-08-02 01:11:56 +02:00
readpassphrase.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
readpassphrase.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
rewinddir.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
rtld_get_var.3 Fix incorrect version introduced in manual pages 2025-05-04 22:44:43 -06:00
scandir-compat11.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
scandir.3 scandir: Propagate errors from readdir(). 2025-06-26 09:37:00 +02:00
scandir.c libc: Finish removing fscandir{,_b}(). 2025-07-09 21:17:06 +02:00
scandir_b.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
sched_getaffinity.c cpuset: Add compat shim to the sched_affinity functions 2023-02-15 12:23:15 +03:00
sched_setaffinity.c cpuset: Add compat shim to the sched_affinity functions 2023-02-15 12:23:15 +03:00
seed48.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
seekdir.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
sem.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
sem_destroy.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sem_getvalue.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sem_init.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sem_new.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
sem_open.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sem_post.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sem_timedwait.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sem_wait.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
semctl.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
setdomainname.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
sethostname.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
setjmp.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
setjmperr.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
setmode.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
setmode.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
setproctitle.3 manuals: Fix "unusual .Xr" warnings with a script 2024-10-15 17:18:14 -03:00
setproctitle.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
setprogname.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
sig2str.c include: ssp: fortify <signal.h> 2025-06-11 17:16:22 -06:00
siginterrupt.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
siginterrupt.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
siglist.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
signal.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
signal.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
sigsetops.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
sigsetops.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
sleep.c libc: INTERPOS_SYS macro for interposed syscalls 2024-04-16 17:48:08 +01:00
srand48.c
statvfs.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
statvfs.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
stringlist.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
stringlist.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
strtofflags.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
strtofflags.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
Symbol.map libc,libthr: Remove __pthread_distribute_static_tls 2025-07-10 20:00:28 +01:00
sysconf.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
sysconf.c Add POSIX NSIG_MAX & _SC_NSIG 2025-06-11 17:16:20 -06:00
sysctl.3 sysctl.3: Reference kinfo_getvmmap(3), kinfo_getfile(3), and kinfo_getproc(3) 2025-08-01 17:15:13 +02:00
sysctl.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
sysctlbyname.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
sysctlnametomib.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
syslog.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
syslog.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
tcgetpgrp.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
tcgetsid.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
tcgetwinsize.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
tcsendbreak.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
tcsetattr.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
tcsetpgrp.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
tcsetsid.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
telldir.c opendir, readdir, telldir: Use the correct types. 2025-07-09 22:34:22 +02:00
telldir.h opendir, readdir, telldir: Use the correct types. 2025-07-09 22:34:22 +02:00
termios.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
time.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
time.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
times.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
times.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
timespec_get.3 libc: Add timespec_getres(3) as per C23. 2023-08-24 21:31:54 +00:00
timespec_get.c libc: Add timespec_getres(3) as per C23. 2023-08-24 21:31:54 +00:00
timespec_getres.3 libc: Add timespec_getres(3) as per C23. 2023-08-24 21:31:54 +00:00
timespec_getres.c libc: Add timespec_getres(3) as per C23. 2023-08-24 21:31:54 +00:00
timezone.c timezone: Move to the XSI/POSIX definition for timezone. 2024-03-11 22:19:31 -06:00
tls.c tls: Introduce struct dtv and struct dtv_slot 2025-05-07 20:20:26 +01:00
trivial-getcontextx.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
ttyname.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ttyname.c include: ssp: round out fortification of current set of headers 2024-07-13 00:16:24 -05:00
ttyslot.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ualarm.3 (u)alarm.3: Improve readability of setitmer(2) restrictions 2025-04-10 11:44:39 +02:00
ualarm.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
ucontext.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
uexterr_format.c libc: only append exterr herald and text if exterr was recorded 2025-07-08 18:55:54 +03:00
uexterr_gettext.c C runtime: add kernel version guards on exterrctl 2025-06-04 19:09:19 +01:00
ulimit.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
ulimit.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
uname.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
uname.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
unvis-compat.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
usleep.c libc: INTERPOS_SYS macro for interposed syscalls 2024-04-16 17:48:08 +01:00
utime.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
utime.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
utxdb.c libc: Purge unneeded cdefs.h 2023-11-01 16:44:30 -06:00
utxdb.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
valloc.3 lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
valloc.c lib: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
wordexp.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
wordexp.c wordexp(3): Handle ECHILD from waitpid 2025-07-08 23:27:33 +02:00