cosmopolitan/libc/calls
Justine Tunney 4778cd4d27
Fix bugs in termios library and cleanup code
This change fixes an issue with the tcflow() magic numbers that was
causing bash to freeze up on Linux. While auditing termios polyfills,
several other issues were identified with XNU/BSD compatibility.

Out of an abundance of caution this change undefines as much surface
area from libc/calls/struct/termios.h as possible, so that autoconf
scripts are less likely to detect non-POSIX teletypewriter APIs that
haven't been polyfilled by Cosmopolitan.

This is a *breaking change* for your static archives in /opt/cosmos if
you use the cosmocc toolchain. That's because this change disables the
ioctl() undiamonding trick for code outside the monorepo, specifically
because it'll lead to brittle ABI breakages like this. If you're using
the cosmocc toolchain, you'll need to rebuild libraries like ncurses,
readline, etc. Yes diamonds cause bloat. To work around that, consider
using tcgetwinsize() instead of ioctl(TIOCGWINSZ) since it'll help you
avoid pulling every single ioctl-related polyfill into the linkage.

The cosmocc script was specifying -DNDEBUG for some reason. It's fixed.
2023-06-14 19:30:52 -07:00
..
struct Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
typedef Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
__clock_gettime.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
__sig.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
__sig2.c Introduce native support for MacOS ARM64 2023-05-20 04:17:03 -07:00
__sig_mask.c Make further progress on non-x86 support 2023-05-10 04:20:47 -07:00
__sig_pending.c Make further progress on non-x86 support 2023-05-10 04:20:47 -07:00
_ptsname.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
access.c Improve system call documentation 2022-10-02 09:15:46 -07:00
alarm.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
asan.internal.h Make further progress on non-x86 support 2023-05-10 04:20:47 -07:00
blockcancel.internal.h Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
blocksigs.internal.h Make futexes cancellable by pthreads 2022-11-04 18:36:34 -07:00
calls.h Remove some problematic APIs 2023-06-08 06:12:26 -07:00
calls.mk Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
cfmakeraw.c Undiamond Python headers 2021-08-12 14:07:40 -07:00
cfspeed.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
chdir-nt.c Make important improvements 2022-09-14 22:39:08 -07:00
chdir.c Make more threading improvements 2022-11-01 23:28:26 -07:00
chmod.c Make numerous improvements 2021-09-28 01:52:34 -07:00
chown.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
chroot.c Make more threading improvements 2022-11-01 23:28:26 -07:00
clock.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
clock_getres.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
clock_gettime-m1.c Get threads working well on MacOS Arm64 2023-06-04 01:57:10 -07:00
clock_gettime-mono.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
clock_gettime-nt.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
clock_gettime-xnu.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
clock_gettime.c Get threads working well on MacOS Arm64 2023-06-04 01:57:10 -07:00
clock_gettime.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
clock_nanosleep-nt.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
clock_nanosleep-openbsd.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
clock_nanosleep-xnu.c Get threads working well on MacOS Arm64 2023-06-04 01:57:10 -07:00
clock_nanosleep.c Fix select() on Linux 2023-02-23 06:55:05 -08:00
close-nt.c Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
close.c Make fixes and improvements 2022-10-19 07:19:19 -07:00
close_range.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
closefrom.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
commandv.c Avoid matching directories when searching PATH (#717) 2023-03-06 11:15:32 -05:00
copy_file_range.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
copyfile.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
copyfile.h Pay off more technical debt 2022-09-12 23:36:56 -07:00
cp.internal.h Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
CPU_AND.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_COUNT.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_EQUAL.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_OR.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_XOR.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_ZERO.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
creat.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
createfileflags.c Improve synchronization 2022-04-15 15:31:55 -07:00
createpipename.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
diagnose_syscall.S Perform more low-level code cleanup 2022-09-09 04:07:08 -07:00
dprintf.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
dprintf.h Get GCC to mostly build with Cosmo 2023-06-09 06:41:34 -07:00
dtime.c Make improvements 2023-06-03 08:12:22 -07:00
dup-nt.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
dup.c Improve system call documentation 2022-10-02 09:15:46 -07:00
dup2.c Implement crash reporting for AARCH64 2023-05-12 05:47:54 -07:00
dup3-sysv.c Implement crash reporting for AARCH64 2023-05-12 05:47:54 -07:00
dup3.c Improve system call documentation 2022-10-02 09:15:46 -07:00
eaccess.c Add more missing libc functionality 2022-08-06 10:50:51 -07:00
euidaccess.c Add more missing libc functionality 2022-08-06 10:50:51 -07:00
execl.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execle.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execlp.c Make improvements 2022-04-28 09:57:07 -07:00
execv.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execve-nt.greg.c Get GCC to mostly build with Cosmo 2023-06-09 06:41:34 -07:00
execve-sysv.c Make improvements 2023-06-03 08:12:22 -07:00
execve-sysv.internal.h Add APE fexecve() support (#733) 2023-02-22 18:58:23 -08:00
execve.c Introduce native support for MacOS ARM64 2023-05-20 04:17:03 -07:00
execvp.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execvpe.c Make more threading improvements 2022-11-01 23:28:26 -07:00
faccessat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
faccessat.c Make more threading improvements 2022-11-01 23:28:26 -07:00
fadvise-nt.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
fadvise.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
fchdir-nt.c Make important improvements 2022-09-14 22:39:08 -07:00
fchdir.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmod.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmodat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmodat.c Make more threading improvements 2022-11-01 23:28:26 -07:00
fchown.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
fchownat.c Make more threading improvements 2022-11-01 23:28:26 -07:00
fcntl-nt.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
fcntl-sysv.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
fcntl.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
fdatasync-nt.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
fdatasync.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
fexecve.c Add memfd fexecve zipos support (#752) 2023-03-29 18:16:46 -07:00
fileexists.c Make more threading improvements 2022-11-01 23:28:26 -07:00
fixenotdir.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fixupnewfd.c Make important improvements 2022-09-14 22:39:08 -07:00
flock-nt.c Make important improvements 2022-09-14 22:39:08 -07:00
flock.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
fmodl.S Get --ftrace working on aarch64 2023-06-05 23:35:31 -07:00
fstat-metal.c Make numerous improvements 2021-09-28 01:52:34 -07:00
fstat-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fstat-sysv.c Make more progress on aarch64 2023-05-10 04:20:47 -07:00
fstat.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
fstatat-nt.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
fstatat-sysv.c Make more progress on aarch64 2023-05-10 04:20:47 -07:00
fstatat.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
fstatfs-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fstatfs.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
fstatvfs.c Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
fsync.c Fix quick typo in fsync() --ftrace 2023-03-30 16:17:40 -07:00
ftok.c Add MODE=optlinux build mode (#141) 2021-10-14 19:36:49 -07:00
ftruncate-nt.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
ftruncate.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
futimens.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
futimes.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
g_sighandrvas.c Put finishing touches on turfwar http server 2022-10-03 21:50:00 -07:00
getcontext.S Get GCC to mostly build with Cosmo 2023-06-09 06:41:34 -07:00
getcpucount.c Make more ML improvements 2023-05-16 08:07:23 -07:00
getcwd-nt.greg.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getcwd-xnu.greg.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
getcwd.greg.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
getdomainname-linux.c Improve quality of uname/gethostname/getdomainname 2022-09-03 20:20:40 -07:00
getdomainname.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
getdtablesize.c Add imaxdiv, wcscoll, getdtablesize (#639) 2022-10-05 07:14:58 -07:00
getegid.c Add getgroups and setgroups (#619) 2022-09-18 02:48:53 -07:00
geteuid.c Add getgroups and setgroups (#619) 2022-09-18 02:48:53 -07:00
getgroups.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
gethostname-bsd.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
gethostname-linux.c Improve quality of uname/gethostname/getdomainname 2022-09-03 20:20:40 -07:00
gethostname-nt.c Improve quality of uname/gethostname/getdomainname 2022-09-03 20:20:40 -07:00
gethostname.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
getitimer.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
getloadavg-nt.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
getloadavg.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
getntsyspath.S Make build hermetic without shell scripts 2022-05-25 13:55:57 -07:00
getpgid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
getpgrp.c Implement crash reporting for AARCH64 2023-05-12 05:47:54 -07:00
getppid-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getppid.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
getpriority-nt.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
getpriority.c Validate privileged code relationships 2023-06-08 04:38:06 -07:00
getprocaddressmodule.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getprogramexecutablename.greg.c Work towards zipos / open(argv[0]) on metal (#667) 2022-11-06 00:29:47 -07:00
getresgid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
getresuid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
getrlimit.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
getrusage-nt.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
getrusage-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
getrusage.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
getsid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
gettemppatha-flunk.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
gettimeofday-m1.c Get threads working well on MacOS Arm64 2023-06-04 01:57:10 -07:00
gettimeofday-metal.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
gettimeofday-nt.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
gettimeofday-xnu.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
gettimeofday.c Get threads working well on MacOS Arm64 2023-06-04 01:57:10 -07:00
getuid.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
grantpt.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
groups.internal.h Add getgroups and setgroups (#619) 2022-09-18 02:48:53 -07:00
internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
interrupts-nt.c Get LIBC_MEM and LIBC_STDIO building with aarch64 2023-05-10 04:20:47 -07:00
ioctl.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
ioctl.h Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
ioctl_default.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ioctl_fioclex.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
ioctl_siocgifconf-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
ioctl_siocgifconf.c Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
iovecsize.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
ipc.h Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
isatty-metal.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
isatty-nt.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
isatty.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
ischardev.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
isdirectory-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
isdirectory.c Make more threading improvements 2022-11-01 23:28:26 -07:00
isexecutable.c Fix some win32 definitions 2022-03-22 19:54:36 -07:00
islinux.c Validate privileged code relationships 2023-06-08 04:38:06 -07:00
isptmaster.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
isregularfile-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
isregularfile.c Make more threading improvements 2022-11-01 23:28:26 -07:00
issetugid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
issymlink-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
issymlink.c Make more threading improvements 2022-11-01 23:28:26 -07:00
kemptyfd.c Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
kill-nt.c Fix quick regression due to header line 2023-03-28 23:35:09 -07:00
kill.c Make fixes and improvements 2022-10-19 07:19:19 -07:00
killpg.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
kntsystemdirectory.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
kntwindowsdirectory.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
ktmppath.c Unbloat the build 2022-08-11 00:15:29 -07:00
landlock.h Run clang-format on most sources 2023-04-27 05:44:32 -07:00
landlock_add_rule.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
landlock_create_ruleset.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
landlock_restrict_self.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
lchmod.c Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
lchown.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
link.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
linkat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
linkat.c Make more threading improvements 2022-11-01 23:28:26 -07:00
lseek-nt.c Make Windows fcntl() and lseek() fixes (#668) 2022-11-01 23:14:14 -07:00
lseek.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
lstat.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
lutimes.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
madvise-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
madvise.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
major.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
makedev.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
makedev.h Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
makedirs.c Further improve cocmd interpreter 2022-10-12 10:44:54 -07:00
memfd_create.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
metaflock.c Add more apis to redbean unix module 2022-08-16 23:23:34 -07:00
metalfile.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
metalfile.internal.h Work towards zipos / open(argv[0]) on metal (#667) 2022-11-06 00:29:47 -07:00
metalfile_init.S Work towards zipos / open(argv[0]) on metal (#667) 2022-11-06 00:29:47 -07:00
mincore.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
minor.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
mkdir.c Further improve cocmd interpreter 2022-10-12 10:44:54 -07:00
mkdirat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
mkdirat.c Make more threading improvements 2022-11-01 23:28:26 -07:00
mkfifo.c Implement crash reporting for AARCH64 2023-05-12 05:47:54 -07:00
mknod.c Implement crash reporting for AARCH64 2023-05-12 05:47:54 -07:00
mkntcmdline.c Support argv[0] munging on Windows 2023-01-03 03:22:40 -08:00
mkntenvblock.c Perform some code cleanup 2023-05-15 16:32:10 -07:00
mkntpath.c Fix nt path format check (#744) 2023-02-22 18:42:13 -08:00
mkntpathat.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
mlock.c Add mlock() and munlock() 2023-04-27 10:42:52 -07:00
mount.c Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
mount.h Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
mremap-sysv.greg.c Validate privileged code relationships 2023-06-08 04:38:06 -07:00
munlock.c Add mlock() and munlock() 2023-04-27 10:42:52 -07:00
munmap-metal.c [metal] Clean up code for getting pointer to struct mman (#828) 2023-06-11 10:32:39 -07:00
munmap-sysv.c Make more threading improvements 2022-11-01 23:28:26 -07:00
nanos.c Support Linux binfmt_misc and APE loading on Apple 2022-05-21 09:28:25 -07:00
nanos.internal.h Fix the build 2022-09-10 19:57:50 -07:00
nanosleep-xnu.c Get threads working well on MacOS Arm64 2023-06-04 01:57:10 -07:00
nanosleep.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
netbsdtramp.S Always initialize thread local storage 2022-07-19 00:21:46 -07:00
nice.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
nosync.c Make some systemic improvements 2022-05-18 16:52:36 -07:00
now.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
ntaccesscheck.c Add blog link for access() impl inspiration 2023-02-23 06:54:53 -08:00
ntcontext2linux.c Work on magic numbers for aarch64 2023-05-10 04:20:48 -07:00
ntmagicpaths.c Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
ntmagicpaths.inc Initial import 2020-06-15 07:18:57 -07:00
ntmagicpaths.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
ntreturn.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ntsetprivilege.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ntspawn.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
ntspawn.h Support argv[0] munging on Windows 2023-01-03 03:22:40 -08:00
offset2overlap.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
oldbench.c Make improvements 2023-06-03 08:12:22 -07:00
onntconsoleevent.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
onntconsoleevent_init.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
onwincrash.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
open-nt.c Make fixes and improvements 2022-10-19 07:19:19 -07:00
open.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
openat-metal.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
openat-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
openat.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
openbsd.internal.h Pay off more technical debt 2022-09-12 23:36:56 -07:00
openpty.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
parsepromises.c Get TEST_LIBC_STR passing on AARCH64 2023-05-12 18:09:23 -07:00
pause-nt.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
pause.c Implement crash reporting for AARCH64 2023-05-12 05:47:54 -07:00
pipe-nt.c Make fixes and improvements 2022-10-19 07:19:19 -07:00
pipe-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
pipe.c Get repository to build with GCC 11 2022-09-13 04:14:55 -07:00
pipe2-sysv.c Make important improvements 2022-09-14 22:39:08 -07:00
pipe2.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
pivot_root.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
pledge-linux.c Introduce #include <cosmo.h> to toolchain users 2023-06-09 18:03:05 -07:00
pledge.c Make improvements 2023-06-03 08:12:22 -07:00
pledge.h Refactor pledge() to be more configurable 2022-08-11 11:35:30 -07:00
pledge.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
poll-metal.c Make more code aarch64 friendly 2023-05-10 04:20:46 -07:00
poll-nt.c Fix bugs in cosmocc toolchain 2023-06-08 23:44:03 -07:00
poll-sysv.c Implement crash reporting for AARCH64 2023-05-12 05:47:54 -07:00
poll.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
posix_fadvise.c Disable linker map generation and improve tinyness 2023-06-09 03:29:26 -07:00
posix_madvise.c Add *NSYNC unit test suite 2022-10-07 21:34:15 -07:00
posix_openpt.c Make improvements 2023-06-03 08:12:22 -07:00
ppoll.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
prctl.c Validate privileged code relationships 2023-06-08 04:38:06 -07:00
prctl.internal.h Make improvements 2023-06-03 08:12:22 -07:00
pread.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
preadv.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
printfds.c Make pthread mutexes more scalable 2022-09-05 15:57:51 -07:00
program_invocation_short_name.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
ptrace.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
ptsname.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
ptsname_r.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
pwrite.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
pwritev.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
raise.c Get TEST_LIBC_CALLS passing on AARCH64 2023-05-13 02:41:41 -07:00
read-nt.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
read.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
readansi.c Fix bugs in cosmocc toolchain 2023-06-08 23:44:03 -07:00
readlink.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
readlinkat-nt.c Increase stack size to 128k and guard size to 16k 2022-12-18 22:58:29 -08:00
readlinkat.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
readv-metal.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
readv-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
readv-serial.c Make more code aarch64 friendly 2023-05-10 04:20:46 -07:00
readv.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
realpath.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
reboot.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
releasefd.c Make fixes and improvements 2022-10-19 07:19:19 -07:00
remove.c Fix more things 2022-03-24 00:12:29 -07:00
rename.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
renameat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
renameat.c Make more threading improvements 2022-11-01 23:28:26 -07:00
reservefd.c Make more threading improvements 2022-11-01 23:28:26 -07:00
restoretty.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
rmdir.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
rusage2linux.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
rusage_add.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
samplepids.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
sched-sysv.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
sched_get_priority_max.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
sched_get_priority_min.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
sched_getaffinity.c Improve the affinity system calls 2022-10-06 15:08:29 -07:00
sched_getparam.c Make important improvements 2022-09-14 22:39:08 -07:00
sched_getscheduler-netbsd.c Make important improvements 2022-09-14 22:39:08 -07:00
sched_getscheduler.c Make important improvements 2022-09-14 22:39:08 -07:00
sched_rr_get_interval.c Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
sched_setaffinity.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
sched_setparam.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
sched_setscheduler.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
seccomp.c Introduce #include <cosmo.h> to toolchain users 2023-06-09 18:03:05 -07:00
sedebug.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setcontext.S Fix bugs in cosmocc toolchain 2023-06-08 23:44:03 -07:00
setegid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
seteuid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setfsgid.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setfsuid.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setgid.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setgroups.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
setitimer-nt.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
setitimer.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
setpgid.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
setpgrp.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
setpriority-nt.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setpriority.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setregid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
setresgid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
setresuid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
setreuid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
setrlimit.c Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
setsid.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
setuid.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
sig.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
sigaction.c Introduce native support for MacOS ARM64 2023-05-20 04:17:03 -07:00
sigaltstack.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
sigblockall.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
sigchld-nt.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
sigcount.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
sigenter-freebsd.c Introduce native support for MacOS ARM64 2023-05-20 04:17:03 -07:00
sigenter-linux.c Fix MODE=aarch64 build 2023-06-08 05:17:37 -07:00
sigenter-netbsd.c Introduce native support for MacOS ARM64 2023-05-20 04:17:03 -07:00
sigenter-openbsd.c Introduce native support for MacOS ARM64 2023-05-20 04:17:03 -07:00
sigenter-xnu.c Fix MODE=aarch64 build 2023-06-08 05:17:37 -07:00
sigignore.c Make numerous improvements 2021-09-28 01:52:34 -07:00
siginfo2cosmo.c Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
siginterrupt.c Improve Libc by making Python work even better 2021-08-18 22:16:23 -07:00
siglock.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
siglock_obj.c Make system() and popen() thread safe 2022-10-13 15:54:05 -07:00
signal.c Improve signals and memory protection 2022-04-12 22:11:00 -07:00
sigpending.c Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
sigprocmask-sysv.c Make fixes and improvements 2022-10-19 07:19:19 -07:00
sigprocmask.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
sigqueue.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
sigsetmask.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
sigsuspend.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
sigtimedwait.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
sigtimedwait.h Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
sigtimedwait.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
sigwaitinfo.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
sigwinch-nt.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
sleep.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
splice.c Improve system call documentation 2022-10-02 09:15:46 -07:00
stat.c Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
stat2cosmo.c Make more progress on aarch64 2023-05-10 04:20:47 -07:00
state.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
statfs-nt.c Polyfill statfs() and fstatfs() on Windows 2022-08-17 19:01:51 -07:00
statfs.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
statfs2cosmo.c Make some system call fixes 2023-02-12 22:16:34 -08:00
statfs2statvfs.c Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
statvfs.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
symlink.c Support dirfd relative iops on Windows 2021-01-30 01:49:43 -08:00
symlinkat-nt.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
symlinkat.c Make more threading improvements 2022-11-01 23:28:26 -07:00
sync-nt.c Remove a bunch of stuff that shouldn't be in docs 2022-09-20 02:57:46 -07:00
sync.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
sync_file_range.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sys_ptrace.c Make more threading improvements 2022-11-01 23:28:26 -07:00
syscall-nt.internal.h Run clang-format on most sources 2023-04-27 05:44:32 -07:00
syscall-sysv.internal.h Make improvements 2023-06-03 08:12:22 -07:00
syscall_support-nt.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
syscall_support-sysv.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
sysinfo-nt.c Make improvements 2022-05-28 00:28:09 -07:00
sysinfo.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
sysparam.h Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
tcdrain.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcflow.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcflush.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcgetattr-nt.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcgetattr.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcgetpgrp.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcgetsid.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcgetwinsize-nt.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcgetwinsize.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcsendbreak.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcsetattr-nt.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcsetattr.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcsetpgrp.c Make fixes and improvements 2022-10-19 07:19:19 -07:00
tcsetwinsize-nt.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tcsetwinsize.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
termios.h Validate privileged code relationships 2023-06-08 04:38:06 -07:00
termios.internal.h Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
termios2host.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
tgkill.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
time.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
timespec_add.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_cmp.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_frommicros.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_frommillis.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_fromnanos.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_get.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_getres.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_mono.c Make fixes and improvements 2022-11-08 10:11:46 -08:00
timespec_real.c Make fixes and improvements 2022-11-08 10:11:46 -08:00
timespec_sleep.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_sleep_until.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_sub.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timespec_tomicros.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
timespec_tomillis.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
timespec_tonanos.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
timespec_totimeval.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timeval_add.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timeval_cmp.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timeval_frommicros.c Make improvements 2022-11-07 02:26:06 -08:00
timeval_frommillis.c Make improvements 2022-11-07 02:26:06 -08:00
timeval_sub.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
timeval_tomicros.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
timeval_tomillis.c Rewrite .zip.o file linker 2023-06-10 09:29:44 -07:00
timeval_totimespec.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
tkill.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
tmpfd.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
touch.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
truncate-nt.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
truncate.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
ttydefaults.h Remove evil constants from cosmopolitan.h 2022-12-17 00:42:45 -08:00
ttyname.c Make improvements 2022-04-28 09:57:07 -07:00
ttyname_r.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
ucontext.h Work on magic numbers for aarch64 2023-05-10 04:20:48 -07:00
umask.c Perform some code cleanup 2023-05-28 19:42:00 -07:00
uname.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
unlink.c Make numerous improvements 2021-09-28 01:52:34 -07:00
unlinkat-nt.c Add posix semaphores support 2022-10-14 09:21:02 -07:00
unlinkat.c Polyfill Linux unlink() EISDIR on POSIX platforms 2023-02-05 16:50:11 -08:00
unlockpt.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
unmount.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
unveil.c Introduce #include <cosmo.h> to toolchain users 2023-06-09 18:03:05 -07:00
usleep.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
utime.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
utimens.c Make more threading improvements 2022-11-01 23:28:26 -07:00
utimensat-nt.c Write tests and fixes for utimensat() 2022-06-17 02:43:00 -07:00
utimensat-sysv.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
utimensat-xnu.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
utimensat.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
utimes.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
vdprintf.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
vdsofunc.greg.c Fix bugs in termios library and cleanup code 2023-06-14 19:30:52 -07:00
virtualmax.S Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
virtualmax2.c Disable linker map generation and improve tinyness 2023-06-09 03:29:26 -07:00
vmsplice.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
wait.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
wait3.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
wait4-nt.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
wait4-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
wait4.c Run clang-format on most sources 2023-04-27 05:44:32 -07:00
wait4.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
waitpid.c Implement support for POSIX thread cancellations 2022-11-04 01:04:43 -07:00
weirdtypes.h Introduce native support for MacOS ARM64 2023-05-20 04:17:03 -07:00
wincrash.c Validate privileged code relationships 2023-06-08 04:38:06 -07:00
wincrash.internal.h Rename hidden keyword to _Hide 2022-11-08 12:55:28 -08:00
wincrash_init.S Fix some bugs 2022-05-11 02:50:30 -07:00
wincrashearly.c Improve synchronization 2022-04-15 15:31:55 -07:00
winerr.internal.h Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
winsockerr.c Fix debug mode build 2022-04-16 12:25:53 -07:00
write-nt.c Make improvements to cosmocc toolchain 2023-06-10 15:50:01 -07:00
write.c Get aarch64 hello world working 2023-05-10 04:20:47 -07:00
writev-metal.c Get LIBC_RUNTIME and LIBC_CALLS building on aarch64 2023-05-10 04:20:47 -07:00
writev-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
writev-serial.c Make more code aarch64 friendly 2023-05-10 04:20:46 -07:00
writev.c Improve cancellations, randomness, and time 2022-11-05 23:45:32 -07:00
writevuninterruptible.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
xattr.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00