ci/srht/freebsd_script | 7 - doc/docgen.zig | 95 ++- doc/langref.html.in | 47 +- lib/libc/include/aarch64-linux-musl/bits/alltypes.h | 121 ++-- lib/libc/include/aarch64-linux-musl/bits/endian.h | 5 - lib/libc/include/aarch64-linux-musl/bits/socket.h | 33 - lib/libc/include/aarch64-linux-musl/bits/syscall.h | 6 +- lib/libc/include/arm-linux-musl/bits/alltypes.h | 122 ++-- lib/libc/include/arm-linux-musl/bits/endian.h | 5 - lib/libc/include/arm-linux-musl/bits/ipcstat.h | 1 + lib/libc/include/arm-linux-musl/bits/limits.h | 7 - lib/libc/include/arm-linux-musl/bits/msg.h | 15 +- lib/libc/include/arm-linux-musl/bits/sem.h | 10 +- lib/libc/include/arm-linux-musl/bits/shm.h | 16 +- lib/libc/include/arm-linux-musl/bits/stat.h | 6 +- lib/libc/include/arm-linux-musl/bits/syscall.h | 46 +- lib/libc/include/generic-musl/aio.h | 4 + lib/libc/include/generic-musl/alloca.h | 2 - lib/libc/include/generic-musl/arpa/nameser.h | 1 - lib/libc/include/generic-musl/bits/dirent.h | 11 + lib/libc/include/generic-musl/bits/endian.h | 1 - lib/libc/include/generic-musl/bits/ioctl.h | 5 + lib/libc/include/generic-musl/bits/limits.h | 7 - lib/libc/include/generic-musl/bits/socket.h | 15 - lib/libc/include/generic-musl/dirent.h | 14 +- lib/libc/include/generic-musl/dlfcn.h | 4 + lib/libc/include/generic-musl/endian.h | 44 +- lib/libc/include/generic-musl/features.h | 2 + lib/libc/include/generic-musl/limits.h | 18 +- lib/libc/include/generic-musl/mqueue.h | 5 + lib/libc/include/generic-musl/netinet/icmp6.h | 1 - lib/libc/include/generic-musl/netinet/if_ether.h | 1 + lib/libc/include/generic-musl/netinet/ip.h | 3 +- lib/libc/include/generic-musl/netinet/ip6.h | 1 - lib/libc/include/generic-musl/netinet/tcp.h | 4 +- lib/libc/include/generic-musl/poll.h | 6 + lib/libc/include/generic-musl/pthread.h | 10 + lib/libc/include/generic-musl/sched.h | 8 + lib/libc/include/generic-musl/semaphore.h | 4 + lib/libc/include/generic-musl/signal.h | 8 + lib/libc/include/generic-musl/sys/acct.h | 1 - lib/libc/include/generic-musl/sys/ioctl.h | 1 + lib/libc/include/generic-musl/sys/mman.h | 2 + lib/libc/include/generic-musl/sys/prctl.h | 4 + lib/libc/include/generic-musl/sys/procfs.h | 7 +- lib/libc/include/generic-musl/sys/ptrace.h | 29 + lib/libc/include/generic-musl/sys/resource.h | 7 +- lib/libc/include/generic-musl/sys/select.h | 5 + lib/libc/include/generic-musl/sys/sem.h | 8 +- lib/libc/include/generic-musl/sys/socket.h | 69 ++- lib/libc/include/generic-musl/sys/stat.h | 9 + lib/libc/include/generic-musl/sys/statvfs.h | 2 - lib/libc/include/generic-musl/sys/time.h | 14 + lib/libc/include/generic-musl/sys/timeb.h | 6 + lib/libc/include/generic-musl/sys/timerfd.h | 5 + lib/libc/include/generic-musl/sys/timex.h | 5 + lib/libc/include/generic-musl/sys/ttydefaults.h | 7 +- lib/libc/include/generic-musl/sys/wait.h | 10 +- lib/libc/include/generic-musl/threads.h | 6 + lib/libc/include/generic-musl/time.h | 28 + lib/libc/include/generic-musl/utime.h | 6 + lib/libc/include/generic-musl/utmpx.h | 7 +- lib/libc/include/i386-linux-musl/bits/alltypes.h | 134 ++-- lib/libc/include/i386-linux-musl/bits/ipcstat.h | 1 + lib/libc/include/i386-linux-musl/bits/limits.h | 9 +- lib/libc/include/i386-linux-musl/bits/msg.h | 15 +- lib/libc/include/i386-linux-musl/bits/sem.h | 10 +- lib/libc/include/i386-linux-musl/bits/shm.h | 16 +- lib/libc/include/i386-linux-musl/bits/stat.h | 6 +- lib/libc/include/i386-linux-musl/bits/syscall.h | 46 +- lib/libc/include/mips-linux-musl/bits/alltypes.h | 122 ++-- lib/libc/include/mips-linux-musl/bits/endian.h | 5 - lib/libc/include/mips-linux-musl/bits/hwcap.h | 13 +- lib/libc/include/mips-linux-musl/bits/ioctl.h | 4 +- lib/libc/include/mips-linux-musl/bits/ipcstat.h | 1 + lib/libc/include/mips-linux-musl/bits/limits.h | 7 - lib/libc/include/mips-linux-musl/bits/msg.h | 27 +- lib/libc/include/mips-linux-musl/bits/sem.h | 16 + lib/libc/include/mips-linux-musl/bits/shm.h | 29 + lib/libc/include/mips-linux-musl/bits/signal.h | 8 +- lib/libc/include/mips-linux-musl/bits/socket.h | 18 - lib/libc/include/mips-linux-musl/bits/stat.h | 12 +- lib/libc/include/mips-linux-musl/bits/syscall.h | 46 +- lib/libc/include/mips64-linux-musl/bits/alltypes.h | 121 ++-- lib/libc/include/mips64-linux-musl/bits/endian.h | 5 - lib/libc/include/mips64-linux-musl/bits/limits.h | 7 - lib/libc/include/mips64-linux-musl/bits/socket.h | 34 - lib/libc/include/mips64-linux-musl/bits/syscall.h | 6 +- lib/libc/include/powerpc-linux-musl/bits/alltypes.h | 121 ++-- lib/libc/include/powerpc-linux-musl/bits/endian.h | 15 - lib/libc/include/powerpc-linux-musl/bits/ioctl.h | 4 +- lib/libc/include/powerpc-linux-musl/bits/ipcstat.h | 1 + lib/libc/include/powerpc-linux-musl/bits/limits.h | 7 - lib/libc/include/powerpc-linux-musl/bits/msg.h | 15 +- lib/libc/include/powerpc-linux-musl/bits/sem.h | 10 +- lib/libc/include/powerpc-linux-musl/bits/shm.h | 16 +- lib/libc/include/powerpc-linux-musl/bits/signal.h | 2 +- lib/libc/include/powerpc-linux-musl/bits/socket.h | 18 - lib/libc/include/powerpc-linux-musl/bits/stat.h | 6 +- lib/libc/include/powerpc-linux-musl/bits/syscall.h | 46 +- lib/libc/include/powerpc64-linux-musl/bits/alltypes.h | 121 ++-- lib/libc/include/powerpc64-linux-musl/bits/endian.h | 5 - lib/libc/include/powerpc64-linux-musl/bits/signal.h | 8 +- lib/libc/include/powerpc64-linux-musl/bits/socket.h | 34 - lib/libc/include/powerpc64-linux-musl/bits/syscall.h | 6 +- lib/libc/include/riscv64-linux-musl/bits/alltypes.h | 120 ++-- lib/libc/include/riscv64-linux-musl/bits/reg.h | 8 - lib/libc/include/riscv64-linux-musl/bits/signal.h | 9 + lib/libc/include/riscv64-linux-musl/bits/socket.h | 19 - lib/libc/include/riscv64-linux-musl/bits/syscall.h | 4 + lib/libc/include/s390x-linux-musl/bits/alltypes.h | 120 ++-- lib/libc/include/s390x-linux-musl/bits/endian.h | 1 - lib/libc/include/s390x-linux-musl/bits/limits.h | 9 +- lib/libc/include/s390x-linux-musl/bits/socket.h | 17 - lib/libc/include/s390x-linux-musl/bits/syscall.h | 6 +- lib/libc/include/x86_64-linux-musl/bits/alltypes.h | 120 ++-- lib/libc/include/x86_64-linux-musl/bits/limits.h | 9 +- lib/libc/include/x86_64-linux-musl/bits/socket.h | 16 - lib/libc/include/x86_64-linux-musl/bits/syscall.h | 6 +- lib/libc/musl/COPYRIGHT | 4 +- lib/libc/musl/arch/aarch64/bits/alltypes.h.in | 20 +- lib/libc/musl/arch/aarch64/bits/endian.h | 5 - lib/libc/musl/arch/aarch64/bits/limits.h | 7 - lib/libc/musl/arch/aarch64/bits/socket.h | 33 - lib/libc/musl/arch/aarch64/bits/syscall.h.in | 2 + lib/libc/musl/arch/aarch64/reloc.h | 2 - lib/libc/musl/arch/arm/bits/alltypes.h.in | 21 +- lib/libc/musl/arch/arm/bits/endian.h | 5 - lib/libc/musl/arch/arm/bits/ipcstat.h | 2 +- lib/libc/musl/arch/arm/bits/limits.h | 7 - lib/libc/musl/arch/arm/bits/msg.h | 15 +- lib/libc/musl/arch/arm/bits/sem.h | 10 +- lib/libc/musl/arch/arm/bits/shm.h | 16 +- lib/libc/musl/arch/arm/bits/stat.h | 6 +- lib/libc/musl/arch/arm/bits/syscall.h.in | 22 +- lib/libc/musl/arch/arm/reloc.h | 2 - lib/libc/musl/arch/arm/syscall_arch.h | 4 +- lib/libc/musl/arch/generic/bits/dirent.h | 11 + lib/libc/musl/arch/generic/bits/ioctl.h | 5 + lib/libc/musl/arch/generic/bits/limits.h | 0 lib/libc/musl/arch/generic/bits/socket.h | 15 - lib/libc/musl/arch/i386/bits/alltypes.h.in | 21 +- lib/libc/musl/arch/i386/bits/endian.h | 1 - lib/libc/musl/arch/i386/bits/ipcstat.h | 2 +- lib/libc/musl/arch/i386/bits/limits.h | 7 - lib/libc/musl/arch/i386/bits/msg.h | 15 +- lib/libc/musl/arch/i386/bits/sem.h | 10 +- lib/libc/musl/arch/i386/bits/shm.h | 16 +- lib/libc/musl/arch/i386/bits/stat.h | 6 +- lib/libc/musl/arch/i386/bits/syscall.h.in | 22 +- lib/libc/musl/arch/i386/syscall_arch.h | 4 +- lib/libc/musl/arch/mips/bits/alltypes.h.in | 21 +- lib/libc/musl/arch/mips/bits/endian.h | 5 - lib/libc/musl/arch/mips/bits/hwcap.h | 11 + lib/libc/musl/arch/mips/bits/ioctl.h | 4 +- lib/libc/musl/arch/mips/bits/ipcstat.h | 2 +- lib/libc/musl/arch/mips/bits/limits.h | 7 - lib/libc/musl/arch/mips/bits/msg.h | 27 +- lib/libc/musl/arch/mips/bits/sem.h | 10 +- lib/libc/musl/arch/mips/bits/shm.h | 15 +- lib/libc/musl/arch/mips/bits/signal.h | 8 +- lib/libc/musl/arch/mips/bits/socket.h | 18 - lib/libc/musl/arch/mips/bits/stat.h | 12 +- lib/libc/musl/arch/mips/bits/syscall.h.in | 22 +- lib/libc/musl/arch/mips/reloc.h | 2 - lib/libc/musl/arch/mips/syscall_arch.h | 4 +- lib/libc/musl/arch/mips64/bits/alltypes.h.in | 20 +- lib/libc/musl/arch/mips64/bits/endian.h | 5 - lib/libc/musl/arch/mips64/bits/limits.h | 7 - lib/libc/musl/arch/mips64/bits/socket.h | 34 - lib/libc/musl/arch/mips64/bits/syscall.h.in | 2 + lib/libc/musl/arch/mips64/reloc.h | 10 +- lib/libc/musl/arch/powerpc/bits/alltypes.h.in | 16 +- lib/libc/musl/arch/powerpc/bits/endian.h | 15 - lib/libc/musl/arch/powerpc/bits/ioctl.h | 4 +- lib/libc/musl/arch/powerpc/bits/ipcstat.h | 2 +- lib/libc/musl/arch/powerpc/bits/limits.h | 7 - lib/libc/musl/arch/powerpc/bits/msg.h | 15 +- lib/libc/musl/arch/powerpc/bits/sem.h | 10 +- lib/libc/musl/arch/powerpc/bits/shm.h | 16 +- lib/libc/musl/arch/powerpc/bits/signal.h | 2 +- lib/libc/musl/arch/powerpc/bits/socket.h | 18 - lib/libc/musl/arch/powerpc/bits/stat.h | 6 +- lib/libc/musl/arch/powerpc/bits/syscall.h.in | 22 +- lib/libc/musl/arch/powerpc64/bits/alltypes.h.in | 20 +- lib/libc/musl/arch/powerpc64/bits/endian.h | 5 - lib/libc/musl/arch/powerpc64/bits/limits.h | 7 - lib/libc/musl/arch/powerpc64/bits/signal.h | 8 +- lib/libc/musl/arch/powerpc64/bits/socket.h | 34 - lib/libc/musl/arch/powerpc64/bits/syscall.h.in | 2 + lib/libc/musl/arch/powerpc64/reloc.h | 2 - lib/libc/musl/arch/riscv64/atomic_arch.h | 2 +- lib/libc/musl/arch/riscv64/bits/alltypes.h.in | 15 +- lib/libc/musl/arch/riscv64/bits/endian.h | 1 - lib/libc/musl/arch/riscv64/bits/limits.h | 7 - lib/libc/musl/arch/riscv64/bits/reg.h | 6 - lib/libc/musl/arch/riscv64/bits/signal.h | 9 + lib/libc/musl/arch/riscv64/bits/socket.h | 19 - lib/libc/musl/arch/riscv64/bits/syscall.h.in | 2 + lib/libc/musl/arch/s390x/bits/alltypes.h.in | 15 +- lib/libc/musl/arch/s390x/bits/endian.h | 1 - lib/libc/musl/arch/s390x/bits/limits.h | 7 - lib/libc/musl/arch/s390x/bits/socket.h | 17 - lib/libc/musl/arch/s390x/bits/syscall.h.in | 2 + lib/libc/musl/arch/s390x/reloc.h | 2 - lib/libc/musl/arch/x86_64/bits/alltypes.h.in | 15 +- lib/libc/musl/arch/x86_64/bits/endian.h | 1 - lib/libc/musl/arch/x86_64/bits/limits.h | 7 - lib/libc/musl/arch/x86_64/bits/socket.h | 16 - lib/libc/musl/arch/x86_64/bits/syscall.h.in | 2 + lib/libc/musl/compat/time32/__xstat.c | 24 + lib/libc/musl/compat/time32/adjtime32.c | 21 + lib/libc/musl/compat/time32/adjtimex_time32.c | 10 + lib/libc/musl/compat/time32/aio_suspend_time32.c | 11 + lib/libc/musl/compat/time32/clock_adjtime32.c | 70 +++ lib/libc/musl/compat/time32/clock_getres_time32.c | 13 + lib/libc/musl/compat/time32/clock_gettime32.c | 18 + lib/libc/musl/compat/time32/clock_nanosleep_time32.c | 15 + lib/libc/musl/compat/time32/clock_settime32.c | 9 + lib/libc/musl/compat/time32/cnd_timedwait_time32.c | 9 + lib/libc/musl/compat/time32/ctime32.c | 7 + lib/libc/musl/compat/time32/ctime32_r.c | 7 + lib/libc/musl/compat/time32/difftime32.c | 7 + lib/libc/musl/compat/time32/fstat_time32.c | 17 + lib/libc/musl/compat/time32/fstatat_time32.c | 17 + lib/libc/musl/compat/time32/ftime32.c | 25 + lib/libc/musl/compat/time32/futimens_time32.c | 10 + lib/libc/musl/compat/time32/futimes_time32.c | 12 + lib/libc/musl/compat/time32/futimesat_time32.c | 12 + lib/libc/musl/compat/time32/getitimer_time32.c | 15 + lib/libc/musl/compat/time32/getrusage_time32.c | 39 ++ lib/libc/musl/compat/time32/gettimeofday_time32.c | 19 + lib/libc/musl/compat/time32/gmtime32.c | 7 + lib/libc/musl/compat/time32/gmtime32_r.c | 7 + lib/libc/musl/compat/time32/localtime32.c | 7 + lib/libc/musl/compat/time32/localtime32_r.c | 7 + lib/libc/musl/compat/time32/lstat_time32.c | 17 + lib/libc/musl/compat/time32/lutimes_time32.c | 12 + lib/libc/musl/compat/time32/mktime32.c | 16 + lib/libc/musl/compat/time32/mq_timedreceive_time32.c | 9 + lib/libc/musl/compat/time32/mq_timedsend_time32.c | 9 + lib/libc/musl/compat/time32/mtx_timedlock_time32.c | 9 + lib/libc/musl/compat/time32/nanosleep_time32.c | 15 + lib/libc/musl/compat/time32/ppoll_time32.c | 10 + lib/libc/musl/compat/time32/pselect_time32.c | 9 + lib/libc/musl/compat/time32/pthread_cond_timedwait_time32.c | 9 + lib/libc/musl/compat/time32/pthread_mutex_timedlock_time32.c | 9 + lib/libc/musl/compat/time32/pthread_rwlock_timedrdlock_time32.c | 9 + lib/libc/musl/compat/time32/pthread_rwlock_timedwrlock_time32.c | 9 + lib/libc/musl/compat/time32/pthread_timedjoin_np_time32.c | 10 + lib/libc/musl/compat/time32/recvmmsg_time32.c | 10 + lib/libc/musl/compat/time32/sched_rr_get_interval_time32.c | 13 + lib/libc/musl/compat/time32/select_time32.c | 10 + lib/libc/musl/compat/time32/sem_timedwait_time32.c | 9 + lib/libc/musl/compat/time32/semtimedop_time32.c | 10 + lib/libc/musl/compat/time32/setitimer_time32.c | 25 + lib/libc/musl/compat/time32/settimeofday_time32.c | 10 + lib/libc/musl/compat/time32/sigtimedwait_time32.c | 9 + lib/libc/musl/compat/time32/stat_time32.c | 17 + lib/libc/musl/compat/time32/stime32.c | 8 + lib/libc/musl/compat/time32/thrd_sleep_time32.c | 16 + lib/libc/musl/compat/time32/time32.c | 15 + lib/libc/musl/compat/time32/time32.h | 91 +++ lib/libc/musl/compat/time32/time32gm.c | 15 + lib/libc/musl/compat/time32/timer_gettime32.c | 15 + lib/libc/musl/compat/time32/timer_settime32.c | 25 + lib/libc/musl/compat/time32/timerfd_gettime32.c | 16 + lib/libc/musl/compat/time32/timerfd_settime32.c | 26 + lib/libc/musl/compat/time32/timespec_get_time32.c | 18 + lib/libc/musl/compat/time32/utime_time32.c | 14 + lib/libc/musl/compat/time32/utimensat_time32.c | 11 + lib/libc/musl/compat/time32/utimes_time32.c | 11 + lib/libc/musl/compat/time32/wait3_time32.c | 40 ++ lib/libc/musl/compat/time32/wait4_time32.c | 40 ++ lib/libc/musl/include/aio.h | 4 + lib/libc/musl/include/alloca.h | 2 - lib/libc/musl/include/alltypes.h.in | 19 +- lib/libc/musl/include/arpa/nameser.h | 1 - lib/libc/musl/include/dirent.h | 14 +- lib/libc/musl/include/dlfcn.h | 4 + lib/libc/musl/include/endian.h | 44 +- lib/libc/musl/include/features.h | 2 + lib/libc/musl/include/limits.h | 18 +- lib/libc/musl/include/mqueue.h | 5 + lib/libc/musl/include/netinet/icmp6.h | 1 - lib/libc/musl/include/netinet/if_ether.h | 1 + lib/libc/musl/include/netinet/ip.h | 3 +- lib/libc/musl/include/netinet/ip6.h | 1 - lib/libc/musl/include/netinet/tcp.h | 4 +- lib/libc/musl/include/poll.h | 6 + lib/libc/musl/include/pthread.h | 10 + lib/libc/musl/include/sched.h | 8 + lib/libc/musl/include/semaphore.h | 4 + lib/libc/musl/include/signal.h | 8 + lib/libc/musl/include/sys/acct.h | 1 - lib/libc/musl/include/sys/ioctl.h | 1 + lib/libc/musl/include/sys/mman.h | 2 + lib/libc/musl/include/sys/prctl.h | 4 + lib/libc/musl/include/sys/procfs.h | 7 +- lib/libc/musl/include/sys/ptrace.h | 29 + lib/libc/musl/include/sys/resource.h | 7 +- lib/libc/musl/include/sys/select.h | 5 + lib/libc/musl/include/sys/sem.h | 8 +- lib/libc/musl/include/sys/socket.h | 69 ++- lib/libc/musl/include/sys/stat.h | 9 + lib/libc/musl/include/sys/statvfs.h | 2 - lib/libc/musl/include/sys/time.h | 14 + lib/libc/musl/include/sys/timeb.h | 6 + lib/libc/musl/include/sys/timerfd.h | 5 + lib/libc/musl/include/sys/timex.h | 5 + lib/libc/musl/include/sys/ttydefaults.h | 7 +- lib/libc/musl/include/sys/wait.h | 10 +- lib/libc/musl/include/threads.h | 6 + lib/libc/musl/include/time.h | 28 + lib/libc/musl/include/utime.h | 6 + lib/libc/musl/include/utmpx.h | 7 +- lib/libc/musl/src/aio/aio_suspend.c | 2 + lib/libc/musl/src/complex/cacosh.c | 5 +- lib/libc/musl/src/complex/cacoshf.c | 5 +- lib/libc/musl/src/complex/cacoshl.c | 5 +- lib/libc/musl/src/complex/catanf.c | 14 +- lib/libc/musl/src/complex/catanl.c | 14 +- lib/libc/musl/src/ctype/alpha.h | 159 ++--- lib/libc/musl/src/ctype/casemap.h | 297 +++++++++ lib/libc/musl/src/ctype/nonspacing.h | 88 +-- lib/libc/musl/src/ctype/punct.h | 160 ++--- lib/libc/musl/src/ctype/towctrans.c | 344 ++--------- lib/libc/musl/src/ctype/wcwidth.c | 2 +- lib/libc/musl/src/ctype/wide.h | 26 +- lib/libc/musl/src/fenv/riscv64/fenv.S | 5 +- lib/libc/musl/src/internal/dynlink.h | 1 - lib/libc/musl/src/internal/floatscan.c | 5 +- lib/libc/musl/src/internal/syscall.h | 46 ++ lib/libc/musl/src/internal/version.h | 2 +- lib/libc/musl/src/ldso/__dlsym.c | 4 + lib/libc/musl/src/ldso/arm/dlsym_time64.S | 3 + lib/libc/musl/src/ldso/i386/dlsym_time64.S | 3 + lib/libc/musl/src/ldso/m68k/dlsym_time64.S | 3 + lib/libc/musl/src/ldso/microblaze/dlsym_time64.S | 3 + lib/libc/musl/src/ldso/mips/dlsym_time64.S | 3 + lib/libc/musl/src/ldso/mipsn32/dlsym_time64.S | 3 + lib/libc/musl/src/ldso/or1k/dlsym_time64.S | 3 + lib/libc/musl/src/ldso/powerpc/dlsym_time64.S | 3 + lib/libc/musl/src/ldso/sh/dlsym_time64.S | 3 + lib/libc/musl/src/linux/clock_adjtime.c | 57 +- lib/libc/musl/src/linux/wait4.c | 34 +- lib/libc/musl/src/math/i386/acos.s | 16 +- lib/libc/musl/src/math/i386/acosf.s | 17 +- lib/libc/musl/src/math/i386/acosl.s | 15 +- lib/libc/musl/src/math/i386/asin.s | 32 +- lib/libc/musl/src/math/i386/asinf.s | 24 +- lib/libc/musl/src/math/i386/asinl.s | 13 +- lib/libc/musl/src/math/i386/atan.s | 2 + lib/libc/musl/src/math/i386/atan2.s | 3 +- lib/libc/musl/src/math/i386/atan2f.s | 3 +- lib/libc/musl/src/math/i386/atanf.s | 2 + lib/libc/musl/src/math/i386/exp.s | 146 ----- lib/libc/musl/src/math/i386/exp2.s | 1 - lib/libc/musl/src/math/i386/exp2f.s | 1 - lib/libc/musl/src/math/i386/exp2l.s | 2 +- lib/libc/musl/src/math/i386/exp_ld.s | 93 +++ lib/libc/musl/src/math/i386/expf.s | 1 - lib/libc/musl/src/math/i386/expm1.s | 1 - lib/libc/musl/src/math/i386/expm1f.s | 1 - lib/libc/musl/src/math/i386/expm1l.s | 2 +- lib/libc/musl/src/math/i386/log.s | 2 + lib/libc/musl/src/math/i386/log10.s | 2 + lib/libc/musl/src/math/i386/log10f.s | 2 + lib/libc/musl/src/math/i386/log1p.s | 4 + lib/libc/musl/src/math/i386/log1pf.s | 4 + lib/libc/musl/src/math/i386/log2.s | 2 + lib/libc/musl/src/math/i386/log2f.s | 2 + lib/libc/musl/src/math/i386/logf.s | 2 + lib/libc/musl/src/math/mips/fabs.c | 16 + lib/libc/musl/src/math/mips/fabsf.c | 16 + lib/libc/musl/src/math/mips/sqrt.c | 16 + lib/libc/musl/src/math/mips/sqrtf.c | 16 + lib/libc/musl/src/math/powerpc/fabs.c | 2 +- lib/libc/musl/src/math/powerpc/fma.c | 2 +- lib/libc/musl/src/math/x32/lrintl.s | 4 +- lib/libc/musl/src/misc/getrusage.c | 30 +- lib/libc/musl/src/misc/ioctl.c | 136 +++- lib/libc/musl/src/misc/pty.c | 4 +- lib/libc/musl/src/network/getsockopt.c | 9 + lib/libc/musl/src/network/recvmmsg.c | 14 +- lib/libc/musl/src/network/recvmsg.c | 47 ++ lib/libc/musl/src/network/setsockopt.c | 9 + lib/libc/musl/src/signal/arm/sigsetjmp.s | 5 +- lib/libc/musl/src/stat/__xstat.c | 4 + lib/libc/musl/src/stat/fchmodat.c | 3 +- lib/libc/musl/src/stat/fstat.c | 2 + lib/libc/musl/src/stat/fstatat.c | 18 + lib/libc/musl/src/stat/lstat.c | 2 + lib/libc/musl/src/stat/stat.c | 2 + lib/libc/musl/src/stdio/tempnam.c | 5 +- lib/libc/musl/src/stdio/tmpnam.c | 5 +- lib/libc/musl/src/stdio/ungetc.c | 2 +- lib/libc/musl/src/string/arm/memcpy.c | 2 +- lib/libc/musl/src/string/arm/memcpy_le.S | 13 +- lib/libc/musl/src/time/__map_file.c | 3 +- lib/std/atomic/int.zig | 13 +- lib/std/atomic/queue.zig | 53 +- lib/std/atomic/stack.zig | 31 +- lib/std/buffer.zig | 35 +- lib/std/build.zig | 3 +- lib/std/build/emit_raw.zig | 110 ++-- lib/std/build/run.zig | 6 +- lib/std/builtin.zig | 12 +- lib/std/c.zig | 1 + lib/std/c/linux.zig | 2 + lib/std/child_process.zig | 16 +- lib/std/coff.zig | 15 +- lib/std/debug.zig | 280 +++++---- lib/std/debug/leb128.zig | 24 +- lib/std/dwarf.zig | 161 ++--- lib/std/elf.zig | 400 ++++++------ lib/std/event/channel.zig | 23 +- lib/std/event/group.zig | 4 +- lib/std/event/lock.zig | 39 +- lib/std/event/loop.zig | 78 +++ lib/std/event/rwlock.zig | 32 +- lib/std/fifo.zig | 16 +- lib/std/fmt.zig | 526 +++++++--------- lib/std/fs.zig | 41 +- lib/std/fs/file.zig | 156 +++-- lib/std/heap.zig | 1 + lib/std/heap/logging_allocator.zig | 96 +-- lib/std/http/headers.zig | 14 +- lib/std/io.zig | 1059 ++------------------------------ lib/std/io/bit_in_stream.zig | 243 ++++++++ lib/std/io/bit_out_stream.zig | 197 ++++++ lib/std/io/buffered_atomic_file.zig | 50 ++ lib/std/io/buffered_in_stream.zig | 86 +++ lib/std/io/buffered_out_stream.zig | 41 ++ lib/std/io/c_out_stream.zig | 73 +-- lib/std/io/counting_out_stream.zig | 39 ++ lib/std/io/fixed_buffer_stream.zig | 171 ++++++ lib/std/io/in_stream.zig | 89 ++- lib/std/io/out_stream.zig | 75 +-- lib/std/io/peek_stream.zig | 112 ++++ lib/std/io/seekable_stream.zig | 105 +--- lib/std/io/serialization.zig | 602 ++++++++++++++++++ lib/std/io/stream_source.zig | 90 +++ lib/std/io/test.zig | 557 ++--------------- lib/std/json.zig | 143 +++-- lib/std/json/write_stream.zig | 45 +- lib/std/math/big/int.zig | 6 +- lib/std/mem.zig | 22 +- lib/std/net.zig | 24 +- lib/std/net/test.zig | 2 +- lib/std/os.zig | 63 +- lib/std/os/bits/darwin.zig | 3 +- lib/std/os/bits/dragonfly.zig | 4 +- lib/std/os/bits/freebsd.zig | 3 +- lib/std/os/bits/linux.zig | 18 +- lib/std/os/bits/linux/netlink.zig | 498 +++++++++++++++ lib/std/os/bits/linux/x86_64.zig | 3 +- lib/std/os/bits/netbsd.zig | 3 +- lib/std/os/bits/wasi.zig | 1 + lib/std/os/bits/windows.zig | 1 + lib/std/os/linux.zig | 66 +- lib/std/os/test.zig | 43 +- lib/std/os/uefi.zig | 15 +- lib/std/os/uefi/protocols.zig | 15 + lib/std/os/uefi/protocols/absolute_pointer_protocol.zig | 9 +- lib/std/os/uefi/protocols/device_path_protocol.zig | 340 +++++++++- lib/std/os/uefi/protocols/edid_override_protocol.zig | 5 +- lib/std/os/uefi/protocols/file_protocol.zig | 91 +++ lib/std/os/uefi/protocols/graphics_output_protocol.zig | 13 +- lib/std/os/uefi/protocols/hii_database_protocol.zig | 31 +- lib/std/os/uefi/protocols/hii_popup_protocol.zig | 5 +- lib/std/os/uefi/protocols/ip6_config_protocol.zig | 17 +- lib/std/os/uefi/protocols/ip6_protocol.zig | 39 +- lib/std/os/uefi/protocols/ip6_service_binding_protocol.zig | 9 +- lib/std/os/uefi/protocols/loaded_image_protocol.zig | 16 +- lib/std/os/uefi/protocols/managed_network_protocol.zig | 33 +- lib/std/os/uefi/protocols/managed_network_service_binding_protocol.zig | 9 +- lib/std/os/uefi/protocols/rng_protocol.zig | 9 +- lib/std/os/uefi/protocols/shell_parameters_protocol.zig | 20 + lib/std/os/uefi/protocols/simple_file_system_protocol.zig | 22 + lib/std/os/uefi/protocols/simple_network_protocol.zig | 53 +- lib/std/os/uefi/protocols/simple_pointer_protocol.zig | 9 +- lib/std/os/uefi/protocols/simple_text_input_ex_protocol.zig | 21 +- lib/std/os/uefi/protocols/simple_text_input_protocol.zig | 8 +- lib/std/os/uefi/protocols/simple_text_output_protocol.zig | 37 +- lib/std/os/uefi/protocols/udp6_protocol.zig | 33 +- lib/std/os/uefi/protocols/udp6_service_binding_protocol.zig | 9 +- lib/std/os/uefi/status.zig | 182 +++--- lib/std/os/uefi/tables.zig | 1 + lib/std/os/uefi/tables/boot_services.zig | 126 ++-- lib/std/os/uefi/tables/runtime_services.zig | 29 +- lib/std/os/windows.zig | 3 + lib/std/os/windows/bits.zig | 4 + lib/std/os/windows/kernel32.zig | 1 + lib/std/os/windows/ntdll.zig | 7 + lib/std/pdb.zig | 24 +- lib/std/progress.zig | 4 +- lib/std/special/build_runner.zig | 8 +- lib/std/start.zig | 17 +- lib/std/std.zig | 1 - lib/std/unicode.zig | 68 ++ lib/std/zig/ast.zig | 86 ++- lib/std/zig/cross_target.zig | 12 +- lib/std/zig/parse.zig | 74 ++- lib/std/zig/parser_test.zig | 22 +- lib/std/zig/render.zig | 148 +++-- lib/std/zig/system.zig | 52 +- lib/std/zig/system/x86.zig | 80 +-- src-self-hosted/clang.zig | 2 + src-self-hosted/dep_tokenizer.zig | 22 +- src-self-hosted/libc_installation.zig | 35 +- src-self-hosted/print_targets.zig | 13 +- src-self-hosted/stage2.zig | 170 +++-- src-self-hosted/translate_c.zig | 173 ++++-- src/all_types.hpp | 14 +- src/analyze.cpp | 89 ++- src/analyze.hpp | 3 + src/ast_render.cpp | 8 + src/cache_hash.cpp | 8 +- src/cache_hash.hpp | 1 + src/codegen.cpp | 141 ++++- src/install_files.h | 160 +++-- src/ir.cpp | 398 +++++++++--- src/link.cpp | 63 +- src/main.cpp | 2 +- src/parser.cpp | 45 +- src/stage2.cpp | 7 +- src/stage2.h | 9 +- src/zig_clang.cpp | 30 + src/zig_clang.h | 2 + test/compare_output.zig | 34 +- test/compile_errors.zig | 114 +++- test/run_translated_c.zig | 18 - test/runtime_safety.zig | 30 + test/stage1/behavior/alignof.zig | 21 + test/stage1/behavior/array.zig | 18 +- test/stage1/behavior/async_fn.zig | 16 + test/stage1/behavior/atomics.zig | 81 ++- test/stage1/behavior/math.zig | 19 + test/stage1/behavior/optional.zig | 23 + test/standalone/guess_number/main.zig | 2 +- test/tests.zig | 14 +- test/translate_c.zig | 63 +- 543 files changed, 10643 insertions(+), 6766 deletions(-)