From 83107f78ed1d267b3b98ea25f2943b8213dc5f5d Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Fri, 29 Dec 2023 20:11:23 -0800 Subject: [PATCH] Introduce FreeBSD ARM64 support It's 100% passing test fleet. Solid as a rock. --- ape/BUILD.mk | 5 +- ape/loader.c | 6 +- build/bootstrap/ape.aarch64 | Bin 8936 -> 9104 bytes build/bootstrap/ape.elf | Bin 9435 -> 9435 bytes build/bootstrap/ape.macho | Bin 9435 -> 9435 bytes build/bootstrap/fixupobj.com | Bin 170248 -> 189376 bytes build/definitions.mk | 2 +- examples/crashreport2.cc | 23 +++ libc/calls/seccomp.c | 26 ++-- libc/calls/sigenter-freebsd.c | 69 +++++++-- libc/calls/struct/ucontext-freebsd.internal.h | 25 +++ libc/crt/crt.S | 5 + libc/dce.h | 4 +- libc/intrin/exit.c | 16 +- libc/intrin/exit1.greg.c | 28 +++- libc/intrin/futex.S | 15 +- libc/intrin/g_fds.c | 2 +- libc/intrin/sys_gettid.greg.c | 25 ++- libc/intrin/sys_umtx_timedwait_uint.c | 3 - libc/log/libfatal.internal.h | 4 + libc/log/oncrash_arm64.c | 2 +- libc/proc/fork-sysv.c | 6 +- libc/proc/vfork.S | 17 +- libc/runtime/clone.c | 145 +++++++++++------- libc/runtime/cosmo2.c | 13 +- libc/sock/BUILD.mk | 2 + libc/sysv/BUILD.mk | 1 + libc/sysv/calls/__bsd_setegid.S | 2 +- libc/sysv/calls/__bsd_seteuid.S | 2 +- libc/sysv/calls/__sys_accept.S | 2 +- libc/sysv/calls/__sys_accept4.S | 2 +- libc/sysv/calls/__sys_bind.S | 2 +- libc/sysv/calls/__sys_clock_nanosleep.S | 2 +- libc/sysv/calls/__sys_connect.S | 2 +- libc/sysv/calls/__sys_dup3.S | 2 +- libc/sysv/calls/__sys_execve.S | 2 +- libc/sysv/calls/__sys_fcntl.S | 2 +- libc/sysv/calls/__sys_fcntl_cp.S | 2 +- libc/sysv/calls/__sys_fork.S | 2 +- libc/sysv/calls/__sys_fstat.S | 2 +- libc/sysv/calls/__sys_fstatat.S | 2 +- libc/sysv/calls/__sys_getpeername.S | 2 +- libc/sysv/calls/__sys_getrusage.S | 2 +- libc/sysv/calls/__sys_getsockname.S | 2 +- libc/sysv/calls/__sys_gettid.S | 2 +- libc/sysv/calls/__sys_lstat.S | 2 +- libc/sysv/calls/__sys_mmap.S | 2 +- libc/sysv/calls/__sys_mprotect.S | 2 +- libc/sysv/calls/__sys_mremap.S | 2 +- libc/sysv/calls/__sys_munmap.S | 2 +- libc/sysv/calls/__sys_openat.S | 2 +- libc/sysv/calls/__sys_openat_nc.S | 2 +- libc/sysv/calls/__sys_pipe.S | 2 +- libc/sysv/calls/__sys_pipe2.S | 2 +- libc/sysv/calls/__sys_poll.S | 2 +- libc/sysv/calls/__sys_ptrace.S | 2 +- libc/sysv/calls/__sys_sigprocmask.S | 2 +- libc/sysv/calls/__sys_socket.S | 2 +- libc/sysv/calls/__sys_socketpair.S | 2 +- libc/sysv/calls/__sys_stat.S | 2 +- libc/sysv/calls/__sys_utimensat.S | 2 +- libc/sysv/calls/__sys_wait4.S | 2 +- libc/sysv/calls/get_mempolicy.S | 2 +- libc/sysv/calls/getpagesize_freebsd.S | 2 +- libc/sysv/calls/set_mempolicy.S | 2 +- libc/sysv/calls/sys_acct.S | 2 +- libc/sysv/calls/sys_add_key.S | 2 +- libc/sysv/calls/sys_adjtime.S | 2 +- libc/sysv/calls/sys_adjtimex.S | 2 +- libc/sysv/calls/sys_aio_cancel.S | 2 +- libc/sysv/calls/sys_aio_error.S | 2 +- libc/sysv/calls/sys_aio_fsync.S | 2 +- libc/sysv/calls/sys_aio_mlock.S | 2 +- libc/sysv/calls/sys_aio_read.S | 2 +- libc/sysv/calls/sys_aio_return.S | 2 +- libc/sysv/calls/sys_aio_suspend.S | 2 +- libc/sysv/calls/sys_aio_suspend_nocancel.S | 2 +- libc/sysv/calls/sys_aio_waitcomplete.S | 2 +- libc/sysv/calls/sys_aio_write.S | 2 +- libc/sysv/calls/sys_alarm.S | 2 +- libc/sysv/calls/sys_arch_prctl.S | 2 +- libc/sysv/calls/sys_audit.S | 2 +- libc/sysv/calls/sys_auditctl.S | 2 +- libc/sysv/calls/sys_auditon.S | 2 +- libc/sysv/calls/sys_bogus.S | 2 +- libc/sysv/calls/sys_bpf.S | 2 +- libc/sysv/calls/sys_bsdthread_register.S | 2 +- libc/sysv/calls/sys_cachestat.S | 2 +- libc/sysv/calls/sys_capget.S | 2 +- libc/sysv/calls/sys_capset.S | 2 +- libc/sysv/calls/sys_chdir.S | 2 +- libc/sysv/calls/sys_chflags.S | 2 +- libc/sysv/calls/sys_chflagsat.S | 2 +- libc/sysv/calls/sys_chroot.S | 2 +- libc/sysv/calls/sys_clock_adjtime.S | 2 +- libc/sysv/calls/sys_clock_getres.S | 2 +- libc/sysv/calls/sys_clock_settime.S | 2 +- libc/sysv/calls/sys_clone.S | 2 +- libc/sysv/calls/sys_clone3.S | 2 +- libc/sysv/calls/sys_close.S | 2 +- libc/sysv/calls/sys_close_range.S | 2 +- libc/sysv/calls/sys_closefrom.S | 2 +- libc/sysv/calls/sys_copy_file_range.S | 2 +- libc/sysv/calls/sys_delete_module.S | 2 +- libc/sysv/calls/sys_dup.S | 2 +- libc/sysv/calls/sys_dup2.S | 2 +- libc/sysv/calls/sys_epoll_create.S | 2 +- libc/sysv/calls/sys_epoll_create1.S | 2 +- libc/sysv/calls/sys_epoll_ctl.S | 2 +- libc/sysv/calls/sys_epoll_pwait.S | 2 +- libc/sysv/calls/sys_epoll_pwait2.S | 2 +- libc/sysv/calls/sys_epoll_wait.S | 2 +- libc/sysv/calls/sys_eventfd.S | 2 +- libc/sysv/calls/sys_eventfd2.S | 2 +- libc/sysv/calls/sys_execveat.S | 2 +- libc/sysv/calls/sys_exit.S | 2 +- libc/sysv/calls/sys_faccessat.S | 2 +- libc/sysv/calls/sys_faccessat2.S | 2 +- libc/sysv/calls/sys_fadvise.S | 2 +- libc/sysv/calls/sys_fallocate.S | 2 +- libc/sysv/calls/sys_fanotify_init.S | 2 +- libc/sysv/calls/sys_fanotify_mark.S | 2 +- libc/sysv/calls/sys_fchdir.S | 2 +- libc/sysv/calls/sys_fchflags.S | 2 +- libc/sysv/calls/sys_fchmod.S | 2 +- libc/sysv/calls/sys_fchmodat.S | 2 +- libc/sysv/calls/sys_fchmodat2.S | 2 +- libc/sysv/calls/sys_fchown.S | 2 +- libc/sysv/calls/sys_fchownat.S | 2 +- libc/sysv/calls/sys_fdatasync.S | 2 +- libc/sysv/calls/sys_fexecve.S | 2 +- libc/sysv/calls/sys_fgetxattr.S | 2 +- libc/sysv/calls/sys_fhopen.S | 2 +- libc/sysv/calls/sys_fhstat.S | 2 +- libc/sysv/calls/sys_fhstatfs.S | 2 +- libc/sysv/calls/sys_finit_module.S | 2 +- libc/sysv/calls/sys_flistxattr.S | 2 +- libc/sysv/calls/sys_flock.S | 2 +- libc/sysv/calls/sys_fpathconf.S | 2 +- libc/sysv/calls/sys_fremovexattr.S | 2 +- libc/sysv/calls/sys_fsconfig.S | 2 +- libc/sysv/calls/sys_fsetxattr.S | 2 +- libc/sysv/calls/sys_fsmount.S | 2 +- libc/sysv/calls/sys_fsopen.S | 2 +- libc/sysv/calls/sys_fspick.S | 2 +- libc/sysv/calls/sys_fstatfs.S | 2 +- libc/sysv/calls/sys_fsync.S | 2 +- libc/sysv/calls/sys_ftruncate.S | 2 +- libc/sysv/calls/sys_futex.S | 2 +- libc/sysv/calls/sys_futex_cp.S | 2 +- libc/sysv/calls/sys_futex_waitv.S | 2 +- libc/sysv/calls/sys_futimens.S | 2 +- libc/sysv/calls/sys_futimes.S | 2 +- libc/sysv/calls/sys_get_robust_list.S | 2 +- libc/sysv/calls/sys_getaudit_addr.S | 2 +- libc/sysv/calls/sys_getauid.S | 2 +- libc/sysv/calls/sys_getcontext.S | 2 +- libc/sysv/calls/sys_getcpu.S | 2 +- libc/sysv/calls/sys_getcwd.S | 2 +- libc/sysv/calls/sys_getdents.S | 2 +- libc/sysv/calls/sys_getdirentries.S | 2 +- libc/sysv/calls/sys_getdtablesize.S | 2 +- libc/sysv/calls/sys_getegid.S | 2 +- libc/sysv/calls/sys_geteuid.S | 2 +- libc/sysv/calls/sys_getfh.S | 2 +- libc/sysv/calls/sys_getfsstat.S | 2 +- libc/sysv/calls/sys_getgid.S | 2 +- libc/sysv/calls/sys_getgroups.S | 2 +- libc/sysv/calls/sys_getitimer.S | 2 +- libc/sysv/calls/sys_getlogin.S | 2 +- libc/sysv/calls/sys_getpgid.S | 2 +- libc/sysv/calls/sys_getpid.S | 2 +- libc/sysv/calls/sys_getppid.S | 2 +- libc/sysv/calls/sys_getpriority.S | 2 +- libc/sysv/calls/sys_getrandom.S | 2 +- libc/sysv/calls/sys_getresgid.S | 2 +- libc/sysv/calls/sys_getresuid.S | 2 +- libc/sysv/calls/sys_getrlimit.S | 2 +- libc/sysv/calls/sys_getsid.S | 2 +- libc/sysv/calls/sys_getsockopt.S | 2 +- libc/sysv/calls/sys_getuid.S | 2 +- libc/sysv/calls/sys_getxattr.S | 2 +- libc/sysv/calls/sys_init_module.S | 2 +- libc/sysv/calls/sys_inotify_add_watch.S | 2 +- libc/sysv/calls/sys_inotify_init.S | 2 +- libc/sysv/calls/sys_inotify_init1.S | 2 +- libc/sysv/calls/sys_inotify_rm_watch.S | 2 +- libc/sysv/calls/sys_io_cancel.S | 2 +- libc/sysv/calls/sys_io_destroy.S | 2 +- libc/sysv/calls/sys_io_getevents.S | 2 +- libc/sysv/calls/sys_io_pgetevents.S | 2 +- libc/sysv/calls/sys_io_setup.S | 2 +- libc/sysv/calls/sys_io_submit.S | 2 +- libc/sysv/calls/sys_io_uring_enter.S | 2 +- libc/sysv/calls/sys_io_uring_register.S | 2 +- libc/sysv/calls/sys_io_uring_setup.S | 2 +- libc/sysv/calls/sys_ioctl.S | 2 +- libc/sysv/calls/sys_ioctl_cp.S | 2 +- libc/sysv/calls/sys_ioperm.S | 2 +- libc/sysv/calls/sys_iopl.S | 2 +- libc/sysv/calls/sys_ioprio_get.S | 2 +- libc/sysv/calls/sys_ioprio_set.S | 2 +- libc/sysv/calls/sys_issetugid.S | 2 +- libc/sysv/calls/sys_kcmp.S | 2 +- libc/sysv/calls/sys_kevent.S | 2 +- libc/sysv/calls/sys_kexec_file_load.S | 2 +- libc/sysv/calls/sys_kexec_load.S | 2 +- libc/sysv/calls/sys_keyctl.S | 2 +- libc/sysv/calls/sys_kill.S | 2 +- libc/sysv/calls/sys_killpg.S | 2 +- libc/sysv/calls/sys_kqueue.S | 2 +- libc/sysv/calls/sys_ktimer_create.S | 2 +- libc/sysv/calls/sys_ktimer_delete.S | 2 +- libc/sysv/calls/sys_ktimer_getoverrun.S | 2 +- libc/sysv/calls/sys_ktimer_gettime.S | 2 +- libc/sysv/calls/sys_ktimer_settime.S | 2 +- libc/sysv/calls/sys_ktrace.S | 2 +- libc/sysv/calls/sys_landlock_add_rule.S | 2 +- libc/sysv/calls/sys_landlock_create_ruleset.S | 2 +- libc/sysv/calls/sys_landlock_restrict_self.S | 2 +- libc/sysv/calls/sys_lgetxattr.S | 2 +- libc/sysv/calls/sys_linkat.S | 2 +- libc/sysv/calls/sys_lio_listio.S | 2 +- libc/sysv/calls/sys_listen.S | 2 +- libc/sysv/calls/sys_listxattr.S | 2 +- libc/sysv/calls/sys_llistxattr.S | 2 +- libc/sysv/calls/sys_lookup_dcookie.S | 2 +- libc/sysv/calls/sys_lremovexattr.S | 2 +- libc/sysv/calls/sys_lseek.S | 2 +- libc/sysv/calls/sys_lsetxattr.S | 2 +- libc/sysv/calls/sys_lutimes.S | 2 +- libc/sysv/calls/sys_madvise.S | 2 +- libc/sysv/calls/sys_mbind.S | 2 +- libc/sysv/calls/sys_membarrier.S | 2 +- libc/sysv/calls/sys_memfd_create.S | 2 +- libc/sysv/calls/sys_memfd_secret.S | 2 +- libc/sysv/calls/sys_migrate_pages.S | 2 +- libc/sysv/calls/sys_mincore.S | 2 +- libc/sysv/calls/sys_minherit.S | 2 +- libc/sysv/calls/sys_mkdirat.S | 2 +- libc/sysv/calls/sys_mkfifo.S | 2 +- libc/sysv/calls/sys_mkfifoat.S | 2 +- libc/sysv/calls/sys_mknod.S | 2 +- libc/sysv/calls/sys_mknodat.S | 2 +- libc/sysv/calls/sys_mlock.S | 2 +- libc/sysv/calls/sys_mlock2.S | 2 +- libc/sysv/calls/sys_mlockall.S | 2 +- libc/sysv/calls/sys_modify_ldt.S | 2 +- libc/sysv/calls/sys_mount.S | 2 +- libc/sysv/calls/sys_mount_setattr.S | 2 +- libc/sysv/calls/sys_move_mount.S | 2 +- libc/sysv/calls/sys_move_pages.S | 2 +- libc/sysv/calls/sys_mq_getsetattr.S | 2 +- libc/sysv/calls/sys_mq_notify.S | 2 +- libc/sysv/calls/sys_mq_open.S | 2 +- libc/sysv/calls/sys_mq_timedreceive.S | 2 +- libc/sysv/calls/sys_mq_timedsend.S | 2 +- libc/sysv/calls/sys_mq_unlink.S | 2 +- libc/sysv/calls/sys_msgctl.S | 2 +- libc/sysv/calls/sys_msgget.S | 2 +- libc/sysv/calls/sys_msgrcv.S | 2 +- libc/sysv/calls/sys_msgsnd.S | 2 +- libc/sysv/calls/sys_msgsys.S | 2 +- libc/sysv/calls/sys_msync.S | 2 +- libc/sysv/calls/sys_msyscall.S | 2 +- libc/sysv/calls/sys_munlock.S | 2 +- libc/sysv/calls/sys_munlockall.S | 2 +- libc/sysv/calls/sys_name_to_handle_at.S | 2 +- libc/sysv/calls/sys_nanosleep.S | 2 +- libc/sysv/calls/sys_nfssvc.S | 2 +- libc/sysv/calls/sys_ntp_adjtime.S | 2 +- libc/sysv/calls/sys_ntp_gettime.S | 2 +- libc/sysv/calls/sys_open_by_handle_at.S | 2 +- libc/sysv/calls/sys_open_tree.S | 2 +- libc/sysv/calls/sys_openat2.S | 2 +- libc/sysv/calls/sys_pathconf.S | 2 +- libc/sysv/calls/sys_pause.S | 2 +- libc/sysv/calls/sys_perf_event_open.S | 2 +- libc/sysv/calls/sys_personality.S | 2 +- libc/sysv/calls/sys_pidfd_getfd.S | 2 +- libc/sysv/calls/sys_pidfd_open.S | 2 +- libc/sysv/calls/sys_pidfd_send_signal.S | 2 +- libc/sysv/calls/sys_pivot_root.S | 2 +- libc/sysv/calls/sys_pkey_alloc.S | 2 +- libc/sysv/calls/sys_pkey_free.S | 2 +- libc/sysv/calls/sys_pkey_mprotect.S | 2 +- libc/sysv/calls/sys_pledge.S | 2 +- libc/sysv/calls/sys_posix_fallocate.S | 2 +- libc/sysv/calls/sys_posix_openpt.S | 2 +- libc/sysv/calls/sys_posix_spawn.S | 2 +- libc/sysv/calls/sys_ppoll.S | 2 +- libc/sysv/calls/sys_pread.S | 2 +- libc/sysv/calls/sys_preadv.S | 2 +- libc/sysv/calls/sys_preadv2.S | 2 +- libc/sysv/calls/sys_prlimit.S | 2 +- libc/sysv/calls/sys_process_madvise.S | 2 +- libc/sysv/calls/sys_process_mrelease.S | 2 +- libc/sysv/calls/sys_process_vm_readv.S | 2 +- libc/sysv/calls/sys_process_vm_writev.S | 2 +- libc/sysv/calls/sys_profil.S | 2 +- libc/sysv/calls/sys_pselect.S | 2 +- libc/sysv/calls/sys_pwrite.S | 2 +- libc/sysv/calls/sys_pwritev.S | 2 +- libc/sysv/calls/sys_pwritev2.S | 2 +- libc/sysv/calls/sys_quotactl.S | 2 +- libc/sysv/calls/sys_quotactl_fd.S | 2 +- libc/sysv/calls/sys_read.S | 2 +- libc/sysv/calls/sys_readahead.S | 2 +- libc/sysv/calls/sys_readlinkat.S | 2 +- libc/sysv/calls/sys_readv.S | 2 +- libc/sysv/calls/sys_reboot.S | 2 +- libc/sysv/calls/sys_recvfrom.S | 2 +- libc/sysv/calls/sys_recvmmsg.S | 2 +- libc/sysv/calls/sys_recvmsg.S | 2 +- libc/sysv/calls/sys_removexattr.S | 2 +- libc/sysv/calls/sys_renameat.S | 2 +- libc/sysv/calls/sys_renameat2.S | 2 +- libc/sysv/calls/sys_request_key.S | 2 +- libc/sysv/calls/sys_restart_syscall.S | 2 +- libc/sysv/calls/sys_revoke.S | 2 +- libc/sysv/calls/sys_rseq.S | 2 +- libc/sysv/calls/sys_rtprio_thread.S | 2 +- libc/sysv/calls/sys_sched_get_priority_max.S | 2 +- libc/sysv/calls/sys_sched_get_priority_min.S | 2 +- libc/sysv/calls/sys_sched_getaffinity.S | 2 +- libc/sysv/calls/sys_sched_getattr.S | 2 +- libc/sysv/calls/sys_sched_getparam.S | 2 +- libc/sysv/calls/sys_sched_getscheduler.S | 2 +- libc/sysv/calls/sys_sched_rr_get_interval.S | 2 +- libc/sysv/calls/sys_sched_setaffinity.S | 2 +- libc/sysv/calls/sys_sched_setattr.S | 2 +- libc/sysv/calls/sys_sched_setparam.S | 2 +- libc/sysv/calls/sys_sched_setscheduler.S | 2 +- libc/sysv/calls/sys_sched_yield.S | 2 +- libc/sysv/calls/sys_select.S | 2 +- libc/sysv/calls/sys_sem_close.S | 2 +- libc/sysv/calls/sys_sem_destroy.S | 2 +- libc/sysv/calls/sys_sem_getvalue.S | 2 +- libc/sysv/calls/sys_sem_init.S | 2 +- libc/sysv/calls/sys_sem_open.S | 2 +- libc/sysv/calls/sys_sem_post.S | 2 +- libc/sysv/calls/sys_sem_timedwait.S | 2 +- libc/sysv/calls/sys_sem_trywait.S | 2 +- libc/sysv/calls/sys_sem_unlink.S | 2 +- libc/sysv/calls/sys_sem_wait.S | 2 +- libc/sysv/calls/sys_sem_wait_nocancel.S | 2 +- libc/sysv/calls/sys_semctl.S | 2 +- libc/sysv/calls/sys_semget.S | 2 +- libc/sysv/calls/sys_semop.S | 2 +- libc/sysv/calls/sys_semsys.S | 2 +- libc/sysv/calls/sys_semtimedop.S | 2 +- libc/sysv/calls/sys_sendfile.S | 2 +- libc/sysv/calls/sys_sendmsg.S | 2 +- libc/sysv/calls/sys_sendto.S | 2 +- libc/sysv/calls/sys_set_mempolicy_home_node.S | 2 +- libc/sysv/calls/sys_set_robust_list.S | 2 +- libc/sysv/calls/sys_set_tid_address.S | 2 +- libc/sysv/calls/sys_set_tls.S | 2 +- libc/sysv/calls/sys_setaudit_addr.S | 2 +- libc/sysv/calls/sys_setauid.S | 2 +- libc/sysv/calls/sys_setdomainname.S | 2 +- libc/sysv/calls/sys_setfsgid.S | 2 +- libc/sysv/calls/sys_setfsuid.S | 2 +- libc/sysv/calls/sys_setgid.S | 2 +- libc/sysv/calls/sys_setgroups.S | 2 +- libc/sysv/calls/sys_sethostname.S | 2 +- libc/sysv/calls/sys_setitimer.S | 2 +- libc/sysv/calls/sys_setlogin.S | 2 +- libc/sysv/calls/sys_setns.S | 2 +- libc/sysv/calls/sys_setpgid.S | 2 +- libc/sysv/calls/sys_setpriority.S | 2 +- libc/sysv/calls/sys_setregid.S | 2 +- libc/sysv/calls/sys_setresgid.S | 2 +- libc/sysv/calls/sys_setresuid.S | 2 +- libc/sysv/calls/sys_setreuid.S | 2 +- libc/sysv/calls/sys_setrlimit.S | 2 +- libc/sysv/calls/sys_setsid.S | 2 +- libc/sysv/calls/sys_setsockopt.S | 2 +- libc/sysv/calls/sys_settimeofday.S | 2 +- libc/sysv/calls/sys_setuid.S | 2 +- libc/sysv/calls/sys_setxattr.S | 2 +- libc/sysv/calls/sys_shm_open.S | 2 +- libc/sysv/calls/sys_shm_unlink.S | 2 +- libc/sysv/calls/sys_shmat.S | 2 +- libc/sysv/calls/sys_shmctl.S | 2 +- libc/sysv/calls/sys_shmdt.S | 2 +- libc/sysv/calls/sys_shmget.S | 2 +- libc/sysv/calls/sys_shmsys.S | 2 +- libc/sysv/calls/sys_shutdown.S | 2 +- libc/sysv/calls/sys_sigaction.S | 2 +- libc/sysv/calls/sys_sigaltstack.S | 2 +- libc/sysv/calls/sys_signalfd.S | 2 +- libc/sysv/calls/sys_signalfd4.S | 2 +- libc/sysv/calls/sys_sigpending.S | 2 +- libc/sysv/calls/sys_sigqueue.S | 2 +- libc/sysv/calls/sys_sigqueueinfo.S | 2 +- libc/sysv/calls/sys_sigsuspend.S | 2 +- libc/sysv/calls/sys_sigtimedwait.S | 2 +- libc/sysv/calls/sys_sigwait.S | 2 +- libc/sysv/calls/sys_splice.S | 2 +- libc/sysv/calls/sys_statfs.S | 2 +- libc/sysv/calls/sys_statx.S | 2 +- libc/sysv/calls/sys_swapoff.S | 2 +- libc/sysv/calls/sys_swapon.S | 2 +- libc/sysv/calls/sys_symlinkat.S | 2 +- libc/sysv/calls/sys_sync.S | 2 +- libc/sysv/calls/sys_syncfs.S | 2 +- libc/sysv/calls/sys_sysctl.S | 2 +- libc/sysv/calls/sys_sysfs.S | 2 +- libc/sysv/calls/sys_sysinfo.S | 2 +- libc/sysv/calls/sys_syslog.S | 2 +- libc/sysv/calls/sys_tee.S | 2 +- libc/sysv/calls/sys_tgkill.S | 2 +- libc/sysv/calls/sys_tgsigqueueinfo.S | 2 +- libc/sysv/calls/sys_timer_create.S | 2 +- libc/sysv/calls/sys_timer_delete.S | 2 +- libc/sysv/calls/sys_timer_getoverrun.S | 2 +- libc/sysv/calls/sys_timer_gettime.S | 2 +- libc/sysv/calls/sys_timer_settime.S | 2 +- libc/sysv/calls/sys_timerfd_create.S | 2 +- libc/sysv/calls/sys_timerfd_gettime.S | 2 +- libc/sysv/calls/sys_timerfd_settime.S | 2 +- libc/sysv/calls/sys_times.S | 2 +- libc/sysv/calls/sys_tkill.S | 2 +- libc/sysv/calls/sys_truncate.S | 2 +- libc/sysv/calls/sys_umask.S | 2 +- libc/sysv/calls/sys_umount2.S | 2 +- libc/sysv/calls/sys_uname.S | 2 +- libc/sysv/calls/sys_undelete.S | 2 +- libc/sysv/calls/sys_unlink.S | 2 +- libc/sysv/calls/sys_unlinkat.S | 2 +- libc/sysv/calls/sys_unmount.S | 2 +- libc/sysv/calls/sys_unshare.S | 2 +- libc/sysv/calls/sys_unveil.S | 2 +- libc/sysv/calls/sys_userfaultfd.S | 2 +- libc/sysv/calls/sys_ustat.S | 2 +- libc/sysv/calls/sys_utime.S | 2 +- libc/sysv/calls/sys_utimes.S | 2 +- libc/sysv/calls/sys_utrace.S | 2 +- libc/sysv/calls/sys_vhangup.S | 2 +- libc/sysv/calls/sys_vmsplice.S | 2 +- libc/sysv/calls/sys_waitid.S | 2 +- libc/sysv/calls/sys_write.S | 2 +- libc/sysv/calls/sys_writev.S | 2 +- libc/sysv/consts.sh | 4 +- libc/sysv/consts/AT_HWCAP.S | 2 +- libc/sysv/consts/AT_HWCAP2.S | 2 +- libc/sysv/gen.sh | 3 +- libc/sysv/macros.internal.h | 3 +- libc/sysv/sysv.c | 12 +- libc/thread/pthread_setname_np.c | 11 ++ test/libc/calls/renameat_test.c | 2 + test/libc/calls/utimensat_test.c | 2 +- tool/build/fixupobj.c | 9 +- tool/build/lib/eztls.c | 1 + 455 files changed, 778 insertions(+), 551 deletions(-) create mode 100644 examples/crashreport2.cc diff --git a/ape/BUILD.mk b/ape/BUILD.mk index 8ef39de53..8a71c8986 100644 --- a/ape/BUILD.mk +++ b/ape/BUILD.mk @@ -78,7 +78,8 @@ APE_LOADER_FLAGS = \ $< o/$(MODE)/ape/ape.elf: o/$(MODE)/ape/ape.elf.dbg - $(COMPILE) -AOBJCOPY -T$@ $(OBJCOPY) -g $< $@ + @$(COMPILE) -AOBJCOPY -T$@ $(OBJCOPY) -g $< $@ + @$(COMPILE) -AFIXUPOBJ -wT$@ $(FIXUPOBJ) $@ o/$(MODE)/ape/ape.elf.dbg: \ o/$(MODE)/ape/start.o \ @@ -88,7 +89,7 @@ o/$(MODE)/ape/ape.elf.dbg: \ @$(COMPILE) -ALINK.elf $(LD) $(APE_LOADER_LDFLAGS) -o $@ $(patsubst %.lds,-T %.lds,$^) o/$(MODE)/ape/loader.o: ape/loader.c ape/ape.h - @$(COMPILE) -AOBJECTIFY.c $(CC) -DSUPPORT_VECTOR=1 -g $(APE_LOADER_FLAGS) + @$(COMPILE) -AOBJECTIFY.c $(CC) -DSUPPORT_VECTOR=33 -g $(APE_LOADER_FLAGS) o/$(MODE)/ape/start.o: ape/start.S @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< o/$(MODE)/ape/launch.o: ape/launch.S diff --git a/ape/loader.c b/ape/loader.c index ece126229..b11ff2982 100644 --- a/ape/loader.c +++ b/ape/loader.c @@ -87,7 +87,7 @@ #define MIN(X, Y) ((Y) > (X) ? (X) : (Y)) #define MAX(X, Y) ((Y) < (X) ? (X) : (Y)) -#define PATH_MAX 1024 /* XXX verify */ +#define PATH_MAX 1024 /* XXX verify */ #define SupportsLinux() (SUPPORT_VECTOR & LINUX) #define SupportsXnu() (SUPPORT_VECTOR & XNU) @@ -224,8 +224,8 @@ struct ApeLoader { }; EXTERN_C long SystemCall(long, long, long, long, long, long, long, int); -EXTERN_C void -Launch(void *, long, void *, void *, int) __attribute__((__noreturn__)); +EXTERN_C void Launch(void *, long, void *, void *, int) + __attribute__((__noreturn__)); extern char __executable_start[]; extern char _end[]; diff --git a/build/bootstrap/ape.aarch64 b/build/bootstrap/ape.aarch64 index 1361430eab6ec9c0df553b17ad2cb53729c1a96d..6c8f9305b5a7220e92ff01a6562a4360ec078771 100755 GIT binary patch delta 5105 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 diff --git a/build/bootstrap/ape.elf b/build/bootstrap/ape.elf index 69d9b269ea8ae88aa9840367848969962923621d..961bcf0590668c6e4b53fa59094719a5fa3ddde8 100755 GIT binary patch delta 1534 zcmYjRU2GIp6yDigc31jyw?Ej@#!|6?ASQGYkS?S@LuSeyyjzW-U=QdaSjT|f$xyYfPe;@jB0Q3(zCEoW}T>q0c@L@-zDCJ=r$wdU0>c*lNpg|GINn= zr>o*{ONmd(k8fn-UwVJznv9QqBG)u<#TVwdMq|_B4P2+uvG^?4IItw=fHS5-(YIP; zS8FM6V~tc{<=;w-#A8($q-8bES^;*jzNoFx;mFhiIL5$Q0G}|h8o*}^EC-NeU@3rG z4EO=q40r)l6hRf`+oL-|!cHM1vlGXfIUeahB%vg_!wVGc|Z=^Z}Bn^<2$SuF9$wnciIw=-4XE%fdj%+RoNA(7C_ zylI_TNV&vzTl-oI%ZpdhWTHQL%LwfVGZf4@By9AZ5LwR8}TjK`mU0 zsgwv(TpHXxA`G!|WOZ`_ci*kfg{JG9d_+G`h4Aj5W#z9atc;dORCl|Xb+@MQs$a0a z6`~B&W>Ymg3$PY7AzNHEGbTQ7J2Dx(MT;h|)?pHww%+>(W~=+Izmf?P+0L7=Q%WWr zjM1XWXSS+l>>k!6xPR>&xUxmhHI2Ama4sq|9{P92hG0y4%;*ZR=XD6P(Vot1m(*0G zg`dW>BW|5#gRFJLd(6mYJ|!q~Tu?t#3ECxk6P+0$^ctV$r*$Gb32lyB?GJ35Xw7jL zeX4*DP?*gK9VPTCG{_=gpseYBD8Q#rdfWv>cNZ8x7Q7G}$MhUvmV4N|mVFVlu~Qov<;30$2|U0^PNIQl&Z>WBMKDQ;EYhhfk{ zagf#zl0Jm_RZTjIPBcL&Wv2c}ehlcnK=bK|joI?hfz_b|9tyU!H-^R9l|;|2z*;DY zhxfm8FmmW%?Mkc_;lO2ddISd^G@#RC4Zi!)Iy@x2A&HwdLpX3bvPRenvQ3d*hsFup zS#t=T1YxGN3!Gqm=F{K{roxC-4&LFf!w2`ZMfOy##J$)hCD~w+jnTxRK{-%?)bn7e ztT+1jX?h>)M_oA3kvRM=8uk-CYUdklBaGshx%gid8n$#hJ4Qh#{uf^HBE(x1^C>=S7SOodJ#&vqIJ4G8Es z{BZ0sVS@EWwo~vpeDE;*@F;xnDBuUiZZffgO%wfrP+&|TB|a_j;}ZX;#NU(nY4|G) Qh{YFkjIdKYUpemn4{t_z?*IS* delta 1616 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 diff --git a/build/bootstrap/fixupobj.com b/build/bootstrap/fixupobj.com index b6c7c3536f7590cce80456704eb6712eee87a67c..0d969795bd4c75912d64cdd61aedaacac7fda2ba 100755 GIT binary patch delta 46617 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 delta 81280 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 CKdrI= diff --git a/build/definitions.mk b/build/definitions.mk index 15dc061e0..eb5011c1f 100644 --- a/build/definitions.mk +++ b/build/definitions.mk @@ -86,7 +86,7 @@ IGNORE := $(shell $(MKDIR) $(TMPDIR)) ifneq ($(findstring aarch64,$(MODE)),) ARCH = aarch64 -HOSTS ?= pi studio +HOSTS ?= pi studio freebsdarm else ARCH = x86_64 HOSTS ?= freebsd rhel7 xnu win10 openbsd netbsd diff --git a/examples/crashreport2.cc b/examples/crashreport2.cc new file mode 100644 index 000000000..06bb92548 --- /dev/null +++ b/examples/crashreport2.cc @@ -0,0 +1,23 @@ +#if 0 +/*─────────────────────────────────────────────────────────────────╗ +│ To the extent possible under law, Justine Tunney has waived │ +│ all copyright and related or neighboring rights to this file, │ +│ as it is written in the following disclaimers: │ +│ • http://unlicense.org/ │ +│ • http://creativecommons.org/publicdomain/zero/1.0/ │ +╚─────────────────────────────────────────────────────────────────*/ +#endif +#include "libc/math.h" +#include "libc/runtime/runtime.h" + +void crash(long x0, long x1, long x2, // + double v0, double v1, double v2) { + __builtin_trap(); +} + +void (*pCrash)(long, long, long, double, double, double) = crash; + +int main(int argc, char *argv[]) { + ShowCrashReports(); + pCrash(1, 2, 3, NAN, NAN, NAN); +} diff --git a/libc/calls/seccomp.c b/libc/calls/seccomp.c index 534ee099f..eaa1e4708 100644 --- a/libc/calls/seccomp.c +++ b/libc/calls/seccomp.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/calls/struct/seccomp.internal.h" #include "libc/calls/calls.h" +#include "libc/calls/struct/seccomp.internal.h" #include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" #include "libc/errno.h" @@ -62,16 +62,20 @@ int seccomp(unsigned operation, unsigned flags, void *args) { rc = -1; } #elif defined(__aarch64__) - register long r0 asm("x0") = (long)operation; - register long r1 asm("x1") = (long)flags; - register long r2 asm("x2") = (long)args; - register long res_x0 asm("x0"); - asm volatile("mov\tx8,%1\n\t" - "svc\t0" - : "=r"(res_x0) - : "i"(211), "r"(r0), "r"(r1), "r"(r2) - : "x8", "memory"); - rc = _sysret(res_x0); + if (IsLinux()) { + register long r0 asm("x0") = (long)operation; + register long r1 asm("x1") = (long)flags; + register long r2 asm("x2") = (long)args; + register long res_x0 asm("x0"); + asm volatile("mov\tx8,%1\n\t" + "svc\t0" + : "=r"(res_x0) + : "i"(211), "r"(r0), "r"(r1), "r"(r2) + : "x8", "memory"); + rc = _sysret(res_x0); + } else { + rc = enosys(); + } #else #error "arch unsupported" #endif diff --git a/libc/calls/sigenter-freebsd.c b/libc/calls/sigenter-freebsd.c index 6d5119f0e..0f29ad547 100644 --- a/libc/calls/sigenter-freebsd.c +++ b/libc/calls/sigenter-freebsd.c @@ -20,6 +20,7 @@ #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" +#include "libc/calls/struct/aarch64.internal.h" #include "libc/calls/struct/sigaction.h" #include "libc/calls/struct/siginfo-freebsd.internal.h" #include "libc/calls/struct/siginfo-meta.internal.h" @@ -33,18 +34,18 @@ #include "libc/str/str.h" #include "libc/sysv/consts/sa.h" -#ifdef __x86_64__ - privileged void __sigenter_freebsd(int sig, struct siginfo_freebsd *freebsdinfo, struct ucontext_freebsd *ctx) { + #pragma GCC push_options #pragma GCC diagnostic ignored "-Wframe-larger-than=" - struct Goodies { + struct { ucontext_t uc; siginfo_t si; } g; CheckLargeStackAllocation(&g, sizeof(g)); #pragma GCC pop_options + int rva, flags; rva = __sighandrvas[sig]; if (rva >= kSigactionMinRva) { @@ -52,12 +53,20 @@ privileged void __sigenter_freebsd(int sig, struct siginfo_freebsd *freebsdinfo, if (~flags & SA_SIGINFO) { ((sigaction_f)(__executable_start + rva))(sig, 0, 0); } else { + + // + // TRANSLATE FREEBSD SIGNAL TO LINUX SIGNAL + // + __repstosb(&g, 0, sizeof(g)); - g.uc.uc_mcontext.fpregs = &g.uc.__fpustate; + __siginfo2cosmo(&g.si, (void *)freebsdinfo); g.uc.uc_stack.ss_sp = ctx->uc_stack.ss_sp; g.uc.uc_stack.ss_size = ctx->uc_stack.ss_size; g.uc.uc_stack.ss_flags = ctx->uc_stack.ss_flags; g.uc.uc_sigmask = ctx->uc_sigmask[0] | (uint64_t)ctx->uc_sigmask[0] << 32; + +#ifdef __x86_64__ + g.uc.uc_mcontext.fpregs = &g.uc.__fpustate; g.uc.uc_mcontext.r8 = ctx->uc_mcontext.mc_r8; g.uc.uc_mcontext.r9 = ctx->uc_mcontext.mc_r9; g.uc.uc_mcontext.r10 = ctx->uc_mcontext.mc_r10; @@ -81,14 +90,39 @@ privileged void __sigenter_freebsd(int sig, struct siginfo_freebsd *freebsdinfo, g.uc.uc_mcontext.err = ctx->uc_mcontext.mc_err; g.uc.uc_mcontext.trapno = ctx->uc_mcontext.mc_trapno; __repmovsb(&g.uc.__fpustate, &ctx->uc_mcontext.mc_fpstate, 512); - __siginfo2cosmo(&g.si, (void *)freebsdinfo); +#endif /* __x86_64__ */ + +#ifdef __aarch64__ + __memcpy(g.uc.uc_mcontext.regs, &ctx->uc_mcontext.mc_gpregs, 34 * 8); + if (ctx->uc_mcontext.mc_flags & _MC_FP_VALID) { + struct fpsimd_context *vc = + (struct fpsimd_context *)g.uc.uc_mcontext.__reserved; + vc->head.magic = FPSIMD_MAGIC; + vc->head.size = sizeof(*vc); + vc->fpsr = ctx->uc_mcontext.mc_fpregs.fp_sr; + vc->fpcr = ctx->uc_mcontext.mc_fpregs.fp_cr; + __memcpy(vc->vregs, ctx->uc_mcontext.mc_fpregs.fp_q, 32 * 16); + } +#endif /* __aarch64__ */ + + // + // INVOKE SIGNAL HANDLER + // + ((sigaction_f)(__executable_start + rva))(sig, &g.si, &g.uc); + + // + // TRANSLATE LINUX SIGNAL TO FREEBSD SIGNAL + // + ctx->uc_stack.ss_sp = g.uc.uc_stack.ss_sp; ctx->uc_stack.ss_size = g.uc.uc_stack.ss_size; ctx->uc_stack.ss_flags = g.uc.uc_stack.ss_flags; ctx->uc_flags = g.uc.uc_flags; ctx->uc_sigmask[0] = g.uc.uc_sigmask; ctx->uc_sigmask[1] = g.uc.uc_sigmask >> 32; + +#ifdef __x86_64__ ctx->uc_mcontext.mc_rdi = g.uc.uc_mcontext.rdi; ctx->uc_mcontext.mc_rsi = g.uc.uc_mcontext.rsi; ctx->uc_mcontext.mc_rdx = g.uc.uc_mcontext.rdx; @@ -112,13 +146,24 @@ privileged void __sigenter_freebsd(int sig, struct siginfo_freebsd *freebsdinfo, ctx->uc_mcontext.mc_rip = g.uc.uc_mcontext.rip; ctx->uc_mcontext.mc_rsp = g.uc.uc_mcontext.rsp; __repmovsb(&ctx->uc_mcontext.mc_fpstate, &g.uc.__fpustate, 512); +#endif /* __x86_64__ */ + +#ifdef __aarch64__ + __memcpy(&ctx->uc_mcontext.mc_gpregs, g.uc.uc_mcontext.regs, 34 * 8); + struct fpsimd_context *vc = + (struct fpsimd_context *)g.uc.uc_mcontext.__reserved; + if (vc->head.magic == FPSIMD_MAGIC) { + ctx->uc_mcontext.mc_flags |= _MC_FP_VALID; + ctx->uc_mcontext.mc_fpregs.fp_sr = vc->fpsr; + ctx->uc_mcontext.mc_fpregs.fp_cr = vc->fpcr; + __memcpy(ctx->uc_mcontext.mc_fpregs.fp_q, vc->vregs, 32 * 16); + } +#endif /* __aarch64__ */ + + // done } } - /* - * When the FreeBSD kernel invokes this signal handler it pushes a - * trampoline on the stack which does two things: 1) it calls this - * function, and 2) calls sys_sigreturn() once this returns. - */ + // When the FreeBSD kernel invokes this signal handler it pushes a + // trampoline on the stack which does two things: 1) it calls this + // function, and 2) calls sys_sigreturn() once this returns. } - -#endif /* __x86_64__ */ diff --git a/libc/calls/struct/ucontext-freebsd.internal.h b/libc/calls/struct/ucontext-freebsd.internal.h index facb16fa6..28e469f47 100644 --- a/libc/calls/struct/ucontext-freebsd.internal.h +++ b/libc/calls/struct/ucontext-freebsd.internal.h @@ -2,6 +2,22 @@ #define COSMOPOLITAN_LIBC_CALLS_STRUCT_UCONTEXT_FREEBSD_INTERNAL_H_ COSMOPOLITAN_C_START_ +struct gpregs_freebsd_aarch64 { + int64_t gp_x[30]; + int64_t gp_lr; + int64_t gp_sp; + int64_t gp_elr; /* pc */ + uint64_t gp_spsr; /* pstate or cpsr */ +}; + +struct fpregs_freebsd_aarch64 { + uint128_t fp_q[32]; + uint32_t fp_sr; + uint32_t fp_cr; + int fp_flags; + int fp_pad; +}; + struct stack_freebsd { void *ss_sp; uint64_t ss_size; @@ -9,6 +25,7 @@ struct stack_freebsd { }; struct mcontext_freebsd { +#ifdef __x86_64__ int64_t mc_onstack; int64_t mc_rdi; int64_t mc_rsi; @@ -47,6 +64,14 @@ struct mcontext_freebsd { int64_t mc_xfpustate; int64_t mc_xfpustate_len; int64_t mc_spare[4]; +#elif defined(__aarch64__) + struct gpregs_freebsd_aarch64 mc_gpregs; + struct fpregs_freebsd_aarch64 mc_fpregs; + int mc_flags; +#define _MC_FP_VALID 0x1 /* Set when mc_fpregs has valid data */ + int mc_pad; /* Padding */ + uint64_t mc_spare[8]; /* Space for expansion, set to zero */ +#endif }; struct ucontext_freebsd { diff --git a/libc/crt/crt.S b/libc/crt/crt.S index 07978f47b..591bcd0ce 100644 --- a/libc/crt/crt.S +++ b/libc/crt/crt.S @@ -125,6 +125,11 @@ _start: //////////////////////////////////////////////////////////////////////////////// #elif defined(__aarch64__) +#if SupportsFreebsd() +// save first arg + mov x3,x0 +#endif + // save original stack pointer // this is the first argument to cosmo() below mov x0,sp diff --git a/libc/dce.h b/libc/dce.h index b96bb6e2b..faabcac32 100644 --- a/libc/dce.h +++ b/libc/dce.h @@ -13,7 +13,7 @@ */ #define SUPPORT_VECTOR 255 #else -#define SUPPORT_VECTOR (_HOSTLINUX | _HOSTXNU) +#define SUPPORT_VECTOR (_HOSTLINUX | _HOSTXNU | _HOSTFREEBSD) #endif #endif @@ -62,8 +62,10 @@ #endif #ifdef __aarch64__ +#define IsAarch64() 1 #define IsXnuSilicon() IsXnu() #else +#define IsAarch64() 0 #define IsXnuSilicon() 0 #endif diff --git a/libc/intrin/exit.c b/libc/intrin/exit.c index 12604ed50..50f1a00d9 100644 --- a/libc/intrin/exit.c +++ b/libc/intrin/exit.c @@ -59,12 +59,12 @@ wontreturn void _Exit(int exitcode) { : "rcx", "r11", "memory"); #elif defined(__aarch64__) register long x0 asm("x0") = exitcode; - asm volatile("mov\tx8,%0\n\t" - "mov\tx16,%1\n\t" + register long x8 asm("x8") = IsLinux() ? 94 : 1; + asm volatile("mov\tx16,%1\n\t" "svc\t0" : /* no outputs */ - : "i"(94), "i"(1), "r"(x0) - : "x8", "x16", "memory"); + : "r"(x8), "i"(1), "r"(x0) + : "x16", "memory"); #else #error "unsupported architecture" #endif @@ -77,12 +77,12 @@ wontreturn void _Exit(int exitcode) { : "rcx", "r11", "memory"); #else register long r0 asm("x0") = exitcode; - asm volatile("mov\tx8,%0\n\t" - "mov\tx16,%1\n\t" + register long x8 asm("x8") = IsLinux() ? 93 : 431; + asm volatile("mov\tx16,%1\n\t" "svc\t0" : /* no outputs */ - : "i"(93), "i"(0x169), "r"(r0) - : "x8", "memory"); + : "r"(x8), "i"(0x169), "r"(r0) + : "memory"); #endif } else if (IsWindows()) { uint32_t waitstatus; diff --git a/libc/intrin/exit1.greg.c b/libc/intrin/exit1.greg.c index 3d92258ff..92274d5ca 100644 --- a/libc/intrin/exit1.greg.c +++ b/libc/intrin/exit1.greg.c @@ -74,13 +74,27 @@ wontreturn void _Exit1(int rc) { } notpossible; #elif defined(__aarch64__) - if (IsLinux()) { - register long r0 asm("x0") = rc; - asm volatile("mov\tx8,%0\n\t" - "svc\t0" - : /* no outputs */ - : "i"(93), "r"(r0) - : "x8", "memory"); + if (IsLinux() || IsFreebsd()) { + register int x0 asm("x0") = rc; + register int x8 asm("x8"); + if (IsLinux()) { + x8 = 93; // exit + } else if (IsFreebsd()) { + x8 = 431; // thr_exit + } else { + __builtin_unreachable(); + } + asm volatile("svc\t0" : "+r"(x0) : "r"(x8) : "memory"); + if (SupportsFreebsd()) { + // On FreeBSD, thr_exit() fails if the current thread is orphaned. + // In that case we're really better off just calling plain _exit() + x0 = rc; + asm volatile("mov\tx8,#1\n\t" + "svc\t0" + : /* no outputs */ + : "r"(x0) + : "memory"); + } } else if (IsXnu()) { __syslib->__pthread_exit(0); } diff --git a/libc/intrin/futex.S b/libc/intrin/futex.S index de85b12fe..73971e959 100644 --- a/libc/intrin/futex.S +++ b/libc/intrin/futex.S @@ -32,10 +32,19 @@ _futex: neg %eax 1: pop %rbp #elif defined(__aarch64__) - mov x8,#0x062 - svc #0 + ldr x7,=__hostos + ldr w7,[x7] + tst x7,1 // IsLinux() + mov x7,98 // futex (Linux) + mov x8,454 // _umtx_op (FreeBSD) + csel x8,x7,x8,ne // choose syscall magnum + mov x7,0 // clear carry (for Linux) + adds x7,x7,0 // clear carry + svc #0 // call kernel + bcc 1f // jump if not carry + neg x0,x0 // linux style errno #else #error "unsupported architecture" #endif /* __x86_64__ */ - ret +1: ret .endfn _futex,globl,hidden diff --git a/libc/intrin/g_fds.c b/libc/intrin/g_fds.c index 6c9b61909..3e12da55f 100644 --- a/libc/intrin/g_fds.c +++ b/libc/intrin/g_fds.c @@ -79,7 +79,7 @@ static textwindows void SetupWinStd(struct Fds *fds, int i, uint32_t x) { textstartup void __init_fds(int argc, char **argv, char **envp) { struct Fds *fds; - fds = __veil("r", &g_fds); + fds = &g_fds; fds->n = 4; atomic_store_explicit(&fds->f, 3, memory_order_relaxed); if (_weaken(_extend)) { diff --git a/libc/intrin/sys_gettid.greg.c b/libc/intrin/sys_gettid.greg.c index 06c708d9a..408025bc0 100644 --- a/libc/intrin/sys_gettid.greg.c +++ b/libc/intrin/sys_gettid.greg.c @@ -18,6 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" +#include "libc/intrin/kprintf.h" #include "libc/nt/thread.h" #include "libc/nt/thunk/msabi.h" #include "libc/runtime/internal.h" @@ -25,9 +26,9 @@ __msabi extern typeof(GetCurrentThreadId) *const __imp_GetCurrentThreadId; int sys_gettid(void) { + int64_t wut; #ifdef __x86_64__ int tid; - int64_t wut; if (IsWindows()) { tid = __imp_GetCurrentThreadId(); } else if (IsLinux()) { @@ -65,11 +66,23 @@ int sys_gettid(void) { #elif defined(__aarch64__) // this can't be used on xnu register long res asm("x0"); - asm volatile("mov\tx8,%1\n\t" - "svc\t0" - : "=r"(res) - : "i"(178) - : "x8", "memory"); + if (IsLinux()) { + asm volatile("mov\tx8,%1\n\t" + "svc\t0" + : "=r"(res) + : "i"(178) + : "x8", "memory"); + } else if (IsFreebsd()) { + res = (long)&wut; + asm volatile("mov\tx8,%2\n\t" + "svc\t0" + : "+r"(res), "=m"(wut) + : "i"(432) // thr_self() + : "x8", "memory"); + res = wut; + } else { + res = __pid; + } return res; #else #error "arch unsupported" diff --git a/libc/intrin/sys_umtx_timedwait_uint.c b/libc/intrin/sys_umtx_timedwait_uint.c index c2acd0ac8..9bcc7c595 100644 --- a/libc/intrin/sys_umtx_timedwait_uint.c +++ b/libc/intrin/sys_umtx_timedwait_uint.c @@ -19,7 +19,6 @@ #include "libc/atomic.h" #include "libc/sysv/consts/clock.h" #include "libc/thread/freebsd.internal.h" -#ifdef __x86_64__ int sys_umtx_timedwait_uint_cp(atomic_int *, int, int, size_t, struct _umtx_time *) asm("sys_futex_cp"); @@ -46,5 +45,3 @@ int sys_umtx_timedwait_uint(atomic_int *p, int expect, bool pshare, } return sys_umtx_timedwait_uint_cp(p, op, expect, size, tm_p); } - -#endif diff --git a/libc/log/libfatal.internal.h b/libc/log/libfatal.internal.h index aa5f7589a..d1036a58a 100644 --- a/libc/log/libfatal.internal.h +++ b/libc/log/libfatal.internal.h @@ -164,6 +164,7 @@ __funline void *__memset(void *a, int c, unsigned long n) { char *d = a; unsigned long i; for (i = 0; i < n; ++i) { + __asm__ volatile("" ::: "memory"); d[i] = c; } return d; @@ -174,6 +175,7 @@ __funline void *__memcpy(void *a, const void *b, unsigned long n) { unsigned long i; const char *s = b; for (i = 0; i < n; ++i) { + __asm__ volatile("" ::: "memory"); d[i] = s[i]; } return d; @@ -185,10 +187,12 @@ __funline void *__memmove(void *a, const void *b, unsigned long n) { const char *s = b; if (d > s) { for (i = n; i--;) { + __asm__ volatile("" ::: "memory"); d[i] = s[i]; } } else { for (i = 0; i < n; ++i) { + __asm__ volatile("" ::: "memory"); d[i] = s[i]; } } diff --git a/libc/log/oncrash_arm64.c b/libc/log/oncrash_arm64.c index 173678360..eafc483fe 100644 --- a/libc/log/oncrash_arm64.c +++ b/libc/log/oncrash_arm64.c @@ -221,7 +221,7 @@ static relegated void __oncrash_impl(int sig, struct siginfo *si, Append(b, "%serror%s: Uncaught %G (%s) on %s pid %d tid %d\n", strong, reset, sig, kind, host, getpid(), gettid()); if (program_invocation_name) { - Append(b, " %s\n", program_invocation_name); + Append(b, " %s\n", __program_executable_name); } if (errno) { Append(b, " %s\n", strerror(errno)); diff --git a/libc/proc/fork-sysv.c b/libc/proc/fork-sysv.c index 000e13be7..cd97509e5 100644 --- a/libc/proc/fork-sysv.c +++ b/libc/proc/fork-sysv.c @@ -60,7 +60,11 @@ int sys_fork(void) { } else if (__syslib) { return _sysret(__syslib->__fork()); } else { - return enosys(); + int ax; + axdx_t ad; + ad = __sys_fork(); + ax = ad.ax; + return ax; } #else diff --git a/libc/proc/vfork.S b/libc/proc/vfork.S index b04c2f4a6..ff701c1c5 100644 --- a/libc/proc/vfork.S +++ b/libc/proc/vfork.S @@ -87,9 +87,9 @@ vfork: #elif defined(__aarch64__) - adrp x0,__hostos - ldr w0,[x0,#:lo12:__hostos] - tbz x0,3,1f // bit 3 is xnu + adrp x8,__hostos + ldr w8,[x8,#:lo12:__hostos] + tbz x8,3,1f // bit 3 is xnu b fork // which doesn't support vfork() 1: @@ -102,10 +102,19 @@ vfork: ldp x29,x30,[sp],16 #endif - mov x8,#220 // __NR_clone + tbnz w8,5,1f // bit 5 is freebsd + + mov x8,#220 // clone (linux) mov x0,#0x4111 // SIGCHLD | CLONE_VM | CLONE_VFORK mov x1,#0 svc 0 + b 2f + +1: mov x8,#66 // vfork (freebsd) + svc 0 // call kernel + bcc 2f // jump if not carry + neg x0,x0 // linux style errno +2: // if (!rc) { // __get_tls()->tib_flags |= TIB_FLAG_VFORKED; diff --git a/libc/runtime/clone.c b/libc/runtime/clone.c index 19c2eadfd..72c76a94f 100644 --- a/libc/runtime/clone.c +++ b/libc/runtime/clone.c @@ -231,60 +231,6 @@ static errno_t CloneXnu(int (*fn)(void *), char *stk, size_t stksz, int flags, return sys_clone_xnu(fn, arg, wt, 0, PTHREAD_START_CUSTOM_XNU); } -//////////////////////////////////////////////////////////////////////////////// -// FREE BESIYATA DISHMAYA - -static wontreturn void FreebsdThreadMain(void *p) { - struct CloneArgs *wt = p; - *wt->ctid = wt->tid; - wt->func(wt->arg, wt->tid); - // we no longer use the stack after this point - // void thr_exit(%rdi = long *state); - asm volatile("movl\t$0,%0\n\t" // *wt->ztid = 0 - "syscall\n\t" // _umtx_op(wt->ztid, WAKE, INT_MAX) - "movl\t$431,%%eax\n\t" // thr_exit(long *nonzeroes_and_wake) - "xor\t%%edi,%%edi\n\t" // sad we can't use this free futex op - "syscall\n\t" // exit1() fails if thread is orphaned - "movl\t$1,%%eax\n\t" // exit() - "syscall" // - : "=m"(*wt->ztid) - : "a"(454), "D"(wt->ztid), "S"(UMTX_OP_WAKE), "d"(INT_MAX) - : "rcx", "r8", "r9", "r10", "r11", "memory"); - __builtin_unreachable(); -} - -static errno_t CloneFreebsd(int (*func)(void *, int), char *stk, size_t stksz, - int flags, void *arg, void *tls, int *ptid, - int *ctid) { - int ax; - bool failed; - int64_t tid; - struct CloneArgs *wt; - wt = AllocateCloneArgs(stk, stksz); - wt->ctid = flags & CLONE_CHILD_SETTID ? ctid : &wt->tid; - wt->ztid = flags & CLONE_CHILD_CLEARTID ? ctid : &wt->tid; - wt->tls = tls; - wt->func = func; - wt->arg = arg; - struct thr_param params = { - .start_func = FreebsdThreadMain, - .arg = wt, - .stack_base = stk, - .stack_size = (uintptr_t)wt - (uintptr_t)stk, - .tls_base = flags & CLONE_SETTLS ? tls : 0, - .tls_size = 64, - .child_tid = &wt->tid64, - .parent_tid = &tid, - }; - asm volatile(CFLAG_ASM("syscall") - : CFLAG_CONSTRAINT(failed), "=a"(ax) - : "1"(__NR_thr_new), "D"(¶ms), "S"(sizeof(params)) - : "rcx", "rdx", "r8", "r9", "r10", "r11", "memory"); - if (failed) return ax; - if (flags & CLONE_PARENT_SETTID) *ptid = tid; - return 0; -} - //////////////////////////////////////////////////////////////////////////////// // OPEN BESIYATA DISHMAYA @@ -441,6 +387,95 @@ static int CloneNetbsd(int (*func)(void *, int), char *stk, size_t stksz, #endif /* __x86_64__ */ +//////////////////////////////////////////////////////////////////////////////// +// FREE BESIYATA DISHMAYA + +void bone(struct CloneArgs *wt) { + *wt->ztid = 0; +} + +static wontreturn void FreebsdThreadMain(void *p) { + struct CloneArgs *wt = p; +#ifdef __aarch64__ + asm volatile("mov\tx28,%0" : /* no outputs */ : "r"(wt->tls)); +#endif + *wt->ctid = wt->tid; + wt->func(wt->arg, wt->tid); + // we no longer use the stack after this point + // void thr_exit(%rdi = long *state); +#ifdef __x86_64__ + asm volatile("movl\t$0,%0\n\t" // *wt->ztid = 0 + "syscall\n\t" // _umtx_op(wt->ztid, WAKE, INT_MAX) + "movl\t$431,%%eax\n\t" // thr_exit(long *nonzeroes_and_wake) + "xor\t%%edi,%%edi\n\t" // sad we can't use this free futex op + "syscall\n\t" // thr_exit() fails if thread is orphaned + "movl\t$1,%%eax\n\t" // _exit() + "syscall" // + : "=m"(*wt->ztid) + : "a"(454), "D"(wt->ztid), "S"(UMTX_OP_WAKE), "d"(INT_MAX) + : "rcx", "r8", "r9", "r10", "r11", "memory"); +#elif defined(__aarch64__) + register long x0 asm("x0") = (long)wt->ztid; + register long x1 asm("x1") = UMTX_OP_WAKE; + register long x2 asm("x2") = INT_MAX; + register long x8 asm("x8") = 454; // _umtx_op + asm volatile("str\twzr,%0\n\t" // *wt->ztid = 0 + "svc\t0\n\t" // _umtx_op(wt->ztid, WAKE, INT_MAX) + "mov\tx0,#0\n\t" // arg0 = 0 + "mov\tx8,#431\n\t" // thr_exit + "svc\t0\n\t" // thr_exit(long *nonzeroes_and_wake = 0) + "mov\tx8,#1\n\t" // _exit + "svc\t0" // _exit(long *nonzeroes_and_wake = 0) + : "=m"(*wt->ztid) + : "r"(x0), "r"(x1), "r"(x2), "r"(x8)); +#else +#error "unsupported architecture" +#endif + __builtin_unreachable(); +} + +static errno_t CloneFreebsd(int (*func)(void *, int), char *stk, size_t stksz, + int flags, void *arg, void *tls, int *ptid, + int *ctid) { + int64_t tid; + struct CloneArgs *wt; + wt = AllocateCloneArgs(stk, stksz); + wt->ctid = flags & CLONE_CHILD_SETTID ? ctid : &wt->tid; + wt->ztid = flags & CLONE_CHILD_CLEARTID ? ctid : &wt->tid; + wt->tls = tls; + wt->func = func; + wt->arg = arg; + struct thr_param params = { + .start_func = FreebsdThreadMain, + .arg = wt, + .stack_base = stk, + .stack_size = (uintptr_t)wt - (uintptr_t)stk, + .tls_base = flags & CLONE_SETTLS ? tls : 0, + .tls_size = 64, + .child_tid = &wt->tid64, + .parent_tid = &tid, + }; +#ifdef __x86_64__ + int ax; + bool failed; + asm volatile(CFLAG_ASM("syscall") + : CFLAG_CONSTRAINT(failed), "=a"(ax) + : "1"(__NR_thr_new), "D"(¶ms), "S"(sizeof(params)) + : "rcx", "rdx", "r8", "r9", "r10", "r11", "memory"); + if (failed) return ax; +#elif defined(__aarch64__) + register long x0 asm("x0") = (long)¶ms; + register long x1 asm("x1") = sizeof(params); + register int x8 asm("x8") = 0x1c7; // thr_new + asm volatile("svc\t0" : "+r"(x0) : "r"(x1), "r"(x8) : "memory"); + if (x0) return x0; +#else +#error "unsupported architecture" +#endif + if (flags & CLONE_PARENT_SETTID) *ptid = tid; + return 0; +} + #ifdef __aarch64__ //////////////////////////////////////////////////////////////////////////////// @@ -675,9 +710,9 @@ errno_t clone(void *func, void *stk, size_t stksz, int flags, void *arg, #else #error "unsupported architecture" #endif -#ifdef __x86_64__ } else if (IsFreebsd()) { rc = CloneFreebsd(func, stk, stksz, flags, arg, tls, ptid, ctid); +#ifdef __x86_64__ } else if (IsNetbsd()) { rc = CloneNetbsd(func, stk, stksz, flags, arg, tls, ptid, ctid); } else if (IsOpenbsd()) { diff --git a/libc/runtime/cosmo2.c b/libc/runtime/cosmo2.c index 57067b5ab..7326b22b6 100644 --- a/libc/runtime/cosmo2.c +++ b/libc/runtime/cosmo2.c @@ -78,7 +78,8 @@ static const char *DecodeMagnum(const char *p, long *r) { return *r = x, p; } -wontreturn textstartup void cosmo(long *sp, struct Syslib *m1, char *exename) { +wontreturn textstartup void cosmo(long *sp, struct Syslib *m1, char *exename, + long *is_freebsd) { // get startup timestamp as early as possible // its used by --strace and also kprintf() %T @@ -95,6 +96,11 @@ wontreturn textstartup void cosmo(long *sp, struct Syslib *m1, char *exename) { }; __set_tls(&tib); + // check for freebsd + if (is_freebsd) { + sp = is_freebsd; + } + // extracts arguments from old sysv stack abi int argc = *sp; char **argv = (char **)(sp + 1); @@ -114,7 +120,10 @@ wontreturn textstartup void cosmo(long *sp, struct Syslib *m1, char *exename) { // detect apple m1 environment const char *magnums; - if (SupportsXnu() && (__syslib = m1)) { + if (SupportsFreebsd() && is_freebsd) { + hostos = _HOSTFREEBSD; + magnums = syscon_freebsd; + } else if (SupportsXnu() && (__syslib = m1)) { hostos = _HOSTXNU; magnums = syscon_xnu; } else if (SupportsLinux()) { diff --git a/libc/sock/BUILD.mk b/libc/sock/BUILD.mk index 78fcff239..f9fb5dca9 100644 --- a/libc/sock/BUILD.mk +++ b/libc/sock/BUILD.mk @@ -58,6 +58,8 @@ $(LIBC_SOCK_A).pkg: \ # these assembly files are safe to build on aarch64 o/$(MODE)/libc/sock/sys_sendfile_xnu.o: libc/sock/sys_sendfile_xnu.S @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< +o/$(MODE)/libc/sock/sys_sendfile_freebsd.o: libc/sock/sys_sendfile_freebsd.S + @$(COMPILE) -AOBJECTIFY.S $(OBJECTIFY.S) $(OUTPUT_OPTION) -c $< LIBC_SOCK_LIBS = $(foreach x,$(LIBC_SOCK_ARTIFACTS),$($(x))) LIBC_SOCK_SRCS = $(foreach x,$(LIBC_SOCK_ARTIFACTS),$($(x)_SRCS)) diff --git a/libc/sysv/BUILD.mk b/libc/sysv/BUILD.mk index 2cd0b1e88..ec1b3b1fb 100644 --- a/libc/sysv/BUILD.mk +++ b/libc/sysv/BUILD.mk @@ -96,6 +96,7 @@ o/$(MODE)/libc/sysv/sysv.o: private \ -ffixed-x4 \ -ffixed-x5 \ -ffixed-x8 \ + -ffixed-x9 \ -ffixed-x16 \ -fomit-frame-pointer \ -foptimize-sibling-calls \ diff --git a/libc/sysv/calls/__bsd_setegid.S b/libc/sysv/calls/__bsd_setegid.S index 951ceafd9..90c5385ca 100644 --- a/libc/sysv/calls/__bsd_setegid.S +++ b/libc/sysv/calls/__bsd_setegid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __bsd_setegid,0xfff0b60b620b6fff,4095,182,globl,hidden +.scall __bsd_setegid,0xfff0b60b620b6fff,4095,182,182,globl,hidden diff --git a/libc/sysv/calls/__bsd_seteuid.S b/libc/sysv/calls/__bsd_seteuid.S index 8d6230597..d161d8c06 100644 --- a/libc/sysv/calls/__bsd_seteuid.S +++ b/libc/sysv/calls/__bsd_seteuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __bsd_seteuid,0xfff0b70b720b7fff,4095,183,globl,hidden +.scall __bsd_seteuid,0xfff0b70b720b7fff,4095,183,183,globl,hidden diff --git a/libc/sysv/calls/__sys_accept.S b/libc/sysv/calls/__sys_accept.S index 3f93c55aa..412f8d494 100644 --- a/libc/sysv/calls/__sys_accept.S +++ b/libc/sysv/calls/__sys_accept.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_accept,0x81e81ea1d281e82b,2250,2078,globl,hidden +.scall __sys_accept,0x81e81ea1d281e82b,2250,2078,2589,globl,hidden diff --git a/libc/sysv/calls/__sys_accept4.S b/libc/sysv/calls/__sys_accept4.S index 3abde7f9f..6872c827f 100644 --- a/libc/sysv/calls/__sys_accept4.S +++ b/libc/sysv/calls/__sys_accept4.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_accept4,0xfff85da1dffff920,2290,4095,globl,hidden +.scall __sys_accept4,0xfff85da1dffff920,2290,4095,2589,globl,hidden diff --git a/libc/sysv/calls/__sys_bind.S b/libc/sysv/calls/__sys_bind.S index 610c6010f..4cc8c1043 100644 --- a/libc/sysv/calls/__sys_bind.S +++ b/libc/sysv/calls/__sys_bind.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_bind,0x0680680682068031,200,104,globl,hidden +.scall __sys_bind,0x0680680682068031,200,104,104,globl,hidden diff --git a/libc/sysv/calls/__sys_clock_nanosleep.S b/libc/sysv/calls/__sys_clock_nanosleep.S index afd1b3a9f..fdc3e4c03 100644 --- a/libc/sysv/calls/__sys_clock_nanosleep.S +++ b/libc/sysv/calls/__sys_clock_nanosleep.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_clock_nanosleep,0x9ddfff8f4ffff8e6,2163,4095,globl,hidden +.scall __sys_clock_nanosleep,0x9ddfff8f4ffff8e6,2163,4095,2292,globl,hidden diff --git a/libc/sysv/calls/__sys_connect.S b/libc/sysv/calls/__sys_connect.S index dad48c2e2..d02074cea 100644 --- a/libc/sysv/calls/__sys_connect.S +++ b/libc/sysv/calls/__sys_connect.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_connect,0x862862862286282a,2251,2146,globl,hidden +.scall __sys_connect,0x862862862286282a,2251,2146,2146,globl,hidden diff --git a/libc/sysv/calls/__sys_dup3.S b/libc/sysv/calls/__sys_dup3.S index 2460f0f18..c3d4137e9 100644 --- a/libc/sysv/calls/__sys_dup3.S +++ b/libc/sysv/calls/__sys_dup3.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_dup3,0x1c6066fffffff124,24,4095,globl,hidden +.scall __sys_dup3,0x1c6066fffffff124,24,4095,4095,globl,hidden diff --git a/libc/sysv/calls/__sys_execve.S b/libc/sysv/calls/__sys_execve.S index f478c2ba6..b4533c7b7 100644 --- a/libc/sysv/calls/__sys_execve.S +++ b/libc/sysv/calls/__sys_execve.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_execve,0x03b03b03b203b03b,221,59,globl,hidden +.scall __sys_execve,0x03b03b03b203b03b,221,59,59,globl,hidden diff --git a/libc/sysv/calls/__sys_fcntl.S b/libc/sysv/calls/__sys_fcntl.S index beaeaf0ea..b8bc64e7a 100644 --- a/libc/sysv/calls/__sys_fcntl.S +++ b/libc/sysv/calls/__sys_fcntl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fcntl,0x05c05c05c205c048,25,92,globl,hidden +.scall __sys_fcntl,0x05c05c05c205c048,25,92,92,globl,hidden diff --git a/libc/sysv/calls/__sys_fcntl_cp.S b/libc/sysv/calls/__sys_fcntl_cp.S index 9c87a8b27..150588adb 100644 --- a/libc/sysv/calls/__sys_fcntl_cp.S +++ b/libc/sysv/calls/__sys_fcntl_cp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fcntl_cp,0x85c85c85c285c848,2073,2140,globl,hidden +.scall __sys_fcntl_cp,0x85c85c85c285c848,2073,2140,2140,globl,hidden diff --git a/libc/sysv/calls/__sys_fork.S b/libc/sysv/calls/__sys_fork.S index 90bb3c098..8ad3e172b 100644 --- a/libc/sysv/calls/__sys_fork.S +++ b/libc/sysv/calls/__sys_fork.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fork,0x0020020022002039,4095,2,globl,hidden +.scall __sys_fork,0x0020020022002039,4095,2,2,globl,hidden diff --git a/libc/sysv/calls/__sys_fstat.S b/libc/sysv/calls/__sys_fstat.S index f36dfc347..2da67d1eb 100644 --- a/libc/sysv/calls/__sys_fstat.S +++ b/libc/sysv/calls/__sys_fstat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fstat,0x1b80352272153005,80,339,globl,hidden +.scall __sys_fstat,0x1b80352272153005,80,339,551,globl,hidden diff --git a/libc/sysv/calls/__sys_fstatat.S b/libc/sysv/calls/__sys_fstatat.S index 8aa20f12b..807c4f493 100644 --- a/libc/sysv/calls/__sys_fstatat.S +++ b/libc/sysv/calls/__sys_fstatat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_fstatat,0x1d202a22821d6106,79,470,globl,hidden +.scall __sys_fstatat,0x1d202a22821d6106,79,470,552,globl,hidden diff --git a/libc/sysv/calls/__sys_getpeername.S b/libc/sysv/calls/__sys_getpeername.S index c3779badb..7cfb6e348 100644 --- a/libc/sysv/calls/__sys_getpeername.S +++ b/libc/sysv/calls/__sys_getpeername.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_getpeername,0x01f01f08d201f034,205,31,globl,hidden +.scall __sys_getpeername,0x01f01f08d201f034,205,31,141,globl,hidden diff --git a/libc/sysv/calls/__sys_getrusage.S b/libc/sysv/calls/__sys_getrusage.S index 1ad668b8b..397dec113 100644 --- a/libc/sysv/calls/__sys_getrusage.S +++ b/libc/sysv/calls/__sys_getrusage.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_getrusage,0x1bd0130752075062,165,117,globl,hidden +.scall __sys_getrusage,0x1bd0130752075062,165,117,117,globl,hidden diff --git a/libc/sysv/calls/__sys_getsockname.S b/libc/sysv/calls/__sys_getsockname.S index 00968f853..cfbc32203 100644 --- a/libc/sysv/calls/__sys_getsockname.S +++ b/libc/sysv/calls/__sys_getsockname.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_getsockname,0x0200200202020033,204,32,globl,hidden +.scall __sys_getsockname,0x0200200202020033,204,32,32,globl,hidden diff --git a/libc/sysv/calls/__sys_gettid.S b/libc/sysv/calls/__sys_gettid.S index c37984e13..40d3c8e0e 100644 --- a/libc/sysv/calls/__sys_gettid.S +++ b/libc/sysv/calls/__sys_gettid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_gettid,0x13712b1b0101b0ba,178,27,globl,hidden +.scall __sys_gettid,0x13712b1b0101b0ba,178,27,432,globl,hidden diff --git a/libc/sysv/calls/__sys_lstat.S b/libc/sysv/calls/__sys_lstat.S index 9674166a8..b1315db33 100644 --- a/libc/sysv/calls/__sys_lstat.S +++ b/libc/sysv/calls/__sys_lstat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_lstat,0x1b90280282154006,4095,340,globl,hidden +.scall __sys_lstat,0x1b90280282154006,4095,340,40,globl,hidden diff --git a/libc/sysv/calls/__sys_mmap.S b/libc/sysv/calls/__sys_mmap.S index 13c9ea4cf..9b0ae623b 100644 --- a/libc/sysv/calls/__sys_mmap.S +++ b/libc/sysv/calls/__sys_mmap.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_mmap,0x0c50311dd20c5009,222,197,globl,hidden +.scall __sys_mmap,0x0c50311dd20c5009,222,197,477,globl,hidden diff --git a/libc/sysv/calls/__sys_mprotect.S b/libc/sysv/calls/__sys_mprotect.S index e10bb7dbf..44a88c509 100644 --- a/libc/sysv/calls/__sys_mprotect.S +++ b/libc/sysv/calls/__sys_mprotect.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_mprotect,0x04a04a04a204a00a,226,74,globl,hidden +.scall __sys_mprotect,0x04a04a04a204a00a,226,74,74,globl,hidden diff --git a/libc/sysv/calls/__sys_mremap.S b/libc/sysv/calls/__sys_mremap.S index c6971f5d8..97fc160d0 100644 --- a/libc/sysv/calls/__sys_mremap.S +++ b/libc/sysv/calls/__sys_mremap.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_mremap,0x19bffffffffff019,216,4095,globl,hidden +.scall __sys_mremap,0x19bffffffffff019,216,4095,4095,globl,hidden diff --git a/libc/sysv/calls/__sys_munmap.S b/libc/sysv/calls/__sys_munmap.S index 89b07e258..f3cfcde3b 100644 --- a/libc/sysv/calls/__sys_munmap.S +++ b/libc/sysv/calls/__sys_munmap.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_munmap,0x049049049204900b,215,73,globl,hidden +.scall __sys_munmap,0x049049049204900b,215,73,73,globl,hidden diff --git a/libc/sysv/calls/__sys_openat.S b/libc/sysv/calls/__sys_openat.S index d11acb115..9873e9683 100644 --- a/libc/sysv/calls/__sys_openat.S +++ b/libc/sysv/calls/__sys_openat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_openat,0x9d49419f329cf901,2104,2511,globl,hidden +.scall __sys_openat,0x9d49419f329cf901,2104,2511,2547,globl,hidden diff --git a/libc/sysv/calls/__sys_openat_nc.S b/libc/sysv/calls/__sys_openat_nc.S index db6d7c9f6..77d6bf7f3 100644 --- a/libc/sysv/calls/__sys_openat_nc.S +++ b/libc/sysv/calls/__sys_openat_nc.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_openat_nc,0x1d41411f321d0101,56,464,globl,hidden +.scall __sys_openat_nc,0x1d41411f321d0101,56,464,499,globl,hidden diff --git a/libc/sysv/calls/__sys_pipe.S b/libc/sysv/calls/__sys_pipe.S index 9dcaec553..60f935866 100644 --- a/libc/sysv/calls/__sys_pipe.S +++ b/libc/sysv/calls/__sys_pipe.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_pipe,0x02a10721e202a016,59,42,globl,hidden +.scall __sys_pipe,0x02a10721e202a016,59,42,542,globl,hidden diff --git a/libc/sysv/calls/__sys_pipe2.S b/libc/sysv/calls/__sys_pipe2.S index 5029c3914..cb68a3539 100644 --- a/libc/sysv/calls/__sys_pipe2.S +++ b/libc/sysv/calls/__sys_pipe2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_pipe2,0x1c506521effff125,59,4095,globl,hidden +.scall __sys_pipe2,0x1c506521effff125,59,4095,542,globl,hidden diff --git a/libc/sysv/calls/__sys_poll.S b/libc/sysv/calls/__sys_poll.S index 017f7f86a..8dae4b80a 100644 --- a/libc/sysv/calls/__sys_poll.S +++ b/libc/sysv/calls/__sys_poll.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_poll,0x8d18fc8d128e6807,4095,2278,globl,hidden +.scall __sys_poll,0x8d18fc8d128e6807,4095,2278,2257,globl,hidden diff --git a/libc/sysv/calls/__sys_ptrace.S b/libc/sysv/calls/__sys_ptrace.S index 45adb74cd..8a85e6399 100644 --- a/libc/sysv/calls/__sys_ptrace.S +++ b/libc/sysv/calls/__sys_ptrace.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_ptrace,0x01a01a01a201a065,117,26,globl,hidden +.scall __sys_ptrace,0x01a01a01a201a065,117,26,26,globl,hidden diff --git a/libc/sysv/calls/__sys_sigprocmask.S b/libc/sysv/calls/__sys_sigprocmask.S index 2ea7869ac..61b09378f 100644 --- a/libc/sysv/calls/__sys_sigprocmask.S +++ b/libc/sysv/calls/__sys_sigprocmask.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_sigprocmask,0x125030154214900e,135,329,globl,hidden +.scall __sys_sigprocmask,0x125030154214900e,135,329,340,globl,hidden diff --git a/libc/sysv/calls/__sys_socket.S b/libc/sysv/calls/__sys_socket.S index bd1ed5eb7..fad414917 100644 --- a/libc/sysv/calls/__sys_socket.S +++ b/libc/sysv/calls/__sys_socket.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_socket,0x18a0610612061029,198,97,globl,hidden +.scall __sys_socket,0x18a0610612061029,198,97,97,globl,hidden diff --git a/libc/sysv/calls/__sys_socketpair.S b/libc/sysv/calls/__sys_socketpair.S index 448381345..4779bcd41 100644 --- a/libc/sysv/calls/__sys_socketpair.S +++ b/libc/sysv/calls/__sys_socketpair.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_socketpair,0x0870870872087035,199,135,globl,hidden +.scall __sys_socketpair,0x0870870872087035,199,135,135,globl,hidden diff --git a/libc/sysv/calls/__sys_stat.S b/libc/sysv/calls/__sys_stat.S index 05f089935..178e5be87 100644 --- a/libc/sysv/calls/__sys_stat.S +++ b/libc/sysv/calls/__sys_stat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_stat,0x1b7026fff2152004,79,338,globl,hidden +.scall __sys_stat,0x1b7026fff2152004,79,338,4095,globl,hidden diff --git a/libc/sysv/calls/__sys_utimensat.S b/libc/sysv/calls/__sys_utimensat.S index 78a084571..f25bda5fb 100644 --- a/libc/sysv/calls/__sys_utimensat.S +++ b/libc/sysv/calls/__sys_utimensat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_utimensat,0x1d3054223ffff118,88,4095,globl,hidden +.scall __sys_utimensat,0x1d3054223ffff118,88,4095,547,globl,hidden diff --git a/libc/sysv/calls/__sys_wait4.S b/libc/sysv/calls/__sys_wait4.S index 33cade9b3..dd7c16366 100644 --- a/libc/sysv/calls/__sys_wait4.S +++ b/libc/sysv/calls/__sys_wait4.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall __sys_wait4,0x9c180b807280783d,2308,2055,globl,hidden +.scall __sys_wait4,0x9c180b807280783d,2308,2055,2055,globl,hidden diff --git a/libc/sysv/calls/get_mempolicy.S b/libc/sysv/calls/get_mempolicy.S index 829845fd9..b220e4997 100644 --- a/libc/sysv/calls/get_mempolicy.S +++ b/libc/sysv/calls/get_mempolicy.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall get_mempolicy,0xfffffffffffff0ef,236,4095,globl +.scall get_mempolicy,0xfffffffffffff0ef,236,4095,4095,globl diff --git a/libc/sysv/calls/getpagesize_freebsd.S b/libc/sysv/calls/getpagesize_freebsd.S index cdb1b78f7..23eb9eae1 100644 --- a/libc/sysv/calls/getpagesize_freebsd.S +++ b/libc/sysv/calls/getpagesize_freebsd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall getpagesize_freebsd,0xffffff040fffffff,4095,4095,globl,hidden +.scall getpagesize_freebsd,0xffffff040fffffff,4095,4095,64,globl,hidden diff --git a/libc/sysv/calls/set_mempolicy.S b/libc/sysv/calls/set_mempolicy.S index dfa6970ea..3a83ca58e 100644 --- a/libc/sysv/calls/set_mempolicy.S +++ b/libc/sysv/calls/set_mempolicy.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall set_mempolicy,0xfffffffffffff0ee,237,4095,globl +.scall set_mempolicy,0xfffffffffffff0ee,237,4095,4095,globl diff --git a/libc/sysv/calls/sys_acct.S b/libc/sysv/calls/sys_acct.S index 63346d014..92f506829 100644 --- a/libc/sysv/calls/sys_acct.S +++ b/libc/sysv/calls/sys_acct.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_acct,0x03303303320330a3,89,51,globl +.scall sys_acct,0x03303303320330a3,89,51,51,globl diff --git a/libc/sysv/calls/sys_add_key.S b/libc/sysv/calls/sys_add_key.S index f779b41bc..3b9fecfad 100644 --- a/libc/sysv/calls/sys_add_key.S +++ b/libc/sysv/calls/sys_add_key.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_add_key,0xfffffffffffff0f8,217,4095,globl +.scall sys_add_key,0xfffffffffffff0f8,217,4095,4095,globl diff --git a/libc/sysv/calls/sys_adjtime.S b/libc/sysv/calls/sys_adjtime.S index ceef1298e..15eb97122 100644 --- a/libc/sysv/calls/sys_adjtime.S +++ b/libc/sysv/calls/sys_adjtime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_adjtime,0x1a508c08c208cfff,4095,140,globl +.scall sys_adjtime,0x1a508c08c208cfff,4095,140,140,globl diff --git a/libc/sysv/calls/sys_adjtimex.S b/libc/sysv/calls/sys_adjtimex.S index 220ad8545..32413bae9 100644 --- a/libc/sysv/calls/sys_adjtimex.S +++ b/libc/sysv/calls/sys_adjtimex.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_adjtimex,0xfffffffffffff09f,171,4095,globl +.scall sys_adjtimex,0xfffffffffffff09f,171,4095,4095,globl diff --git a/libc/sysv/calls/sys_aio_cancel.S b/libc/sysv/calls/sys_aio_cancel.S index 4774b2fb0..0e837f24e 100644 --- a/libc/sysv/calls/sys_aio_cancel.S +++ b/libc/sysv/calls/sys_aio_cancel.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_cancel,0x18ffff13c213cfff,4095,316,globl +.scall sys_aio_cancel,0x18ffff13c213cfff,4095,316,316,globl diff --git a/libc/sysv/calls/sys_aio_error.S b/libc/sysv/calls/sys_aio_error.S index b58e5e213..d64e1636a 100644 --- a/libc/sysv/calls/sys_aio_error.S +++ b/libc/sysv/calls/sys_aio_error.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_error,0x190fff13d213dfff,4095,317,globl +.scall sys_aio_error,0x190fff13d213dfff,4095,317,317,globl diff --git a/libc/sysv/calls/sys_aio_fsync.S b/libc/sysv/calls/sys_aio_fsync.S index 6556d7162..e64369103 100644 --- a/libc/sysv/calls/sys_aio_fsync.S +++ b/libc/sysv/calls/sys_aio_fsync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_fsync,0x191fff1d12139fff,4095,313,globl +.scall sys_aio_fsync,0x191fff1d12139fff,4095,313,465,globl diff --git a/libc/sysv/calls/sys_aio_mlock.S b/libc/sysv/calls/sys_aio_mlock.S index 2d5484246..339c58a25 100644 --- a/libc/sysv/calls/sys_aio_mlock.S +++ b/libc/sysv/calls/sys_aio_mlock.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_mlock,0xffffff21ffffffff,4095,4095,globl +.scall sys_aio_mlock,0xffffff21ffffffff,4095,4095,543,globl diff --git a/libc/sysv/calls/sys_aio_read.S b/libc/sysv/calls/sys_aio_read.S index ccfec9233..518391fcf 100644 --- a/libc/sysv/calls/sys_aio_read.S +++ b/libc/sysv/calls/sys_aio_read.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_read,0x192fff13e213efff,4095,318,globl +.scall sys_aio_read,0x192fff13e213efff,4095,318,318,globl diff --git a/libc/sysv/calls/sys_aio_return.S b/libc/sysv/calls/sys_aio_return.S index 9a31dd7c8..a1b7462d6 100644 --- a/libc/sysv/calls/sys_aio_return.S +++ b/libc/sysv/calls/sys_aio_return.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_return,0x193fff13a213afff,4095,314,globl +.scall sys_aio_return,0x193fff13a213afff,4095,314,314,globl diff --git a/libc/sysv/calls/sys_aio_suspend.S b/libc/sysv/calls/sys_aio_suspend.S index ae2141bf8..2daa44250 100644 --- a/libc/sysv/calls/sys_aio_suspend.S +++ b/libc/sysv/calls/sys_aio_suspend.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_suspend,0x1b6fff13b213bfff,4095,315,globl +.scall sys_aio_suspend,0x1b6fff13b213bfff,4095,315,315,globl diff --git a/libc/sysv/calls/sys_aio_suspend_nocancel.S b/libc/sysv/calls/sys_aio_suspend_nocancel.S index 0808ba6dd..69dbdbb01 100644 --- a/libc/sysv/calls/sys_aio_suspend_nocancel.S +++ b/libc/sysv/calls/sys_aio_suspend_nocancel.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_suspend_nocancel,0xfffffffff21a5fff,4095,421,globl +.scall sys_aio_suspend_nocancel,0xfffffffff21a5fff,4095,421,4095,globl diff --git a/libc/sysv/calls/sys_aio_waitcomplete.S b/libc/sysv/calls/sys_aio_waitcomplete.S index 1b17a7488..8372d4be9 100644 --- a/libc/sysv/calls/sys_aio_waitcomplete.S +++ b/libc/sysv/calls/sys_aio_waitcomplete.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_waitcomplete,0xffffff167fffffff,4095,4095,globl +.scall sys_aio_waitcomplete,0xffffff167fffffff,4095,4095,359,globl diff --git a/libc/sysv/calls/sys_aio_write.S b/libc/sysv/calls/sys_aio_write.S index 97de8c11c..5e102e494 100644 --- a/libc/sysv/calls/sys_aio_write.S +++ b/libc/sysv/calls/sys_aio_write.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_aio_write,0x195fff13f213ffff,4095,319,globl +.scall sys_aio_write,0x195fff13f213ffff,4095,319,319,globl diff --git a/libc/sysv/calls/sys_alarm.S b/libc/sysv/calls/sys_alarm.S index 13a5f2574..4cd0b991e 100644 --- a/libc/sysv/calls/sys_alarm.S +++ b/libc/sysv/calls/sys_alarm.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_alarm,0xfffffffffffff025,4095,4095,globl,hidden +.scall sys_alarm,0xfffffffffffff025,4095,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_arch_prctl.S b/libc/sysv/calls/sys_arch_prctl.S index 891f1ca7a..463660f65 100644 --- a/libc/sysv/calls/sys_arch_prctl.S +++ b/libc/sysv/calls/sys_arch_prctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_arch_prctl,0x0a50a50a5ffff09e,4095,4095,globl,hidden +.scall sys_arch_prctl,0x0a50a50a5ffff09e,4095,4095,165,globl,hidden diff --git a/libc/sysv/calls/sys_audit.S b/libc/sysv/calls/sys_audit.S index 6be039bbb..a4c1fe975 100644 --- a/libc/sysv/calls/sys_audit.S +++ b/libc/sysv/calls/sys_audit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_audit,0xffffff1bd215efff,4095,350,globl +.scall sys_audit,0xffffff1bd215efff,4095,350,445,globl diff --git a/libc/sysv/calls/sys_auditctl.S b/libc/sysv/calls/sys_auditctl.S index 6a851fc9e..0eedb28db 100644 --- a/libc/sysv/calls/sys_auditctl.S +++ b/libc/sysv/calls/sys_auditctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_auditctl,0xffffff1c52167fff,4095,359,globl +.scall sys_auditctl,0xffffff1c52167fff,4095,359,453,globl diff --git a/libc/sysv/calls/sys_auditon.S b/libc/sysv/calls/sys_auditon.S index bd6477d56..e59c7c9a8 100644 --- a/libc/sysv/calls/sys_auditon.S +++ b/libc/sysv/calls/sys_auditon.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_auditon,0xffffff1be215ffff,4095,351,globl +.scall sys_auditon,0xffffff1be215ffff,4095,351,446,globl diff --git a/libc/sysv/calls/sys_bogus.S b/libc/sysv/calls/sys_bogus.S index 2dcb451a9..06f003dfa 100644 --- a/libc/sysv/calls/sys_bogus.S +++ b/libc/sysv/calls/sys_bogus.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_bogus,0x00b5005002500500,1280,1280,globl +.scall sys_bogus,0x00b5005002500500,1280,1280,1280,globl diff --git a/libc/sysv/calls/sys_bpf.S b/libc/sysv/calls/sys_bpf.S index ffe55f0c6..94a685f05 100644 --- a/libc/sysv/calls/sys_bpf.S +++ b/libc/sysv/calls/sys_bpf.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_bpf,0xfffffffffffff141,280,4095,globl +.scall sys_bpf,0xfffffffffffff141,280,4095,4095,globl diff --git a/libc/sysv/calls/sys_bsdthread_register.S b/libc/sysv/calls/sys_bsdthread_register.S index addbd15b7..336b6582d 100644 --- a/libc/sysv/calls/sys_bsdthread_register.S +++ b/libc/sysv/calls/sys_bsdthread_register.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_bsdthread_register,0xfffffffff216efff,4095,366,globl,hidden +.scall sys_bsdthread_register,0xfffffffff216efff,4095,366,4095,globl,hidden diff --git a/libc/sysv/calls/sys_cachestat.S b/libc/sysv/calls/sys_cachestat.S index 44475df40..c686a5657 100644 --- a/libc/sysv/calls/sys_cachestat.S +++ b/libc/sysv/calls/sys_cachestat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_cachestat,0xfffffffffffff1c3,451,4095,globl +.scall sys_cachestat,0xfffffffffffff1c3,451,4095,4095,globl diff --git a/libc/sysv/calls/sys_capget.S b/libc/sysv/calls/sys_capget.S index 170520e9f..1d943aba7 100644 --- a/libc/sysv/calls/sys_capget.S +++ b/libc/sysv/calls/sys_capget.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_capget,0xfffffffffffff07d,90,4095,globl +.scall sys_capget,0xfffffffffffff07d,90,4095,4095,globl diff --git a/libc/sysv/calls/sys_capset.S b/libc/sysv/calls/sys_capset.S index c93912ad3..837ac69b3 100644 --- a/libc/sysv/calls/sys_capset.S +++ b/libc/sysv/calls/sys_capset.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_capset,0xfffffffffffff07e,91,4095,globl +.scall sys_capset,0xfffffffffffff07e,91,4095,4095,globl diff --git a/libc/sysv/calls/sys_chdir.S b/libc/sysv/calls/sys_chdir.S index e21921b9b..c47f90715 100644 --- a/libc/sysv/calls/sys_chdir.S +++ b/libc/sysv/calls/sys_chdir.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chdir,0x00c00c00c200c050,49,12,globl,hidden +.scall sys_chdir,0x00c00c00c200c050,49,12,12,globl,hidden diff --git a/libc/sysv/calls/sys_chflags.S b/libc/sysv/calls/sys_chflags.S index a51e7fce9..22945fde6 100644 --- a/libc/sysv/calls/sys_chflags.S +++ b/libc/sysv/calls/sys_chflags.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chflags,0x0220220222022fff,4095,34,globl +.scall sys_chflags,0x0220220222022fff,4095,34,34,globl diff --git a/libc/sysv/calls/sys_chflagsat.S b/libc/sysv/calls/sys_chflagsat.S index 5aba8d6d0..d87b4559c 100644 --- a/libc/sysv/calls/sys_chflagsat.S +++ b/libc/sysv/calls/sys_chflagsat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chflagsat,0xfff06b21cfffffff,4095,4095,globl +.scall sys_chflagsat,0xfff06b21cfffffff,4095,4095,540,globl diff --git a/libc/sysv/calls/sys_chroot.S b/libc/sysv/calls/sys_chroot.S index 8b492751f..7faf94808 100644 --- a/libc/sysv/calls/sys_chroot.S +++ b/libc/sysv/calls/sys_chroot.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_chroot,0x03d03d03d203d0a1,51,61,globl,hidden +.scall sys_chroot,0x03d03d03d203d0a1,51,61,61,globl,hidden diff --git a/libc/sysv/calls/sys_clock_adjtime.S b/libc/sysv/calls/sys_clock_adjtime.S index 337d0a6e8..80b0d6a14 100644 --- a/libc/sysv/calls/sys_clock_adjtime.S +++ b/libc/sysv/calls/sys_clock_adjtime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clock_adjtime,0xfffffffffffff131,266,4095,globl +.scall sys_clock_adjtime,0xfffffffffffff131,266,4095,4095,globl diff --git a/libc/sysv/calls/sys_clock_getres.S b/libc/sysv/calls/sys_clock_getres.S index 7a3549517..6ba60056d 100644 --- a/libc/sysv/calls/sys_clock_getres.S +++ b/libc/sysv/calls/sys_clock_getres.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clock_getres,0x1ad0590eaffff0e5,114,4095,globl,hidden +.scall sys_clock_getres,0x1ad0590eaffff0e5,114,4095,234,globl,hidden diff --git a/libc/sysv/calls/sys_clock_settime.S b/libc/sysv/calls/sys_clock_settime.S index 3c16f69d9..ad7b2f00b 100644 --- a/libc/sysv/calls/sys_clock_settime.S +++ b/libc/sysv/calls/sys_clock_settime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clock_settime,0x1ac0580e9ffff0e3,112,4095,globl,hidden +.scall sys_clock_settime,0x1ac0580e9ffff0e3,112,4095,233,globl,hidden diff --git a/libc/sysv/calls/sys_clone.S b/libc/sysv/calls/sys_clone.S index cebf14a03..f104cd4e1 100644 --- a/libc/sysv/calls/sys_clone.S +++ b/libc/sysv/calls/sys_clone.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clone,0x11fffffffffff038,220,4095,globl,hidden +.scall sys_clone,0x11fffffffffff038,220,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_clone3.S b/libc/sysv/calls/sys_clone3.S index 11b6f43e2..d23125af4 100644 --- a/libc/sysv/calls/sys_clone3.S +++ b/libc/sysv/calls/sys_clone3.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_clone3,0xfffffffffffff1b3,435,4095,globl +.scall sys_clone3,0xfffffffffffff1b3,435,4095,4095,globl diff --git a/libc/sysv/calls/sys_close.S b/libc/sysv/calls/sys_close.S index fffe18349..da5700b1a 100644 --- a/libc/sysv/calls/sys_close.S +++ b/libc/sysv/calls/sys_close.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_close,0x0060060062006003,57,6,globl,hidden +.scall sys_close,0x0060060062006003,57,6,6,globl,hidden diff --git a/libc/sysv/calls/sys_close_range.S b/libc/sysv/calls/sys_close_range.S index 4c941e6a7..6793dfb20 100644 --- a/libc/sysv/calls/sys_close_range.S +++ b/libc/sysv/calls/sys_close_range.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_close_range,0xffffff23fffff1b4,436,4095,globl,hidden +.scall sys_close_range,0xffffff23fffff1b4,436,4095,575,globl,hidden diff --git a/libc/sysv/calls/sys_closefrom.S b/libc/sysv/calls/sys_closefrom.S index 451000e54..c8f95f8fb 100644 --- a/libc/sysv/calls/sys_closefrom.S +++ b/libc/sysv/calls/sys_closefrom.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_closefrom,0xfff11f1fdfffffff,4095,4095,globl,hidden +.scall sys_closefrom,0xfff11f1fdfffffff,4095,4095,509,globl,hidden diff --git a/libc/sysv/calls/sys_copy_file_range.S b/libc/sysv/calls/sys_copy_file_range.S index 3e9e27103..be681bc50 100644 --- a/libc/sysv/calls/sys_copy_file_range.S +++ b/libc/sysv/calls/sys_copy_file_range.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_copy_file_range,0xffffffa39ffff946,2333,4095,globl,hidden +.scall sys_copy_file_range,0xffffffa39ffff946,2333,4095,2617,globl,hidden diff --git a/libc/sysv/calls/sys_delete_module.S b/libc/sysv/calls/sys_delete_module.S index 00d0d1fa1..3747049df 100644 --- a/libc/sysv/calls/sys_delete_module.S +++ b/libc/sysv/calls/sys_delete_module.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_delete_module,0xfffffffffffff0b0,106,4095,globl +.scall sys_delete_module,0xfffffffffffff0b0,106,4095,4095,globl diff --git a/libc/sysv/calls/sys_dup.S b/libc/sysv/calls/sys_dup.S index 1f0150523..56b416140 100644 --- a/libc/sysv/calls/sys_dup.S +++ b/libc/sysv/calls/sys_dup.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_dup,0x0290290292029020,23,41,globl,hidden +.scall sys_dup,0x0290290292029020,23,41,41,globl,hidden diff --git a/libc/sysv/calls/sys_dup2.S b/libc/sysv/calls/sys_dup2.S index f1c23f8c9..d23225e0d 100644 --- a/libc/sysv/calls/sys_dup2.S +++ b/libc/sysv/calls/sys_dup2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_dup2,0x05a05a05a205a021,24,90,globl,hidden +.scall sys_dup2,0x05a05a05a205a021,24,90,90,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_create.S b/libc/sysv/calls/sys_epoll_create.S index 933be8b1f..710cd2384 100644 --- a/libc/sysv/calls/sys_epoll_create.S +++ b/libc/sysv/calls/sys_epoll_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_create,0xfffffffffffff0d5,4095,4095,globl,hidden +.scall sys_epoll_create,0xfffffffffffff0d5,4095,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_create1.S b/libc/sysv/calls/sys_epoll_create1.S index 3eac66c30..fe51fc1b9 100644 --- a/libc/sysv/calls/sys_epoll_create1.S +++ b/libc/sysv/calls/sys_epoll_create1.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_create1,0xfffffffffffff123,20,4095,globl,hidden +.scall sys_epoll_create1,0xfffffffffffff123,20,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_ctl.S b/libc/sysv/calls/sys_epoll_ctl.S index 7e32808a5..14c2c82bc 100644 --- a/libc/sysv/calls/sys_epoll_ctl.S +++ b/libc/sysv/calls/sys_epoll_ctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_ctl,0xfffffffffffff0e9,21,4095,globl,hidden +.scall sys_epoll_ctl,0xfffffffffffff0e9,21,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_pwait.S b/libc/sysv/calls/sys_epoll_pwait.S index 9dae95e60..4ccaa3e3e 100644 --- a/libc/sysv/calls/sys_epoll_pwait.S +++ b/libc/sysv/calls/sys_epoll_pwait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_pwait,0xfffffffffffff919,2070,4095,globl,hidden +.scall sys_epoll_pwait,0xfffffffffffff919,2070,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_epoll_pwait2.S b/libc/sysv/calls/sys_epoll_pwait2.S index a75338270..25fde7b7a 100644 --- a/libc/sysv/calls/sys_epoll_pwait2.S +++ b/libc/sysv/calls/sys_epoll_pwait2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_pwait2,0xfffffffffffff1b9,441,4095,globl +.scall sys_epoll_pwait2,0xfffffffffffff1b9,441,4095,4095,globl diff --git a/libc/sysv/calls/sys_epoll_wait.S b/libc/sysv/calls/sys_epoll_wait.S index 42d5eedc7..5a962986e 100644 --- a/libc/sysv/calls/sys_epoll_wait.S +++ b/libc/sysv/calls/sys_epoll_wait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_epoll_wait,0xfffffffffffff8e8,4095,4095,globl,hidden +.scall sys_epoll_wait,0xfffffffffffff8e8,4095,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_eventfd.S b/libc/sysv/calls/sys_eventfd.S index e81a5298d..31b1e64bd 100644 --- a/libc/sysv/calls/sys_eventfd.S +++ b/libc/sysv/calls/sys_eventfd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_eventfd,0xfffffffffffff11c,4095,4095,globl +.scall sys_eventfd,0xfffffffffffff11c,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_eventfd2.S b/libc/sysv/calls/sys_eventfd2.S index 2e0ddb47d..977249d9c 100644 --- a/libc/sysv/calls/sys_eventfd2.S +++ b/libc/sysv/calls/sys_eventfd2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_eventfd2,0xfffffffffffff122,19,4095,globl +.scall sys_eventfd2,0xfffffffffffff122,19,4095,4095,globl diff --git a/libc/sysv/calls/sys_execveat.S b/libc/sysv/calls/sys_execveat.S index 2ccf5f2e9..502e0ece8 100644 --- a/libc/sysv/calls/sys_execveat.S +++ b/libc/sysv/calls/sys_execveat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_execveat,0xfffffffffffff142,281,4095,globl +.scall sys_execveat,0xfffffffffffff142,281,4095,4095,globl diff --git a/libc/sysv/calls/sys_exit.S b/libc/sysv/calls/sys_exit.S index a625f0cc1..681fee845 100644 --- a/libc/sysv/calls/sys_exit.S +++ b/libc/sysv/calls/sys_exit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_exit,0x00100100120010e7,94,1,globl,hidden +.scall sys_exit,0x00100100120010e7,94,1,1,globl,hidden diff --git a/libc/sysv/calls/sys_faccessat.S b/libc/sysv/calls/sys_faccessat.S index d30e3fff4..5ef73031a 100644 --- a/libc/sysv/calls/sys_faccessat.S +++ b/libc/sysv/calls/sys_faccessat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_faccessat,0x1ce1391e921d210d,48,466,globl,hidden +.scall sys_faccessat,0x1ce1391e921d210d,48,466,489,globl,hidden diff --git a/libc/sysv/calls/sys_faccessat2.S b/libc/sysv/calls/sys_faccessat2.S index 7c85a5491..9f25232cb 100644 --- a/libc/sysv/calls/sys_faccessat2.S +++ b/libc/sysv/calls/sys_faccessat2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_faccessat2,0xfffffffffffff1b7,439,4095,globl,hidden +.scall sys_faccessat2,0xfffffffffffff1b7,439,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_fadvise.S b/libc/sysv/calls/sys_fadvise.S index 838227f2f..e26e4a772 100644 --- a/libc/sysv/calls/sys_fadvise.S +++ b/libc/sysv/calls/sys_fadvise.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fadvise,0x1a0fff213ffff0dd,223,4095,globl,hidden +.scall sys_fadvise,0x1a0fff213ffff0dd,223,4095,531,globl,hidden diff --git a/libc/sysv/calls/sys_fallocate.S b/libc/sysv/calls/sys_fallocate.S index d6f8bcb38..fbf69b8a5 100644 --- a/libc/sysv/calls/sys_fallocate.S +++ b/libc/sysv/calls/sys_fallocate.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fallocate,0xfffffffffffff91d,47,4095,globl +.scall sys_fallocate,0xfffffffffffff91d,47,4095,4095,globl diff --git a/libc/sysv/calls/sys_fanotify_init.S b/libc/sysv/calls/sys_fanotify_init.S index 2feea1ca7..ffba1c1bd 100644 --- a/libc/sysv/calls/sys_fanotify_init.S +++ b/libc/sysv/calls/sys_fanotify_init.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fanotify_init,0xfffffffffffff12c,262,4095,globl +.scall sys_fanotify_init,0xfffffffffffff12c,262,4095,4095,globl diff --git a/libc/sysv/calls/sys_fanotify_mark.S b/libc/sysv/calls/sys_fanotify_mark.S index ff229ea76..5826f7e1f 100644 --- a/libc/sysv/calls/sys_fanotify_mark.S +++ b/libc/sysv/calls/sys_fanotify_mark.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fanotify_mark,0xfffffffffffff12d,263,4095,globl +.scall sys_fanotify_mark,0xfffffffffffff12d,263,4095,4095,globl diff --git a/libc/sysv/calls/sys_fchdir.S b/libc/sysv/calls/sys_fchdir.S index 3bc247944..82420ed98 100644 --- a/libc/sysv/calls/sys_fchdir.S +++ b/libc/sysv/calls/sys_fchdir.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchdir,0x00d00d00d200d051,50,13,globl,hidden +.scall sys_fchdir,0x00d00d00d200d051,50,13,13,globl,hidden diff --git a/libc/sysv/calls/sys_fchflags.S b/libc/sysv/calls/sys_fchflags.S index df0309405..07072a315 100644 --- a/libc/sysv/calls/sys_fchflags.S +++ b/libc/sysv/calls/sys_fchflags.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchflags,0x0230230232023fff,4095,35,globl +.scall sys_fchflags,0x0230230232023fff,4095,35,35,globl diff --git a/libc/sysv/calls/sys_fchmod.S b/libc/sysv/calls/sys_fchmod.S index e26df0e52..2f99b0888 100644 --- a/libc/sysv/calls/sys_fchmod.S +++ b/libc/sysv/calls/sys_fchmod.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchmod,0x07c07c07c207c05b,52,124,globl,hidden +.scall sys_fchmod,0x07c07c07c207c05b,52,124,124,globl,hidden diff --git a/libc/sysv/calls/sys_fchmodat.S b/libc/sysv/calls/sys_fchmodat.S index 34b5dfd53..8d4a341f1 100644 --- a/libc/sysv/calls/sys_fchmodat.S +++ b/libc/sysv/calls/sys_fchmodat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchmodat,0x1cf13a1ea21d310c,53,467,globl,hidden +.scall sys_fchmodat,0x1cf13a1ea21d310c,53,467,490,globl,hidden diff --git a/libc/sysv/calls/sys_fchmodat2.S b/libc/sysv/calls/sys_fchmodat2.S index a45ef72d8..0fed3f973 100644 --- a/libc/sysv/calls/sys_fchmodat2.S +++ b/libc/sysv/calls/sys_fchmodat2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchmodat2,0xfffffffffffff1c4,452,4095,globl +.scall sys_fchmodat2,0xfffffffffffff1c4,452,4095,4095,globl diff --git a/libc/sysv/calls/sys_fchown.S b/libc/sysv/calls/sys_fchown.S index ea06837ac..5744c7b92 100644 --- a/libc/sysv/calls/sys_fchown.S +++ b/libc/sysv/calls/sys_fchown.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchown,0x07b07b07b207b05d,55,123,globl,hidden +.scall sys_fchown,0x07b07b07b207b05d,55,123,123,globl,hidden diff --git a/libc/sysv/calls/sys_fchownat.S b/libc/sysv/calls/sys_fchownat.S index f66db12dc..2d3d262ac 100644 --- a/libc/sysv/calls/sys_fchownat.S +++ b/libc/sysv/calls/sys_fchownat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fchownat,0x1d013b1eb21d4104,54,468,globl,hidden +.scall sys_fchownat,0x1d013b1eb21d4104,54,468,491,globl,hidden diff --git a/libc/sysv/calls/sys_fdatasync.S b/libc/sysv/calls/sys_fdatasync.S index 3af75d7fd..1d738e5cf 100644 --- a/libc/sysv/calls/sys_fdatasync.S +++ b/libc/sysv/calls/sys_fdatasync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fdatasync,0x8f185fa2628bb84b,2131,2235,globl,hidden +.scall sys_fdatasync,0x8f185fa2628bb84b,2131,2235,2598,globl,hidden diff --git a/libc/sysv/calls/sys_fexecve.S b/libc/sysv/calls/sys_fexecve.S index fc65ea7fb..2ae8c2da7 100644 --- a/libc/sysv/calls/sys_fexecve.S +++ b/libc/sysv/calls/sys_fexecve.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fexecve,0xffffff1ecfffffff,4095,4095,globl,hidden +.scall sys_fexecve,0xffffff1ecfffffff,4095,4095,492,globl,hidden diff --git a/libc/sysv/calls/sys_fgetxattr.S b/libc/sysv/calls/sys_fgetxattr.S index daafcd08b..4c82e5fdd 100644 --- a/libc/sysv/calls/sys_fgetxattr.S +++ b/libc/sysv/calls/sys_fgetxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fgetxattr,0x17cffffff20eb0c1,10,235,globl +.scall sys_fgetxattr,0x17cffffff20eb0c1,10,235,4095,globl diff --git a/libc/sysv/calls/sys_fhopen.S b/libc/sysv/calls/sys_fhopen.S index 7d806311c..2c630febd 100644 --- a/libc/sysv/calls/sys_fhopen.S +++ b/libc/sysv/calls/sys_fhopen.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fhopen,0x18c10812a20f8fff,4095,248,globl +.scall sys_fhopen,0x18c10812a20f8fff,4095,248,298,globl diff --git a/libc/sysv/calls/sys_fhstat.S b/libc/sysv/calls/sys_fhstat.S index c2f8244fe..56c65b1b3 100644 --- a/libc/sysv/calls/sys_fhstat.S +++ b/libc/sysv/calls/sys_fhstat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fhstat,0x1c3126229fffffff,4095,4095,globl +.scall sys_fhstat,0x1c3126229fffffff,4095,4095,553,globl diff --git a/libc/sysv/calls/sys_fhstatfs.S b/libc/sysv/calls/sys_fhstatfs.S index d54880b64..509f2025e 100644 --- a/libc/sysv/calls/sys_fhstatfs.S +++ b/libc/sysv/calls/sys_fhstatfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fhstatfs,0xfff04122efffffff,4095,4095,globl +.scall sys_fhstatfs,0xfff04122efffffff,4095,4095,558,globl diff --git a/libc/sysv/calls/sys_finit_module.S b/libc/sysv/calls/sys_finit_module.S index 8d87d7162..248ea2975 100644 --- a/libc/sysv/calls/sys_finit_module.S +++ b/libc/sysv/calls/sys_finit_module.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_finit_module,0xfffffffffffff139,273,4095,globl +.scall sys_finit_module,0xfffffffffffff139,273,4095,4095,globl diff --git a/libc/sysv/calls/sys_flistxattr.S b/libc/sysv/calls/sys_flistxattr.S index 263398ea8..5ab5f9485 100644 --- a/libc/sysv/calls/sys_flistxattr.S +++ b/libc/sysv/calls/sys_flistxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_flistxattr,0x17fffffff20f10c4,13,241,globl +.scall sys_flistxattr,0x17fffffff20f10c4,13,241,4095,globl diff --git a/libc/sysv/calls/sys_flock.S b/libc/sysv/calls/sys_flock.S index 759ce1973..064e498f1 100644 --- a/libc/sysv/calls/sys_flock.S +++ b/libc/sysv/calls/sys_flock.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_flock,0x8838838832883849,2080,2179,globl,hidden +.scall sys_flock,0x8838838832883849,2080,2179,2179,globl,hidden diff --git a/libc/sysv/calls/sys_fpathconf.S b/libc/sysv/calls/sys_fpathconf.S index ce0cabbbe..003c7ffd0 100644 --- a/libc/sysv/calls/sys_fpathconf.S +++ b/libc/sysv/calls/sys_fpathconf.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fpathconf,0x0c00c00c020c0fff,4095,192,globl +.scall sys_fpathconf,0x0c00c00c020c0fff,4095,192,192,globl diff --git a/libc/sysv/calls/sys_fremovexattr.S b/libc/sysv/calls/sys_fremovexattr.S index f717d4231..5211debbf 100644 --- a/libc/sysv/calls/sys_fremovexattr.S +++ b/libc/sysv/calls/sys_fremovexattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fremovexattr,0x182ffffff20ef0c7,16,239,globl +.scall sys_fremovexattr,0x182ffffff20ef0c7,16,239,4095,globl diff --git a/libc/sysv/calls/sys_fsconfig.S b/libc/sysv/calls/sys_fsconfig.S index ddfdf7a20..2c19e88b8 100644 --- a/libc/sysv/calls/sys_fsconfig.S +++ b/libc/sysv/calls/sys_fsconfig.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsconfig,0xfffffffffffff1af,431,4095,globl +.scall sys_fsconfig,0xfffffffffffff1af,431,4095,4095,globl diff --git a/libc/sysv/calls/sys_fsetxattr.S b/libc/sysv/calls/sys_fsetxattr.S index d399882f5..75491e89a 100644 --- a/libc/sysv/calls/sys_fsetxattr.S +++ b/libc/sysv/calls/sys_fsetxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsetxattr,0x179ffffff20ed0be,7,237,globl +.scall sys_fsetxattr,0x179ffffff20ed0be,7,237,4095,globl diff --git a/libc/sysv/calls/sys_fsmount.S b/libc/sysv/calls/sys_fsmount.S index 43b58acb5..84c6d9509 100644 --- a/libc/sysv/calls/sys_fsmount.S +++ b/libc/sysv/calls/sys_fsmount.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsmount,0xfffffffffffff1b0,432,4095,globl +.scall sys_fsmount,0xfffffffffffff1b0,432,4095,4095,globl diff --git a/libc/sysv/calls/sys_fsopen.S b/libc/sysv/calls/sys_fsopen.S index cf36943ab..a4d7e158e 100644 --- a/libc/sysv/calls/sys_fsopen.S +++ b/libc/sysv/calls/sys_fsopen.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsopen,0xfffffffffffff1ae,430,4095,globl +.scall sys_fsopen,0xfffffffffffff1ae,430,4095,4095,globl diff --git a/libc/sysv/calls/sys_fspick.S b/libc/sysv/calls/sys_fspick.S index 5094512ca..b64b66423 100644 --- a/libc/sysv/calls/sys_fspick.S +++ b/libc/sysv/calls/sys_fspick.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fspick,0xfffffffffffff1b1,433,4095,globl +.scall sys_fspick,0xfffffffffffff1b1,433,4095,4095,globl diff --git a/libc/sysv/calls/sys_fstatfs.S b/libc/sysv/calls/sys_fstatfs.S index d009b257b..f83ac75ee 100644 --- a/libc/sysv/calls/sys_fstatfs.S +++ b/libc/sysv/calls/sys_fstatfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fstatfs,0x89e840a2c295a88a,2092,2394,globl,hidden +.scall sys_fstatfs,0x89e840a2c295a88a,2092,2394,2604,globl,hidden diff --git a/libc/sysv/calls/sys_fsync.S b/libc/sysv/calls/sys_fsync.S index c12685e57..fe325ac7b 100644 --- a/libc/sysv/calls/sys_fsync.S +++ b/libc/sysv/calls/sys_fsync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_fsync,0x85f85f85f285f84a,2130,2143,globl,hidden +.scall sys_fsync,0x85f85f85f285f84a,2130,2143,2143,globl,hidden diff --git a/libc/sysv/calls/sys_ftruncate.S b/libc/sysv/calls/sys_ftruncate.S index 18d74d3e4..14654205c 100644 --- a/libc/sysv/calls/sys_ftruncate.S +++ b/libc/sysv/calls/sys_ftruncate.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ftruncate,0x8c98a89e028c984d,2094,2249,globl,hidden +.scall sys_ftruncate,0x8c98a89e028c984d,2094,2249,2528,globl,hidden diff --git a/libc/sysv/calls/sys_futex.S b/libc/sysv/calls/sys_futex.S index 98b3d2eef..d42280770 100644 --- a/libc/sysv/calls/sys_futex.S +++ b/libc/sysv/calls/sys_futex.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futex,0x0a60531c622030ca,98,515,globl,hidden +.scall sys_futex,0x0a60531c622030ca,98,515,454,globl,hidden diff --git a/libc/sysv/calls/sys_futex_cp.S b/libc/sysv/calls/sys_futex_cp.S index 8915061af..b2f6d9dda 100644 --- a/libc/sysv/calls/sys_futex_cp.S +++ b/libc/sysv/calls/sys_futex_cp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futex_cp,0x8a68539c62a038ca,2146,2563,globl,hidden +.scall sys_futex_cp,0x8a68539c62a038ca,2146,2563,2502,globl,hidden diff --git a/libc/sysv/calls/sys_futex_waitv.S b/libc/sysv/calls/sys_futex_waitv.S index 984dfba94..3e904d6a9 100644 --- a/libc/sysv/calls/sys_futex_waitv.S +++ b/libc/sysv/calls/sys_futex_waitv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futex_waitv,0xfffffffffffff1c1,4095,4095,globl +.scall sys_futex_waitv,0xfffffffffffff1c1,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_futimens.S b/libc/sysv/calls/sys_futimens.S index cc90d8dbb..322000800 100644 --- a/libc/sysv/calls/sys_futimens.S +++ b/libc/sysv/calls/sys_futimens.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futimens,0x1d8055222fffffff,4095,4095,globl,hidden +.scall sys_futimens,0x1d8055222fffffff,4095,4095,546,globl,hidden diff --git a/libc/sysv/calls/sys_futimes.S b/libc/sysv/calls/sys_futimes.S index 68677783d..3cfa134ac 100644 --- a/libc/sysv/calls/sys_futimes.S +++ b/libc/sysv/calls/sys_futimes.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_futimes,0x1a704d0ce208bfff,4095,139,globl,hidden +.scall sys_futimes,0x1a704d0ce208bfff,4095,139,206,globl,hidden diff --git a/libc/sysv/calls/sys_get_robust_list.S b/libc/sysv/calls/sys_get_robust_list.S index efae7964d..2692c3eeb 100644 --- a/libc/sysv/calls/sys_get_robust_list.S +++ b/libc/sysv/calls/sys_get_robust_list.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_get_robust_list,0x0a8ffffffffff112,100,4095,globl +.scall sys_get_robust_list,0x0a8ffffffffff112,100,4095,4095,globl diff --git a/libc/sysv/calls/sys_getaudit_addr.S b/libc/sysv/calls/sys_getaudit_addr.S index 27a4658da..02d2f9de0 100644 --- a/libc/sysv/calls/sys_getaudit_addr.S +++ b/libc/sysv/calls/sys_getaudit_addr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getaudit_addr,0xffffff1c32165fff,4095,357,globl +.scall sys_getaudit_addr,0xffffff1c32165fff,4095,357,451,globl diff --git a/libc/sysv/calls/sys_getauid.S b/libc/sysv/calls/sys_getauid.S index 14d36244b..aa1b69668 100644 --- a/libc/sysv/calls/sys_getauid.S +++ b/libc/sysv/calls/sys_getauid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getauid,0xffffff1bf2161fff,4095,353,globl +.scall sys_getauid,0xffffff1bf2161fff,4095,353,447,globl diff --git a/libc/sysv/calls/sys_getcontext.S b/libc/sysv/calls/sys_getcontext.S index eec840884..ee7386e42 100644 --- a/libc/sysv/calls/sys_getcontext.S +++ b/libc/sysv/calls/sys_getcontext.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getcontext,0x133fff1a5fffffff,4095,4095,globl,hidden +.scall sys_getcontext,0x133fff1a5fffffff,4095,4095,421,globl,hidden diff --git a/libc/sysv/calls/sys_getcpu.S b/libc/sysv/calls/sys_getcpu.S index aaa8a4f63..9bda392b5 100644 --- a/libc/sysv/calls/sys_getcpu.S +++ b/libc/sysv/calls/sys_getcpu.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getcpu,0xfffffffffffff135,168,4095,globl +.scall sys_getcpu,0xfffffffffffff135,168,4095,4095,globl diff --git a/libc/sysv/calls/sys_getcwd.S b/libc/sysv/calls/sys_getcwd.S index 06f9cb37a..80d152725 100644 --- a/libc/sysv/calls/sys_getcwd.S +++ b/libc/sysv/calls/sys_getcwd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getcwd,0x128130146ffff04f,17,4095,globl,hidden +.scall sys_getcwd,0x128130146ffff04f,17,4095,326,globl,hidden diff --git a/libc/sysv/calls/sys_getdents.S b/libc/sysv/calls/sys_getdents.S index 9c5192e2a..1f6bb0183 100644 --- a/libc/sysv/calls/sys_getdents.S +++ b/libc/sysv/calls/sys_getdents.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getdents,0x18606311020c40d9,61,196,globl,hidden +.scall sys_getdents,0x18606311020c40d9,61,196,272,globl,hidden diff --git a/libc/sysv/calls/sys_getdirentries.S b/libc/sysv/calls/sys_getdirentries.S index c8f044119..40cb8ca83 100644 --- a/libc/sysv/calls/sys_getdirentries.S +++ b/libc/sysv/calls/sys_getdirentries.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getdirentries,0xffffff22a20c4fff,4095,196,globl +.scall sys_getdirentries,0xffffff22a20c4fff,4095,196,554,globl diff --git a/libc/sysv/calls/sys_getdtablesize.S b/libc/sysv/calls/sys_getdtablesize.S index 4909a0d2c..b5a6268b4 100644 --- a/libc/sysv/calls/sys_getdtablesize.S +++ b/libc/sysv/calls/sys_getdtablesize.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getdtablesize,0xffffff0592059fff,4095,89,globl +.scall sys_getdtablesize,0xffffff0592059fff,4095,89,89,globl diff --git a/libc/sysv/calls/sys_getegid.S b/libc/sysv/calls/sys_getegid.S index 1cf9a4ce1..699cee750 100644 --- a/libc/sysv/calls/sys_getegid.S +++ b/libc/sysv/calls/sys_getegid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getegid,0x02b02b02b202b06c,177,43,globl,hidden +.scall sys_getegid,0x02b02b02b202b06c,177,43,43,globl,hidden diff --git a/libc/sysv/calls/sys_geteuid.S b/libc/sysv/calls/sys_geteuid.S index 49ed602fe..adfb8550a 100644 --- a/libc/sysv/calls/sys_geteuid.S +++ b/libc/sysv/calls/sys_geteuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_geteuid,0x019019019201906b,175,25,globl,hidden +.scall sys_geteuid,0x019019019201906b,175,25,25,globl,hidden diff --git a/libc/sysv/calls/sys_getfh.S b/libc/sysv/calls/sys_getfh.S index 9dff35fb1..bd4489533 100644 --- a/libc/sysv/calls/sys_getfh.S +++ b/libc/sysv/calls/sys_getfh.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getfh,0x18b0a10a120a1fff,4095,161,globl +.scall sys_getfh,0x18b0a10a120a1fff,4095,161,161,globl diff --git a/libc/sysv/calls/sys_getfsstat.S b/libc/sysv/calls/sys_getfsstat.S index 63004edf5..73df3f41f 100644 --- a/libc/sysv/calls/sys_getfsstat.S +++ b/libc/sysv/calls/sys_getfsstat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getfsstat,0xfff03e22d215bfff,4095,347,globl +.scall sys_getfsstat,0xfff03e22d215bfff,4095,347,557,globl diff --git a/libc/sysv/calls/sys_getgid.S b/libc/sysv/calls/sys_getgid.S index a4b5d6d23..36b94a7db 100644 --- a/libc/sysv/calls/sys_getgid.S +++ b/libc/sysv/calls/sys_getgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getgid,0x02f02f02f202f068,176,47,globl,hidden +.scall sys_getgid,0x02f02f02f202f068,176,47,47,globl,hidden diff --git a/libc/sysv/calls/sys_getgroups.S b/libc/sysv/calls/sys_getgroups.S index 30213ac03..c5df3b77f 100644 --- a/libc/sysv/calls/sys_getgroups.S +++ b/libc/sysv/calls/sys_getgroups.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getgroups,0x04f04f04f204f073,158,79,globl,hidden +.scall sys_getgroups,0x04f04f04f204f073,158,79,79,globl,hidden diff --git a/libc/sysv/calls/sys_getitimer.S b/libc/sysv/calls/sys_getitimer.S index 37515d42a..77693f917 100644 --- a/libc/sysv/calls/sys_getitimer.S +++ b/libc/sysv/calls/sys_getitimer.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getitimer,0x1aa0460562056024,102,86,globl,hidden +.scall sys_getitimer,0x1aa0460562056024,102,86,86,globl,hidden diff --git a/libc/sysv/calls/sys_getlogin.S b/libc/sysv/calls/sys_getlogin.S index d1ad6d097..38054b1bc 100644 --- a/libc/sysv/calls/sys_getlogin.S +++ b/libc/sysv/calls/sys_getlogin.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getlogin,0x03108d0312031fff,4095,49,globl,hidden +.scall sys_getlogin,0x03108d0312031fff,4095,49,49,globl,hidden diff --git a/libc/sysv/calls/sys_getpgid.S b/libc/sysv/calls/sys_getpgid.S index d1faff9e4..3449ecedc 100644 --- a/libc/sysv/calls/sys_getpgid.S +++ b/libc/sysv/calls/sys_getpgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getpgid,0x0cf0cf0cf2097079,155,151,globl,hidden +.scall sys_getpgid,0x0cf0cf0cf2097079,155,151,207,globl,hidden diff --git a/libc/sysv/calls/sys_getpid.S b/libc/sysv/calls/sys_getpid.S index 9bc2b9657..afa100dd2 100644 --- a/libc/sysv/calls/sys_getpid.S +++ b/libc/sysv/calls/sys_getpid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getpid,0x0140140142014027,172,20,globl,hidden +.scall sys_getpid,0x0140140142014027,172,20,20,globl,hidden diff --git a/libc/sysv/calls/sys_getppid.S b/libc/sysv/calls/sys_getppid.S index f8e20b7d1..0e39ba498 100644 --- a/libc/sysv/calls/sys_getppid.S +++ b/libc/sysv/calls/sys_getppid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getppid,0xfff027027202706e,173,39,globl,hidden +.scall sys_getppid,0xfff027027202706e,173,39,39,globl,hidden diff --git a/libc/sysv/calls/sys_getpriority.S b/libc/sysv/calls/sys_getpriority.S index ac3bf1b38..ea1f3535a 100644 --- a/libc/sysv/calls/sys_getpriority.S +++ b/libc/sysv/calls/sys_getpriority.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getpriority,0x064064064206408c,141,100,globl,hidden +.scall sys_getpriority,0x064064064206408c,141,100,100,globl,hidden diff --git a/libc/sysv/calls/sys_getrandom.S b/libc/sysv/calls/sys_getrandom.S index 5a2848bf0..16fd83130 100644 --- a/libc/sysv/calls/sys_getrandom.S +++ b/libc/sysv/calls/sys_getrandom.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getrandom,0xfff007a3321f493e,278,500,globl,hidden +.scall sys_getrandom,0xfff007a3321f493e,278,500,2611,globl,hidden diff --git a/libc/sysv/calls/sys_getresgid.S b/libc/sysv/calls/sys_getresgid.S index fda453a68..8c1e87a56 100644 --- a/libc/sysv/calls/sys_getresgid.S +++ b/libc/sysv/calls/sys_getresgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getresgid,0xfff11b169ffff078,150,4095,globl,hidden +.scall sys_getresgid,0xfff11b169ffff078,150,4095,361,globl,hidden diff --git a/libc/sysv/calls/sys_getresuid.S b/libc/sysv/calls/sys_getresuid.S index 10ae1d8b6..959fe122b 100644 --- a/libc/sysv/calls/sys_getresuid.S +++ b/libc/sysv/calls/sys_getresuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getresuid,0xfff119168ffff076,148,4095,globl,hidden +.scall sys_getresuid,0xfff119168ffff076,148,4095,360,globl,hidden diff --git a/libc/sysv/calls/sys_getrlimit.S b/libc/sysv/calls/sys_getrlimit.S index 9a03e8333..d3606d89c 100644 --- a/libc/sysv/calls/sys_getrlimit.S +++ b/libc/sysv/calls/sys_getrlimit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getrlimit,0x0c20c20c220c2061,163,194,globl,hidden +.scall sys_getrlimit,0x0c20c20c220c2061,163,194,194,globl,hidden diff --git a/libc/sysv/calls/sys_getsid.S b/libc/sysv/calls/sys_getsid.S index 7e61cb090..d5bf435d1 100644 --- a/libc/sysv/calls/sys_getsid.S +++ b/libc/sysv/calls/sys_getsid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getsid,0x11e0ff136213607c,156,310,globl,hidden +.scall sys_getsid,0x11e0ff136213607c,156,310,310,globl,hidden diff --git a/libc/sysv/calls/sys_getsockopt.S b/libc/sysv/calls/sys_getsockopt.S index 8131745d8..0e9cc15f1 100644 --- a/libc/sysv/calls/sys_getsockopt.S +++ b/libc/sysv/calls/sys_getsockopt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getsockopt,0x0760760762076037,209,118,globl,hidden +.scall sys_getsockopt,0x0760760762076037,209,118,118,globl,hidden diff --git a/libc/sysv/calls/sys_getuid.S b/libc/sysv/calls/sys_getuid.S index 33a4873de..6d3c3605d 100644 --- a/libc/sysv/calls/sys_getuid.S +++ b/libc/sysv/calls/sys_getuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getuid,0x0180180182018066,174,24,globl,hidden +.scall sys_getuid,0x0180180182018066,174,24,24,globl,hidden diff --git a/libc/sysv/calls/sys_getxattr.S b/libc/sysv/calls/sys_getxattr.S index 85274a8e0..c226ae862 100644 --- a/libc/sysv/calls/sys_getxattr.S +++ b/libc/sysv/calls/sys_getxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_getxattr,0x17affffff20ea0bf,8,234,globl +.scall sys_getxattr,0x17affffff20ea0bf,8,234,4095,globl diff --git a/libc/sysv/calls/sys_init_module.S b/libc/sysv/calls/sys_init_module.S index efc786e07..38e39ebbf 100644 --- a/libc/sysv/calls/sys_init_module.S +++ b/libc/sysv/calls/sys_init_module.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_init_module,0xfffffffffffff0af,105,4095,globl +.scall sys_init_module,0xfffffffffffff0af,105,4095,4095,globl diff --git a/libc/sysv/calls/sys_inotify_add_watch.S b/libc/sysv/calls/sys_inotify_add_watch.S index 1654f648d..697b4ec17 100644 --- a/libc/sysv/calls/sys_inotify_add_watch.S +++ b/libc/sysv/calls/sys_inotify_add_watch.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_inotify_add_watch,0xfffffffffffff0fe,4095,4095,globl +.scall sys_inotify_add_watch,0xfffffffffffff0fe,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_inotify_init.S b/libc/sysv/calls/sys_inotify_init.S index 4ef54e0d5..f9176e802 100644 --- a/libc/sysv/calls/sys_inotify_init.S +++ b/libc/sysv/calls/sys_inotify_init.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_inotify_init,0xfffffffffffff0fd,4095,4095,globl +.scall sys_inotify_init,0xfffffffffffff0fd,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_inotify_init1.S b/libc/sysv/calls/sys_inotify_init1.S index 42c229bf8..1ae3fc59d 100644 --- a/libc/sysv/calls/sys_inotify_init1.S +++ b/libc/sysv/calls/sys_inotify_init1.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_inotify_init1,0xfffffffffffff126,26,4095,globl +.scall sys_inotify_init1,0xfffffffffffff126,26,4095,4095,globl diff --git a/libc/sysv/calls/sys_inotify_rm_watch.S b/libc/sysv/calls/sys_inotify_rm_watch.S index 885461b76..5a7e44677 100644 --- a/libc/sysv/calls/sys_inotify_rm_watch.S +++ b/libc/sysv/calls/sys_inotify_rm_watch.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_inotify_rm_watch,0xfffffffffffff0ff,4095,4095,globl +.scall sys_inotify_rm_watch,0xfffffffffffff0ff,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_cancel.S b/libc/sysv/calls/sys_io_cancel.S index b3cc628e1..3f288475e 100644 --- a/libc/sysv/calls/sys_io_cancel.S +++ b/libc/sysv/calls/sys_io_cancel.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_cancel,0xfffffffffffff0d2,3,4095,globl +.scall sys_io_cancel,0xfffffffffffff0d2,3,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_destroy.S b/libc/sysv/calls/sys_io_destroy.S index fb11d3bd2..9e76e34d0 100644 --- a/libc/sysv/calls/sys_io_destroy.S +++ b/libc/sysv/calls/sys_io_destroy.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_destroy,0xfffffffffffff0cf,1,4095,globl +.scall sys_io_destroy,0xfffffffffffff0cf,1,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_getevents.S b/libc/sysv/calls/sys_io_getevents.S index 8c30155a0..5ea9407e8 100644 --- a/libc/sysv/calls/sys_io_getevents.S +++ b/libc/sysv/calls/sys_io_getevents.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_getevents,0xfffffffffffff0d0,4,4095,globl +.scall sys_io_getevents,0xfffffffffffff0d0,4,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_pgetevents.S b/libc/sysv/calls/sys_io_pgetevents.S index 694ca3d8f..0ca319eb8 100644 --- a/libc/sysv/calls/sys_io_pgetevents.S +++ b/libc/sysv/calls/sys_io_pgetevents.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_pgetevents,0xfffffffffffff14d,292,4095,globl +.scall sys_io_pgetevents,0xfffffffffffff14d,292,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_setup.S b/libc/sysv/calls/sys_io_setup.S index 4a7a27caf..f72662b0b 100644 --- a/libc/sysv/calls/sys_io_setup.S +++ b/libc/sysv/calls/sys_io_setup.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_setup,0xfffffffffffff0ce,0,4095,globl +.scall sys_io_setup,0xfffffffffffff0ce,0,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_submit.S b/libc/sysv/calls/sys_io_submit.S index 39b2aeaa1..86909711b 100644 --- a/libc/sysv/calls/sys_io_submit.S +++ b/libc/sysv/calls/sys_io_submit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_submit,0xfffffffffffff0d1,2,4095,globl +.scall sys_io_submit,0xfffffffffffff0d1,2,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_uring_enter.S b/libc/sysv/calls/sys_io_uring_enter.S index e5bc4fd40..3facb0e52 100644 --- a/libc/sysv/calls/sys_io_uring_enter.S +++ b/libc/sysv/calls/sys_io_uring_enter.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_uring_enter,0xfffffffffffff1aa,426,4095,globl +.scall sys_io_uring_enter,0xfffffffffffff1aa,426,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_uring_register.S b/libc/sysv/calls/sys_io_uring_register.S index 5958e6166..b7469dc71 100644 --- a/libc/sysv/calls/sys_io_uring_register.S +++ b/libc/sysv/calls/sys_io_uring_register.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_uring_register,0xfffffffffffff1ab,427,4095,globl +.scall sys_io_uring_register,0xfffffffffffff1ab,427,4095,4095,globl diff --git a/libc/sysv/calls/sys_io_uring_setup.S b/libc/sysv/calls/sys_io_uring_setup.S index 6afadf362..1aae13498 100644 --- a/libc/sysv/calls/sys_io_uring_setup.S +++ b/libc/sysv/calls/sys_io_uring_setup.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_io_uring_setup,0xfffffffffffff1a9,425,4095,globl +.scall sys_io_uring_setup,0xfffffffffffff1a9,425,4095,4095,globl diff --git a/libc/sysv/calls/sys_ioctl.S b/libc/sysv/calls/sys_ioctl.S index 0f20f8fce..c8a7dd75a 100644 --- a/libc/sysv/calls/sys_ioctl.S +++ b/libc/sysv/calls/sys_ioctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ioctl,0x0360360362036010,29,54,globl,hidden +.scall sys_ioctl,0x0360360362036010,29,54,54,globl,hidden diff --git a/libc/sysv/calls/sys_ioctl_cp.S b/libc/sysv/calls/sys_ioctl_cp.S index 1100f504f..a5f56de65 100644 --- a/libc/sysv/calls/sys_ioctl_cp.S +++ b/libc/sysv/calls/sys_ioctl_cp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ioctl_cp,0x8368368362836810,2077,2102,globl,hidden +.scall sys_ioctl_cp,0x8368368362836810,2077,2102,2102,globl,hidden diff --git a/libc/sysv/calls/sys_ioperm.S b/libc/sysv/calls/sys_ioperm.S index 6958a715a..3d5657a8a 100644 --- a/libc/sysv/calls/sys_ioperm.S +++ b/libc/sysv/calls/sys_ioperm.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ioperm,0xfffffffffffff0ad,4095,4095,globl +.scall sys_ioperm,0xfffffffffffff0ad,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_iopl.S b/libc/sysv/calls/sys_iopl.S index 34756c565..f24980c72 100644 --- a/libc/sysv/calls/sys_iopl.S +++ b/libc/sysv/calls/sys_iopl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_iopl,0xfffffffffffff0ac,4095,4095,globl +.scall sys_iopl,0xfffffffffffff0ac,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_ioprio_get.S b/libc/sysv/calls/sys_ioprio_get.S index 0739797f3..b0d04332d 100644 --- a/libc/sysv/calls/sys_ioprio_get.S +++ b/libc/sysv/calls/sys_ioprio_get.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ioprio_get,0xfffffffffffff0fc,31,4095,globl +.scall sys_ioprio_get,0xfffffffffffff0fc,31,4095,4095,globl diff --git a/libc/sysv/calls/sys_ioprio_set.S b/libc/sysv/calls/sys_ioprio_set.S index 979d93133..b948cc6da 100644 --- a/libc/sysv/calls/sys_ioprio_set.S +++ b/libc/sysv/calls/sys_ioprio_set.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ioprio_set,0xfffffffffffff0fb,30,4095,globl +.scall sys_ioprio_set,0xfffffffffffff0fb,30,4095,4095,globl diff --git a/libc/sysv/calls/sys_issetugid.S b/libc/sysv/calls/sys_issetugid.S index 88f6ac100..69f0545a8 100644 --- a/libc/sysv/calls/sys_issetugid.S +++ b/libc/sysv/calls/sys_issetugid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_issetugid,0xfff0fd0fd2147fff,4095,327,globl,hidden +.scall sys_issetugid,0xfff0fd0fd2147fff,4095,327,253,globl,hidden diff --git a/libc/sysv/calls/sys_kcmp.S b/libc/sysv/calls/sys_kcmp.S index 62733edc4..5a3eb9e2c 100644 --- a/libc/sysv/calls/sys_kcmp.S +++ b/libc/sysv/calls/sys_kcmp.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kcmp,0xfffffffffffff138,272,4095,globl +.scall sys_kcmp,0xfffffffffffff138,272,4095,4095,globl diff --git a/libc/sysv/calls/sys_kevent.S b/libc/sysv/calls/sys_kevent.S index b53897e37..57f099df0 100644 --- a/libc/sysv/calls/sys_kevent.S +++ b/libc/sysv/calls/sys_kevent.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kevent,0x1b30482302171fff,4095,369,globl +.scall sys_kevent,0x1b30482302171fff,4095,369,560,globl diff --git a/libc/sysv/calls/sys_kexec_file_load.S b/libc/sysv/calls/sys_kexec_file_load.S index 4e61bd9c1..3bb1eadd6 100644 --- a/libc/sysv/calls/sys_kexec_file_load.S +++ b/libc/sysv/calls/sys_kexec_file_load.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kexec_file_load,0xfffffffffffff140,4095,4095,globl +.scall sys_kexec_file_load,0xfffffffffffff140,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_kexec_load.S b/libc/sysv/calls/sys_kexec_load.S index 0e156483c..c7e687f7a 100644 --- a/libc/sysv/calls/sys_kexec_load.S +++ b/libc/sysv/calls/sys_kexec_load.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kexec_load,0xfffffffffffff0f6,104,4095,globl +.scall sys_kexec_load,0xfffffffffffff0f6,104,4095,4095,globl diff --git a/libc/sysv/calls/sys_keyctl.S b/libc/sysv/calls/sys_keyctl.S index 1ba35d9e0..1288e9c1d 100644 --- a/libc/sysv/calls/sys_keyctl.S +++ b/libc/sysv/calls/sys_keyctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_keyctl,0xfffffffffffff0fa,219,4095,globl +.scall sys_keyctl,0xfffffffffffff0fa,219,4095,4095,globl diff --git a/libc/sysv/calls/sys_kill.S b/libc/sysv/calls/sys_kill.S index 3d4ce041d..b24418294 100644 --- a/libc/sysv/calls/sys_kill.S +++ b/libc/sysv/calls/sys_kill.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kill,0x02507a025202503e,129,37,globl,hidden +.scall sys_kill,0x02507a025202503e,129,37,37,globl,hidden diff --git a/libc/sysv/calls/sys_killpg.S b/libc/sysv/calls/sys_killpg.S index 48997695f..88079ba49 100644 --- a/libc/sysv/calls/sys_killpg.S +++ b/libc/sysv/calls/sys_killpg.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_killpg,0x092fff092fffffff,4095,4095,globl,hidden +.scall sys_killpg,0x092fff092fffffff,4095,4095,146,globl,hidden diff --git a/libc/sysv/calls/sys_kqueue.S b/libc/sysv/calls/sys_kqueue.S index 557078bbf..167a8d30f 100644 --- a/libc/sysv/calls/sys_kqueue.S +++ b/libc/sysv/calls/sys_kqueue.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_kqueue,0x15810d16a216afff,4095,362,globl +.scall sys_kqueue,0x15810d16a216afff,4095,362,362,globl diff --git a/libc/sysv/calls/sys_ktimer_create.S b/libc/sysv/calls/sys_ktimer_create.S index 1b0f8146a..18e0994fc 100644 --- a/libc/sysv/calls/sys_ktimer_create.S +++ b/libc/sysv/calls/sys_ktimer_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_create,0xffffff0ebfffffff,4095,4095,globl +.scall sys_ktimer_create,0xffffff0ebfffffff,4095,4095,235,globl diff --git a/libc/sysv/calls/sys_ktimer_delete.S b/libc/sysv/calls/sys_ktimer_delete.S index 24234cee8..362bb09d9 100644 --- a/libc/sysv/calls/sys_ktimer_delete.S +++ b/libc/sysv/calls/sys_ktimer_delete.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_delete,0xffffff0ecfffffff,4095,4095,globl +.scall sys_ktimer_delete,0xffffff0ecfffffff,4095,4095,236,globl diff --git a/libc/sysv/calls/sys_ktimer_getoverrun.S b/libc/sysv/calls/sys_ktimer_getoverrun.S index 3b53c4544..f307b8357 100644 --- a/libc/sysv/calls/sys_ktimer_getoverrun.S +++ b/libc/sysv/calls/sys_ktimer_getoverrun.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_getoverrun,0xffffff0effffffff,4095,4095,globl +.scall sys_ktimer_getoverrun,0xffffff0effffffff,4095,4095,239,globl diff --git a/libc/sysv/calls/sys_ktimer_gettime.S b/libc/sysv/calls/sys_ktimer_gettime.S index c4f90c5c8..099b140a1 100644 --- a/libc/sysv/calls/sys_ktimer_gettime.S +++ b/libc/sysv/calls/sys_ktimer_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_gettime,0xffffff0eefffffff,4095,4095,globl +.scall sys_ktimer_gettime,0xffffff0eefffffff,4095,4095,238,globl diff --git a/libc/sysv/calls/sys_ktimer_settime.S b/libc/sysv/calls/sys_ktimer_settime.S index bf86eabb3..ccfbf4ee5 100644 --- a/libc/sysv/calls/sys_ktimer_settime.S +++ b/libc/sysv/calls/sys_ktimer_settime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktimer_settime,0xffffff0edfffffff,4095,4095,globl +.scall sys_ktimer_settime,0xffffff0edfffffff,4095,4095,237,globl diff --git a/libc/sysv/calls/sys_ktrace.S b/libc/sysv/calls/sys_ktrace.S index 3503694ec..475d03d1b 100644 --- a/libc/sysv/calls/sys_ktrace.S +++ b/libc/sysv/calls/sys_ktrace.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ktrace,0x02d02d02dfffffff,4095,4095,globl +.scall sys_ktrace,0x02d02d02dfffffff,4095,4095,45,globl diff --git a/libc/sysv/calls/sys_landlock_add_rule.S b/libc/sysv/calls/sys_landlock_add_rule.S index 6a5cc6202..5297d6e32 100644 --- a/libc/sysv/calls/sys_landlock_add_rule.S +++ b/libc/sysv/calls/sys_landlock_add_rule.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_landlock_add_rule,0xfffffffffffff1bd,445,4095,globl,hidden +.scall sys_landlock_add_rule,0xfffffffffffff1bd,445,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_landlock_create_ruleset.S b/libc/sysv/calls/sys_landlock_create_ruleset.S index d29c031be..f29877868 100644 --- a/libc/sysv/calls/sys_landlock_create_ruleset.S +++ b/libc/sysv/calls/sys_landlock_create_ruleset.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_landlock_create_ruleset,0xfffffffffffff1bc,444,4095,globl,hidden +.scall sys_landlock_create_ruleset,0xfffffffffffff1bc,444,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_landlock_restrict_self.S b/libc/sysv/calls/sys_landlock_restrict_self.S index 149a2688c..f838b5904 100644 --- a/libc/sysv/calls/sys_landlock_restrict_self.S +++ b/libc/sysv/calls/sys_landlock_restrict_self.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_landlock_restrict_self,0xfffffffffffff1be,446,4095,globl,hidden +.scall sys_landlock_restrict_self,0xfffffffffffff1be,446,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_lgetxattr.S b/libc/sysv/calls/sys_lgetxattr.S index e98f8f733..9f28d32d1 100644 --- a/libc/sysv/calls/sys_lgetxattr.S +++ b/libc/sysv/calls/sys_lgetxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lgetxattr,0x17bffffffffff0c0,9,4095,globl +.scall sys_lgetxattr,0x17bffffffffff0c0,9,4095,4095,globl diff --git a/libc/sysv/calls/sys_linkat.S b/libc/sysv/calls/sys_linkat.S index 5f058521f..5fa821556 100644 --- a/libc/sysv/calls/sys_linkat.S +++ b/libc/sysv/calls/sys_linkat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_linkat,0x1c913d1ef21d7109,37,471,globl,hidden +.scall sys_linkat,0x1c913d1ef21d7109,37,471,495,globl,hidden diff --git a/libc/sysv/calls/sys_lio_listio.S b/libc/sysv/calls/sys_lio_listio.S index 831d99dea..b59faa3f3 100644 --- a/libc/sysv/calls/sys_lio_listio.S +++ b/libc/sysv/calls/sys_lio_listio.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lio_listio,0x196fff1402140fff,4095,320,globl +.scall sys_lio_listio,0x196fff1402140fff,4095,320,320,globl diff --git a/libc/sysv/calls/sys_listen.S b/libc/sysv/calls/sys_listen.S index 633f4f4af..bbd4b67e0 100644 --- a/libc/sysv/calls/sys_listen.S +++ b/libc/sysv/calls/sys_listen.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_listen,0x06a06a06a206a032,201,106,globl,hidden +.scall sys_listen,0x06a06a06a206a032,201,106,106,globl,hidden diff --git a/libc/sysv/calls/sys_listxattr.S b/libc/sysv/calls/sys_listxattr.S index a66b4b6bf..6b20a9f30 100644 --- a/libc/sysv/calls/sys_listxattr.S +++ b/libc/sysv/calls/sys_listxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_listxattr,0x17dffffff20f00c2,11,240,globl +.scall sys_listxattr,0x17dffffff20f00c2,11,240,4095,globl diff --git a/libc/sysv/calls/sys_llistxattr.S b/libc/sysv/calls/sys_llistxattr.S index 527aa4f97..1bc9c3945 100644 --- a/libc/sysv/calls/sys_llistxattr.S +++ b/libc/sysv/calls/sys_llistxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_llistxattr,0x17effffffffff0c3,12,4095,globl +.scall sys_llistxattr,0x17effffffffff0c3,12,4095,4095,globl diff --git a/libc/sysv/calls/sys_lookup_dcookie.S b/libc/sysv/calls/sys_lookup_dcookie.S index baa8cd5a1..7766e6ac4 100644 --- a/libc/sysv/calls/sys_lookup_dcookie.S +++ b/libc/sysv/calls/sys_lookup_dcookie.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lookup_dcookie,0xfffffffffffff0d4,18,4095,globl +.scall sys_lookup_dcookie,0xfffffffffffff0d4,18,4095,4095,globl diff --git a/libc/sysv/calls/sys_lremovexattr.S b/libc/sysv/calls/sys_lremovexattr.S index c6b65fff8..5c1c7d1c9 100644 --- a/libc/sysv/calls/sys_lremovexattr.S +++ b/libc/sysv/calls/sys_lremovexattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lremovexattr,0x181ffffffffff0c6,15,4095,globl +.scall sys_lremovexattr,0x181ffffffffff0c6,15,4095,4095,globl diff --git a/libc/sysv/calls/sys_lseek.S b/libc/sysv/calls/sys_lseek.S index be69cf837..2580b4b36 100644 --- a/libc/sysv/calls/sys_lseek.S +++ b/libc/sysv/calls/sys_lseek.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lseek,0x0c70a61de20c7008,62,199,globl,hidden +.scall sys_lseek,0x0c70a61de20c7008,62,199,478,globl,hidden diff --git a/libc/sysv/calls/sys_lsetxattr.S b/libc/sysv/calls/sys_lsetxattr.S index b0fd194a5..4bd00d5d2 100644 --- a/libc/sysv/calls/sys_lsetxattr.S +++ b/libc/sysv/calls/sys_lsetxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lsetxattr,0x178ffffffffff0bd,6,4095,globl +.scall sys_lsetxattr,0x178ffffffffff0bd,6,4095,4095,globl diff --git a/libc/sysv/calls/sys_lutimes.S b/libc/sysv/calls/sys_lutimes.S index a75c7f90c..8dddab751 100644 --- a/libc/sysv/calls/sys_lutimes.S +++ b/libc/sysv/calls/sys_lutimes.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_lutimes,0x1a8fff114fffffff,4095,4095,globl,hidden +.scall sys_lutimes,0x1a8fff114fffffff,4095,4095,276,globl,hidden diff --git a/libc/sysv/calls/sys_madvise.S b/libc/sysv/calls/sys_madvise.S index 5ebd416b3..bbcd4d47d 100644 --- a/libc/sysv/calls/sys_madvise.S +++ b/libc/sysv/calls/sys_madvise.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_madvise,0x04b04b04b204b01c,233,75,globl,hidden +.scall sys_madvise,0x04b04b04b204b01c,233,75,75,globl,hidden diff --git a/libc/sysv/calls/sys_mbind.S b/libc/sysv/calls/sys_mbind.S index 1229b8a33..981eb944c 100644 --- a/libc/sysv/calls/sys_mbind.S +++ b/libc/sysv/calls/sys_mbind.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mbind,0xfffffffffffff0ed,235,4095,globl +.scall sys_mbind,0xfffffffffffff0ed,235,4095,4095,globl diff --git a/libc/sysv/calls/sys_membarrier.S b/libc/sysv/calls/sys_membarrier.S index 4abba677a..b884b701a 100644 --- a/libc/sysv/calls/sys_membarrier.S +++ b/libc/sysv/calls/sys_membarrier.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_membarrier,0xfffffffffffff144,283,4095,globl +.scall sys_membarrier,0xfffffffffffff144,283,4095,4095,globl diff --git a/libc/sysv/calls/sys_memfd_create.S b/libc/sysv/calls/sys_memfd_create.S index dc05605ab..15def6a93 100644 --- a/libc/sysv/calls/sys_memfd_create.S +++ b/libc/sysv/calls/sys_memfd_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_memfd_create,0xfffffffffffff13f,279,4095,globl,hidden +.scall sys_memfd_create,0xfffffffffffff13f,279,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_memfd_secret.S b/libc/sysv/calls/sys_memfd_secret.S index 82d15f10b..20f0571f1 100644 --- a/libc/sysv/calls/sys_memfd_secret.S +++ b/libc/sysv/calls/sys_memfd_secret.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_memfd_secret,0xfffffffffffff1bf,4095,4095,globl +.scall sys_memfd_secret,0xfffffffffffff1bf,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_migrate_pages.S b/libc/sysv/calls/sys_migrate_pages.S index 416f1b2d6..763867c4f 100644 --- a/libc/sysv/calls/sys_migrate_pages.S +++ b/libc/sysv/calls/sys_migrate_pages.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_migrate_pages,0xfffffffffffff100,238,4095,globl +.scall sys_migrate_pages,0xfffffffffffff100,238,4095,4095,globl diff --git a/libc/sysv/calls/sys_mincore.S b/libc/sysv/calls/sys_mincore.S index fb14df037..d2f42ce74 100644 --- a/libc/sysv/calls/sys_mincore.S +++ b/libc/sysv/calls/sys_mincore.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mincore,0x04e04e04e204e01b,232,78,globl,hidden +.scall sys_mincore,0x04e04e04e204e01b,232,78,78,globl,hidden diff --git a/libc/sysv/calls/sys_minherit.S b/libc/sysv/calls/sys_minherit.S index a2a79223b..0118d5726 100644 --- a/libc/sysv/calls/sys_minherit.S +++ b/libc/sysv/calls/sys_minherit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_minherit,0x1110fa0fa20fafff,4095,250,globl +.scall sys_minherit,0x1110fa0fa20fafff,4095,250,250,globl diff --git a/libc/sysv/calls/sys_mkdirat.S b/libc/sysv/calls/sys_mkdirat.S index a9097d275..201b58ab5 100644 --- a/libc/sysv/calls/sys_mkdirat.S +++ b/libc/sysv/calls/sys_mkdirat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mkdirat,0x1cd13e1f021db102,34,475,globl,hidden +.scall sys_mkdirat,0x1cd13e1f021db102,34,475,496,globl,hidden diff --git a/libc/sysv/calls/sys_mkfifo.S b/libc/sysv/calls/sys_mkfifo.S index 3223e1cb9..02eddfcef 100644 --- a/libc/sysv/calls/sys_mkfifo.S +++ b/libc/sysv/calls/sys_mkfifo.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mkfifo,0x0840840842084fff,4095,132,globl,hidden +.scall sys_mkfifo,0x0840840842084fff,4095,132,132,globl,hidden diff --git a/libc/sysv/calls/sys_mkfifoat.S b/libc/sysv/calls/sys_mkfifoat.S index 9cfd6cf8a..1abc9cc77 100644 --- a/libc/sysv/calls/sys_mkfifoat.S +++ b/libc/sysv/calls/sys_mkfifoat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mkfifoat,0x1cb13f1f1fffffff,4095,4095,globl +.scall sys_mkfifoat,0x1cb13f1f1fffffff,4095,4095,497,globl diff --git a/libc/sysv/calls/sys_mknod.S b/libc/sysv/calls/sys_mknod.S index 7769ec759..121518fa0 100644 --- a/libc/sysv/calls/sys_mknod.S +++ b/libc/sysv/calls/sys_mknod.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mknod,0x1c200e00e200e085,4095,14,globl,hidden +.scall sys_mknod,0x1c200e00e200e085,4095,14,14,globl,hidden diff --git a/libc/sysv/calls/sys_mknodat.S b/libc/sysv/calls/sys_mknodat.S index 2861d0d7b..529285fe1 100644 --- a/libc/sysv/calls/sys_mknodat.S +++ b/libc/sysv/calls/sys_mknodat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mknodat,0x1cc14022fffff103,33,4095,globl +.scall sys_mknodat,0x1cc14022fffff103,33,4095,559,globl diff --git a/libc/sysv/calls/sys_mlock.S b/libc/sysv/calls/sys_mlock.S index 585fd758f..e3c384659 100644 --- a/libc/sysv/calls/sys_mlock.S +++ b/libc/sysv/calls/sys_mlock.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mlock,0x0cb0cb0cb20cb095,228,203,globl +.scall sys_mlock,0x0cb0cb0cb20cb095,228,203,203,globl diff --git a/libc/sysv/calls/sys_mlock2.S b/libc/sysv/calls/sys_mlock2.S index 53abd55c1..a7db51d69 100644 --- a/libc/sysv/calls/sys_mlock2.S +++ b/libc/sysv/calls/sys_mlock2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mlock2,0xfffffffffffff145,284,4095,globl +.scall sys_mlock2,0xfffffffffffff145,284,4095,4095,globl diff --git a/libc/sysv/calls/sys_mlockall.S b/libc/sysv/calls/sys_mlockall.S index 0cadfc2b3..4c1cf84d4 100644 --- a/libc/sysv/calls/sys_mlockall.S +++ b/libc/sysv/calls/sys_mlockall.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mlockall,0x0f210f1442144097,230,324,globl +.scall sys_mlockall,0x0f210f1442144097,230,324,324,globl diff --git a/libc/sysv/calls/sys_modify_ldt.S b/libc/sysv/calls/sys_modify_ldt.S index 2a7a098a2..b69d32724 100644 --- a/libc/sysv/calls/sys_modify_ldt.S +++ b/libc/sysv/calls/sys_modify_ldt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_modify_ldt,0xfffffffffffff09a,4095,4095,globl +.scall sys_modify_ldt,0xfffffffffffff09a,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_mount.S b/libc/sysv/calls/sys_mount.S index 9b84e8f1d..ca0b70aa7 100644 --- a/libc/sysv/calls/sys_mount.S +++ b/libc/sysv/calls/sys_mount.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mount,0x19a01501520a70a5,40,167,globl,hidden +.scall sys_mount,0x19a01501520a70a5,40,167,21,globl,hidden diff --git a/libc/sysv/calls/sys_mount_setattr.S b/libc/sysv/calls/sys_mount_setattr.S index 4c54af120..d2324e4d4 100644 --- a/libc/sysv/calls/sys_mount_setattr.S +++ b/libc/sysv/calls/sys_mount_setattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mount_setattr,0xfffffffffffff1ba,442,4095,globl +.scall sys_mount_setattr,0xfffffffffffff1ba,442,4095,4095,globl diff --git a/libc/sysv/calls/sys_move_mount.S b/libc/sysv/calls/sys_move_mount.S index 0357d0731..bae785967 100644 --- a/libc/sysv/calls/sys_move_mount.S +++ b/libc/sysv/calls/sys_move_mount.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_move_mount,0xfffffffffffff1ad,429,4095,globl +.scall sys_move_mount,0xfffffffffffff1ad,429,4095,4095,globl diff --git a/libc/sysv/calls/sys_move_pages.S b/libc/sysv/calls/sys_move_pages.S index 84c4d72b8..baf7cd373 100644 --- a/libc/sysv/calls/sys_move_pages.S +++ b/libc/sysv/calls/sys_move_pages.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_move_pages,0xfffffffffffff117,239,4095,globl +.scall sys_move_pages,0xfffffffffffff117,239,4095,4095,globl diff --git a/libc/sysv/calls/sys_mq_getsetattr.S b/libc/sysv/calls/sys_mq_getsetattr.S index 704d2af23..562154464 100644 --- a/libc/sysv/calls/sys_mq_getsetattr.S +++ b/libc/sysv/calls/sys_mq_getsetattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_getsetattr,0xfffffffffffff0f5,185,4095,globl +.scall sys_mq_getsetattr,0xfffffffffffff0f5,185,4095,4095,globl diff --git a/libc/sysv/calls/sys_mq_notify.S b/libc/sysv/calls/sys_mq_notify.S index 833cf7c31..2a1db8f6c 100644 --- a/libc/sysv/calls/sys_mq_notify.S +++ b/libc/sysv/calls/sys_mq_notify.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_notify,0x106ffffffffff0f4,184,4095,globl +.scall sys_mq_notify,0x106ffffffffff0f4,184,4095,4095,globl diff --git a/libc/sysv/calls/sys_mq_open.S b/libc/sysv/calls/sys_mq_open.S index 126a1070e..95806337c 100644 --- a/libc/sysv/calls/sys_mq_open.S +++ b/libc/sysv/calls/sys_mq_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_open,0x101ffffffffff0f0,180,4095,globl +.scall sys_mq_open,0x101ffffffffff0f0,180,4095,4095,globl diff --git a/libc/sysv/calls/sys_mq_timedreceive.S b/libc/sysv/calls/sys_mq_timedreceive.S index e99711f8d..2d541a552 100644 --- a/libc/sysv/calls/sys_mq_timedreceive.S +++ b/libc/sysv/calls/sys_mq_timedreceive.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_timedreceive,0x1b1ffffffffff0f3,183,4095,globl +.scall sys_mq_timedreceive,0x1b1ffffffffff0f3,183,4095,4095,globl diff --git a/libc/sysv/calls/sys_mq_timedsend.S b/libc/sysv/calls/sys_mq_timedsend.S index f3cc52075..a941e777a 100644 --- a/libc/sysv/calls/sys_mq_timedsend.S +++ b/libc/sysv/calls/sys_mq_timedsend.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_timedsend,0x1b0ffffffffff0f2,182,4095,globl +.scall sys_mq_timedsend,0x1b0ffffffffff0f2,182,4095,4095,globl diff --git a/libc/sysv/calls/sys_mq_unlink.S b/libc/sysv/calls/sys_mq_unlink.S index 349e504a9..9fa11b18b 100644 --- a/libc/sysv/calls/sys_mq_unlink.S +++ b/libc/sysv/calls/sys_mq_unlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_mq_unlink,0x103ffffffffff0f1,181,4095,globl +.scall sys_mq_unlink,0x103ffffffffff0f1,181,4095,4095,globl diff --git a/libc/sysv/calls/sys_msgctl.S b/libc/sysv/calls/sys_msgctl.S index aa8c185a6..3468a8e8d 100644 --- a/libc/sysv/calls/sys_msgctl.S +++ b/libc/sysv/calls/sys_msgctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgctl,0x1bc1291ff2102047,187,258,globl +.scall sys_msgctl,0x1bc1291ff2102047,187,258,511,globl diff --git a/libc/sysv/calls/sys_msgget.S b/libc/sysv/calls/sys_msgget.S index e755bd17e..8c1dacc03 100644 --- a/libc/sysv/calls/sys_msgget.S +++ b/libc/sysv/calls/sys_msgget.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgget,0x0e10e10e12103044,186,259,globl +.scall sys_msgget,0x0e10e10e12103044,186,259,225,globl diff --git a/libc/sysv/calls/sys_msgrcv.S b/libc/sysv/calls/sys_msgrcv.S index 6a8446bcd..2be21ac46 100644 --- a/libc/sysv/calls/sys_msgrcv.S +++ b/libc/sysv/calls/sys_msgrcv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgrcv,0x8e38e38e32905846,2236,2309,globl +.scall sys_msgrcv,0x8e38e38e32905846,2236,2309,2275,globl diff --git a/libc/sysv/calls/sys_msgsnd.S b/libc/sysv/calls/sys_msgsnd.S index 4f64cb650..3e305c90a 100644 --- a/libc/sysv/calls/sys_msgsnd.S +++ b/libc/sysv/calls/sys_msgsnd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgsnd,0x8e28e28e22904845,2237,2308,globl +.scall sys_msgsnd,0x8e28e28e22904845,2237,2308,2274,globl diff --git a/libc/sysv/calls/sys_msgsys.S b/libc/sysv/calls/sys_msgsys.S index 81d9ff424..2f27ee5b3 100644 --- a/libc/sysv/calls/sys_msgsys.S +++ b/libc/sysv/calls/sys_msgsys.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msgsys,0xffffff0aa20fcfff,4095,252,globl +.scall sys_msgsys,0xffffff0aa20fcfff,4095,252,170,globl diff --git a/libc/sysv/calls/sys_msync.S b/libc/sysv/calls/sys_msync.S index 23b75094f..e529846d6 100644 --- a/libc/sysv/calls/sys_msync.S +++ b/libc/sysv/calls/sys_msync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msync,0x915900841284181a,2275,2113,globl,hidden +.scall sys_msync,0x915900841284181a,2275,2113,2113,globl,hidden diff --git a/libc/sysv/calls/sys_msyscall.S b/libc/sysv/calls/sys_msyscall.S index 28f88858b..99bb80dc4 100644 --- a/libc/sysv/calls/sys_msyscall.S +++ b/libc/sysv/calls/sys_msyscall.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_msyscall,0xfff025ffffffffff,4095,4095,globl +.scall sys_msyscall,0xfff025ffffffffff,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_munlock.S b/libc/sysv/calls/sys_munlock.S index e6e48cf22..db02b5737 100644 --- a/libc/sysv/calls/sys_munlock.S +++ b/libc/sysv/calls/sys_munlock.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_munlock,0x0cc0cc0cc20cc096,229,204,globl +.scall sys_munlock,0x0cc0cc0cc20cc096,229,204,204,globl diff --git a/libc/sysv/calls/sys_munlockall.S b/libc/sysv/calls/sys_munlockall.S index f57c6edb4..304e2342e 100644 --- a/libc/sysv/calls/sys_munlockall.S +++ b/libc/sysv/calls/sys_munlockall.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_munlockall,0x0f31101452145098,231,325,globl +.scall sys_munlockall,0x0f31101452145098,231,325,325,globl diff --git a/libc/sysv/calls/sys_name_to_handle_at.S b/libc/sysv/calls/sys_name_to_handle_at.S index bf4b9621b..fdfc7086a 100644 --- a/libc/sysv/calls/sys_name_to_handle_at.S +++ b/libc/sysv/calls/sys_name_to_handle_at.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_name_to_handle_at,0xfffffffffffff12f,264,4095,globl +.scall sys_name_to_handle_at,0xfffffffffffff12f,264,4095,4095,globl diff --git a/libc/sysv/calls/sys_nanosleep.S b/libc/sysv/calls/sys_nanosleep.S index f898fc252..7132f47f2 100644 --- a/libc/sysv/calls/sys_nanosleep.S +++ b/libc/sysv/calls/sys_nanosleep.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_nanosleep,0x9ae85b8f0ffff823,2149,4095,globl,hidden +.scall sys_nanosleep,0x9ae85b8f0ffff823,2149,4095,2288,globl,hidden diff --git a/libc/sysv/calls/sys_nfssvc.S b/libc/sysv/calls/sys_nfssvc.S index 449e05082..99d0a4308 100644 --- a/libc/sysv/calls/sys_nfssvc.S +++ b/libc/sysv/calls/sys_nfssvc.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_nfssvc,0x09b09b09b209bfff,4095,155,globl +.scall sys_nfssvc,0x09b09b09b209bfff,4095,155,155,globl diff --git a/libc/sysv/calls/sys_ntp_adjtime.S b/libc/sysv/calls/sys_ntp_adjtime.S index 5bf0816ae..a98e98c68 100644 --- a/libc/sysv/calls/sys_ntp_adjtime.S +++ b/libc/sysv/calls/sys_ntp_adjtime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ntp_adjtime,0x0b0fff0b0220ffff,4095,527,globl +.scall sys_ntp_adjtime,0x0b0fff0b0220ffff,4095,527,176,globl diff --git a/libc/sysv/calls/sys_ntp_gettime.S b/libc/sysv/calls/sys_ntp_gettime.S index 889ed8237..546ee19b1 100644 --- a/libc/sysv/calls/sys_ntp_gettime.S +++ b/libc/sysv/calls/sys_ntp_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ntp_gettime,0x1c0fff0f82210fff,4095,528,globl +.scall sys_ntp_gettime,0x1c0fff0f82210fff,4095,528,248,globl diff --git a/libc/sysv/calls/sys_open_by_handle_at.S b/libc/sysv/calls/sys_open_by_handle_at.S index da2a04e8e..6d280aa13 100644 --- a/libc/sysv/calls/sys_open_by_handle_at.S +++ b/libc/sysv/calls/sys_open_by_handle_at.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_open_by_handle_at,0xfffffffffffff130,265,4095,globl +.scall sys_open_by_handle_at,0xfffffffffffff130,265,4095,4095,globl diff --git a/libc/sysv/calls/sys_open_tree.S b/libc/sysv/calls/sys_open_tree.S index f1c42def4..3feaf1f65 100644 --- a/libc/sysv/calls/sys_open_tree.S +++ b/libc/sysv/calls/sys_open_tree.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_open_tree,0xfffffffffffff1ac,428,4095,globl +.scall sys_open_tree,0xfffffffffffff1ac,428,4095,4095,globl diff --git a/libc/sysv/calls/sys_openat2.S b/libc/sysv/calls/sys_openat2.S index a3f5683ae..ad7fa1951 100644 --- a/libc/sysv/calls/sys_openat2.S +++ b/libc/sysv/calls/sys_openat2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_openat2,0xfffffffffffff1b5,437,4095,globl,hidden +.scall sys_openat2,0xfffffffffffff1b5,437,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_pathconf.S b/libc/sysv/calls/sys_pathconf.S index f9c50f944..5295e0444 100644 --- a/libc/sysv/calls/sys_pathconf.S +++ b/libc/sysv/calls/sys_pathconf.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pathconf,0x0bf0bf0bf20bffff,4095,191,globl +.scall sys_pathconf,0x0bf0bf0bf20bffff,4095,191,191,globl diff --git a/libc/sysv/calls/sys_pause.S b/libc/sysv/calls/sys_pause.S index b55115c36..dd871d6c3 100644 --- a/libc/sysv/calls/sys_pause.S +++ b/libc/sysv/calls/sys_pause.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pause,0xfffffffffffff022,4095,4095,globl,hidden +.scall sys_pause,0xfffffffffffff022,4095,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_perf_event_open.S b/libc/sysv/calls/sys_perf_event_open.S index 81299e1fd..3ed0cc3dc 100644 --- a/libc/sysv/calls/sys_perf_event_open.S +++ b/libc/sysv/calls/sys_perf_event_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_perf_event_open,0xfffffffffffff12a,241,4095,globl +.scall sys_perf_event_open,0xfffffffffffff12a,241,4095,4095,globl diff --git a/libc/sysv/calls/sys_personality.S b/libc/sysv/calls/sys_personality.S index 4daaf297f..c7376a0fe 100644 --- a/libc/sysv/calls/sys_personality.S +++ b/libc/sysv/calls/sys_personality.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_personality,0xfffffffffffff087,92,4095,globl +.scall sys_personality,0xfffffffffffff087,92,4095,4095,globl diff --git a/libc/sysv/calls/sys_pidfd_getfd.S b/libc/sysv/calls/sys_pidfd_getfd.S index eeec18921..5f23c7f5d 100644 --- a/libc/sysv/calls/sys_pidfd_getfd.S +++ b/libc/sysv/calls/sys_pidfd_getfd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pidfd_getfd,0xfffffffffffff1b6,438,4095,globl +.scall sys_pidfd_getfd,0xfffffffffffff1b6,438,4095,4095,globl diff --git a/libc/sysv/calls/sys_pidfd_open.S b/libc/sysv/calls/sys_pidfd_open.S index aee59dc4e..316439a22 100644 --- a/libc/sysv/calls/sys_pidfd_open.S +++ b/libc/sysv/calls/sys_pidfd_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pidfd_open,0xfffffffffffff1b2,434,4095,globl +.scall sys_pidfd_open,0xfffffffffffff1b2,434,4095,4095,globl diff --git a/libc/sysv/calls/sys_pidfd_send_signal.S b/libc/sysv/calls/sys_pidfd_send_signal.S index 2859d9f44..098d641c0 100644 --- a/libc/sysv/calls/sys_pidfd_send_signal.S +++ b/libc/sysv/calls/sys_pidfd_send_signal.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pidfd_send_signal,0xfffffffffffff1a8,424,4095,globl +.scall sys_pidfd_send_signal,0xfffffffffffff1a8,424,4095,4095,globl diff --git a/libc/sysv/calls/sys_pivot_root.S b/libc/sysv/calls/sys_pivot_root.S index 5bd38ad42..72e13537f 100644 --- a/libc/sysv/calls/sys_pivot_root.S +++ b/libc/sysv/calls/sys_pivot_root.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pivot_root,0xfffffffffffff09b,41,4095,globl,hidden +.scall sys_pivot_root,0xfffffffffffff09b,41,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_pkey_alloc.S b/libc/sysv/calls/sys_pkey_alloc.S index 95f22c192..5dab8c38c 100644 --- a/libc/sysv/calls/sys_pkey_alloc.S +++ b/libc/sysv/calls/sys_pkey_alloc.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pkey_alloc,0xfffffffffffff14a,289,4095,globl +.scall sys_pkey_alloc,0xfffffffffffff14a,289,4095,4095,globl diff --git a/libc/sysv/calls/sys_pkey_free.S b/libc/sysv/calls/sys_pkey_free.S index 78c1ad586..85e2a14cf 100644 --- a/libc/sysv/calls/sys_pkey_free.S +++ b/libc/sysv/calls/sys_pkey_free.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pkey_free,0xfffffffffffff14b,290,4095,globl +.scall sys_pkey_free,0xfffffffffffff14b,290,4095,4095,globl diff --git a/libc/sysv/calls/sys_pkey_mprotect.S b/libc/sysv/calls/sys_pkey_mprotect.S index 17354fb69..9da9ee8e0 100644 --- a/libc/sysv/calls/sys_pkey_mprotect.S +++ b/libc/sysv/calls/sys_pkey_mprotect.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pkey_mprotect,0xfffffffffffff149,288,4095,globl +.scall sys_pkey_mprotect,0xfffffffffffff149,288,4095,4095,globl diff --git a/libc/sysv/calls/sys_pledge.S b/libc/sysv/calls/sys_pledge.S index 7eec22693..aa61c1b41 100644 --- a/libc/sysv/calls/sys_pledge.S +++ b/libc/sysv/calls/sys_pledge.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pledge,0xfff06cffffffffff,4095,4095,globl,hidden +.scall sys_pledge,0xfff06cffffffffff,4095,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_posix_fallocate.S b/libc/sysv/calls/sys_posix_fallocate.S index 55da48bef..24dbcc888 100644 --- a/libc/sysv/calls/sys_posix_fallocate.S +++ b/libc/sysv/calls/sys_posix_fallocate.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_posix_fallocate,0x9dffffa12fffffff,4095,4095,globl,hidden +.scall sys_posix_fallocate,0x9dffffa12fffffff,4095,4095,2578,globl,hidden diff --git a/libc/sysv/calls/sys_posix_openpt.S b/libc/sysv/calls/sys_posix_openpt.S index 2e2c7276f..ac2ada2e6 100644 --- a/libc/sysv/calls/sys_posix_openpt.S +++ b/libc/sysv/calls/sys_posix_openpt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_posix_openpt,0xffffff1f8fffffff,4095,4095,globl,hidden +.scall sys_posix_openpt,0xffffff1f8fffffff,4095,4095,504,globl,hidden diff --git a/libc/sysv/calls/sys_posix_spawn.S b/libc/sysv/calls/sys_posix_spawn.S index a1124c2e7..d2dbbb7e0 100644 --- a/libc/sysv/calls/sys_posix_spawn.S +++ b/libc/sysv/calls/sys_posix_spawn.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_posix_spawn,0x1daffffff20f4fff,4095,244,globl,hidden +.scall sys_posix_spawn,0x1daffffff20f4fff,4095,244,4095,globl,hidden diff --git a/libc/sysv/calls/sys_ppoll.S b/libc/sysv/calls/sys_ppoll.S index 65cb3fb20..c09e8f391 100644 --- a/libc/sysv/calls/sys_ppoll.S +++ b/libc/sysv/calls/sys_ppoll.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ppoll,0xfff86da21ffff90f,2121,4095,globl,hidden +.scall sys_ppoll,0xfff86da21ffff90f,2121,4095,2593,globl,hidden diff --git a/libc/sysv/calls/sys_pread.S b/libc/sysv/calls/sys_pread.S index 9106a4ee0..f1b2ac09d 100644 --- a/libc/sysv/calls/sys_pread.S +++ b/libc/sysv/calls/sys_pread.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pread,0x8ad8a99db2899811,2115,2201,globl,hidden +.scall sys_pread,0x8ad8a99db2899811,2115,2201,2523,globl,hidden diff --git a/libc/sysv/calls/sys_preadv.S b/libc/sysv/calls/sys_preadv.S index 6c0712baf..396044851 100644 --- a/libc/sysv/calls/sys_preadv.S +++ b/libc/sysv/calls/sys_preadv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_preadv,0x9218ab9212a1c927,2117,2588,globl,hidden +.scall sys_preadv,0x9218ab9212a1c927,2117,2588,2337,globl,hidden diff --git a/libc/sysv/calls/sys_preadv2.S b/libc/sysv/calls/sys_preadv2.S index 8967aa41f..3a2852b61 100644 --- a/libc/sysv/calls/sys_preadv2.S +++ b/libc/sysv/calls/sys_preadv2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_preadv2,0xfffffffffffff147,286,4095,globl +.scall sys_preadv2,0xfffffffffffff147,286,4095,4095,globl diff --git a/libc/sysv/calls/sys_prlimit.S b/libc/sysv/calls/sys_prlimit.S index 69c1b9435..7c05199f9 100644 --- a/libc/sysv/calls/sys_prlimit.S +++ b/libc/sysv/calls/sys_prlimit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_prlimit,0xfffffffffffff12e,261,4095,globl +.scall sys_prlimit,0xfffffffffffff12e,261,4095,4095,globl diff --git a/libc/sysv/calls/sys_process_madvise.S b/libc/sysv/calls/sys_process_madvise.S index 2a09adb19..185978c2c 100644 --- a/libc/sysv/calls/sys_process_madvise.S +++ b/libc/sysv/calls/sys_process_madvise.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_process_madvise,0xfffffffffffff1b8,440,4095,globl +.scall sys_process_madvise,0xfffffffffffff1b8,440,4095,4095,globl diff --git a/libc/sysv/calls/sys_process_mrelease.S b/libc/sysv/calls/sys_process_mrelease.S index e284b255a..d6dee8329 100644 --- a/libc/sysv/calls/sys_process_mrelease.S +++ b/libc/sysv/calls/sys_process_mrelease.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_process_mrelease,0xfffffffffffff1c0,4095,4095,globl +.scall sys_process_mrelease,0xfffffffffffff1c0,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_process_vm_readv.S b/libc/sysv/calls/sys_process_vm_readv.S index 4987f98e1..fd998563e 100644 --- a/libc/sysv/calls/sys_process_vm_readv.S +++ b/libc/sysv/calls/sys_process_vm_readv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_process_vm_readv,0xfffffffffffff136,270,4095,globl +.scall sys_process_vm_readv,0xfffffffffffff136,270,4095,4095,globl diff --git a/libc/sysv/calls/sys_process_vm_writev.S b/libc/sysv/calls/sys_process_vm_writev.S index 11f7c2aa4..03436428d 100644 --- a/libc/sysv/calls/sys_process_vm_writev.S +++ b/libc/sysv/calls/sys_process_vm_writev.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_process_vm_writev,0xfffffffffffff137,271,4095,globl +.scall sys_process_vm_writev,0xfffffffffffff137,271,4095,4095,globl diff --git a/libc/sysv/calls/sys_profil.S b/libc/sysv/calls/sys_profil.S index f4cb80bf9..302c22b58 100644 --- a/libc/sysv/calls/sys_profil.S +++ b/libc/sysv/calls/sys_profil.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_profil,0x02c02c02cfffffff,4095,4095,globl +.scall sys_profil,0x02c02c02cfffffff,4095,4095,44,globl diff --git a/libc/sysv/calls/sys_pselect.S b/libc/sysv/calls/sys_pselect.S index 1a44a9c1b..a85a6ae6b 100644 --- a/libc/sysv/calls/sys_pselect.S +++ b/libc/sysv/calls/sys_pselect.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pselect,0x9b486ea0a298a90e,2120,2442,globl,hidden +.scall sys_pselect,0x9b486ea0a298a90e,2120,2442,2570,globl,hidden diff --git a/libc/sysv/calls/sys_pwrite.S b/libc/sysv/calls/sys_pwrite.S index 335d22462..a64773c53 100644 --- a/libc/sysv/calls/sys_pwrite.S +++ b/libc/sysv/calls/sys_pwrite.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pwrite,0x8ae8aa9dc289a812,2116,2202,globl,hidden +.scall sys_pwrite,0x8ae8aa9dc289a812,2116,2202,2524,globl,hidden diff --git a/libc/sysv/calls/sys_pwritev.S b/libc/sysv/calls/sys_pwritev.S index dde71cd61..86230d104 100644 --- a/libc/sysv/calls/sys_pwritev.S +++ b/libc/sysv/calls/sys_pwritev.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pwritev,0x9228ac9222a1d928,2118,2589,globl,hidden +.scall sys_pwritev,0x9228ac9222a1d928,2118,2589,2338,globl,hidden diff --git a/libc/sysv/calls/sys_pwritev2.S b/libc/sysv/calls/sys_pwritev2.S index 7157c74ad..6ef91a2c4 100644 --- a/libc/sysv/calls/sys_pwritev2.S +++ b/libc/sysv/calls/sys_pwritev2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_pwritev2,0xfffffffffffff148,287,4095,globl +.scall sys_pwritev2,0xfffffffffffff148,287,4095,4095,globl diff --git a/libc/sysv/calls/sys_quotactl.S b/libc/sysv/calls/sys_quotactl.S index 2e4c7b3fa..8e66e26de 100644 --- a/libc/sysv/calls/sys_quotactl.S +++ b/libc/sysv/calls/sys_quotactl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_quotactl,0xfff09409420a50b3,60,165,globl +.scall sys_quotactl,0xfff09409420a50b3,60,165,148,globl diff --git a/libc/sysv/calls/sys_quotactl_fd.S b/libc/sysv/calls/sys_quotactl_fd.S index e3e3a6b7b..418de9500 100644 --- a/libc/sysv/calls/sys_quotactl_fd.S +++ b/libc/sysv/calls/sys_quotactl_fd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_quotactl_fd,0xfffffffffffff1bb,4095,4095,globl +.scall sys_quotactl_fd,0xfffffffffffff1bb,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_read.S b/libc/sysv/calls/sys_read.S index cd58c55eb..dec49f6c1 100644 --- a/libc/sysv/calls/sys_read.S +++ b/libc/sysv/calls/sys_read.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_read,0x8038038032803800,2111,2051,globl,hidden +.scall sys_read,0x8038038032803800,2111,2051,2051,globl,hidden diff --git a/libc/sysv/calls/sys_readahead.S b/libc/sysv/calls/sys_readahead.S index 7fa5888fb..5c53889ca 100644 --- a/libc/sysv/calls/sys_readahead.S +++ b/libc/sysv/calls/sys_readahead.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_readahead,0xfffffffffffff0bb,213,4095,globl +.scall sys_readahead,0xfffffffffffff0bb,213,4095,4095,globl diff --git a/libc/sysv/calls/sys_readlinkat.S b/libc/sysv/calls/sys_readlinkat.S index 2c5118429..6bac3286e 100644 --- a/libc/sysv/calls/sys_readlinkat.S +++ b/libc/sysv/calls/sys_readlinkat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_readlinkat,0x1d51421f421d910b,78,473,globl,hidden +.scall sys_readlinkat,0x1d51421f421d910b,78,473,500,globl,hidden diff --git a/libc/sysv/calls/sys_readv.S b/libc/sysv/calls/sys_readv.S index ec3ca292f..44f4b00ad 100644 --- a/libc/sysv/calls/sys_readv.S +++ b/libc/sysv/calls/sys_readv.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_readv,0x8788788782878813,2113,2168,globl,hidden +.scall sys_readv,0x8788788782878813,2113,2168,2168,globl,hidden diff --git a/libc/sysv/calls/sys_reboot.S b/libc/sysv/calls/sys_reboot.S index 5da5b778b..219025870 100644 --- a/libc/sysv/calls/sys_reboot.S +++ b/libc/sysv/calls/sys_reboot.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_reboot,0x0d003703720370a9,142,55,globl,hidden +.scall sys_reboot,0x0d003703720370a9,142,55,55,globl,hidden diff --git a/libc/sysv/calls/sys_recvfrom.S b/libc/sysv/calls/sys_recvfrom.S index 86dace8db..70f5e6c02 100644 --- a/libc/sysv/calls/sys_recvfrom.S +++ b/libc/sysv/calls/sys_recvfrom.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_recvfrom,0x81d81d81d281d82d,2255,2077,globl,hidden +.scall sys_recvfrom,0x81d81d81d281d82d,2255,2077,2077,globl,hidden diff --git a/libc/sysv/calls/sys_recvmmsg.S b/libc/sysv/calls/sys_recvmmsg.S index 85f1a968e..8ae5848f8 100644 --- a/libc/sysv/calls/sys_recvmmsg.S +++ b/libc/sysv/calls/sys_recvmmsg.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_recvmmsg,0x1dbffffffffff12b,243,4095,globl +.scall sys_recvmmsg,0x1dbffffffffff12b,243,4095,4095,globl diff --git a/libc/sysv/calls/sys_recvmsg.S b/libc/sysv/calls/sys_recvmsg.S index f375c1c7c..07a70051e 100644 --- a/libc/sysv/calls/sys_recvmsg.S +++ b/libc/sysv/calls/sys_recvmsg.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_recvmsg,0x81b81b81b281b82f,2260,2075,globl,hidden +.scall sys_recvmsg,0x81b81b81b281b82f,2260,2075,2075,globl,hidden diff --git a/libc/sysv/calls/sys_removexattr.S b/libc/sysv/calls/sys_removexattr.S index 7300cf2ba..b1b2cfd20 100644 --- a/libc/sysv/calls/sys_removexattr.S +++ b/libc/sysv/calls/sys_removexattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_removexattr,0x180ffffff20ee0c5,14,238,globl +.scall sys_removexattr,0x180ffffff20ee0c5,14,238,4095,globl diff --git a/libc/sysv/calls/sys_renameat.S b/libc/sysv/calls/sys_renameat.S index e17098c0f..36aa7ab8a 100644 --- a/libc/sysv/calls/sys_renameat.S +++ b/libc/sysv/calls/sys_renameat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_renameat,0x1ca1431f521d1108,38,465,globl,hidden +.scall sys_renameat,0x1ca1431f521d1108,38,465,501,globl,hidden diff --git a/libc/sysv/calls/sys_renameat2.S b/libc/sysv/calls/sys_renameat2.S index 0d1353123..238682616 100644 --- a/libc/sysv/calls/sys_renameat2.S +++ b/libc/sysv/calls/sys_renameat2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_renameat2,0xfffffffffffff13c,276,4095,globl +.scall sys_renameat2,0xfffffffffffff13c,276,4095,4095,globl diff --git a/libc/sysv/calls/sys_request_key.S b/libc/sysv/calls/sys_request_key.S index f69e9dc92..01b7711a7 100644 --- a/libc/sysv/calls/sys_request_key.S +++ b/libc/sysv/calls/sys_request_key.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_request_key,0xfffffffffffff0f9,218,4095,globl +.scall sys_request_key,0xfffffffffffff0f9,218,4095,4095,globl diff --git a/libc/sysv/calls/sys_restart_syscall.S b/libc/sysv/calls/sys_restart_syscall.S index 44b511cca..74fc95d68 100644 --- a/libc/sysv/calls/sys_restart_syscall.S +++ b/libc/sysv/calls/sys_restart_syscall.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_restart_syscall,0xfffffffffffff0db,128,4095,globl +.scall sys_restart_syscall,0xfffffffffffff0db,128,4095,4095,globl diff --git a/libc/sysv/calls/sys_revoke.S b/libc/sysv/calls/sys_revoke.S index 0e53177c6..7e153dba7 100644 --- a/libc/sysv/calls/sys_revoke.S +++ b/libc/sysv/calls/sys_revoke.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_revoke,0x0380380382038fff,4095,56,globl +.scall sys_revoke,0x0380380382038fff,4095,56,56,globl diff --git a/libc/sysv/calls/sys_rseq.S b/libc/sysv/calls/sys_rseq.S index ff9e8d16f..5653d99f1 100644 --- a/libc/sysv/calls/sys_rseq.S +++ b/libc/sysv/calls/sys_rseq.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_rseq,0xfffffffffffff14e,293,4095,globl +.scall sys_rseq,0xfffffffffffff14e,293,4095,4095,globl diff --git a/libc/sysv/calls/sys_rtprio_thread.S b/libc/sysv/calls/sys_rtprio_thread.S index 9abb4dcaf..16c7d31cf 100644 --- a/libc/sysv/calls/sys_rtprio_thread.S +++ b/libc/sysv/calls/sys_rtprio_thread.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_rtprio_thread,0xffffff1d2fffffff,4095,4095,globl +.scall sys_rtprio_thread,0xffffff1d2fffffff,4095,4095,466,globl diff --git a/libc/sysv/calls/sys_sched_get_priority_max.S b/libc/sysv/calls/sys_sched_get_priority_max.S index c6e09fe26..0f4e81c61 100644 --- a/libc/sysv/calls/sys_sched_get_priority_max.S +++ b/libc/sysv/calls/sys_sched_get_priority_max.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_get_priority_max,0xffffff14cffff092,125,4095,globl,hidden +.scall sys_sched_get_priority_max,0xffffff14cffff092,125,4095,332,globl,hidden diff --git a/libc/sysv/calls/sys_sched_get_priority_min.S b/libc/sysv/calls/sys_sched_get_priority_min.S index f8dcf0fdf..5d598a745 100644 --- a/libc/sysv/calls/sys_sched_get_priority_min.S +++ b/libc/sysv/calls/sys_sched_get_priority_min.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_get_priority_min,0xffffff14dffff093,126,4095,globl,hidden +.scall sys_sched_get_priority_min,0xffffff14dffff093,126,4095,333,globl,hidden diff --git a/libc/sysv/calls/sys_sched_getaffinity.S b/libc/sysv/calls/sys_sched_getaffinity.S index 71fdd6583..fc8b35553 100644 --- a/libc/sysv/calls/sys_sched_getaffinity.S +++ b/libc/sysv/calls/sys_sched_getaffinity.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_getaffinity,0x15dfff1e7ffff0cc,123,4095,globl,hidden +.scall sys_sched_getaffinity,0x15dfff1e7ffff0cc,123,4095,487,globl,hidden diff --git a/libc/sysv/calls/sys_sched_getattr.S b/libc/sysv/calls/sys_sched_getattr.S index d6e350bb4..332b4a24e 100644 --- a/libc/sysv/calls/sys_sched_getattr.S +++ b/libc/sysv/calls/sys_sched_getattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_getattr,0xfffffffffffff13b,275,4095,globl +.scall sys_sched_getattr,0xfffffffffffff13b,275,4095,4095,globl diff --git a/libc/sysv/calls/sys_sched_getparam.S b/libc/sysv/calls/sys_sched_getparam.S index 71aff76c8..6e53ab7dc 100644 --- a/libc/sysv/calls/sys_sched_getparam.S +++ b/libc/sysv/calls/sys_sched_getparam.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_getparam,0x15bfff148ffff08f,121,4095,globl,hidden +.scall sys_sched_getparam,0x15bfff148ffff08f,121,4095,328,globl,hidden diff --git a/libc/sysv/calls/sys_sched_getscheduler.S b/libc/sysv/calls/sys_sched_getscheduler.S index 741f7a10a..d9bac592d 100644 --- a/libc/sysv/calls/sys_sched_getscheduler.S +++ b/libc/sysv/calls/sys_sched_getscheduler.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_getscheduler,0xffffff14affff091,120,4095,globl,hidden +.scall sys_sched_getscheduler,0xffffff14affff091,120,4095,330,globl,hidden diff --git a/libc/sysv/calls/sys_sched_rr_get_interval.S b/libc/sysv/calls/sys_sched_rr_get_interval.S index a517d1781..5eb03a56b 100644 --- a/libc/sysv/calls/sys_sched_rr_get_interval.S +++ b/libc/sysv/calls/sys_sched_rr_get_interval.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_rr_get_interval,0xffffff14effff094,127,4095,globl,hidden +.scall sys_sched_rr_get_interval,0xffffff14effff094,127,4095,334,globl,hidden diff --git a/libc/sysv/calls/sys_sched_setaffinity.S b/libc/sysv/calls/sys_sched_setaffinity.S index a5094cd47..741d570b1 100644 --- a/libc/sysv/calls/sys_sched_setaffinity.S +++ b/libc/sysv/calls/sys_sched_setaffinity.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_setaffinity,0x15cfff1e8ffff0cb,122,4095,globl,hidden +.scall sys_sched_setaffinity,0x15cfff1e8ffff0cb,122,4095,488,globl,hidden diff --git a/libc/sysv/calls/sys_sched_setattr.S b/libc/sysv/calls/sys_sched_setattr.S index 40d4aa163..ccf70e31a 100644 --- a/libc/sysv/calls/sys_sched_setattr.S +++ b/libc/sysv/calls/sys_sched_setattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_setattr,0xfffffffffffff13a,274,4095,globl +.scall sys_sched_setattr,0xfffffffffffff13a,274,4095,4095,globl diff --git a/libc/sysv/calls/sys_sched_setparam.S b/libc/sysv/calls/sys_sched_setparam.S index d4de11b7f..de3c1f6ce 100644 --- a/libc/sysv/calls/sys_sched_setparam.S +++ b/libc/sysv/calls/sys_sched_setparam.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_setparam,0x15afff147ffff08e,118,4095,globl,hidden +.scall sys_sched_setparam,0x15afff147ffff08e,118,4095,327,globl,hidden diff --git a/libc/sysv/calls/sys_sched_setscheduler.S b/libc/sysv/calls/sys_sched_setscheduler.S index b7f788a32..aa83ec261 100644 --- a/libc/sysv/calls/sys_sched_setscheduler.S +++ b/libc/sysv/calls/sys_sched_setscheduler.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_setscheduler,0xffffff149ffff090,119,4095,globl,hidden +.scall sys_sched_setscheduler,0xffffff149ffff090,119,4095,329,globl,hidden diff --git a/libc/sysv/calls/sys_sched_yield.S b/libc/sysv/calls/sys_sched_yield.S index 78360bbf7..c0f3e78ad 100644 --- a/libc/sysv/calls/sys_sched_yield.S +++ b/libc/sysv/calls/sys_sched_yield.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sched_yield,0x15e12a14bf25d018,124,605,globl,hidden +.scall sys_sched_yield,0x15e12a14bf25d018,124,605,331,globl,hidden diff --git a/libc/sysv/calls/sys_select.S b/libc/sysv/calls/sys_select.S index 076535cfb..2c9764e4b 100644 --- a/libc/sysv/calls/sys_select.S +++ b/libc/sysv/calls/sys_select.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_select,0x9a184785d285d817,4095,2141,globl,hidden +.scall sys_select,0x9a184785d285d817,4095,2141,2141,globl,hidden diff --git a/libc/sysv/calls/sys_sem_close.S b/libc/sysv/calls/sys_sem_close.S index 6be3416b8..63f76e027 100644 --- a/libc/sysv/calls/sys_sem_close.S +++ b/libc/sysv/calls/sys_sem_close.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_close,0x0fafff190210dfff,4095,269,globl +.scall sys_sem_close,0x0fafff190210dfff,4095,269,400,globl diff --git a/libc/sysv/calls/sys_sem_destroy.S b/libc/sysv/calls/sys_sem_destroy.S index ac497e649..f2cddbb9e 100644 --- a/libc/sysv/calls/sys_sem_destroy.S +++ b/libc/sysv/calls/sys_sem_destroy.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_destroy,0x0fffff198fffffff,4095,4095,globl +.scall sys_sem_destroy,0x0fffff198fffffff,4095,4095,408,globl diff --git a/libc/sysv/calls/sys_sem_getvalue.S b/libc/sysv/calls/sys_sem_getvalue.S index 04cb3c591..c50e6174e 100644 --- a/libc/sysv/calls/sys_sem_getvalue.S +++ b/libc/sysv/calls/sys_sem_getvalue.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_getvalue,0x0fefff197fffffff,4095,4095,globl +.scall sys_sem_getvalue,0x0fefff197fffffff,4095,4095,407,globl diff --git a/libc/sysv/calls/sys_sem_init.S b/libc/sysv/calls/sys_sem_init.S index f977ae36f..596214d2d 100644 --- a/libc/sysv/calls/sys_sem_init.S +++ b/libc/sysv/calls/sys_sem_init.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_init,0x0f7fff194fffffff,4095,4095,globl +.scall sys_sem_init,0x0f7fff194fffffff,4095,4095,404,globl diff --git a/libc/sysv/calls/sys_sem_open.S b/libc/sysv/calls/sys_sem_open.S index d04810b10..98a505939 100644 --- a/libc/sysv/calls/sys_sem_open.S +++ b/libc/sysv/calls/sys_sem_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_open,0x0f8fff195210cfff,4095,268,globl +.scall sys_sem_open,0x0f8fff195210cfff,4095,268,405,globl diff --git a/libc/sysv/calls/sys_sem_post.S b/libc/sysv/calls/sys_sem_post.S index ae504abf0..afd3213bb 100644 --- a/libc/sysv/calls/sys_sem_post.S +++ b/libc/sysv/calls/sys_sem_post.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_post,0x0fbfff1912111fff,4095,273,globl +.scall sys_sem_post,0x0fbfff1912111fff,4095,273,401,globl diff --git a/libc/sysv/calls/sys_sem_timedwait.S b/libc/sysv/calls/sys_sem_timedwait.S index 1b384404e..34f3dc896 100644 --- a/libc/sysv/calls/sys_sem_timedwait.S +++ b/libc/sysv/calls/sys_sem_timedwait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_timedwait,0x900fff9b9fffffff,4095,4095,globl +.scall sys_sem_timedwait,0x900fff9b9fffffff,4095,4095,2489,globl diff --git a/libc/sysv/calls/sys_sem_trywait.S b/libc/sysv/calls/sys_sem_trywait.S index ef4604b75..2b7fc6afc 100644 --- a/libc/sysv/calls/sys_sem_trywait.S +++ b/libc/sysv/calls/sys_sem_trywait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_trywait,0x0fdfff1932110fff,4095,272,globl +.scall sys_sem_trywait,0x0fdfff1932110fff,4095,272,403,globl diff --git a/libc/sysv/calls/sys_sem_unlink.S b/libc/sysv/calls/sys_sem_unlink.S index d9ebddb50..78a12a6ae 100644 --- a/libc/sysv/calls/sys_sem_unlink.S +++ b/libc/sysv/calls/sys_sem_unlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_unlink,0x0f9fff196210efff,4095,270,globl +.scall sys_sem_unlink,0x0f9fff196210efff,4095,270,406,globl diff --git a/libc/sysv/calls/sys_sem_wait.S b/libc/sysv/calls/sys_sem_wait.S index 94ed8bee2..80c295661 100644 --- a/libc/sysv/calls/sys_sem_wait.S +++ b/libc/sysv/calls/sys_sem_wait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_wait,0x8fcfff992290ffff,4095,2319,globl +.scall sys_sem_wait,0x8fcfff992290ffff,4095,2319,2450,globl diff --git a/libc/sysv/calls/sys_sem_wait_nocancel.S b/libc/sysv/calls/sys_sem_wait_nocancel.S index 8bf0e12d5..861368808 100644 --- a/libc/sysv/calls/sys_sem_wait_nocancel.S +++ b/libc/sysv/calls/sys_sem_wait_nocancel.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sem_wait_nocancel,0xfffffffff21a4fff,4095,420,globl +.scall sys_sem_wait_nocancel,0xfffffffff21a4fff,4095,420,4095,globl diff --git a/libc/sysv/calls/sys_semctl.S b/libc/sysv/calls/sys_semctl.S index 0a306cc3e..6af8608ef 100644 --- a/libc/sysv/calls/sys_semctl.S +++ b/libc/sysv/calls/sys_semctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semctl,0xfff1271fe20fe042,191,254,globl +.scall sys_semctl,0xfff1271fe20fe042,191,254,510,globl diff --git a/libc/sysv/calls/sys_semget.S b/libc/sysv/calls/sys_semget.S index 544acf205..2a3da4683 100644 --- a/libc/sysv/calls/sys_semget.S +++ b/libc/sysv/calls/sys_semget.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semget,0x0dd0dd0dd20ff040,190,255,globl +.scall sys_semget,0x0dd0dd0dd20ff040,190,255,221,globl diff --git a/libc/sysv/calls/sys_semop.S b/libc/sysv/calls/sys_semop.S index 96c10a30c..744d86995 100644 --- a/libc/sysv/calls/sys_semop.S +++ b/libc/sysv/calls/sys_semop.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semop,0x0de1220de2100041,193,256,globl +.scall sys_semop,0x0de1220de2100041,193,256,222,globl diff --git a/libc/sysv/calls/sys_semsys.S b/libc/sysv/calls/sys_semsys.S index 0a1515d33..33ebb4dc8 100644 --- a/libc/sysv/calls/sys_semsys.S +++ b/libc/sysv/calls/sys_semsys.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semsys,0xffffff0a920fbfff,4095,251,globl +.scall sys_semsys,0xffffff0a920fbfff,4095,251,169,globl diff --git a/libc/sysv/calls/sys_semtimedop.S b/libc/sysv/calls/sys_semtimedop.S index 0a5661439..4f14c96e7 100644 --- a/libc/sysv/calls/sys_semtimedop.S +++ b/libc/sysv/calls/sys_semtimedop.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_semtimedop,0xfffffffffffff0dc,192,4095,globl +.scall sys_semtimedop,0xfffffffffffff0dc,192,4095,4095,globl diff --git a/libc/sysv/calls/sys_sendfile.S b/libc/sysv/calls/sys_sendfile.S index ddada0e5c..0c8505e67 100644 --- a/libc/sysv/calls/sys_sendfile.S +++ b/libc/sysv/calls/sys_sendfile.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sendfile,0xffffff1892151028,71,337,globl,hidden +.scall sys_sendfile,0xffffff1892151028,71,337,393,globl,hidden diff --git a/libc/sysv/calls/sys_sendmsg.S b/libc/sysv/calls/sys_sendmsg.S index 5e6eb77c6..23731a36d 100644 --- a/libc/sysv/calls/sys_sendmsg.S +++ b/libc/sysv/calls/sys_sendmsg.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sendmsg,0x81c81c81c281c82e,2259,2076,globl,hidden +.scall sys_sendmsg,0x81c81c81c281c82e,2259,2076,2076,globl,hidden diff --git a/libc/sysv/calls/sys_sendto.S b/libc/sysv/calls/sys_sendto.S index 0a805a35c..046c2b1a7 100644 --- a/libc/sysv/calls/sys_sendto.S +++ b/libc/sysv/calls/sys_sendto.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sendto,0x885885885288582c,2254,2181,globl,hidden +.scall sys_sendto,0x885885885288582c,2254,2181,2181,globl,hidden diff --git a/libc/sysv/calls/sys_set_mempolicy_home_node.S b/libc/sysv/calls/sys_set_mempolicy_home_node.S index dd0764e20..481cf73f1 100644 --- a/libc/sysv/calls/sys_set_mempolicy_home_node.S +++ b/libc/sysv/calls/sys_set_mempolicy_home_node.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_set_mempolicy_home_node,0xfffffffffffff1c2,4095,4095,globl +.scall sys_set_mempolicy_home_node,0xfffffffffffff1c2,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_set_robust_list.S b/libc/sysv/calls/sys_set_robust_list.S index 8a6b03ed7..57f3261aa 100644 --- a/libc/sysv/calls/sys_set_robust_list.S +++ b/libc/sysv/calls/sys_set_robust_list.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_set_robust_list,0x0a7ffffffffff111,99,4095,globl +.scall sys_set_robust_list,0x0a7ffffffffff111,99,4095,4095,globl diff --git a/libc/sysv/calls/sys_set_tid_address.S b/libc/sysv/calls/sys_set_tid_address.S index 4fc8f6444..ce080af7c 100644 --- a/libc/sysv/calls/sys_set_tid_address.S +++ b/libc/sysv/calls/sys_set_tid_address.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_set_tid_address,0xfffffffffffff0da,96,4095,globl +.scall sys_set_tid_address,0xfffffffffffff0da,96,4095,4095,globl diff --git a/libc/sysv/calls/sys_set_tls.S b/libc/sysv/calls/sys_set_tls.S index 5a715cafd..ad10da93c 100644 --- a/libc/sysv/calls/sys_set_tls.S +++ b/libc/sysv/calls/sys_set_tls.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_set_tls,0x13d1490a5300309e,4095,3,globl,hidden +.scall sys_set_tls,0x13d1490a5300309e,4095,3,165,globl,hidden diff --git a/libc/sysv/calls/sys_setaudit_addr.S b/libc/sysv/calls/sys_setaudit_addr.S index 108342e08..30fa33814 100644 --- a/libc/sysv/calls/sys_setaudit_addr.S +++ b/libc/sysv/calls/sys_setaudit_addr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setaudit_addr,0xffffff1c42166fff,4095,358,globl +.scall sys_setaudit_addr,0xffffff1c42166fff,4095,358,452,globl diff --git a/libc/sysv/calls/sys_setauid.S b/libc/sysv/calls/sys_setauid.S index 638130920..b956c7568 100644 --- a/libc/sysv/calls/sys_setauid.S +++ b/libc/sysv/calls/sys_setauid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setauid,0xffffff1c02162fff,4095,354,globl +.scall sys_setauid,0xffffff1c02162fff,4095,354,448,globl diff --git a/libc/sysv/calls/sys_setdomainname.S b/libc/sysv/calls/sys_setdomainname.S index 0cdd2f581..1991346e3 100644 --- a/libc/sysv/calls/sys_setdomainname.S +++ b/libc/sysv/calls/sys_setdomainname.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setdomainname,0xffffff0a3ffff0ab,162,4095,globl +.scall sys_setdomainname,0xffffff0a3ffff0ab,162,4095,163,globl diff --git a/libc/sysv/calls/sys_setfsgid.S b/libc/sysv/calls/sys_setfsgid.S index 34a39fdd2..2df871e20 100644 --- a/libc/sysv/calls/sys_setfsgid.S +++ b/libc/sysv/calls/sys_setfsgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setfsgid,0xfffffffffffff07b,152,4095,globl,hidden +.scall sys_setfsgid,0xfffffffffffff07b,152,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_setfsuid.S b/libc/sysv/calls/sys_setfsuid.S index fdb3f8a16..439546b57 100644 --- a/libc/sysv/calls/sys_setfsuid.S +++ b/libc/sysv/calls/sys_setfsuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setfsuid,0xfffffffffffff07a,151,4095,globl,hidden +.scall sys_setfsuid,0xfffffffffffff07a,151,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_setgid.S b/libc/sysv/calls/sys_setgid.S index 75c801766..622eff5d7 100644 --- a/libc/sysv/calls/sys_setgid.S +++ b/libc/sysv/calls/sys_setgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setgid,0x0b50b50b520b506a,144,181,globl,hidden +.scall sys_setgid,0x0b50b50b520b506a,144,181,181,globl,hidden diff --git a/libc/sysv/calls/sys_setgroups.S b/libc/sysv/calls/sys_setgroups.S index ca4d68088..e4ebf8f45 100644 --- a/libc/sysv/calls/sys_setgroups.S +++ b/libc/sysv/calls/sys_setgroups.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setgroups,0x0500500502050074,159,80,globl,hidden +.scall sys_setgroups,0x0500500502050074,159,80,80,globl,hidden diff --git a/libc/sysv/calls/sys_sethostname.S b/libc/sysv/calls/sys_sethostname.S index 06b22bc5b..fcbde3ea9 100644 --- a/libc/sysv/calls/sys_sethostname.S +++ b/libc/sysv/calls/sys_sethostname.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sethostname,0xffffff058ffff0aa,161,4095,globl +.scall sys_sethostname,0xffffff058ffff0aa,161,4095,88,globl diff --git a/libc/sysv/calls/sys_setitimer.S b/libc/sysv/calls/sys_setitimer.S index db78b1377..fd9eda238 100644 --- a/libc/sysv/calls/sys_setitimer.S +++ b/libc/sysv/calls/sys_setitimer.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setitimer,0x1a90450532053026,103,83,globl,hidden +.scall sys_setitimer,0x1a90450532053026,103,83,83,globl,hidden diff --git a/libc/sysv/calls/sys_setlogin.S b/libc/sysv/calls/sys_setlogin.S index d53d1e9fb..5bc039828 100644 --- a/libc/sysv/calls/sys_setlogin.S +++ b/libc/sysv/calls/sys_setlogin.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setlogin,0xfff0320322032fff,4095,50,globl +.scall sys_setlogin,0xfff0320322032fff,4095,50,50,globl diff --git a/libc/sysv/calls/sys_setns.S b/libc/sysv/calls/sys_setns.S index 800e2d5bf..438b35fad 100644 --- a/libc/sysv/calls/sys_setns.S +++ b/libc/sysv/calls/sys_setns.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setns,0xfffffffffffff134,268,4095,globl +.scall sys_setns,0xfffffffffffff134,268,4095,4095,globl diff --git a/libc/sysv/calls/sys_setpgid.S b/libc/sysv/calls/sys_setpgid.S index e64df3d5d..c3e5b453a 100644 --- a/libc/sysv/calls/sys_setpgid.S +++ b/libc/sysv/calls/sys_setpgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setpgid,0x052052052205206d,154,82,globl,hidden +.scall sys_setpgid,0x052052052205206d,154,82,82,globl,hidden diff --git a/libc/sysv/calls/sys_setpriority.S b/libc/sysv/calls/sys_setpriority.S index bc34ccd93..efb339980 100644 --- a/libc/sysv/calls/sys_setpriority.S +++ b/libc/sysv/calls/sys_setpriority.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setpriority,0x060060060206008d,140,96,globl,hidden +.scall sys_setpriority,0x060060060206008d,140,96,96,globl,hidden diff --git a/libc/sysv/calls/sys_setregid.S b/libc/sysv/calls/sys_setregid.S index 5c60b1d0e..d58a2e854 100644 --- a/libc/sysv/calls/sys_setregid.S +++ b/libc/sysv/calls/sys_setregid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setregid,0x07f07f07f207f072,143,127,globl,hidden +.scall sys_setregid,0x07f07f07f207f072,143,127,127,globl,hidden diff --git a/libc/sysv/calls/sys_setresgid.S b/libc/sysv/calls/sys_setresgid.S index 9e46474f7..792c25a8d 100644 --- a/libc/sysv/calls/sys_setresgid.S +++ b/libc/sysv/calls/sys_setresgid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setresgid,0xfff11c138ffff077,149,4095,globl,hidden +.scall sys_setresgid,0xfff11c138ffff077,149,4095,312,globl,hidden diff --git a/libc/sysv/calls/sys_setresuid.S b/libc/sysv/calls/sys_setresuid.S index 05ea0ff6f..6850b3437 100644 --- a/libc/sysv/calls/sys_setresuid.S +++ b/libc/sysv/calls/sys_setresuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setresuid,0xfff11a137ffff075,147,4095,globl,hidden +.scall sys_setresuid,0xfff11a137ffff075,147,4095,311,globl,hidden diff --git a/libc/sysv/calls/sys_setreuid.S b/libc/sysv/calls/sys_setreuid.S index d73b3316b..ab8891e28 100644 --- a/libc/sysv/calls/sys_setreuid.S +++ b/libc/sysv/calls/sys_setreuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setreuid,0x07e07e07e207e071,145,126,globl,hidden +.scall sys_setreuid,0x07e07e07e207e071,145,126,126,globl,hidden diff --git a/libc/sysv/calls/sys_setrlimit.S b/libc/sysv/calls/sys_setrlimit.S index 75b921405..a7d088562 100644 --- a/libc/sysv/calls/sys_setrlimit.S +++ b/libc/sysv/calls/sys_setrlimit.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setrlimit,0x0c30c30c320c30a0,164,195,globl,hidden +.scall sys_setrlimit,0x0c30c30c320c30a0,164,195,195,globl,hidden diff --git a/libc/sysv/calls/sys_setsid.S b/libc/sysv/calls/sys_setsid.S index 2ad99e25a..9846948f7 100644 --- a/libc/sysv/calls/sys_setsid.S +++ b/libc/sysv/calls/sys_setsid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setsid,0x0930930932093070,157,147,globl,hidden +.scall sys_setsid,0x0930930932093070,157,147,147,globl,hidden diff --git a/libc/sysv/calls/sys_setsockopt.S b/libc/sysv/calls/sys_setsockopt.S index a2d994e0c..e61f8ad3d 100644 --- a/libc/sysv/calls/sys_setsockopt.S +++ b/libc/sysv/calls/sys_setsockopt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setsockopt,0x0690690692069036,208,105,globl,hidden +.scall sys_setsockopt,0x0690690692069036,208,105,105,globl,hidden diff --git a/libc/sysv/calls/sys_settimeofday.S b/libc/sysv/calls/sys_settimeofday.S index c02d20397..c9e8f687e 100644 --- a/libc/sysv/calls/sys_settimeofday.S +++ b/libc/sysv/calls/sys_settimeofday.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_settimeofday,0x1a304407a207a0a4,170,122,globl +.scall sys_settimeofday,0x1a304407a207a0a4,170,122,122,globl diff --git a/libc/sysv/calls/sys_setuid.S b/libc/sysv/calls/sys_setuid.S index da47b15c7..73c9ecea9 100644 --- a/libc/sysv/calls/sys_setuid.S +++ b/libc/sysv/calls/sys_setuid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setuid,0x0170170172017069,146,23,globl,hidden +.scall sys_setuid,0x0170170172017069,146,23,23,globl,hidden diff --git a/libc/sysv/calls/sys_setxattr.S b/libc/sysv/calls/sys_setxattr.S index 15c74f085..11052cf41 100644 --- a/libc/sysv/calls/sys_setxattr.S +++ b/libc/sysv/calls/sys_setxattr.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_setxattr,0x177ffffff20ec0bc,5,236,globl +.scall sys_setxattr,0x177ffffff20ec0bc,5,236,4095,globl diff --git a/libc/sysv/calls/sys_shm_open.S b/libc/sysv/calls/sys_shm_open.S index e49a0885f..12fbe7a55 100644 --- a/libc/sysv/calls/sys_shm_open.S +++ b/libc/sysv/calls/sys_shm_open.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shm_open,0xffffff1e2210afff,4095,266,globl +.scall sys_shm_open,0xffffff1e2210afff,4095,266,482,globl diff --git a/libc/sysv/calls/sys_shm_unlink.S b/libc/sysv/calls/sys_shm_unlink.S index afdab3608..3cba20c6b 100644 --- a/libc/sysv/calls/sys_shm_unlink.S +++ b/libc/sysv/calls/sys_shm_unlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shm_unlink,0xffffff1e3210bfff,4095,267,globl +.scall sys_shm_unlink,0xffffff1e3210bfff,4095,267,483,globl diff --git a/libc/sysv/calls/sys_shmat.S b/libc/sysv/calls/sys_shmat.S index 6f41abc88..9a150e1a8 100644 --- a/libc/sysv/calls/sys_shmat.S +++ b/libc/sysv/calls/sys_shmat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmat,0x0e40e40e4210601e,196,262,globl +.scall sys_shmat,0x0e40e40e4210601e,196,262,228,globl diff --git a/libc/sysv/calls/sys_shmctl.S b/libc/sysv/calls/sys_shmctl.S index b8f3ebb1f..bc8bf2cd1 100644 --- a/libc/sysv/calls/sys_shmctl.S +++ b/libc/sysv/calls/sys_shmctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmctl,0x1bb128200210701f,195,263,globl +.scall sys_shmctl,0x1bb128200210701f,195,263,512,globl diff --git a/libc/sysv/calls/sys_shmdt.S b/libc/sysv/calls/sys_shmdt.S index d09cca5ce..0985b57bf 100644 --- a/libc/sysv/calls/sys_shmdt.S +++ b/libc/sysv/calls/sys_shmdt.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmdt,0x0e60e60e62108043,197,264,globl +.scall sys_shmdt,0x0e60e60e62108043,197,264,230,globl diff --git a/libc/sysv/calls/sys_shmget.S b/libc/sysv/calls/sys_shmget.S index fc21d1662..5953bd74d 100644 --- a/libc/sysv/calls/sys_shmget.S +++ b/libc/sysv/calls/sys_shmget.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmget,0x0e71210e7210901d,194,265,globl +.scall sys_shmget,0x0e71210e7210901d,194,265,231,globl diff --git a/libc/sysv/calls/sys_shmsys.S b/libc/sysv/calls/sys_shmsys.S index 69ae2a91b..c41281c99 100644 --- a/libc/sysv/calls/sys_shmsys.S +++ b/libc/sysv/calls/sys_shmsys.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shmsys,0xffffff0ab20fdfff,4095,253,globl +.scall sys_shmsys,0xffffff0ab20fdfff,4095,253,171,globl diff --git a/libc/sysv/calls/sys_shutdown.S b/libc/sysv/calls/sys_shutdown.S index 39855efb3..ac4481190 100644 --- a/libc/sysv/calls/sys_shutdown.S +++ b/libc/sysv/calls/sys_shutdown.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_shutdown,0x0860860862086030,210,134,globl,hidden +.scall sys_shutdown,0x0860860862086030,210,134,134,globl,hidden diff --git a/libc/sysv/calls/sys_sigaction.S b/libc/sysv/calls/sys_sigaction.S index 24d40f65b..a0332eba3 100644 --- a/libc/sysv/calls/sys_sigaction.S +++ b/libc/sysv/calls/sys_sigaction.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigaction,0x15402e1a0202e00d,134,46,globl,hidden +.scall sys_sigaction,0x15402e1a0202e00d,134,46,416,globl,hidden diff --git a/libc/sysv/calls/sys_sigaltstack.S b/libc/sysv/calls/sys_sigaltstack.S index 0a4efa830..d3d88c79b 100644 --- a/libc/sysv/calls/sys_sigaltstack.S +++ b/libc/sysv/calls/sys_sigaltstack.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigaltstack,0x1191200352035083,132,53,globl,hidden +.scall sys_sigaltstack,0x1191200352035083,132,53,53,globl,hidden diff --git a/libc/sysv/calls/sys_signalfd.S b/libc/sysv/calls/sys_signalfd.S index 1d5e58d2a..b935690f3 100644 --- a/libc/sysv/calls/sys_signalfd.S +++ b/libc/sysv/calls/sys_signalfd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_signalfd,0xfffffffffffff11a,4095,4095,globl +.scall sys_signalfd,0xfffffffffffff11a,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_signalfd4.S b/libc/sysv/calls/sys_signalfd4.S index 81e684366..4a8e259b8 100644 --- a/libc/sysv/calls/sys_signalfd4.S +++ b/libc/sysv/calls/sys_signalfd4.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_signalfd4,0xfffffffffffff121,74,4095,globl +.scall sys_signalfd4,0xfffffffffffff121,74,4095,4095,globl diff --git a/libc/sysv/calls/sys_sigpending.S b/libc/sysv/calls/sys_sigpending.S index b965fa67e..2787686c2 100644 --- a/libc/sysv/calls/sys_sigpending.S +++ b/libc/sysv/calls/sys_sigpending.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigpending,0x124034157203407f,136,52,globl,hidden +.scall sys_sigpending,0x124034157203407f,136,52,343,globl,hidden diff --git a/libc/sysv/calls/sys_sigqueue.S b/libc/sysv/calls/sys_sigqueue.S index 5f1f56f75..d01390bf6 100644 --- a/libc/sysv/calls/sys_sigqueue.S +++ b/libc/sysv/calls/sys_sigqueue.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigqueue,0xffffff1c8fffffff,4095,4095,globl,hidden +.scall sys_sigqueue,0xffffff1c8fffffff,4095,4095,456,globl,hidden diff --git a/libc/sysv/calls/sys_sigqueueinfo.S b/libc/sysv/calls/sys_sigqueueinfo.S index 5d8df3d9f..fd73dddb6 100644 --- a/libc/sysv/calls/sys_sigqueueinfo.S +++ b/libc/sysv/calls/sys_sigqueueinfo.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigqueueinfo,0x0f5ffffffffff081,138,4095,globl,hidden +.scall sys_sigqueueinfo,0x0f5ffffffffff081,138,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_sigsuspend.S b/libc/sysv/calls/sys_sigsuspend.S index 3a1f5ffc0..219cca026 100644 --- a/libc/sysv/calls/sys_sigsuspend.S +++ b/libc/sysv/calls/sys_sigsuspend.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigsuspend,0x92686f955286f882,2181,2159,globl,hidden +.scall sys_sigsuspend,0x92686f955286f882,2181,2159,2389,globl,hidden diff --git a/libc/sysv/calls/sys_sigtimedwait.S b/libc/sysv/calls/sys_sigtimedwait.S index e3ec9a648..2416cdfc4 100644 --- a/libc/sysv/calls/sys_sigtimedwait.S +++ b/libc/sysv/calls/sys_sigtimedwait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigtimedwait,0x9affff959ffff880,2185,4095,globl,hidden +.scall sys_sigtimedwait,0x9affff959ffff880,2185,4095,2393,globl,hidden diff --git a/libc/sysv/calls/sys_sigwait.S b/libc/sysv/calls/sys_sigwait.S index bc46c487f..f7329e6e8 100644 --- a/libc/sysv/calls/sys_sigwait.S +++ b/libc/sysv/calls/sys_sigwait.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sigwait,0xffffff1ad214afff,4095,330,globl +.scall sys_sigwait,0xffffff1ad214afff,4095,330,429,globl diff --git a/libc/sysv/calls/sys_splice.S b/libc/sysv/calls/sys_splice.S index 1f079e315..e1c15507a 100644 --- a/libc/sysv/calls/sys_splice.S +++ b/libc/sysv/calls/sys_splice.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_splice,0xfffffffffffff113,76,4095,globl,hidden +.scall sys_splice,0xfffffffffffff113,76,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_statfs.S b/libc/sysv/calls/sys_statfs.S index bd69def3a..98f5c1064 100644 --- a/libc/sysv/calls/sys_statfs.S +++ b/libc/sysv/calls/sys_statfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_statfs,0x89d83fa2b2959889,2091,2393,globl,hidden +.scall sys_statfs,0x89d83fa2b2959889,2091,2393,2603,globl,hidden diff --git a/libc/sysv/calls/sys_statx.S b/libc/sysv/calls/sys_statx.S index 03ec62bd7..169a4a893 100644 --- a/libc/sysv/calls/sys_statx.S +++ b/libc/sysv/calls/sys_statx.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_statx,0xfffffffffffff14c,291,4095,globl +.scall sys_statx,0xfffffffffffff14c,291,4095,4095,globl diff --git a/libc/sysv/calls/sys_swapoff.S b/libc/sysv/calls/sys_swapoff.S index 64a8b5147..dc36fc64f 100644 --- a/libc/sysv/calls/sys_swapoff.S +++ b/libc/sysv/calls/sys_swapoff.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_swapoff,0xffffff1a8ffff0a8,225,4095,globl +.scall sys_swapoff,0xffffff1a8ffff0a8,225,4095,424,globl diff --git a/libc/sysv/calls/sys_swapon.S b/libc/sysv/calls/sys_swapon.S index 9354054b1..9aa53edc9 100644 --- a/libc/sysv/calls/sys_swapon.S +++ b/libc/sysv/calls/sys_swapon.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_swapon,0xffffff05520550a7,224,85,globl +.scall sys_swapon,0xffffff05520550a7,224,85,85,globl diff --git a/libc/sysv/calls/sys_symlinkat.S b/libc/sysv/calls/sys_symlinkat.S index 6c24d0791..959e57e6c 100644 --- a/libc/sysv/calls/sys_symlinkat.S +++ b/libc/sysv/calls/sys_symlinkat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_symlinkat,0x1d61441f621da10a,36,474,globl,hidden +.scall sys_symlinkat,0x1d61441f621da10a,36,474,502,globl,hidden diff --git a/libc/sysv/calls/sys_sync.S b/libc/sysv/calls/sys_sync.S index 9161eb6f2..5a59ac2c3 100644 --- a/libc/sysv/calls/sys_sync.S +++ b/libc/sysv/calls/sys_sync.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sync,0x02402402420240a2,81,36,globl,hidden +.scall sys_sync,0x02402402420240a2,81,36,36,globl,hidden diff --git a/libc/sysv/calls/sys_syncfs.S b/libc/sysv/calls/sys_syncfs.S index 24328aae7..e9160f738 100644 --- a/libc/sysv/calls/sys_syncfs.S +++ b/libc/sysv/calls/sys_syncfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_syncfs,0xfffffffffffff132,267,4095,globl +.scall sys_syncfs,0xfffffffffffff132,267,4095,4095,globl diff --git a/libc/sysv/calls/sys_sysctl.S b/libc/sysv/calls/sys_sysctl.S index 684aca818..083c97998 100644 --- a/libc/sysv/calls/sys_sysctl.S +++ b/libc/sysv/calls/sys_sysctl.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sysctl,0x0ca0ca0ca20cafff,4095,202,globl +.scall sys_sysctl,0x0ca0ca0ca20cafff,4095,202,202,globl diff --git a/libc/sysv/calls/sys_sysfs.S b/libc/sysv/calls/sys_sysfs.S index 08968cce3..d57d0e04d 100644 --- a/libc/sysv/calls/sys_sysfs.S +++ b/libc/sysv/calls/sys_sysfs.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sysfs,0xfffffffffffff08b,4095,4095,globl +.scall sys_sysfs,0xfffffffffffff08b,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_sysinfo.S b/libc/sysv/calls/sys_sysinfo.S index c00e9a7c0..c4a64983c 100644 --- a/libc/sysv/calls/sys_sysinfo.S +++ b/libc/sysv/calls/sys_sysinfo.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_sysinfo,0xfffffffffffff063,179,4095,globl,hidden +.scall sys_sysinfo,0xfffffffffffff063,179,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_syslog.S b/libc/sysv/calls/sys_syslog.S index a4a8a77d1..6952c4d1e 100644 --- a/libc/sysv/calls/sys_syslog.S +++ b/libc/sysv/calls/sys_syslog.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_syslog,0xfffffffffffff067,116,4095,globl,hidden +.scall sys_syslog,0xfffffffffffff067,116,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_tee.S b/libc/sysv/calls/sys_tee.S index 8bf8f5156..ce19da2b9 100644 --- a/libc/sysv/calls/sys_tee.S +++ b/libc/sysv/calls/sys_tee.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_tee,0xfffffffffffff114,77,4095,globl +.scall sys_tee,0xfffffffffffff114,77,4095,4095,globl diff --git a/libc/sysv/calls/sys_tgkill.S b/libc/sysv/calls/sys_tgkill.S index a5488612b..a10b77c76 100644 --- a/libc/sysv/calls/sys_tgkill.S +++ b/libc/sysv/calls/sys_tgkill.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_tgkill,0xffffff1e1ffff0ea,131,4095,globl,hidden +.scall sys_tgkill,0xffffff1e1ffff0ea,131,4095,481,globl,hidden diff --git a/libc/sysv/calls/sys_tgsigqueueinfo.S b/libc/sysv/calls/sys_tgsigqueueinfo.S index 114913bae..17d42a32d 100644 --- a/libc/sysv/calls/sys_tgsigqueueinfo.S +++ b/libc/sysv/calls/sys_tgsigqueueinfo.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_tgsigqueueinfo,0xfffffffffffff129,240,4095,globl +.scall sys_tgsigqueueinfo,0xfffffffffffff129,240,4095,4095,globl diff --git a/libc/sysv/calls/sys_timer_create.S b/libc/sysv/calls/sys_timer_create.S index 0ce2ee3ff..59ec89a44 100644 --- a/libc/sysv/calls/sys_timer_create.S +++ b/libc/sysv/calls/sys_timer_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_create,0x0ebffffffffff0de,107,4095,globl +.scall sys_timer_create,0x0ebffffffffff0de,107,4095,4095,globl diff --git a/libc/sysv/calls/sys_timer_delete.S b/libc/sysv/calls/sys_timer_delete.S index 1c8f9a448..166363a21 100644 --- a/libc/sysv/calls/sys_timer_delete.S +++ b/libc/sysv/calls/sys_timer_delete.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_delete,0x0ecffffffffff0e2,111,4095,globl +.scall sys_timer_delete,0x0ecffffffffff0e2,111,4095,4095,globl diff --git a/libc/sysv/calls/sys_timer_getoverrun.S b/libc/sysv/calls/sys_timer_getoverrun.S index a9e2b0e30..4db723c59 100644 --- a/libc/sysv/calls/sys_timer_getoverrun.S +++ b/libc/sysv/calls/sys_timer_getoverrun.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_getoverrun,0x0efffffffffff0e1,109,4095,globl +.scall sys_timer_getoverrun,0x0efffffffffff0e1,109,4095,4095,globl diff --git a/libc/sysv/calls/sys_timer_gettime.S b/libc/sysv/calls/sys_timer_gettime.S index 8d570375e..5f1cd40a3 100644 --- a/libc/sysv/calls/sys_timer_gettime.S +++ b/libc/sysv/calls/sys_timer_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_gettime,0x1bfffffffffff0e0,108,4095,globl +.scall sys_timer_gettime,0x1bfffffffffff0e0,108,4095,4095,globl diff --git a/libc/sysv/calls/sys_timer_settime.S b/libc/sysv/calls/sys_timer_settime.S index b28daa523..1e1a82e27 100644 --- a/libc/sysv/calls/sys_timer_settime.S +++ b/libc/sysv/calls/sys_timer_settime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timer_settime,0x1beffffffffff0df,110,4095,globl +.scall sys_timer_settime,0x1beffffffffff0df,110,4095,4095,globl diff --git a/libc/sysv/calls/sys_timerfd_create.S b/libc/sysv/calls/sys_timerfd_create.S index b8aa393d7..651db8830 100644 --- a/libc/sysv/calls/sys_timerfd_create.S +++ b/libc/sysv/calls/sys_timerfd_create.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timerfd_create,0xfffffffffffff11b,85,4095,globl +.scall sys_timerfd_create,0xfffffffffffff11b,85,4095,4095,globl diff --git a/libc/sysv/calls/sys_timerfd_gettime.S b/libc/sysv/calls/sys_timerfd_gettime.S index 213f735c4..02a6f1ae1 100644 --- a/libc/sysv/calls/sys_timerfd_gettime.S +++ b/libc/sysv/calls/sys_timerfd_gettime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timerfd_gettime,0xfffffffffffff11f,87,4095,globl +.scall sys_timerfd_gettime,0xfffffffffffff11f,87,4095,4095,globl diff --git a/libc/sysv/calls/sys_timerfd_settime.S b/libc/sysv/calls/sys_timerfd_settime.S index dc80e278d..c4fd7f9e3 100644 --- a/libc/sysv/calls/sys_timerfd_settime.S +++ b/libc/sysv/calls/sys_timerfd_settime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_timerfd_settime,0xfffffffffffff11e,86,4095,globl +.scall sys_timerfd_settime,0xfffffffffffff11e,86,4095,4095,globl diff --git a/libc/sysv/calls/sys_times.S b/libc/sysv/calls/sys_times.S index 207b93d89..874173882 100644 --- a/libc/sysv/calls/sys_times.S +++ b/libc/sysv/calls/sys_times.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_times,0xfffffffffffff064,153,4095,globl,hidden +.scall sys_times,0xfffffffffffff064,153,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_tkill.S b/libc/sysv/calls/sys_tkill.S index e3b4b2037..248e1cf57 100644 --- a/libc/sysv/calls/sys_tkill.S +++ b/libc/sysv/calls/sys_tkill.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_tkill,0x13e0771b121480c8,130,328,globl,hidden +.scall sys_tkill,0x13e0771b121480c8,130,328,433,globl,hidden diff --git a/libc/sysv/calls/sys_truncate.S b/libc/sysv/calls/sys_truncate.S index 98d08b147..a2e5b1827 100644 --- a/libc/sysv/calls/sys_truncate.S +++ b/libc/sysv/calls/sys_truncate.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_truncate,0x8c88a79df28c884c,2093,2248,globl,hidden +.scall sys_truncate,0x8c88a79df28c884c,2093,2248,2527,globl,hidden diff --git a/libc/sysv/calls/sys_umask.S b/libc/sysv/calls/sys_umask.S index 80677e45b..f18a2fa2a 100644 --- a/libc/sysv/calls/sys_umask.S +++ b/libc/sysv/calls/sys_umask.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_umask,0x03c03c03c203c05f,166,60,globl,hidden +.scall sys_umask,0x03c03c03c203c05f,166,60,60,globl,hidden diff --git a/libc/sysv/calls/sys_umount2.S b/libc/sysv/calls/sys_umount2.S index 4e4111bee..1f608f401 100644 --- a/libc/sysv/calls/sys_umount2.S +++ b/libc/sysv/calls/sys_umount2.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_umount2,0x016016016209f0a6,39,159,globl +.scall sys_umount2,0x016016016209f0a6,39,159,22,globl diff --git a/libc/sysv/calls/sys_uname.S b/libc/sysv/calls/sys_uname.S index a6a598337..5b2a62a98 100644 --- a/libc/sysv/calls/sys_uname.S +++ b/libc/sysv/calls/sys_uname.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_uname,0x0a4fff0a4ffff03f,160,4095,globl,hidden +.scall sys_uname,0x0a4fff0a4ffff03f,160,4095,164,globl,hidden diff --git a/libc/sysv/calls/sys_undelete.S b/libc/sysv/calls/sys_undelete.S index d590b5fe1..58b0b2d66 100644 --- a/libc/sysv/calls/sys_undelete.S +++ b/libc/sysv/calls/sys_undelete.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_undelete,0x0cdfff0cd20cdfff,4095,205,globl +.scall sys_undelete,0x0cdfff0cd20cdfff,4095,205,205,globl diff --git a/libc/sysv/calls/sys_unlink.S b/libc/sysv/calls/sys_unlink.S index 3066efc30..472fbf808 100644 --- a/libc/sysv/calls/sys_unlink.S +++ b/libc/sysv/calls/sys_unlink.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unlink,0x00a00a00a200a057,181,10,globl,hidden +.scall sys_unlink,0x00a00a00a200a057,181,10,10,globl,hidden diff --git a/libc/sysv/calls/sys_unlinkat.S b/libc/sysv/calls/sys_unlinkat.S index dd373568e..9cf448f35 100644 --- a/libc/sysv/calls/sys_unlinkat.S +++ b/libc/sysv/calls/sys_unlinkat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unlinkat,0x1d71451f721d8107,35,472,globl,hidden +.scall sys_unlinkat,0x1d71451f721d8107,35,472,503,globl,hidden diff --git a/libc/sysv/calls/sys_unmount.S b/libc/sysv/calls/sys_unmount.S index 17d2567d9..b6dd32e1f 100644 --- a/libc/sysv/calls/sys_unmount.S +++ b/libc/sysv/calls/sys_unmount.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unmount,0x016016016209f0a6,4095,159,globl +.scall sys_unmount,0x016016016209f0a6,4095,159,22,globl diff --git a/libc/sysv/calls/sys_unshare.S b/libc/sysv/calls/sys_unshare.S index 6dc9f9822..70e136ca8 100644 --- a/libc/sysv/calls/sys_unshare.S +++ b/libc/sysv/calls/sys_unshare.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unshare,0xfffffffffffff110,97,4095,globl +.scall sys_unshare,0xfffffffffffff110,97,4095,4095,globl diff --git a/libc/sysv/calls/sys_unveil.S b/libc/sysv/calls/sys_unveil.S index f7dcb0844..9dc45da23 100644 --- a/libc/sysv/calls/sys_unveil.S +++ b/libc/sysv/calls/sys_unveil.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_unveil,0xfff072ffffffffff,4095,4095,globl,hidden +.scall sys_unveil,0xfff072ffffffffff,4095,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_userfaultfd.S b/libc/sysv/calls/sys_userfaultfd.S index 29bc9a182..27a08cc8d 100644 --- a/libc/sysv/calls/sys_userfaultfd.S +++ b/libc/sysv/calls/sys_userfaultfd.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_userfaultfd,0xfffffffffffff143,282,4095,globl +.scall sys_userfaultfd,0xfffffffffffff143,282,4095,4095,globl diff --git a/libc/sysv/calls/sys_ustat.S b/libc/sysv/calls/sys_ustat.S index e44117068..7815e019f 100644 --- a/libc/sysv/calls/sys_ustat.S +++ b/libc/sysv/calls/sys_ustat.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_ustat,0xfffffffffffff088,4095,4095,globl +.scall sys_ustat,0xfffffffffffff088,4095,4095,4095,globl diff --git a/libc/sysv/calls/sys_utime.S b/libc/sysv/calls/sys_utime.S index 29b32c000..fb289d5d4 100644 --- a/libc/sysv/calls/sys_utime.S +++ b/libc/sysv/calls/sys_utime.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_utime,0xfffffffffffff084,98,4095,globl,hidden +.scall sys_utime,0xfffffffffffff084,98,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_utimes.S b/libc/sysv/calls/sys_utimes.S index d59ceb8d1..071fdd22c 100644 --- a/libc/sysv/calls/sys_utimes.S +++ b/libc/sysv/calls/sys_utimes.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_utimes,0x1a404c08a208a0eb,88,138,globl,hidden +.scall sys_utimes,0x1a404c08a208a0eb,88,138,138,globl,hidden diff --git a/libc/sysv/calls/sys_utrace.S b/libc/sysv/calls/sys_utrace.S index c99dc21f6..82a6f1628 100644 --- a/libc/sysv/calls/sys_utrace.S +++ b/libc/sysv/calls/sys_utrace.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_utrace,0x1320d114ffffffff,4095,4095,globl +.scall sys_utrace,0x1320d114ffffffff,4095,4095,335,globl diff --git a/libc/sysv/calls/sys_vhangup.S b/libc/sysv/calls/sys_vhangup.S index f48e45a6c..90f34319d 100644 --- a/libc/sysv/calls/sys_vhangup.S +++ b/libc/sysv/calls/sys_vhangup.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_vhangup,0xfffffffffffff099,58,4095,globl +.scall sys_vhangup,0xfffffffffffff099,58,4095,4095,globl diff --git a/libc/sysv/calls/sys_vmsplice.S b/libc/sysv/calls/sys_vmsplice.S index 08f2bc79f..eb30283b1 100644 --- a/libc/sysv/calls/sys_vmsplice.S +++ b/libc/sysv/calls/sys_vmsplice.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_vmsplice,0xfffffffffffff116,75,4095,globl,hidden +.scall sys_vmsplice,0xfffffffffffff116,75,4095,4095,globl,hidden diff --git a/libc/sysv/calls/sys_waitid.S b/libc/sysv/calls/sys_waitid.S index 1a77e251d..cc474ae43 100644 --- a/libc/sysv/calls/sys_waitid.S +++ b/libc/sysv/calls/sys_waitid.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_waitid,0xfffffffff28ad8f7,95,2221,globl +.scall sys_waitid,0xfffffffff28ad8f7,95,2221,4095,globl diff --git a/libc/sysv/calls/sys_write.S b/libc/sysv/calls/sys_write.S index 35b8d40cf..aafc85398 100644 --- a/libc/sysv/calls/sys_write.S +++ b/libc/sysv/calls/sys_write.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_write,0x8048048042804801,2112,2052,globl,hidden +.scall sys_write,0x8048048042804801,2112,2052,2052,globl,hidden diff --git a/libc/sysv/calls/sys_writev.S b/libc/sysv/calls/sys_writev.S index 80af851d1..1ed485223 100644 --- a/libc/sysv/calls/sys_writev.S +++ b/libc/sysv/calls/sys_writev.S @@ -1,2 +1,2 @@ #include "libc/sysv/macros.internal.h" -.scall sys_writev,0x8798798792879814,2114,2169,globl,hidden +.scall sys_writev,0x8798798792879814,2114,2169,2169,globl,hidden diff --git a/libc/sysv/consts.sh b/libc/sysv/consts.sh index 8f164e35f..5b767cdc5 100755 --- a/libc/sysv/consts.sh +++ b/libc/sysv/consts.sh @@ -427,8 +427,8 @@ syscon utime UTIME_OMIT 0x3ffffffe 0x3ffffffe -2 -2 -2 -1 0x3ffffff syscon auxv AT_EXECFN 31 31 31 31 15 31 2014 31 # address of string containing first argument passed to execve() used when running program; AT_EXECPATH on FreeBSD syscon auxv AT_SECURE 23 23 23 23 0 23 0 23 syscon auxv AT_RANDOM 25 25 25 25 16 25 0 25 # address of sixteen bytes of random data; AT_CANARY on FreeBSD whose AT_CANARYLEN should be 64 -syscon auxv AT_HWCAP 16 16 16 16 0 16 0 16 -syscon auxv AT_HWCAP2 26 26 26 26 0 26 0 26 +syscon auxv AT_HWCAP 16 16 16 16 25 16 0 16 +syscon auxv AT_HWCAP2 26 26 26 26 26 26 0 26 syscon auxv AT_UID 11 11 11 11 0 11 2001 11 syscon auxv AT_EUID 12 12 12 12 0 12 2000 12 syscon auxv AT_GID 13 13 13 13 0 13 2003 13 diff --git a/libc/sysv/consts/AT_HWCAP.S b/libc/sysv/consts/AT_HWCAP.S index 0db036194..dc7eabcdc 100644 --- a/libc/sysv/consts/AT_HWCAP.S +++ b/libc/sysv/consts/AT_HWCAP.S @@ -1,2 +1,2 @@ #include "libc/sysv/consts/syscon.internal.h" -.syscon auxv,AT_HWCAP,16,16,16,16,0,16,0,16 +.syscon auxv,AT_HWCAP,16,16,16,16,25,16,0,16 diff --git a/libc/sysv/consts/AT_HWCAP2.S b/libc/sysv/consts/AT_HWCAP2.S index 824f587e0..1107d25f3 100644 --- a/libc/sysv/consts/AT_HWCAP2.S +++ b/libc/sysv/consts/AT_HWCAP2.S @@ -1,2 +1,2 @@ #include "libc/sysv/consts/syscon.internal.h" -.syscon auxv,AT_HWCAP2,26,26,26,26,0,26,0,26 +.syscon auxv,AT_HWCAP2,26,26,26,26,26,26,0,26 diff --git a/libc/sysv/gen.sh b/libc/sysv/gen.sh index 2b79041f9..da514a903 100644 --- a/libc/sysv/gen.sh +++ b/libc/sysv/gen.sh @@ -32,11 +32,12 @@ scall() { amd=$2 arm_linux=$(($3 + 0)) arm_xnu=$((($amd & 0xfff000) >> 12)) + arm_freebsd=$((($amd & 0x000000fff0000000) >> 28)) if [ $arm_xnu != 4095 ]; then arm_xnu=$(($arm_xnu & 0xfff)) fi shift 3 - set -- "$name" "$amd" "$arm_linux" "$arm_xnu" "$*" + set -- "$name" "$amd" "$arm_linux" "$arm_xnu" "$arm_freebsd" "$*" echo "#include \"libc/sysv/macros.internal.h\"" echo ".scall" "$*" } >"$dir/${1/$/-}.S" diff --git a/libc/sysv/macros.internal.h b/libc/sysv/macros.internal.h index fa0139b21..da2ec43d6 100644 --- a/libc/sysv/macros.internal.h +++ b/libc/sysv/macros.internal.h @@ -15,7 +15,7 @@ * risk of slowing down builds too much with complicated headers. */ -.macro .scall name:req amd:req arm_linux:req arm_xnu:req kw1 kw2 +.macro .scall name:req amd:req arm_linux:req arm_xnu:req arm_freebsd:req kw1 kw2 .section .text.syscall,"ax",@progbits #ifdef __x86_64__ .ifnb \kw2 @@ -38,6 +38,7 @@ .ftrace1 \name: .ftrace2 mov x8,#\arm_linux + mov x9,#\arm_freebsd mov x16,#\arm_xnu b systemfive .endfn \name,\kw1,\kw2 diff --git a/libc/sysv/sysv.c b/libc/sysv/sysv.c index cc0a1c455..afb3496b8 100644 --- a/libc/sysv/sysv.c +++ b/libc/sysv/sysv.c @@ -33,6 +33,7 @@ register long x3 asm("x3"); register long x4 asm("x4"); register long x5 asm("x5"); register long sysv_ordinal asm("x8"); +register long freebsd_ordinal asm("x9"); register long xnu_ordinal asm("x16"); register long cosmo_tls_register asm("x28"); @@ -68,7 +69,7 @@ dontinline long systemfive_cancellable(void) { // invoke cancellable system call // this works for both linux and bsd - asm volatile("mov\tx9,0\n\t" // clear carry flag + asm volatile("mov\tx9,0\n\t" // clear carry flag (for linux) "adds\tx9,x9,0\n\t" // clear carry flag "svc\t0\n" "systemfive_cancellable_end:\n\t" @@ -114,7 +115,10 @@ dontinline long systemfive_cancellable(void) { long systemfive(void) { // handle special cases - if (IsLinux()) { + if (IsLinux() || IsFreebsd()) { + if (IsFreebsd()) { + sysv_ordinal = freebsd_ordinal; + } if (sysv_ordinal == 0xfff) { return _sysret(-ENOSYS); } @@ -135,9 +139,7 @@ long systemfive(void) { // invoke non-blocking system call // this works for both linux and bsd - asm volatile("mov\tx9,0\n\t" // clear carry flag - "adds\tx9,x9,0\n\t" // clear carry flag - "svc\t0\n\t" + asm volatile("svc\t0\n\t" "bcs\t1f\n\t" "b\t2f\n1:\t" "neg\tx0,x0\n2:" diff --git a/libc/thread/pthread_setname_np.c b/libc/thread/pthread_setname_np.c index 10bf19b45..83cf95662 100644 --- a/libc/thread/pthread_setname_np.c +++ b/libc/thread/pthread_setname_np.c @@ -83,6 +83,7 @@ static errno_t pthread_setname_impl(struct PosixThread *pt, const char *name) { } return 0; +#ifdef __x86_64__ } else if (IsFreebsd() || IsNetbsd() || IsOpenbsd()) { int ax; if (IsFreebsd()) { @@ -97,6 +98,16 @@ static errno_t pthread_setname_impl(struct PosixThread *pt, const char *name) { : /* no inputs */ : "rcx", "rdx", "r8", "r9", "r10", "r11", "memory"); return ax; +#endif + +#ifdef __aarch64__ + } else if (IsFreebsd()) { + register int x0 asm("x0") = tid; + register long x1 asm("x1") = (long)name; + register int x8 asm("x8") = 464; // thr_set_name + asm volatile("svc\t0" : "+r"(x0) : "r"(x1), "r"(x8) : "memory"); + return x0; +#endif } else { return ENOSYS; diff --git a/test/libc/calls/renameat_test.c b/test/libc/calls/renameat_test.c index ab99b76e7..ba8e3f9e6 100644 --- a/test/libc/calls/renameat_test.c +++ b/test/libc/calls/renameat_test.c @@ -95,6 +95,8 @@ TEST(rename, moveIntoNonWritableDirectory_raisesEacces) { if (IsNetbsd() || IsOpenbsd()) return; // windows doesn't really have permissions if (IsWindows()) return; + // looks like a freebsd kernel bug + if (IsAarch64() && IsFreebsd()) return; // posix specifies this behavior ASSERT_SYS(0, 0, mkdir("foo", 0111)); ASSERT_SYS(0, 0, touch("lol", 0644)); diff --git a/test/libc/calls/utimensat_test.c b/test/libc/calls/utimensat_test.c index e9eb5c9cc..8595700f7 100644 --- a/test/libc/calls/utimensat_test.c +++ b/test/libc/calls/utimensat_test.c @@ -150,7 +150,7 @@ TEST(futimens, test2) { ASSERT_EQ(st.st_mtime, birth); } // NetBSD doesn't appear to change ctime even though it says it does - if (!IsNetbsd()) { + if (!IsNetbsd() && !(IsFreebsd() && IsAarch64())) { ASSERT_GT(st.st_ctime, birth); ASSERT_EQ(st.st_ctime, st.st_atime); ASSERT_GT(st.st_ctime, st.st_mtime); diff --git a/tool/build/fixupobj.c b/tool/build/fixupobj.c index a24e260a3..6595edf73 100644 --- a/tool/build/fixupobj.c +++ b/tool/build/fixupobj.c @@ -29,12 +29,12 @@ #include "libc/errno.h" #include "libc/fmt/itoa.h" #include "libc/fmt/magnumstrs.internal.h" -#include "libc/serialize.h" #include "libc/limits.h" #include "libc/log/log.h" #include "libc/macros.internal.h" #include "libc/mem/gc.internal.h" #include "libc/runtime/runtime.h" +#include "libc/serialize.h" #include "libc/stdckdint.h" #include "libc/str/str.h" #include "libc/sysv/consts/map.h" @@ -245,6 +245,10 @@ static void RewriteTlsCode(void) { } } +static void UseFreebsdOsAbi(void) { + elf->e_ident[EI_OSABI] = ELFOSABI_FREEBSD; +} + /** * Improve GCC11 `-fpatchable-function-entry` codegen. * @@ -391,6 +395,9 @@ static void FixupObject(void) { OptimizePatchableFunctionEntries(); } else if (elf->e_machine == EM_AARCH64) { RewriteTlsCode(); + if (elf->e_type != ET_REL) { + UseFreebsdOsAbi(); + } } if (elf->e_type != ET_REL) { RelinkZipFiles(); diff --git a/tool/build/lib/eztls.c b/tool/build/lib/eztls.c index b3ff5af7d..ea95a53b0 100644 --- a/tool/build/lib/eztls.c +++ b/tool/build/lib/eztls.c @@ -23,6 +23,7 @@ #include "libc/errno.h" #include "libc/fmt/itoa.h" #include "libc/intrin/kprintf.h" +#include "libc/intrin/strace.internal.h" #include "libc/macros.internal.h" #include "libc/sysv/consts/sig.h" #include "libc/thread/thread.h"