From 6d9a8e8452d0ddd44948d00fee15a52dbe2d029e Mon Sep 17 00:00:00 2001 From: DH Date: Sun, 9 Jul 2023 22:37:39 +0300 Subject: [PATCH] [orbis-elf] Attempt to fix crash on debug message with gcc debug build --- orbis-kernel/src/sysvec.cpp | 1181 ++++++++++++++++++----------------- 1 file changed, 598 insertions(+), 583 deletions(-) diff --git a/orbis-kernel/src/sysvec.cpp b/orbis-kernel/src/sysvec.cpp index e912a3b..155b1d2 100644 --- a/orbis-kernel/src/sysvec.cpp +++ b/orbis-kernel/src/sysvec.cpp @@ -1,6 +1,7 @@ #include "sys/syscall.hpp" #include "sys/sysentry.hpp" #include "sys/sysproto.hpp" +#include #include enum { PSL_C = 0x1 }; @@ -109,610 +110,624 @@ template constexpr auto wrap() -> decltype(detail::WrapImpl()()) { return detail::WrapImpl()(); } -namespace { -struct sysc_hash { - std::size_t operator()(SysResult (*ptr)(Thread *, uint64_t *)) const { - return reinterpret_cast(ptr) >> 4; - } -}; -} // namespace +template +constexpr auto sysImplPointer() -> SysResult (*)(Thread *, uint64_t *) { + return wrap().call; +} -static const std::unordered_map - gImplToName = { - {wrap().call, "nosys"}, - {wrap().call, "sys_exit"}, - {wrap().call, "sys_fork"}, - {wrap().call, "sys_read"}, - {wrap().call, "sys_write"}, - {wrap().call, "sys_open"}, - {wrap().call, "sys_close"}, - {wrap().call, "sys_wait4"}, - {wrap().call, "sys_link"}, - {wrap().call, "sys_unlink"}, - {wrap().call, "sys_chdir"}, - {wrap().call, "sys_fchdir"}, - {wrap().call, "sys_mknod"}, - {wrap().call, "sys_chmod"}, - {wrap().call, "sys_chown"}, - {wrap().call, "sys_obreak"}, - {wrap().call, "sys_getpid"}, - {wrap().call, "sys_mount"}, - {wrap().call, "sys_unmount"}, - {wrap().call, "sys_setuid"}, - {wrap().call, "sys_getuid"}, - {wrap().call, "sys_geteuid"}, - {wrap().call, "sys_ptrace"}, - {wrap().call, "sys_recvmsg"}, - {wrap().call, "sys_sendmsg"}, - {wrap().call, "sys_recvfrom"}, - {wrap().call, "sys_accept"}, - {wrap().call, "sys_getpeername"}, - {wrap().call, "sys_getsockname"}, - {wrap().call, "sys_access"}, - {wrap().call, "sys_chflags"}, - {wrap().call, "sys_fchflags"}, - {wrap().call, "sys_sync"}, - {wrap().call, "sys_kill"}, - {wrap().call, "sys_getppid"}, - {wrap().call, "sys_dup"}, - {wrap().call, "sys_pipe"}, - {wrap().call, "sys_getegid"}, - {wrap().call, "sys_profil"}, - {wrap().call, "sys_ktrace"}, - {wrap().call, "sys_getgid"}, - {wrap().call, "sys_getlogin"}, - {wrap().call, "sys_setlogin"}, - {wrap().call, "sys_acct"}, - {wrap().call, "sys_sigaltstack"}, - {wrap().call, "sys_ioctl"}, - {wrap().call, "sys_reboot"}, - {wrap().call, "sys_revoke"}, - {wrap().call, "sys_symlink"}, - {wrap().call, "sys_readlink"}, - {wrap().call, "sys_execve"}, - {wrap().call, "sys_umask"}, - {wrap().call, "sys_chroot"}, - {wrap().call, "sys_msync"}, - {wrap().call, "sys_vfork"}, - {wrap().call, "sys_sbrk"}, - {wrap().call, "sys_sstk"}, - {wrap().call, "sys_ovadvise"}, - {wrap().call, "sys_munmap"}, - {wrap().call, "sys_mprotect"}, - {wrap().call, "sys_madvise"}, - {wrap().call, "sys_mincore"}, - {wrap().call, "sys_getgroups"}, - {wrap().call, "sys_setgroups"}, - {wrap().call, "sys_getpgrp"}, - {wrap().call, "sys_setpgid"}, - {wrap().call, "sys_setitimer"}, - {wrap().call, "sys_swapon"}, - {wrap().call, "sys_getitimer"}, - {wrap().call, "sys_getdtablesize"}, - {wrap().call, "sys_dup2"}, - {wrap().call, "sys_fcntl"}, - {wrap().call, "sys_select"}, - {wrap().call, "sys_fsync"}, - {wrap().call, "sys_setpriority"}, - {wrap().call, "sys_socket"}, - {wrap().call, "sys_connect"}, - {wrap().call, "sys_getpriority"}, - {wrap().call, "sys_bind"}, - {wrap().call, "sys_setsockopt"}, - {wrap().call, "sys_listen"}, - {wrap().call, "sys_gettimeofday"}, - {wrap().call, "sys_getrusage"}, - {wrap().call, "sys_getsockopt"}, - {wrap().call, "sys_readv"}, - {wrap().call, "sys_writev"}, - {wrap().call, "sys_settimeofday"}, - {wrap().call, "sys_fchown"}, - {wrap().call, "sys_fchmod"}, - {wrap().call, "sys_setreuid"}, - {wrap().call, "sys_setregid"}, - {wrap().call, "sys_rename"}, - {wrap().call, "sys_flock"}, - {wrap().call, "sys_mkfifo"}, - {wrap().call, "sys_sendto"}, - {wrap().call, "sys_shutdown"}, - {wrap().call, "sys_socketpair"}, - {wrap().call, "sys_mkdir"}, - {wrap().call, "sys_rmdir"}, - {wrap().call, "sys_utimes"}, - {wrap().call, "sys_adjtime"}, - {wrap().call, "sys_setsid"}, - {wrap().call, "sys_quotactl"}, - {wrap().call, "sys_nlm_syscall"}, - {wrap().call, "sys_nfssvc"}, - {wrap().call, "sys_lgetfh"}, - {wrap().call, "sys_getfh"}, - {wrap().call, "sys_sysarch"}, - {wrap().call, "sys_rtprio"}, - {wrap().call, "sys_semsys"}, - {wrap().call, "sys_msgsys"}, - {wrap().call, "sys_shmsys"}, - {wrap().call, "sys_freebsd6_pread"}, - {wrap().call, "sys_freebsd6_pwrite"}, - {wrap().call, "sys_setfib"}, - {wrap().call, "sys_ntp_adjtime"}, - {wrap().call, "sys_setgid"}, - {wrap().call, "sys_setegid"}, - {wrap().call, "sys_seteuid"}, - {wrap().call, "sys_stat"}, - {wrap().call, "sys_fstat"}, - {wrap().call, "sys_lstat"}, - {wrap().call, "sys_pathconf"}, - {wrap().call, "sys_fpathconf"}, - {wrap().call, "sys_getrlimit"}, - {wrap().call, "sys_setrlimit"}, - {wrap().call, "sys_getdirentries"}, - {wrap().call, "sys_freebsd6_mmap"}, - {wrap().call, "sys_freebsd6_lseek"}, - {wrap().call, "sys_freebsd6_truncate"}, - {wrap().call, "sys_freebsd6_ftruncate"}, - {wrap().call, "sys___sysctl"}, - {wrap().call, "sys_mlock"}, - {wrap().call, "sys_munlock"}, - {wrap().call, "sys_undelete"}, - {wrap().call, "sys_futimes"}, - {wrap().call, "sys_getpgid"}, - {wrap().call, "sys_poll"}, - {wrap().call, "sys_semget"}, - {wrap().call, "sys_semop"}, - {wrap().call, "sys_msgget"}, - {wrap().call, "sys_msgsnd"}, - {wrap().call, "sys_msgrcv"}, - {wrap().call, "sys_shmat"}, - {wrap().call, "sys_shmdt"}, - {wrap().call, "sys_shmget"}, - {wrap().call, "sys_clock_gettime"}, - {wrap().call, "sys_clock_settime"}, - {wrap().call, "sys_clock_getres"}, - {wrap().call, "sys_ktimer_create"}, - {wrap().call, "sys_ktimer_delete"}, - {wrap().call, "sys_ktimer_settime"}, - {wrap().call, "sys_ktimer_gettime"}, - {wrap().call, "sys_ktimer_getoverrun"}, - {wrap().call, "sys_nanosleep"}, - {wrap().call, "sys_ntp_gettime"}, - {wrap().call, "sys_minherit"}, - {wrap().call, "sys_rfork"}, - {wrap().call, "sys_openbsd_poll"}, - {wrap().call, "sys_issetugid"}, - {wrap().call, "sys_lchown"}, - {wrap().call, "sys_aio_read"}, - {wrap().call, "sys_aio_write"}, - {wrap().call, "sys_lio_listio"}, - {wrap().call, "sys_getdents"}, - {wrap().call, "sys_lchmod"}, - {wrap().call, "sys_lutimes"}, - {wrap().call, "sys_nstat"}, - {wrap().call, "sys_nfstat"}, - {wrap().call, "sys_nlstat"}, - {wrap().call, "sys_preadv"}, - {wrap().call, "sys_pwritev"}, - {wrap().call, "sys_fhopen"}, - {wrap().call, "sys_fhstat"}, - {wrap().call, "sys_modnext"}, - {wrap().call, "sys_modstat"}, - {wrap().call, "sys_modfnext"}, - {wrap().call, "sys_modfind"}, - {wrap().call, "sys_kldload"}, - {wrap().call, "sys_kldunload"}, - {wrap().call, "sys_kldfind"}, - {wrap().call, "sys_kldnext"}, - {wrap().call, "sys_kldstat"}, - {wrap().call, "sys_kldfirstmod"}, - {wrap().call, "sys_getsid"}, - {wrap().call, "sys_setresuid"}, - {wrap().call, "sys_setresgid"}, - {wrap().call, "sys_aio_return"}, - {wrap().call, "sys_aio_suspend"}, - {wrap().call, "sys_aio_cancel"}, - {wrap().call, "sys_aio_error"}, - {wrap().call, "sys_oaio_read"}, - {wrap().call, "sys_oaio_write"}, - {wrap().call, "sys_olio_listio"}, - {wrap().call, "sys_yield"}, - {wrap().call, "sys_mlockall"}, - {wrap().call, "sys_munlockall"}, - {wrap().call, "sys___getcwd"}, - {wrap().call, "sys_sched_setparam"}, - {wrap().call, "sys_sched_getparam"}, - {wrap().call, "sys_sched_setscheduler"}, - {wrap().call, "sys_sched_getscheduler"}, - {wrap().call, "sys_sched_yield"}, - {wrap().call, "sys_sched_get_priority_max"}, - {wrap().call, "sys_sched_get_priority_min"}, - {wrap().call, "sys_sched_rr_get_interval"}, - {wrap().call, "sys_utrace"}, - {wrap().call, "sys_kldsym"}, - {wrap().call, "sys_jail"}, - {wrap().call, "sys_nnpfs_syscall"}, - {wrap().call, "sys_sigprocmask"}, - {wrap().call, "sys_sigsuspend"}, - {wrap().call, "sys_sigpending"}, - {wrap().call, "sys_sigtimedwait"}, - {wrap().call, "sys_sigwaitinfo"}, - {wrap().call, "sys___acl_get_file"}, - {wrap().call, "sys___acl_set_file"}, - {wrap().call, "sys___acl_get_fd"}, - {wrap().call, "sys___acl_set_fd"}, - {wrap().call, "sys___acl_delete_file"}, - {wrap().call, "sys___acl_delete_fd"}, - {wrap().call, "sys___acl_aclcheck_file"}, - {wrap().call, "sys___acl_aclcheck_fd"}, - {wrap().call, "sys_extattrctl"}, - {wrap().call, "sys_extattr_set_file"}, - {wrap().call, "sys_extattr_get_file"}, - {wrap().call, "sys_extattr_delete_file"}, - {wrap().call, "sys_aio_waitcomplete"}, - {wrap().call, "sys_getresuid"}, - {wrap().call, "sys_getresgid"}, - {wrap().call, "sys_kqueue"}, - {wrap().call, "sys_kevent"}, - {wrap().call, "sys_extattr_set_fd"}, - {wrap().call, "sys_extattr_get_fd"}, - {wrap().call, "sys_extattr_delete_fd"}, - {wrap().call, "sys___setugid"}, - {wrap().call, "sys_eaccess"}, - {wrap().call, "sys_afs3_syscall"}, - {wrap().call, "sys_nmount"}, - {wrap().call, "sys___mac_get_proc"}, - {wrap().call, "sys___mac_set_proc"}, - {wrap().call, "sys___mac_get_fd"}, - {wrap().call, "sys___mac_get_file"}, - {wrap().call, "sys___mac_set_fd"}, - {wrap().call, "sys___mac_set_file"}, - {wrap().call, "sys_kenv"}, - {wrap().call, "sys_lchflags"}, - {wrap().call, "sys_uuidgen"}, - {wrap().call, "sys_sendfile"}, - {wrap().call, "sys_mac_syscall"}, - {wrap().call, "sys_getfsstat"}, - {wrap().call, "sys_statfs"}, - {wrap().call, "sys_fstatfs"}, - {wrap().call, "sys_fhstatfs"}, - {wrap().call, "sys_ksem_close"}, - {wrap().call, "sys_ksem_post"}, - {wrap().call, "sys_ksem_wait"}, - {wrap().call, "sys_ksem_trywait"}, - {wrap().call, "sys_ksem_init"}, - {wrap().call, "sys_ksem_open"}, - {wrap().call, "sys_ksem_unlink"}, - {wrap().call, "sys_ksem_getvalue"}, - {wrap().call, "sys_ksem_destroy"}, - {wrap().call, "sys___mac_get_pid"}, - {wrap().call, "sys___mac_get_link"}, - {wrap().call, "sys___mac_set_link"}, - {wrap().call, "sys_extattr_set_link"}, - {wrap().call, "sys_extattr_get_link"}, - {wrap().call, "sys_extattr_delete_link"}, - {wrap().call, "sys___mac_execve"}, - {wrap().call, "sys_sigaction"}, - {wrap().call, "sys_sigreturn"}, - {wrap().call, "sys_getcontext"}, - {wrap().call, "sys_setcontext"}, - {wrap().call, "sys_swapcontext"}, - {wrap().call, "sys_swapoff"}, - {wrap().call, "sys___acl_get_link"}, - {wrap().call, "sys___acl_set_link"}, - {wrap().call, "sys___acl_delete_link"}, - {wrap().call, "sys___acl_aclcheck_link"}, - {wrap().call, "sys_sigwait"}, - {wrap().call, "sys_thr_create"}, - {wrap().call, "sys_thr_exit"}, - {wrap().call, "sys_thr_self"}, - {wrap().call, "sys_thr_kill"}, - {wrap().call, "sys__umtx_lock"}, - {wrap().call, "sys__umtx_unlock"}, - {wrap().call, "sys_jail_attach"}, - {wrap().call, "sys_extattr_list_fd"}, - {wrap().call, "sys_extattr_list_file"}, - {wrap().call, "sys_extattr_list_link"}, - {wrap().call, "sys_ksem_timedwait"}, - {wrap().call, "sys_thr_suspend"}, - {wrap().call, "sys_thr_wake"}, - {wrap().call, "sys_kldunloadf"}, - {wrap().call, "sys_audit"}, - {wrap().call, "sys_auditon"}, - {wrap().call, "sys_getauid"}, - {wrap().call, "sys_setauid"}, - {wrap().call, "sys_getaudit"}, - {wrap().call, "sys_setaudit"}, - {wrap().call, "sys_getaudit_addr"}, - {wrap().call, "sys_setaudit_addr"}, - {wrap().call, "sys_auditctl"}, - {wrap().call, "sys__umtx_op"}, - {wrap().call, "sys_thr_new"}, - {wrap().call, "sys_sigqueue"}, - {wrap().call, "sys_kmq_open"}, - {wrap().call, "sys_kmq_setattr"}, - {wrap().call, "sys_kmq_timedreceive"}, - {wrap().call, "sys_kmq_timedsend"}, - {wrap().call, "sys_kmq_notify"}, - {wrap().call, "sys_kmq_unlink"}, - {wrap().call, "sys_abort2"}, - {wrap().call, "sys_thr_set_name"}, - {wrap().call, "sys_aio_fsync"}, - {wrap().call, "sys_rtprio_thread"}, - {wrap().call, "sys_sctp_peeloff"}, - {wrap().call, "sys_sctp_generic_sendmsg"}, - {wrap().call, +static constexpr std::pair + gImplToName[] = { + {sysImplPointer(), "nosys"}, + {sysImplPointer(), "sys_exit"}, + {sysImplPointer(), "sys_fork"}, + {sysImplPointer(), "sys_read"}, + {sysImplPointer(), "sys_write"}, + {sysImplPointer(), "sys_open"}, + {sysImplPointer(), "sys_close"}, + {sysImplPointer(), "sys_wait4"}, + {sysImplPointer(), "sys_link"}, + {sysImplPointer(), "sys_unlink"}, + {sysImplPointer(), "sys_chdir"}, + {sysImplPointer(), "sys_fchdir"}, + {sysImplPointer(), "sys_mknod"}, + {sysImplPointer(), "sys_chmod"}, + {sysImplPointer(), "sys_chown"}, + {sysImplPointer(), "sys_obreak"}, + {sysImplPointer(), "sys_getpid"}, + {sysImplPointer(), "sys_mount"}, + {sysImplPointer(), "sys_unmount"}, + {sysImplPointer(), "sys_setuid"}, + {sysImplPointer(), "sys_getuid"}, + {sysImplPointer(), "sys_geteuid"}, + {sysImplPointer(), "sys_ptrace"}, + {sysImplPointer(), "sys_recvmsg"}, + {sysImplPointer(), "sys_sendmsg"}, + {sysImplPointer(), "sys_recvfrom"}, + {sysImplPointer(), "sys_accept"}, + {sysImplPointer(), "sys_getpeername"}, + {sysImplPointer(), "sys_getsockname"}, + {sysImplPointer(), "sys_access"}, + {sysImplPointer(), "sys_chflags"}, + {sysImplPointer(), "sys_fchflags"}, + {sysImplPointer(), "sys_sync"}, + {sysImplPointer(), "sys_kill"}, + {sysImplPointer(), "sys_getppid"}, + {sysImplPointer(), "sys_dup"}, + {sysImplPointer(), "sys_pipe"}, + {sysImplPointer(), "sys_getegid"}, + {sysImplPointer(), "sys_profil"}, + {sysImplPointer(), "sys_ktrace"}, + {sysImplPointer(), "sys_getgid"}, + {sysImplPointer(), "sys_getlogin"}, + {sysImplPointer(), "sys_setlogin"}, + {sysImplPointer(), "sys_acct"}, + {sysImplPointer(), "sys_sigaltstack"}, + {sysImplPointer(), "sys_ioctl"}, + {sysImplPointer(), "sys_reboot"}, + {sysImplPointer(), "sys_revoke"}, + {sysImplPointer(), "sys_symlink"}, + {sysImplPointer(), "sys_readlink"}, + {sysImplPointer(), "sys_execve"}, + {sysImplPointer(), "sys_umask"}, + {sysImplPointer(), "sys_chroot"}, + {sysImplPointer(), "sys_msync"}, + {sysImplPointer(), "sys_vfork"}, + {sysImplPointer(), "sys_sbrk"}, + {sysImplPointer(), "sys_sstk"}, + {sysImplPointer(), "sys_ovadvise"}, + {sysImplPointer(), "sys_munmap"}, + {sysImplPointer(), "sys_mprotect"}, + {sysImplPointer(), "sys_madvise"}, + {sysImplPointer(), "sys_mincore"}, + {sysImplPointer(), "sys_getgroups"}, + {sysImplPointer(), "sys_setgroups"}, + {sysImplPointer(), "sys_getpgrp"}, + {sysImplPointer(), "sys_setpgid"}, + {sysImplPointer(), "sys_setitimer"}, + {sysImplPointer(), "sys_swapon"}, + {sysImplPointer(), "sys_getitimer"}, + {sysImplPointer(), "sys_getdtablesize"}, + {sysImplPointer(), "sys_dup2"}, + {sysImplPointer(), "sys_fcntl"}, + {sysImplPointer(), "sys_select"}, + {sysImplPointer(), "sys_fsync"}, + {sysImplPointer(), "sys_setpriority"}, + {sysImplPointer(), "sys_socket"}, + {sysImplPointer(), "sys_connect"}, + {sysImplPointer(), "sys_getpriority"}, + {sysImplPointer(), "sys_bind"}, + {sysImplPointer(), "sys_setsockopt"}, + {sysImplPointer(), "sys_listen"}, + {sysImplPointer(), "sys_gettimeofday"}, + {sysImplPointer(), "sys_getrusage"}, + {sysImplPointer(), "sys_getsockopt"}, + {sysImplPointer(), "sys_readv"}, + {sysImplPointer(), "sys_writev"}, + {sysImplPointer(), "sys_settimeofday"}, + {sysImplPointer(), "sys_fchown"}, + {sysImplPointer(), "sys_fchmod"}, + {sysImplPointer(), "sys_setreuid"}, + {sysImplPointer(), "sys_setregid"}, + {sysImplPointer(), "sys_rename"}, + {sysImplPointer(), "sys_flock"}, + {sysImplPointer(), "sys_mkfifo"}, + {sysImplPointer(), "sys_sendto"}, + {sysImplPointer(), "sys_shutdown"}, + {sysImplPointer(), "sys_socketpair"}, + {sysImplPointer(), "sys_mkdir"}, + {sysImplPointer(), "sys_rmdir"}, + {sysImplPointer(), "sys_utimes"}, + {sysImplPointer(), "sys_adjtime"}, + {sysImplPointer(), "sys_setsid"}, + {sysImplPointer(), "sys_quotactl"}, + {sysImplPointer(), "sys_nlm_syscall"}, + {sysImplPointer(), "sys_nfssvc"}, + {sysImplPointer(), "sys_lgetfh"}, + {sysImplPointer(), "sys_getfh"}, + {sysImplPointer(), "sys_sysarch"}, + {sysImplPointer(), "sys_rtprio"}, + {sysImplPointer(), "sys_semsys"}, + {sysImplPointer(), "sys_msgsys"}, + {sysImplPointer(), "sys_shmsys"}, + {sysImplPointer(), "sys_freebsd6_pread"}, + {sysImplPointer(), "sys_freebsd6_pwrite"}, + {sysImplPointer(), "sys_setfib"}, + {sysImplPointer(), "sys_ntp_adjtime"}, + {sysImplPointer(), "sys_setgid"}, + {sysImplPointer(), "sys_setegid"}, + {sysImplPointer(), "sys_seteuid"}, + {sysImplPointer(), "sys_stat"}, + {sysImplPointer(), "sys_fstat"}, + {sysImplPointer(), "sys_lstat"}, + {sysImplPointer(), "sys_pathconf"}, + {sysImplPointer(), "sys_fpathconf"}, + {sysImplPointer(), "sys_getrlimit"}, + {sysImplPointer(), "sys_setrlimit"}, + {sysImplPointer(), "sys_getdirentries"}, + {sysImplPointer(), "sys_freebsd6_mmap"}, + {sysImplPointer(), "sys_freebsd6_lseek"}, + {sysImplPointer(), "sys_freebsd6_truncate"}, + {sysImplPointer(), "sys_freebsd6_ftruncate"}, + {sysImplPointer(), "sys___sysctl"}, + {sysImplPointer(), "sys_mlock"}, + {sysImplPointer(), "sys_munlock"}, + {sysImplPointer(), "sys_undelete"}, + {sysImplPointer(), "sys_futimes"}, + {sysImplPointer(), "sys_getpgid"}, + {sysImplPointer(), "sys_poll"}, + {sysImplPointer(), "sys_semget"}, + {sysImplPointer(), "sys_semop"}, + {sysImplPointer(), "sys_msgget"}, + {sysImplPointer(), "sys_msgsnd"}, + {sysImplPointer(), "sys_msgrcv"}, + {sysImplPointer(), "sys_shmat"}, + {sysImplPointer(), "sys_shmdt"}, + {sysImplPointer(), "sys_shmget"}, + {sysImplPointer(), "sys_clock_gettime"}, + {sysImplPointer(), "sys_clock_settime"}, + {sysImplPointer(), "sys_clock_getres"}, + {sysImplPointer(), "sys_ktimer_create"}, + {sysImplPointer(), "sys_ktimer_delete"}, + {sysImplPointer(), "sys_ktimer_settime"}, + {sysImplPointer(), "sys_ktimer_gettime"}, + {sysImplPointer(), "sys_ktimer_getoverrun"}, + {sysImplPointer(), "sys_nanosleep"}, + {sysImplPointer(), "sys_ntp_gettime"}, + {sysImplPointer(), "sys_minherit"}, + {sysImplPointer(), "sys_rfork"}, + {sysImplPointer(), "sys_openbsd_poll"}, + {sysImplPointer(), "sys_issetugid"}, + {sysImplPointer(), "sys_lchown"}, + {sysImplPointer(), "sys_aio_read"}, + {sysImplPointer(), "sys_aio_write"}, + {sysImplPointer(), "sys_lio_listio"}, + {sysImplPointer(), "sys_getdents"}, + {sysImplPointer(), "sys_lchmod"}, + {sysImplPointer(), "sys_lutimes"}, + {sysImplPointer(), "sys_nstat"}, + {sysImplPointer(), "sys_nfstat"}, + {sysImplPointer(), "sys_nlstat"}, + {sysImplPointer(), "sys_preadv"}, + {sysImplPointer(), "sys_pwritev"}, + {sysImplPointer(), "sys_fhopen"}, + {sysImplPointer(), "sys_fhstat"}, + {sysImplPointer(), "sys_modnext"}, + {sysImplPointer(), "sys_modstat"}, + {sysImplPointer(), "sys_modfnext"}, + {sysImplPointer(), "sys_modfind"}, + {sysImplPointer(), "sys_kldload"}, + {sysImplPointer(), "sys_kldunload"}, + {sysImplPointer(), "sys_kldfind"}, + {sysImplPointer(), "sys_kldnext"}, + {sysImplPointer(), "sys_kldstat"}, + {sysImplPointer(), "sys_kldfirstmod"}, + {sysImplPointer(), "sys_getsid"}, + {sysImplPointer(), "sys_setresuid"}, + {sysImplPointer(), "sys_setresgid"}, + {sysImplPointer(), "sys_aio_return"}, + {sysImplPointer(), "sys_aio_suspend"}, + {sysImplPointer(), "sys_aio_cancel"}, + {sysImplPointer(), "sys_aio_error"}, + {sysImplPointer(), "sys_oaio_read"}, + {sysImplPointer(), "sys_oaio_write"}, + {sysImplPointer(), "sys_olio_listio"}, + {sysImplPointer(), "sys_yield"}, + {sysImplPointer(), "sys_mlockall"}, + {sysImplPointer(), "sys_munlockall"}, + {sysImplPointer(), "sys___getcwd"}, + {sysImplPointer(), "sys_sched_setparam"}, + {sysImplPointer(), "sys_sched_getparam"}, + {sysImplPointer(), "sys_sched_setscheduler"}, + {sysImplPointer(), "sys_sched_getscheduler"}, + {sysImplPointer(), "sys_sched_yield"}, + {sysImplPointer(), + "sys_sched_get_priority_max"}, + {sysImplPointer(), + "sys_sched_get_priority_min"}, + {sysImplPointer(), + "sys_sched_rr_get_interval"}, + {sysImplPointer(), "sys_utrace"}, + {sysImplPointer(), "sys_kldsym"}, + {sysImplPointer(), "sys_jail"}, + {sysImplPointer(), "sys_nnpfs_syscall"}, + {sysImplPointer(), "sys_sigprocmask"}, + {sysImplPointer(), "sys_sigsuspend"}, + {sysImplPointer(), "sys_sigpending"}, + {sysImplPointer(), "sys_sigtimedwait"}, + {sysImplPointer(), "sys_sigwaitinfo"}, + {sysImplPointer(), "sys___acl_get_file"}, + {sysImplPointer(), "sys___acl_set_file"}, + {sysImplPointer(), "sys___acl_get_fd"}, + {sysImplPointer(), "sys___acl_set_fd"}, + {sysImplPointer(), "sys___acl_delete_file"}, + {sysImplPointer(), "sys___acl_delete_fd"}, + {sysImplPointer(), "sys___acl_aclcheck_file"}, + {sysImplPointer(), "sys___acl_aclcheck_fd"}, + {sysImplPointer(), "sys_extattrctl"}, + {sysImplPointer(), "sys_extattr_set_file"}, + {sysImplPointer(), "sys_extattr_get_file"}, + {sysImplPointer(), "sys_extattr_delete_file"}, + {sysImplPointer(), "sys_aio_waitcomplete"}, + {sysImplPointer(), "sys_getresuid"}, + {sysImplPointer(), "sys_getresgid"}, + {sysImplPointer(), "sys_kqueue"}, + {sysImplPointer(), "sys_kevent"}, + {sysImplPointer(), "sys_extattr_set_fd"}, + {sysImplPointer(), "sys_extattr_get_fd"}, + {sysImplPointer(), "sys_extattr_delete_fd"}, + {sysImplPointer(), "sys___setugid"}, + {sysImplPointer(), "sys_eaccess"}, + {sysImplPointer(), "sys_afs3_syscall"}, + {sysImplPointer(), "sys_nmount"}, + {sysImplPointer(), "sys___mac_get_proc"}, + {sysImplPointer(), "sys___mac_set_proc"}, + {sysImplPointer(), "sys___mac_get_fd"}, + {sysImplPointer(), "sys___mac_get_file"}, + {sysImplPointer(), "sys___mac_set_fd"}, + {sysImplPointer(), "sys___mac_set_file"}, + {sysImplPointer(), "sys_kenv"}, + {sysImplPointer(), "sys_lchflags"}, + {sysImplPointer(), "sys_uuidgen"}, + {sysImplPointer(), "sys_sendfile"}, + {sysImplPointer(), "sys_mac_syscall"}, + {sysImplPointer(), "sys_getfsstat"}, + {sysImplPointer(), "sys_statfs"}, + {sysImplPointer(), "sys_fstatfs"}, + {sysImplPointer(), "sys_fhstatfs"}, + {sysImplPointer(), "sys_ksem_close"}, + {sysImplPointer(), "sys_ksem_post"}, + {sysImplPointer(), "sys_ksem_wait"}, + {sysImplPointer(), "sys_ksem_trywait"}, + {sysImplPointer(), "sys_ksem_init"}, + {sysImplPointer(), "sys_ksem_open"}, + {sysImplPointer(), "sys_ksem_unlink"}, + {sysImplPointer(), "sys_ksem_getvalue"}, + {sysImplPointer(), "sys_ksem_destroy"}, + {sysImplPointer(), "sys___mac_get_pid"}, + {sysImplPointer(), "sys___mac_get_link"}, + {sysImplPointer(), "sys___mac_set_link"}, + {sysImplPointer(), "sys_extattr_set_link"}, + {sysImplPointer(), "sys_extattr_get_link"}, + {sysImplPointer(), "sys_extattr_delete_link"}, + {sysImplPointer(), "sys___mac_execve"}, + {sysImplPointer(), "sys_sigaction"}, + {sysImplPointer(), "sys_sigreturn"}, + {sysImplPointer(), "sys_getcontext"}, + {sysImplPointer(), "sys_setcontext"}, + {sysImplPointer(), "sys_swapcontext"}, + {sysImplPointer(), "sys_swapoff"}, + {sysImplPointer(), "sys___acl_get_link"}, + {sysImplPointer(), "sys___acl_set_link"}, + {sysImplPointer(), "sys___acl_delete_link"}, + {sysImplPointer(), "sys___acl_aclcheck_link"}, + {sysImplPointer(), "sys_sigwait"}, + {sysImplPointer(), "sys_thr_create"}, + {sysImplPointer(), "sys_thr_exit"}, + {sysImplPointer(), "sys_thr_self"}, + {sysImplPointer(), "sys_thr_kill"}, + {sysImplPointer(), "sys__umtx_lock"}, + {sysImplPointer(), "sys__umtx_unlock"}, + {sysImplPointer(), "sys_jail_attach"}, + {sysImplPointer(), "sys_extattr_list_fd"}, + {sysImplPointer(), "sys_extattr_list_file"}, + {sysImplPointer(), "sys_extattr_list_link"}, + {sysImplPointer(), "sys_ksem_timedwait"}, + {sysImplPointer(), "sys_thr_suspend"}, + {sysImplPointer(), "sys_thr_wake"}, + {sysImplPointer(), "sys_kldunloadf"}, + {sysImplPointer(), "sys_audit"}, + {sysImplPointer(), "sys_auditon"}, + {sysImplPointer(), "sys_getauid"}, + {sysImplPointer(), "sys_setauid"}, + {sysImplPointer(), "sys_getaudit"}, + {sysImplPointer(), "sys_setaudit"}, + {sysImplPointer(), "sys_getaudit_addr"}, + {sysImplPointer(), "sys_setaudit_addr"}, + {sysImplPointer(), "sys_auditctl"}, + {sysImplPointer(), "sys__umtx_op"}, + {sysImplPointer(), "sys_thr_new"}, + {sysImplPointer(), "sys_sigqueue"}, + {sysImplPointer(), "sys_kmq_open"}, + {sysImplPointer(), "sys_kmq_setattr"}, + {sysImplPointer(), "sys_kmq_timedreceive"}, + {sysImplPointer(), "sys_kmq_timedsend"}, + {sysImplPointer(), "sys_kmq_notify"}, + {sysImplPointer(), "sys_kmq_unlink"}, + {sysImplPointer(), "sys_abort2"}, + {sysImplPointer(), "sys_thr_set_name"}, + {sysImplPointer(), "sys_aio_fsync"}, + {sysImplPointer(), "sys_rtprio_thread"}, + {sysImplPointer(), "sys_sctp_peeloff"}, + {sysImplPointer(), + "sys_sctp_generic_sendmsg"}, + {sysImplPointer(), "sys_sctp_generic_sendmsg_iov"}, - {wrap().call, "sys_sctp_generic_recvmsg"}, - {wrap().call, "sys_pread"}, - {wrap().call, "sys_pwrite"}, - {wrap().call, "sys_mmap"}, - {wrap().call, "sys_lseek"}, - {wrap().call, "sys_truncate"}, - {wrap().call, "sys_ftruncate"}, - {wrap().call, "sys_thr_kill2"}, - {wrap().call, "sys_shm_open"}, - {wrap().call, "sys_shm_unlink"}, - {wrap().call, "sys_cpuset"}, - {wrap().call, "sys_cpuset_setid"}, - {wrap().call, "sys_cpuset_getid"}, - {wrap().call, "sys_cpuset_getaffinity"}, - {wrap().call, "sys_cpuset_setaffinity"}, - {wrap().call, "sys_faccessat"}, - {wrap().call, "sys_fchmodat"}, - {wrap().call, "sys_fchownat"}, - {wrap().call, "sys_fexecve"}, - {wrap().call, "sys_fstatat"}, - {wrap().call, "sys_futimesat"}, - {wrap().call, "sys_linkat"}, - {wrap().call, "sys_mkdirat"}, - {wrap().call, "sys_mkfifoat"}, - {wrap().call, "sys_mknodat"}, - {wrap().call, "sys_openat"}, - {wrap().call, "sys_readlinkat"}, - {wrap().call, "sys_renameat"}, - {wrap().call, "sys_symlinkat"}, - {wrap().call, "sys_unlinkat"}, - {wrap().call, "sys_posix_openpt"}, - {wrap().call, "sys_gssd_syscall"}, - {wrap().call, "sys_jail_get"}, - {wrap().call, "sys_jail_set"}, - {wrap().call, "sys_jail_remove"}, - {wrap().call, "sys_closefrom"}, - {wrap().call, "sys___semctl"}, - {wrap().call, "sys_msgctl"}, - {wrap().call, "sys_shmctl"}, - {wrap().call, "sys_lpathconf"}, - {wrap().call, "sys_cap_new"}, - {wrap().call, "sys_cap_getrights"}, - {wrap().call, "sys_cap_enter"}, - {wrap().call, "sys_cap_getmode"}, - {wrap().call, "sys_pdfork"}, - {wrap().call, "sys_pdkill"}, - {wrap().call, "sys_pdgetpid"}, - {wrap().call, "sys_pselect"}, - {wrap().call, "sys_getloginclass"}, - {wrap().call, "sys_setloginclass"}, - {wrap().call, "sys_rctl_get_racct"}, - {wrap().call, "sys_rctl_get_rules"}, - {wrap().call, "sys_rctl_get_limits"}, - {wrap().call, "sys_rctl_add_rule"}, - {wrap().call, "sys_rctl_remove_rule"}, - {wrap().call, "sys_posix_fallocate"}, - {wrap().call, "sys_posix_fadvise"}, - {wrap().call, "sys_netcontrol"}, - {wrap().call, "sys_netabort"}, - {wrap().call, "sys_netgetsockinfo"}, - {wrap().call, "sys_socketex"}, - {wrap().call, "sys_socketclose"}, - {wrap().call, "sys_netgetiflist"}, - {wrap().call, "sys_kqueueex"}, - {wrap().call, "sys_mtypeprotect"}, - {wrap().call, "sys_regmgr_call"}, - {wrap().call, "sys_jitshm_create"}, - {wrap().call, "sys_jitshm_alias"}, - {wrap().call, "sys_dl_get_list"}, - {wrap().call, "sys_dl_get_info"}, - {wrap().call, "sys_dl_notify_event"}, - {wrap().call, "sys_evf_create"}, - {wrap().call, "sys_evf_delete"}, - {wrap().call, "sys_evf_open"}, - {wrap().call, "sys_evf_close"}, - {wrap().call, "sys_evf_wait"}, - {wrap().call, "sys_evf_trywait"}, - {wrap().call, "sys_evf_set"}, - {wrap().call, "sys_evf_clear"}, - {wrap().call, "sys_evf_cancel"}, - {wrap().call, + {sysImplPointer(), + "sys_sctp_generic_recvmsg"}, + {sysImplPointer(), "sys_pread"}, + {sysImplPointer(), "sys_pwrite"}, + {sysImplPointer(), "sys_mmap"}, + {sysImplPointer(), "sys_lseek"}, + {sysImplPointer(), "sys_truncate"}, + {sysImplPointer(), "sys_ftruncate"}, + {sysImplPointer(), "sys_thr_kill2"}, + {sysImplPointer(), "sys_shm_open"}, + {sysImplPointer(), "sys_shm_unlink"}, + {sysImplPointer(), "sys_cpuset"}, + {sysImplPointer(), "sys_cpuset_setid"}, + {sysImplPointer(), "sys_cpuset_getid"}, + {sysImplPointer(), "sys_cpuset_getaffinity"}, + {sysImplPointer(), "sys_cpuset_setaffinity"}, + {sysImplPointer(), "sys_faccessat"}, + {sysImplPointer(), "sys_fchmodat"}, + {sysImplPointer(), "sys_fchownat"}, + {sysImplPointer(), "sys_fexecve"}, + {sysImplPointer(), "sys_fstatat"}, + {sysImplPointer(), "sys_futimesat"}, + {sysImplPointer(), "sys_linkat"}, + {sysImplPointer(), "sys_mkdirat"}, + {sysImplPointer(), "sys_mkfifoat"}, + {sysImplPointer(), "sys_mknodat"}, + {sysImplPointer(), "sys_openat"}, + {sysImplPointer(), "sys_readlinkat"}, + {sysImplPointer(), "sys_renameat"}, + {sysImplPointer(), "sys_symlinkat"}, + {sysImplPointer(), "sys_unlinkat"}, + {sysImplPointer(), "sys_posix_openpt"}, + {sysImplPointer(), "sys_gssd_syscall"}, + {sysImplPointer(), "sys_jail_get"}, + {sysImplPointer(), "sys_jail_set"}, + {sysImplPointer(), "sys_jail_remove"}, + {sysImplPointer(), "sys_closefrom"}, + {sysImplPointer(), "sys___semctl"}, + {sysImplPointer(), "sys_msgctl"}, + {sysImplPointer(), "sys_shmctl"}, + {sysImplPointer(), "sys_lpathconf"}, + {sysImplPointer(), "sys_cap_new"}, + {sysImplPointer(), "sys_cap_getrights"}, + {sysImplPointer(), "sys_cap_enter"}, + {sysImplPointer(), "sys_cap_getmode"}, + {sysImplPointer(), "sys_pdfork"}, + {sysImplPointer(), "sys_pdkill"}, + {sysImplPointer(), "sys_pdgetpid"}, + {sysImplPointer(), "sys_pselect"}, + {sysImplPointer(), "sys_getloginclass"}, + {sysImplPointer(), "sys_setloginclass"}, + {sysImplPointer(), "sys_rctl_get_racct"}, + {sysImplPointer(), "sys_rctl_get_rules"}, + {sysImplPointer(), "sys_rctl_get_limits"}, + {sysImplPointer(), "sys_rctl_add_rule"}, + {sysImplPointer(), "sys_rctl_remove_rule"}, + {sysImplPointer(), "sys_posix_fallocate"}, + {sysImplPointer(), "sys_posix_fadvise"}, + {sysImplPointer(), "sys_netcontrol"}, + {sysImplPointer(), "sys_netabort"}, + {sysImplPointer(), "sys_netgetsockinfo"}, + {sysImplPointer(), "sys_socketex"}, + {sysImplPointer(), "sys_socketclose"}, + {sysImplPointer(), "sys_netgetiflist"}, + {sysImplPointer(), "sys_kqueueex"}, + {sysImplPointer(), "sys_mtypeprotect"}, + {sysImplPointer(), "sys_regmgr_call"}, + {sysImplPointer(), "sys_jitshm_create"}, + {sysImplPointer(), "sys_jitshm_alias"}, + {sysImplPointer(), "sys_dl_get_list"}, + {sysImplPointer(), "sys_dl_get_info"}, + {sysImplPointer(), "sys_dl_notify_event"}, + {sysImplPointer(), "sys_evf_create"}, + {sysImplPointer(), "sys_evf_delete"}, + {sysImplPointer(), "sys_evf_open"}, + {sysImplPointer(), "sys_evf_close"}, + {sysImplPointer(), "sys_evf_wait"}, + {sysImplPointer(), "sys_evf_trywait"}, + {sysImplPointer(), "sys_evf_set"}, + {sysImplPointer(), "sys_evf_clear"}, + {sysImplPointer(), "sys_evf_cancel"}, + {sysImplPointer(), "sys_query_memory_protection"}, - {wrap().call, "sys_batch_map"}, - {wrap().call, "sys_osem_create"}, - {wrap().call, "sys_osem_delete"}, - {wrap().call, "sys_osem_open"}, - {wrap().call, "sys_osem_close"}, - {wrap().call, "sys_osem_wait"}, - {wrap().call, "sys_osem_trywait"}, - {wrap().call, "sys_osem_post"}, - {wrap().call, "sys_osem_cancel"}, - {wrap().call, "sys_namedobj_create"}, - {wrap().call, "sys_namedobj_delete"}, - {wrap().call, "sys_set_vm_container"}, - {wrap().call, "sys_debug_init"}, - {wrap().call, "sys_suspend_process"}, - {wrap().call, "sys_resume_process"}, - {wrap().call, "sys_opmc_enable"}, - {wrap().call, "sys_opmc_disable"}, - {wrap().call, "sys_opmc_set_ctl"}, - {wrap().call, "sys_opmc_set_ctr"}, - {wrap().call, "sys_opmc_get_ctr"}, - {wrap().call, "sys_budget_create"}, - {wrap().call, "sys_budget_delete"}, - {wrap().call, "sys_budget_get"}, - {wrap().call, "sys_budget_set"}, - {wrap().call, "sys_virtual_query"}, - {wrap().call, "sys_mdbg_call"}, - {wrap().call, "sys_obs_sblock_create"}, - {wrap().call, "sys_obs_sblock_delete"}, - {wrap().call, "sys_obs_sblock_enter"}, - {wrap().call, "sys_obs_sblock_exit"}, - {wrap().call, "sys_obs_sblock_xenter"}, - {wrap().call, "sys_obs_sblock_xexit"}, - {wrap().call, "sys_obs_eport_create"}, - {wrap().call, "sys_obs_eport_delete"}, - {wrap().call, "sys_obs_eport_trigger"}, - {wrap().call, "sys_obs_eport_open"}, - {wrap().call, "sys_obs_eport_close"}, - {wrap().call, "sys_is_in_sandbox"}, - {wrap().call, "sys_dmem_container"}, - {wrap().call, "sys_get_authinfo"}, - {wrap().call, "sys_mname"}, - {wrap().call, "sys_dynlib_dlopen"}, - {wrap().call, "sys_dynlib_dlclose"}, - {wrap().call, "sys_dynlib_dlsym"}, - {wrap().call, "sys_dynlib_get_list"}, - {wrap().call, "sys_dynlib_get_info"}, - {wrap().call, "sys_dynlib_load_prx"}, - {wrap().call, "sys_dynlib_unload_prx"}, - {wrap().call, + {sysImplPointer(), "sys_batch_map"}, + {sysImplPointer(), "sys_osem_create"}, + {sysImplPointer(), "sys_osem_delete"}, + {sysImplPointer(), "sys_osem_open"}, + {sysImplPointer(), "sys_osem_close"}, + {sysImplPointer(), "sys_osem_wait"}, + {sysImplPointer(), "sys_osem_trywait"}, + {sysImplPointer(), "sys_osem_post"}, + {sysImplPointer(), "sys_osem_cancel"}, + {sysImplPointer(), "sys_namedobj_create"}, + {sysImplPointer(), "sys_namedobj_delete"}, + {sysImplPointer(), "sys_set_vm_container"}, + {sysImplPointer(), "sys_debug_init"}, + {sysImplPointer(), "sys_suspend_process"}, + {sysImplPointer(), "sys_resume_process"}, + {sysImplPointer(), "sys_opmc_enable"}, + {sysImplPointer(), "sys_opmc_disable"}, + {sysImplPointer(), "sys_opmc_set_ctl"}, + {sysImplPointer(), "sys_opmc_set_ctr"}, + {sysImplPointer(), "sys_opmc_get_ctr"}, + {sysImplPointer(), "sys_budget_create"}, + {sysImplPointer(), "sys_budget_delete"}, + {sysImplPointer(), "sys_budget_get"}, + {sysImplPointer(), "sys_budget_set"}, + {sysImplPointer(), "sys_virtual_query"}, + {sysImplPointer(), "sys_mdbg_call"}, + {sysImplPointer(), "sys_obs_sblock_create"}, + {sysImplPointer(), "sys_obs_sblock_delete"}, + {sysImplPointer(), "sys_obs_sblock_enter"}, + {sysImplPointer(), "sys_obs_sblock_exit"}, + {sysImplPointer(), "sys_obs_sblock_xenter"}, + {sysImplPointer(), "sys_obs_sblock_xexit"}, + {sysImplPointer(), "sys_obs_eport_create"}, + {sysImplPointer(), "sys_obs_eport_delete"}, + {sysImplPointer(), "sys_obs_eport_trigger"}, + {sysImplPointer(), "sys_obs_eport_open"}, + {sysImplPointer(), "sys_obs_eport_close"}, + {sysImplPointer(), "sys_is_in_sandbox"}, + {sysImplPointer(), "sys_dmem_container"}, + {sysImplPointer(), "sys_get_authinfo"}, + {sysImplPointer(), "sys_mname"}, + {sysImplPointer(), "sys_dynlib_dlopen"}, + {sysImplPointer(), "sys_dynlib_dlclose"}, + {sysImplPointer(), "sys_dynlib_dlsym"}, + {sysImplPointer(), "sys_dynlib_get_list"}, + {sysImplPointer(), "sys_dynlib_get_info"}, + {sysImplPointer(), "sys_dynlib_load_prx"}, + {sysImplPointer(), "sys_dynlib_unload_prx"}, + {sysImplPointer(), "sys_dynlib_do_copy_relocations"}, - {wrap().call, "sys_dynlib_prepare_dlclose"}, - {wrap().call, "sys_dynlib_get_proc_param"}, - {wrap().call, + {sysImplPointer(), + "sys_dynlib_prepare_dlclose"}, + {sysImplPointer(), + "sys_dynlib_get_proc_param"}, + {sysImplPointer(), "sys_dynlib_process_needed_and_relocate"}, - {wrap().call, "sys_sandbox_path"}, - {wrap().call, "sys_mdbg_service"}, - {wrap().call, "sys_randomized_path"}, - {wrap().call, "sys_rdup"}, - {wrap().call, "sys_dl_get_metadata"}, - {wrap().call, "sys_workaround8849"}, - {wrap().call, "sys_is_development_mode"}, - {wrap().call, "sys_get_self_auth_info"}, - {wrap().call, "sys_dynlib_get_info_ex"}, - {wrap().call, "sys_budget_getid"}, - {wrap().call, "sys_budget_get_ptype"}, - {wrap().call, + {sysImplPointer(), "sys_sandbox_path"}, + {sysImplPointer(), "sys_mdbg_service"}, + {sysImplPointer(), "sys_randomized_path"}, + {sysImplPointer(), "sys_rdup"}, + {sysImplPointer(), "sys_dl_get_metadata"}, + {sysImplPointer(), "sys_workaround8849"}, + {sysImplPointer(), "sys_is_development_mode"}, + {sysImplPointer(), "sys_get_self_auth_info"}, + {sysImplPointer(), "sys_dynlib_get_info_ex"}, + {sysImplPointer(), "sys_budget_getid"}, + {sysImplPointer(), "sys_budget_get_ptype"}, + {sysImplPointer(), "sys_get_paging_stats_of_all_threads"}, - {wrap().call, "sys_get_proc_type_info"}, - {wrap().call, "sys_get_resident_count"}, - {wrap().call, + {sysImplPointer(), "sys_get_proc_type_info"}, + {sysImplPointer(), "sys_get_resident_count"}, + {sysImplPointer(), "sys_prepare_to_suspend_process"}, - {wrap().call, + {sysImplPointer(), "sys_get_resident_fmem_count"}, - {wrap().call, "sys_thr_get_name"}, - {wrap().call, "sys_set_gpo"}, - {wrap().call, + {sysImplPointer(), "sys_thr_get_name"}, + {sysImplPointer(), "sys_set_gpo"}, + {sysImplPointer(), "sys_get_paging_stats_of_all_objects"}, - {wrap().call, "sys_test_debug_rwmem"}, - {wrap().call, "sys_free_stack"}, - {wrap().call, "sys_suspend_system"}, - {wrap().call, "sys_ipmimgr_call"}, - {wrap().call, "sys_get_gpo"}, - {wrap().call, "sys_get_vm_map_timestamp"}, - {wrap().call, "sys_opmc_set_hw"}, - {wrap().call, "sys_opmc_get_hw"}, - {wrap().call, "sys_get_cpu_usage_all"}, - {wrap().call, "sys_mmap_dmem"}, - {wrap().call, "sys_physhm_open"}, - {wrap().call, "sys_physhm_unlink"}, - {wrap().call, "sys_resume_internal_hdd"}, - {wrap().call, "sys_thr_suspend_ucontext"}, - {wrap().call, "sys_thr_resume_ucontext"}, - {wrap().call, "sys_thr_get_ucontext"}, - {wrap().call, "sys_thr_set_ucontext"}, - {wrap().call, "sys_set_timezone_info"}, - {wrap().call, "sys_set_phys_fmem_limit"}, - {wrap().call, "sys_utc_to_localtime"}, - {wrap().call, "sys_localtime_to_utc"}, - {wrap().call, "sys_set_uevt"}, - {wrap().call, "sys_get_cpu_usage_proc"}, - {wrap().call, "sys_get_map_statistics"}, - {wrap().call, "sys_set_chicken_switches"}, - {wrap().call, "sys_extend_page_table_pool"}, - {wrap().call, + {sysImplPointer(), "sys_test_debug_rwmem"}, + {sysImplPointer(), "sys_free_stack"}, + {sysImplPointer(), "sys_suspend_system"}, + {sysImplPointer(), "sys_ipmimgr_call"}, + {sysImplPointer(), "sys_get_gpo"}, + {sysImplPointer(), + "sys_get_vm_map_timestamp"}, + {sysImplPointer(), "sys_opmc_set_hw"}, + {sysImplPointer(), "sys_opmc_get_hw"}, + {sysImplPointer(), "sys_get_cpu_usage_all"}, + {sysImplPointer(), "sys_mmap_dmem"}, + {sysImplPointer(), "sys_physhm_open"}, + {sysImplPointer(), "sys_physhm_unlink"}, + {sysImplPointer(), "sys_resume_internal_hdd"}, + {sysImplPointer(), + "sys_thr_suspend_ucontext"}, + {sysImplPointer(), "sys_thr_resume_ucontext"}, + {sysImplPointer(), "sys_thr_get_ucontext"}, + {sysImplPointer(), "sys_thr_set_ucontext"}, + {sysImplPointer(), "sys_set_timezone_info"}, + {sysImplPointer(), "sys_set_phys_fmem_limit"}, + {sysImplPointer(), "sys_utc_to_localtime"}, + {sysImplPointer(), "sys_localtime_to_utc"}, + {sysImplPointer(), "sys_set_uevt"}, + {sysImplPointer(), "sys_get_cpu_usage_proc"}, + {sysImplPointer(), "sys_get_map_statistics"}, + {sysImplPointer(), + "sys_set_chicken_switches"}, + {sysImplPointer(), + "sys_extend_page_table_pool"}, + {sysImplPointer(), "sys_extend_page_table_pool2"}, - {wrap().call, + {sysImplPointer(), "sys_get_kernel_mem_statistics"}, - {wrap().call, + {sysImplPointer(), "sys_get_sdk_compiled_version"}, - {wrap().call, "sys_app_state_change"}, - {wrap().call, "sys_dynlib_get_obj_member"}, - {wrap().call, + {sysImplPointer(), "sys_app_state_change"}, + {sysImplPointer(), + "sys_dynlib_get_obj_member"}, + {sysImplPointer(), "sys_budget_get_ptype_of_budget"}, - {wrap().call, + {sysImplPointer(), "sys_prepare_to_resume_process"}, - {wrap().call, "sys_process_terminate"}, - {wrap().call, "sys_blockpool_open"}, - {wrap().call, "sys_blockpool_map"}, - {wrap().call, "sys_blockpool_unmap"}, - {wrap().call, + {sysImplPointer(), "sys_process_terminate"}, + {sysImplPointer(), "sys_blockpool_open"}, + {sysImplPointer(), "sys_blockpool_map"}, + {sysImplPointer(), "sys_blockpool_unmap"}, + {sysImplPointer(), "sys_dynlib_get_info_for_libdbg"}, - {wrap().call, "sys_blockpool_batch"}, - {wrap().call, "sys_fdatasync"}, - {wrap().call, "sys_dynlib_get_list2"}, - {wrap().call, "sys_dynlib_get_info2"}, - {wrap().call, "sys_aio_submit"}, - {wrap().call, "sys_aio_multi_delete"}, - {wrap().call, "sys_aio_multi_wait"}, - {wrap().call, "sys_aio_multi_poll"}, - {wrap().call, "sys_aio_get_data"}, - {wrap().call, "sys_aio_multi_cancel"}, - {wrap().call, "sys_get_bio_usage_all"}, - {wrap().call, "sys_aio_create"}, - {wrap().call, "sys_aio_submit_cmd"}, - {wrap().call, "sys_aio_init"}, - {wrap().call, "sys_get_page_table_stats"}, - {wrap().call, + {sysImplPointer(), "sys_blockpool_batch"}, + {sysImplPointer(), "sys_fdatasync"}, + {sysImplPointer(), "sys_dynlib_get_list2"}, + {sysImplPointer(), "sys_dynlib_get_info2"}, + {sysImplPointer(), "sys_aio_submit"}, + {sysImplPointer(), "sys_aio_multi_delete"}, + {sysImplPointer(), "sys_aio_multi_wait"}, + {sysImplPointer(), "sys_aio_multi_poll"}, + {sysImplPointer(), "sys_aio_get_data"}, + {sysImplPointer(), "sys_aio_multi_cancel"}, + {sysImplPointer(), "sys_get_bio_usage_all"}, + {sysImplPointer(), "sys_aio_create"}, + {sysImplPointer(), "sys_aio_submit_cmd"}, + {sysImplPointer(), "sys_aio_init"}, + {sysImplPointer(), + "sys_get_page_table_stats"}, + {sysImplPointer(), "sys_dynlib_get_list_for_libdbg"}, - {wrap().call, "sys_blockpool_move"}, - {wrap().call, "sys_virtual_query_all"}, - {wrap().call, "sys_reserve_2mb_page"}, - {wrap().call, "sys_cpumode_yield"}, - {wrap().call, "sys_wait6"}, - {wrap().call, "sys_cap_rights_limit"}, - {wrap().call, "sys_cap_ioctls_limit"}, - {wrap().call, "sys_cap_ioctls_get"}, - {wrap().call, "sys_cap_fcntls_limit"}, - {wrap().call, "sys_cap_fcntls_get"}, - {wrap().call, "sys_bindat"}, - {wrap().call, "sys_connectat"}, - {wrap().call, "sys_chflagsat"}, - {wrap().call, "sys_accept4"}, - {wrap().call, "sys_pipe2"}, - {wrap().call, "sys_aio_mlock"}, - {wrap().call, "sys_procctl"}, - {wrap().call, "sys_ppoll"}, - {wrap().call, "sys_futimens"}, - {wrap().call, "sys_utimensat"}, - {wrap().call, "sys_numa_getaffinity"}, - {wrap().call, "sys_numa_setaffinity"}, - {wrap().call, "sys_apr_submit"}, - {wrap().call, "sys_apr_resolve"}, - {wrap().call, "sys_apr_stat"}, - {wrap().call, "sys_apr_wait"}, - {wrap().call, "sys_apr_ctrl"}, - {wrap().call, "sys_get_phys_page_size"}, - {wrap().call, "sys_begin_app_mount"}, - {wrap().call, "sys_end_app_mount"}, - {wrap().call, "sys_fsc2h_ctrl"}, - {wrap().call, "sys_streamwrite"}, - {wrap().call, "sys_app_save"}, - {wrap().call, "sys_app_restore"}, - {wrap().call, "sys_saved_app_delete"}, - {wrap().call, + {sysImplPointer(), "sys_blockpool_move"}, + {sysImplPointer(), "sys_virtual_query_all"}, + {sysImplPointer(), "sys_reserve_2mb_page"}, + {sysImplPointer(), "sys_cpumode_yield"}, + {sysImplPointer(), "sys_wait6"}, + {sysImplPointer(), "sys_cap_rights_limit"}, + {sysImplPointer(), "sys_cap_ioctls_limit"}, + {sysImplPointer(), "sys_cap_ioctls_get"}, + {sysImplPointer(), "sys_cap_fcntls_limit"}, + {sysImplPointer(), "sys_cap_fcntls_get"}, + {sysImplPointer(), "sys_bindat"}, + {sysImplPointer(), "sys_connectat"}, + {sysImplPointer(), "sys_chflagsat"}, + {sysImplPointer(), "sys_accept4"}, + {sysImplPointer(), "sys_pipe2"}, + {sysImplPointer(), "sys_aio_mlock"}, + {sysImplPointer(), "sys_procctl"}, + {sysImplPointer(), "sys_ppoll"}, + {sysImplPointer(), "sys_futimens"}, + {sysImplPointer(), "sys_utimensat"}, + {sysImplPointer(), "sys_numa_getaffinity"}, + {sysImplPointer(), "sys_numa_setaffinity"}, + {sysImplPointer(), "sys_apr_submit"}, + {sysImplPointer(), "sys_apr_resolve"}, + {sysImplPointer(), "sys_apr_stat"}, + {sysImplPointer(), "sys_apr_wait"}, + {sysImplPointer(), "sys_apr_ctrl"}, + {sysImplPointer(), "sys_get_phys_page_size"}, + {sysImplPointer(), "sys_begin_app_mount"}, + {sysImplPointer(), "sys_end_app_mount"}, + {sysImplPointer(), "sys_fsc2h_ctrl"}, + {sysImplPointer(), "sys_streamwrite"}, + {sysImplPointer(), "sys_app_save"}, + {sysImplPointer(), "sys_app_restore"}, + {sysImplPointer(), "sys_saved_app_delete"}, + {sysImplPointer(), "sys_get_ppr_sdk_compiled_version"}, - {wrap().call, "sys_notify_app_event"}, - {wrap().call, "sys_ioreq"}, - {wrap().call, "sys_openintr"}, - {wrap().call, "sys_dl_get_info_2"}, - {wrap().call, "sys_acinfo_add"}, - {wrap().call, "sys_acinfo_delete"}, - {wrap().call, + {sysImplPointer(), "sys_notify_app_event"}, + {sysImplPointer(), "sys_ioreq"}, + {sysImplPointer(), "sys_openintr"}, + {sysImplPointer(), "sys_dl_get_info_2"}, + {sysImplPointer(), "sys_acinfo_add"}, + {sysImplPointer(), "sys_acinfo_delete"}, + {sysImplPointer(), "sys_acinfo_get_all_for_coredump"}, - {wrap().call, "sys_ampr_ctrl_debug"}, - {wrap().call, "sys_workspace_ctrl"}, + {sysImplPointer(), "sys_ampr_ctrl_debug"}, + {sysImplPointer(), "sys_workspace_ctrl"}, }; const char *getSysentName(SysResult (*sysent)(Thread *, uint64_t *)) { - auto it = gImplToName.find(sysent); - if (it == gImplToName.end()) { + auto it = std::find_if( + std::begin(gImplToName), std::end(gImplToName), + [=](std::pair elem) { + return sysent == elem.first; + }); + + if (it == std::end(gImplToName)) { return nullptr; }