Optimize binary size of syscall tables The syscall tables were implemented as an array of const char* strings. Each of them required a relocation entry of 8 bytes each, wasting both binary size and dirty memory at load time. This CL stores the syscall table as a single string (per table) separating each syscall with a \0, and an array of offsets into that string. On the standalone arm64 release build this saves File size: -65KB (before:1,034,864 after:969,328) ELF sections: .rela.dyn before:0x022d58 after:0x016f38 = -48K .rodata before:0x00e34f after:0x00f36f = +4KB .data.rel.ro before:0x015bf8 after:0x011c98 = -16KB Bug: 321830256 Change-Id: I555588166b93053322448b962d52e2f4fdbff219
diff --git a/src/kernel_utils/BUILD.gn b/src/kernel_utils/BUILD.gn index 9f136ac..9771580 100644 --- a/src/kernel_utils/BUILD.gn +++ b/src/kernel_utils/BUILD.gn
@@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +import("../../gn/test.gni") + source_set("syscall_table") { deps = [ "../../gn:default_deps", @@ -20,10 +22,17 @@ sources = [ "syscall_table.cc", "syscall_table.h", - "syscalls_aarch32.h", - "syscalls_aarch64.h", - "syscalls_armeabi.h", - "syscalls_x86.h", - "syscalls_x86_64.h", + "syscall_table_generated.h", ] } + +perfetto_unittest_source_set("unittests") { + testonly = true + deps = [ + ":syscall_table", + "../../gn:default_deps", + "../../gn:gtest_and_gmock", + "../base", + ] + sources = [ "syscall_table_unittest.cc" ] +}
diff --git a/src/kernel_utils/syscall_table.cc b/src/kernel_utils/syscall_table.cc index d5a6e23..eae0c4e 100644 --- a/src/kernel_utils/syscall_table.cc +++ b/src/kernel_utils/syscall_table.cc
@@ -22,70 +22,51 @@ #include <sys/utsname.h> #endif -#include "src/kernel_utils/syscalls_aarch32.h" -#include "src/kernel_utils/syscalls_aarch64.h" -#include "src/kernel_utils/syscalls_armeabi.h" -#include "src/kernel_utils/syscalls_x86.h" -#include "src/kernel_utils/syscalls_x86_64.h" +#include "src/kernel_utils/syscall_table_generated.h" namespace perfetto { -template <typename T> -constexpr size_t GetSyscalls(const T&) { - static_assert(std::extent<T>::value <= kMaxSyscalls, - "kMaxSyscalls too small"); - return std::extent<T>::value; -} - SyscallTable::SyscallTable(Architecture arch) { - static const char* kSyscalls_Unknown[] = {nullptr}; - switch (arch) { - case kArmEabi: - syscall_count_ = GetSyscalls(kSyscalls_ArmEabi); - syscall_table_ = &kSyscalls_ArmEabi[0]; + case Architecture::kArmEabi: + *this = SyscallTable::Load<SyscallTable_armeabi>(); break; - case kAarch32: - syscall_count_ = GetSyscalls(kSyscalls_Aarch32); - syscall_table_ = &kSyscalls_Aarch32[0]; + case Architecture::kAarch32: + *this = SyscallTable::Load<SyscallTable_aarch32>(); break; - case kAarch64: - syscall_count_ = GetSyscalls(kSyscalls_Aarch64); - syscall_table_ = &kSyscalls_Aarch64[0]; + case Architecture::kAarch64: + *this = SyscallTable::Load<SyscallTable_aarch64>(); break; - case kX86_64: - syscall_count_ = GetSyscalls(kSyscalls_x86_64); - syscall_table_ = &kSyscalls_x86_64[0]; + case Architecture::kX86_64: + *this = SyscallTable::Load<SyscallTable_x86_64>(); break; - case kX86: - syscall_count_ = GetSyscalls(kSyscalls_x86); - syscall_table_ = &kSyscalls_x86[0]; + case Architecture::kX86: + *this = SyscallTable::Load<SyscallTable_x86>(); break; - case kUnknown: - syscall_count_ = 0; - syscall_table_ = &kSyscalls_Unknown[0]; + case Architecture::kUnknown: + // The default field initializers take care of the null initialization. break; } } Architecture SyscallTable::ArchFromString(base::StringView machine) { if (machine == "aarch64") { - return kAarch64; + return Architecture::kAarch64; } else if (machine == "armv8l") { - return kArmEabi; + return Architecture::kArmEabi; } else if (machine == "armv7l") { - return kAarch32; + return Architecture::kAarch32; } else if (machine == "x86_64") { - return kX86_64; + return Architecture::kX86_64; } else if (machine == "i686") { - return kX86; + return Architecture::kX86; } else { - return kUnknown; + return Architecture::kUnknown; } } SyscallTable SyscallTable::FromCurrentArch() { - Architecture arch = kUnknown; + Architecture arch = Architecture::kUnknown; #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) @@ -100,7 +81,7 @@ std::optional<size_t> SyscallTable::GetByName(const std::string& name) const { for (size_t i = 0; i < syscall_count_; i++) { - if (name == syscall_table_[i]) { + if (name == &syscall_names_[syscall_offsets_[i]]) { return i; } } @@ -109,7 +90,7 @@ const char* SyscallTable::GetById(size_t id) const { if (id < syscall_count_) { - return syscall_table_[id]; + return &syscall_names_[syscall_offsets_[id]]; } return nullptr; }
diff --git a/src/kernel_utils/syscall_table.h b/src/kernel_utils/syscall_table.h index c2ec4a5..339f15e 100644 --- a/src/kernel_utils/syscall_table.h +++ b/src/kernel_utils/syscall_table.h
@@ -22,12 +22,13 @@ #include <string> #include "perfetto/ext/base/string_view.h" +#include "perfetto/ext/base/utils.h" namespace perfetto { static constexpr size_t kMaxSyscalls = 550; -enum Architecture { +enum class Architecture { kUnknown = 0, kArmEabi, // 32-bit kernel running a 32-bit process (most old devices). kAarch32, // 64-bit kernel running a 32-bit process (should be rare). @@ -38,11 +39,17 @@ class SyscallTable { public: - explicit SyscallTable(Architecture arch); + using OffT = uint16_t; + // Exposed for testing. + template <typename Table> + static SyscallTable Load() { + static_assert(base::ArraySize(Table::offsets) <= kMaxSyscalls, + "kMaxSyscalls too small"); + return SyscallTable(Table::names, Table::offsets, + base::ArraySize(Table::offsets)); + } - // Use for testing. - SyscallTable(const char* const* table, size_t count) - : syscall_count_(count), syscall_table_(table) {} + explicit SyscallTable(Architecture arch); // Return the architecture enum for the given uname machine string. static Architecture ArchFromString(base::StringView machine); @@ -60,8 +67,12 @@ const char* GetById(size_t id) const; private: - size_t syscall_count_; - const char* const* syscall_table_; + SyscallTable(const char* names, const OffT* off, size_t count) + : syscall_names_(names), syscall_offsets_(off), syscall_count_(count) {} + + const char* syscall_names_ = ""; + const OffT* syscall_offsets_ = {}; + size_t syscall_count_ = 0; }; } // namespace perfetto
diff --git a/src/kernel_utils/syscall_table_generated.h b/src/kernel_utils/syscall_table_generated.h new file mode 100644 index 0000000..cd53332 --- /dev/null +++ b/src/kernel_utils/syscall_table_generated.h
@@ -0,0 +1,2484 @@ +// DO NOT EDIT. Auto-generated by tools/extract_linux_syscall_tables +#ifndef SRC_KERNEL_UTILS_SYSCALL_TABLE_GENERATED_H_ +#define SRC_KERNEL_UTILS_SYSCALL_TABLE_GENERATED_H_ + +#include <stdint.h> + +namespace perfetto { + +constexpr char kAllSyscalllNames[] = + "\0" + "sys__llseek\0" + "sys__newselect\0" + "sys__sysctl\0" + "sys_accept\0" + "sys_accept4\0" + "sys_access\0" + "sys_acct\0" + "sys_add_key\0" + "sys_adjtimex\0" + "sys_afs_syscall\0" + "sys_alarm\0" + "sys_arch_prctl\0" + "sys_arch_specific_syscall\0" + "sys_arm_fadvise64_64\0" + "sys_arm_sync_file_range\0" + "sys_bdflush\0" + "sys_bind\0" + "sys_bpf\0" + "sys_break\0" + "sys_brk\0" + "sys_capget\0" + "sys_capset\0" + "sys_chdir\0" + "sys_chmod\0" + "sys_chown\0" + "sys_chown32\0" + "sys_chroot\0" + "sys_clock_adjtime\0" + "sys_clock_getres\0" + "sys_clock_gettime\0" + "sys_clock_nanosleep\0" + "sys_clock_settime\0" + "sys_clone\0" + "sys_close\0" + "sys_connect\0" + "sys_copy_file_range\0" + "sys_creat\0" + "sys_create_module\0" + "sys_delete_module\0" + "sys_dup\0" + "sys_dup2\0" + "sys_dup3\0" + "sys_epoll_create\0" + "sys_epoll_create1\0" + "sys_epoll_ctl\0" + "sys_epoll_ctl_old\0" + "sys_epoll_pwait\0" + "sys_epoll_wait\0" + "sys_epoll_wait_old\0" + "sys_eventfd\0" + "sys_eventfd2\0" + "sys_execve\0" + "sys_execveat\0" + "sys_exit\0" + "sys_exit_group\0" + "sys_faccessat\0" + "sys_fadvise64\0" + "sys_fadvise64_64\0" + "sys_fallocate\0" + "sys_fanotify_init\0" + "sys_fanotify_mark\0" + "sys_fchdir\0" + "sys_fchmod\0" + "sys_fchmodat\0" + "sys_fchown\0" + "sys_fchown32\0" + "sys_fchownat\0" + "sys_fcntl\0" + "sys_fcntl64\0" + "sys_fdatasync\0" + "sys_fgetxattr\0" + "sys_finit_module\0" + "sys_flistxattr\0" + "sys_flock\0" + "sys_fork\0" + "sys_fremovexattr\0" + "sys_fsetxattr\0" + "sys_fstat\0" + "sys_fstat64\0" + "sys_fstatat\0" + "sys_fstatat64\0" + "sys_fstatfs\0" + "sys_fstatfs64\0" + "sys_fsync\0" + "sys_ftime\0" + "sys_ftruncate\0" + "sys_ftruncate64\0" + "sys_futex\0" + "sys_futimesat\0" + "sys_get_kernel_syms\0" + "sys_get_mempolicy\0" + "sys_get_robust_list\0" + "sys_get_thread_area\0" + "sys_getcpu\0" + "sys_getcwd\0" + "sys_getdents\0" + "sys_getdents64\0" + "sys_getegid\0" + "sys_getegid32\0" + "sys_geteuid\0" + "sys_geteuid32\0" + "sys_getgid\0" + "sys_getgid32\0" + "sys_getgroups\0" + "sys_getgroups32\0" + "sys_getitimer\0" + "sys_getpeername\0" + "sys_getpgid\0" + "sys_getpgrp\0" + "sys_getpid\0" + "sys_getpmsg\0" + "sys_getppid\0" + "sys_getpriority\0" + "sys_getrandom\0" + "sys_getresgid\0" + "sys_getresgid32\0" + "sys_getresuid\0" + "sys_getresuid32\0" + "sys_getrlimit\0" + "sys_getrusage\0" + "sys_getsid\0" + "sys_getsockname\0" + "sys_getsockopt\0" + "sys_gettid\0" + "sys_gettimeofday\0" + "sys_getuid\0" + "sys_getuid32\0" + "sys_getxattr\0" + "sys_gtty\0" + "sys_idle\0" + "sys_init_module\0" + "sys_inotify_add_watch\0" + "sys_inotify_init\0" + "sys_inotify_init1\0" + "sys_inotify_rm_watch\0" + "sys_io_cancel\0" + "sys_io_destroy\0" + "sys_io_getevents\0" + "sys_io_pgetevents\0" + "sys_io_setup\0" + "sys_io_submit\0" + "sys_ioctl\0" + "sys_ioperm\0" + "sys_iopl\0" + "sys_ioprio_get\0" + "sys_ioprio_set\0" + "sys_ipc\0" + "sys_kcmp\0" + "sys_kexec_file_load\0" + "sys_kexec_load\0" + "sys_keyctl\0" + "sys_kill\0" + "sys_lchown\0" + "sys_lchown32\0" + "sys_lgetxattr\0" + "sys_link\0" + "sys_linkat\0" + "sys_listen\0" + "sys_listxattr\0" + "sys_llistxattr\0" + "sys_lock\0" + "sys_lookup_dcookie\0" + "sys_lremovexattr\0" + "sys_lseek\0" + "sys_lsetxattr\0" + "sys_lstat\0" + "sys_lstat64\0" + "sys_madvise\0" + "sys_mbind\0" + "sys_membarrier\0" + "sys_memfd_create\0" + "sys_migrate_pages\0" + "sys_mincore\0" + "sys_mkdir\0" + "sys_mkdirat\0" + "sys_mknod\0" + "sys_mknodat\0" + "sys_mlock\0" + "sys_mlock2\0" + "sys_mlockall\0" + "sys_mmap\0" + "sys_mmap2\0" + "sys_modify_ldt\0" + "sys_mount\0" + "sys_move_pages\0" + "sys_mprotect\0" + "sys_mpx\0" + "sys_mq_getsetattr\0" + "sys_mq_notify\0" + "sys_mq_open\0" + "sys_mq_timedreceive\0" + "sys_mq_timedsend\0" + "sys_mq_unlink\0" + "sys_mremap\0" + "sys_msgctl\0" + "sys_msgget\0" + "sys_msgrcv\0" + "sys_msgsnd\0" + "sys_msync\0" + "sys_munlock\0" + "sys_munlockall\0" + "sys_munmap\0" + "sys_name_to_handle_at\0" + "sys_nanosleep\0" + "sys_newfstatat\0" + "sys_nfsservctl\0" + "sys_nice\0" + "sys_oldfstat\0" + "sys_oldlstat\0" + "sys_oldolduname\0" + "sys_oldstat\0" + "sys_olduname\0" + "sys_open\0" + "sys_open_by_handle_at\0" + "sys_openat\0" + "sys_pause\0" + "sys_pciconfig_iobase\0" + "sys_pciconfig_read\0" + "sys_pciconfig_write\0" + "sys_perf_event_open\0" + "sys_personality\0" + "sys_pipe\0" + "sys_pipe2\0" + "sys_pivot_root\0" + "sys_pkey_alloc\0" + "sys_pkey_free\0" + "sys_pkey_mprotect\0" + "sys_poll\0" + "sys_ppoll\0" + "sys_prctl\0" + "sys_pread64\0" + "sys_preadv\0" + "sys_preadv2\0" + "sys_prlimit64\0" + "sys_process_vm_readv\0" + "sys_process_vm_writev\0" + "sys_prof\0" + "sys_profil\0" + "sys_pselect6\0" + "sys_ptrace\0" + "sys_putpmsg\0" + "sys_pwrite64\0" + "sys_pwritev\0" + "sys_pwritev2\0" + "sys_query_module\0" + "sys_quotactl\0" + "sys_read\0" + "sys_readahead\0" + "sys_readdir\0" + "sys_readlink\0" + "sys_readlinkat\0" + "sys_readv\0" + "sys_reboot\0" + "sys_recv\0" + "sys_recvfrom\0" + "sys_recvmmsg\0" + "sys_recvmsg\0" + "sys_remap_file_pages\0" + "sys_removexattr\0" + "sys_rename\0" + "sys_renameat\0" + "sys_renameat2\0" + "sys_request_key\0" + "sys_restart_syscall\0" + "sys_rmdir\0" + "sys_rseq\0" + "sys_rt_sigaction\0" + "sys_rt_sigpending\0" + "sys_rt_sigprocmask\0" + "sys_rt_sigqueueinfo\0" + "sys_rt_sigreturn\0" + "sys_rt_sigsuspend\0" + "sys_rt_sigtimedwait\0" + "sys_rt_tgsigqueueinfo\0" + "sys_sched_get_priority_max\0" + "sys_sched_get_priority_min\0" + "sys_sched_getaffinity\0" + "sys_sched_getattr\0" + "sys_sched_getparam\0" + "sys_sched_getscheduler\0" + "sys_sched_rr_get_interval\0" + "sys_sched_setaffinity\0" + "sys_sched_setattr\0" + "sys_sched_setparam\0" + "sys_sched_setscheduler\0" + "sys_sched_yield\0" + "sys_seccomp\0" + "sys_security\0" + "sys_select\0" + "sys_semctl\0" + "sys_semget\0" + "sys_semop\0" + "sys_semtimedop\0" + "sys_send\0" + "sys_sendfile\0" + "sys_sendfile64\0" + "sys_sendmmsg\0" + "sys_sendmsg\0" + "sys_sendto\0" + "sys_set_mempolicy\0" + "sys_set_robust_list\0" + "sys_set_thread_area\0" + "sys_set_tid_address\0" + "sys_setdomainname\0" + "sys_setfsgid\0" + "sys_setfsgid32\0" + "sys_setfsuid\0" + "sys_setfsuid32\0" + "sys_setgid\0" + "sys_setgid32\0" + "sys_setgroups\0" + "sys_setgroups32\0" + "sys_sethostname\0" + "sys_setitimer\0" + "sys_setns\0" + "sys_setpgid\0" + "sys_setpriority\0" + "sys_setregid\0" + "sys_setregid32\0" + "sys_setresgid\0" + "sys_setresgid32\0" + "sys_setresuid\0" + "sys_setresuid32\0" + "sys_setreuid\0" + "sys_setreuid32\0" + "sys_setrlimit\0" + "sys_setsid\0" + "sys_setsockopt\0" + "sys_settimeofday\0" + "sys_setuid\0" + "sys_setuid32\0" + "sys_setxattr\0" + "sys_sgetmask\0" + "sys_shmat\0" + "sys_shmctl\0" + "sys_shmdt\0" + "sys_shmget\0" + "sys_shutdown\0" + "sys_sigaction\0" + "sys_sigaltstack\0" + "sys_signal\0" + "sys_signalfd\0" + "sys_signalfd4\0" + "sys_sigpending\0" + "sys_sigprocmask\0" + "sys_sigreturn\0" + "sys_sigsuspend\0" + "sys_socket\0" + "sys_socketcall\0" + "sys_socketpair\0" + "sys_splice\0" + "sys_ssetmask\0" + "sys_stat\0" + "sys_stat64\0" + "sys_statfs\0" + "sys_statfs64\0" + "sys_statx\0" + "sys_stime\0" + "sys_stty\0" + "sys_swapoff\0" + "sys_swapon\0" + "sys_symlink\0" + "sys_symlinkat\0" + "sys_sync\0" + "sys_sync_file_range\0" + "sys_sync_file_range2\0" + "sys_syncfs\0" + "sys_syscall\0" + "sys_sysfs\0" + "sys_sysinfo\0" + "sys_syslog\0" + "sys_tee\0" + "sys_tgkill\0" + "sys_time\0" + "sys_timer_create\0" + "sys_timer_delete\0" + "sys_timer_getoverrun\0" + "sys_timer_gettime\0" + "sys_timer_settime\0" + "sys_timerfd_create\0" + "sys_timerfd_gettime\0" + "sys_timerfd_settime\0" + "sys_times\0" + "sys_tkill\0" + "sys_truncate\0" + "sys_truncate64\0" + "sys_tuxcall\0" + "sys_ugetrlimit\0" + "sys_ulimit\0" + "sys_umask\0" + "sys_umount\0" + "sys_umount2\0" + "sys_uname\0" + "sys_unlink\0" + "sys_unlinkat\0" + "sys_unshare\0" + "sys_uselib\0" + "sys_userfaultfd\0" + "sys_ustat\0" + "sys_utime\0" + "sys_utimensat\0" + "sys_utimes\0" + "sys_vfork\0" + "sys_vhangup\0" + "sys_vm86\0" + "sys_vm86old\0" + "sys_vmsplice\0" + "sys_vserver\0" + "sys_wait4\0" + "sys_waitid\0" + "sys_waitpid\0" + "sys_write\0" + "sys_writev\0"; + +struct SyscallTable_aarch32 { + static constexpr const char* names = kAllSyscalllNames; + static constexpr SyscallTable::OffT offsets[]{ + 3544, // 0: sys_restart_syscall + 723, // 1: sys_exit + 1006, // 2: sys_fork + 3322, // 3: sys_read + 5639, // 4: sys_write + 2848, // 5: sys_open + 443, // 6: sys_close + 0, // 7: + 485, // 8: sys_creat + 2115, // 9: sys_link + 5430, // 10: sys_unlink + 699, // 11: sys_execve + 289, // 12: sys_chdir + 0, // 13: + 2372, // 14: sys_mknod + 299, // 15: sys_chmod + 2077, // 16: sys_lchown + 0, // 17: + 0, // 18: + 2220, // 19: sys_lseek + 1482, // 20: sys_getpid + 2462, // 21: sys_mount + 0, // 22: + 4597, // 23: sys_setuid + 1705, // 24: sys_getuid + 0, // 25: + 3231, // 26: sys_ptrace + 0, // 27: + 0, // 28: + 2890, // 29: sys_pause + 0, // 30: + 0, // 31: + 0, // 32: + 63, // 33: sys_access + 2772, // 34: sys_nice + 0, // 35: + 5017, // 36: sys_sync + 2068, // 37: sys_kill + 3490, // 38: sys_rename + 2350, // 39: sys_mkdir + 3564, // 40: sys_rmdir + 531, // 41: sys_dup + 2996, // 42: sys_pipe + 5301, // 43: sys_times + 0, // 44: + 259, // 45: sys_brk + 4302, // 46: sys_setgid + 1374, // 47: sys_getgid + 0, // 48: + 1348, // 49: sys_geteuid + 1322, // 50: sys_getegid + 74, // 51: sys_acct + 5408, // 52: sys_umount2 + 0, // 53: + 1945, // 54: sys_ioctl + 914, // 55: sys_fcntl + 0, // 56: + 4396, // 57: sys_setpgid + 0, // 58: + 0, // 59: + 5387, // 60: sys_umask + 331, // 61: sys_chroot + 5493, // 62: sys_ustat + 539, // 63: sys_dup2 + 1505, // 64: sys_getppid + 1470, // 65: sys_getpgrp + 4554, // 66: sys_setsid + 4702, // 67: sys_sigaction + 0, // 68: + 0, // 69: + 4512, // 70: sys_setreuid + 4424, // 71: sys_setregid + 4815, // 72: sys_sigsuspend + 4770, // 73: sys_sigpending + 4356, // 74: sys_sethostname + 4540, // 75: sys_setrlimit + 0, // 76: + 1621, // 77: sys_getrusage + 1688, // 78: sys_gettimeofday + 4580, // 79: sys_settimeofday + 1398, // 80: sys_getgroups + 4326, // 81: sys_setgroups + 0, // 82: + 4991, // 83: sys_symlink + 0, // 84: + 3357, // 85: sys_readlink + 5466, // 86: sys_uselib + 4980, // 87: sys_swapon + 3395, // 88: sys_reboot + 0, // 89: + 0, // 90: + 2695, // 91: sys_munmap + 5321, // 92: sys_truncate + 1140, // 93: sys_ftruncate + 853, // 94: sys_fchmod + 877, // 95: sys_fchown + 1517, // 96: sys_getpriority + 4408, // 97: sys_setpriority + 0, // 98: + 4915, // 99: sys_statfs + 1094, // 100: sys_fstatfs + 0, // 101: + 0, // 102: + 5112, // 103: sys_syslog + 4372, // 104: sys_setitimer + 1428, // 105: sys_getitimer + 4895, // 106: sys_stat + 2244, // 107: sys_lstat + 1046, // 108: sys_fstat + 0, // 109: + 0, // 110: + 5548, // 111: sys_vhangup + 0, // 112: + 0, // 113: + 5606, // 114: sys_wait4 + 4968, // 115: sys_swapoff + 5100, // 116: sys_sysinfo + 0, // 117: + 1120, // 118: sys_fsync + 4801, // 119: sys_sigreturn + 433, // 120: sys_clone + 4228, // 121: sys_setdomainname + 5420, // 122: sys_uname + 0, // 123: + 95, // 124: sys_adjtimex + 2487, // 125: sys_mprotect + 4785, // 126: sys_sigprocmask + 0, // 127: + 1760, // 128: sys_init_module + 513, // 129: sys_delete_module + 0, // 130: + 3309, // 131: sys_quotactl + 1458, // 132: sys_getpgid + 842, // 133: sys_fchdir + 220, // 134: sys_bdflush + 5090, // 135: sys_sysfs + 2980, // 136: sys_personality + 0, // 137: + 4274, // 138: sys_setfsuid + 4246, // 139: sys_setfsgid + 1, // 140: sys__llseek + 1294, // 141: sys_getdents + 13, // 142: sys__newselect + 996, // 143: sys_flock + 2658, // 144: sys_msync + 3385, // 145: sys_readv + 5649, // 146: sys_writev + 1635, // 147: sys_getsid + 936, // 148: sys_fdatasync + 28, // 149: sys__sysctl + 2394, // 150: sys_mlock + 2668, // 151: sys_munlock + 2415, // 152: sys_mlockall + 2680, // 153: sys_munlockall + 3936, // 154: sys_sched_setparam + 3828, // 155: sys_sched_getparam + 3955, // 156: sys_sched_setscheduler + 3847, // 157: sys_sched_getscheduler + 3978, // 158: sys_sched_yield + 3734, // 159: sys_sched_get_priority_max + 3761, // 160: sys_sched_get_priority_min + 3870, // 161: sys_sched_rr_get_interval + 2728, // 162: sys_nanosleep + 2603, // 163: sys_mremap + 4482, // 164: sys_setresuid + 1577, // 165: sys_getresuid + 0, // 166: + 0, // 167: + 3077, // 168: sys_poll + 2757, // 169: sys_nfsservctl + 4452, // 170: sys_setresgid + 1547, // 171: sys_getresgid + 3096, // 172: sys_prctl + 3657, // 173: sys_rt_sigreturn + 3583, // 174: sys_rt_sigaction + 3618, // 175: sys_rt_sigprocmask + 3600, // 176: sys_rt_sigpending + 3692, // 177: sys_rt_sigtimedwait + 3637, // 178: sys_rt_sigqueueinfo + 3674, // 179: sys_rt_sigsuspend + 3106, // 180: sys_pread64 + 3254, // 181: sys_pwrite64 + 309, // 182: sys_chown + 1283, // 183: sys_getcwd + 267, // 184: sys_capget + 278, // 185: sys_capset + 4716, // 186: sys_sigaltstack + 4086, // 187: sys_sendfile + 0, // 188: + 0, // 189: + 5538, // 190: sys_vfork + 0, // 191: + 2437, // 192: sys_mmap2 + 5334, // 193: sys_truncate64 + 1154, // 194: sys_ftruncate64 + 4904, // 195: sys_stat64 + 2254, // 196: sys_lstat64 + 1056, // 197: sys_fstat64 + 2088, // 198: sys_lchown32 + 1716, // 199: sys_getuid32 + 1385, // 200: sys_getgid32 + 1360, // 201: sys_geteuid32 + 1334, // 202: sys_getegid32 + 4525, // 203: sys_setreuid32 + 4437, // 204: sys_setregid32 + 1412, // 205: sys_getgroups32 + 4340, // 206: sys_setgroups32 + 888, // 207: sys_fchown32 + 4496, // 208: sys_setresuid32 + 1591, // 209: sys_getresuid32 + 4466, // 210: sys_setresgid32 + 1561, // 211: sys_getresgid32 + 319, // 212: sys_chown32 + 4608, // 213: sys_setuid32 + 4313, // 214: sys_setgid32 + 4287, // 215: sys_setfsuid32 + 4259, // 216: sys_setfsgid32 + 1307, // 217: sys_getdents64 + 3015, // 218: sys_pivot_root + 2338, // 219: sys_mincore + 2266, // 220: sys_madvise + 924, // 221: sys_fcntl64 + 0, // 222: + 0, // 223: + 1677, // 224: sys_gettid + 3331, // 225: sys_readahead + 4621, // 226: sys_setxattr + 2230, // 227: sys_lsetxattr + 1032, // 228: sys_fsetxattr + 1729, // 229: sys_getxattr + 2101, // 230: sys_lgetxattr + 950, // 231: sys_fgetxattr + 2146, // 232: sys_listxattr + 2160, // 233: sys_llistxattr + 981, // 234: sys_flistxattr + 3474, // 235: sys_removexattr + 2203, // 236: sys_lremovexattr + 1015, // 237: sys_fremovexattr + 5311, // 238: sys_tkill + 4099, // 239: sys_sendfile64 + 1170, // 240: sys_futex + 3896, // 241: sys_sched_setaffinity + 3788, // 242: sys_sched_getaffinity + 1918, // 243: sys_io_setup + 1868, // 244: sys_io_destroy + 1883, // 245: sys_io_getevents + 1931, // 246: sys_io_submit + 1854, // 247: sys_io_cancel + 732, // 248: sys_exit_group + 2184, // 249: sys_lookup_dcookie + 557, // 250: sys_epoll_create + 592, // 251: sys_epoll_ctl + 640, // 252: sys_epoll_wait + 3453, // 253: sys_remap_file_pages + 0, // 254: + 0, // 255: + 4208, // 256: sys_set_tid_address + 5151, // 257: sys_timer_create + 5224, // 258: sys_timer_settime + 5206, // 259: sys_timer_gettime + 5185, // 260: sys_timer_getoverrun + 5168, // 261: sys_timer_delete + 415, // 262: sys_clock_settime + 377, // 263: sys_clock_gettime + 360, // 264: sys_clock_getres + 395, // 265: sys_clock_nanosleep + 4926, // 266: sys_statfs64 + 1106, // 267: sys_fstatfs64 + 5131, // 268: sys_tgkill + 5527, // 269: sys_utimes + 175, // 270: sys_arm_fadvise64_64 + 2900, // 271: sys_pciconfig_iobase + 2921, // 272: sys_pciconfig_read + 2940, // 273: sys_pciconfig_write + 2540, // 274: sys_mq_open + 2589, // 275: sys_mq_unlink + 2572, // 276: sys_mq_timedsend + 2552, // 277: sys_mq_timedreceive + 2526, // 278: sys_mq_notify + 2508, // 279: sys_mq_getsetattr + 5616, // 280: sys_waitid + 4830, // 281: sys_socket + 232, // 282: sys_bind + 453, // 283: sys_connect + 2135, // 284: sys_listen + 40, // 285: sys_accept + 1646, // 286: sys_getsockname + 1442, // 287: sys_getpeername + 4856, // 288: sys_socketpair + 4077, // 289: sys_send + 4139, // 290: sys_sendto + 3406, // 291: sys_recv + 3415, // 292: sys_recvfrom + 4689, // 293: sys_shutdown + 4565, // 294: sys_setsockopt + 1662, // 295: sys_getsockopt + 4127, // 296: sys_sendmsg + 3441, // 297: sys_recvmsg + 4052, // 298: sys_semop + 4041, // 299: sys_semget + 4030, // 300: sys_semctl + 2647, // 301: sys_msgsnd + 2636, // 302: sys_msgrcv + 2625, // 303: sys_msgget + 2614, // 304: sys_msgctl + 4647, // 305: sys_shmat + 4668, // 306: sys_shmdt + 4678, // 307: sys_shmget + 4657, // 308: sys_shmctl + 83, // 309: sys_add_key + 3528, // 310: sys_request_key + 2057, // 311: sys_keyctl + 4062, // 312: sys_semtimedop + 5594, // 313: sys_vserver + 1990, // 314: sys_ioprio_set + 1975, // 315: sys_ioprio_get + 1798, // 316: sys_inotify_init + 1776, // 317: sys_inotify_add_watch + 1833, // 318: sys_inotify_rm_watch + 2278, // 319: sys_mbind + 1214, // 320: sys_get_mempolicy + 4150, // 321: sys_set_mempolicy + 2879, // 322: sys_openat + 2360, // 323: sys_mkdirat + 2382, // 324: sys_mknodat + 901, // 325: sys_fchownat + 1180, // 326: sys_futimesat + 1080, // 327: sys_fstatat64 + 5441, // 328: sys_unlinkat + 3501, // 329: sys_renameat + 2124, // 330: sys_linkat + 5003, // 331: sys_symlinkat + 3370, // 332: sys_readlinkat + 864, // 333: sys_fchmodat + 747, // 334: sys_faccessat + 3218, // 335: sys_pselect6 + 3086, // 336: sys_ppoll + 5454, // 337: sys_unshare + 4168, // 338: sys_set_robust_list + 1232, // 339: sys_get_robust_list + 4871, // 340: sys_splice + 5046, // 341: sys_sync_file_range2 + 5123, // 342: sys_tee + 5581, // 343: sys_vmsplice + 2472, // 344: sys_move_pages + 1272, // 345: sys_getcpu + 624, // 346: sys_epoll_pwait + 2042, // 347: sys_kexec_load + 5513, // 348: sys_utimensat + 4743, // 349: sys_signalfd + 5242, // 350: sys_timerfd_create + 674, // 351: sys_eventfd + 792, // 352: sys_fallocate + 5281, // 353: sys_timerfd_settime + 5261, // 354: sys_timerfd_gettime + 4756, // 355: sys_signalfd4 + 686, // 356: sys_eventfd2 + 574, // 357: sys_epoll_create1 + 548, // 358: sys_dup3 + 3005, // 359: sys_pipe2 + 1815, // 360: sys_inotify_init1 + 3118, // 361: sys_preadv + 3267, // 362: sys_pwritev + 3712, // 363: sys_rt_tgsigqueueinfo + 2960, // 364: sys_perf_event_open + 3428, // 365: sys_recvmmsg + 51, // 366: sys_accept4 + 806, // 367: sys_fanotify_init + 824, // 368: sys_fanotify_mark + 3141, // 369: sys_prlimit64 + 2706, // 370: sys_name_to_handle_at + 2857, // 371: sys_open_by_handle_at + 342, // 372: sys_clock_adjtime + 5067, // 373: sys_syncfs + 4114, // 374: sys_sendmmsg + 4386, // 375: sys_setns + 3155, // 376: sys_process_vm_readv + 3176, // 377: sys_process_vm_writev + 2013, // 378: sys_kcmp + 964, // 379: sys_finit_module + 3918, // 380: sys_sched_setattr + 3810, // 381: sys_sched_getattr + 3514, // 382: sys_renameat2 + 3994, // 383: sys_seccomp + 1533, // 384: sys_getrandom + 2303, // 385: sys_memfd_create + 241, // 386: sys_bpf + 710, // 387: sys_execveat + 5477, // 388: sys_userfaultfd + 2288, // 389: sys_membarrier + 2404, // 390: sys_mlock2 + 465, // 391: sys_copy_file_range + 3129, // 392: sys_preadv2 + 3279, // 393: sys_pwritev2 + 3059, // 394: sys_pkey_mprotect + 3030, // 395: sys_pkey_alloc + 3045, // 396: sys_pkey_free + 4939, // 397: sys_statx + 3574, // 398: sys_rseq + }; +}; + +struct SyscallTable_aarch64 { + static constexpr const char* names = kAllSyscalllNames; + static constexpr SyscallTable::OffT offsets[]{ + 1918, // 0: sys_io_setup + 1868, // 1: sys_io_destroy + 1931, // 2: sys_io_submit + 1854, // 3: sys_io_cancel + 1883, // 4: sys_io_getevents + 4621, // 5: sys_setxattr + 2230, // 6: sys_lsetxattr + 1032, // 7: sys_fsetxattr + 1729, // 8: sys_getxattr + 2101, // 9: sys_lgetxattr + 950, // 10: sys_fgetxattr + 2146, // 11: sys_listxattr + 2160, // 12: sys_llistxattr + 981, // 13: sys_flistxattr + 3474, // 14: sys_removexattr + 2203, // 15: sys_lremovexattr + 1015, // 16: sys_fremovexattr + 1283, // 17: sys_getcwd + 2184, // 18: sys_lookup_dcookie + 686, // 19: sys_eventfd2 + 574, // 20: sys_epoll_create1 + 592, // 21: sys_epoll_ctl + 624, // 22: sys_epoll_pwait + 531, // 23: sys_dup + 548, // 24: sys_dup3 + 914, // 25: sys_fcntl + 1815, // 26: sys_inotify_init1 + 1776, // 27: sys_inotify_add_watch + 1833, // 28: sys_inotify_rm_watch + 1945, // 29: sys_ioctl + 1990, // 30: sys_ioprio_set + 1975, // 31: sys_ioprio_get + 996, // 32: sys_flock + 2382, // 33: sys_mknodat + 2360, // 34: sys_mkdirat + 5441, // 35: sys_unlinkat + 5003, // 36: sys_symlinkat + 2124, // 37: sys_linkat + 3501, // 38: sys_renameat + 5408, // 39: sys_umount2 + 2462, // 40: sys_mount + 3015, // 41: sys_pivot_root + 2757, // 42: sys_nfsservctl + 4915, // 43: sys_statfs + 1094, // 44: sys_fstatfs + 5321, // 45: sys_truncate + 1140, // 46: sys_ftruncate + 792, // 47: sys_fallocate + 747, // 48: sys_faccessat + 289, // 49: sys_chdir + 842, // 50: sys_fchdir + 331, // 51: sys_chroot + 853, // 52: sys_fchmod + 864, // 53: sys_fchmodat + 901, // 54: sys_fchownat + 877, // 55: sys_fchown + 2879, // 56: sys_openat + 443, // 57: sys_close + 5548, // 58: sys_vhangup + 3005, // 59: sys_pipe2 + 3309, // 60: sys_quotactl + 1307, // 61: sys_getdents64 + 2220, // 62: sys_lseek + 3322, // 63: sys_read + 5639, // 64: sys_write + 3385, // 65: sys_readv + 5649, // 66: sys_writev + 3106, // 67: sys_pread64 + 3254, // 68: sys_pwrite64 + 3118, // 69: sys_preadv + 3267, // 70: sys_pwritev + 4086, // 71: sys_sendfile + 3218, // 72: sys_pselect6 + 3086, // 73: sys_ppoll + 4756, // 74: sys_signalfd4 + 5581, // 75: sys_vmsplice + 4871, // 76: sys_splice + 5123, // 77: sys_tee + 3370, // 78: sys_readlinkat + 1068, // 79: sys_fstatat + 1046, // 80: sys_fstat + 5017, // 81: sys_sync + 1120, // 82: sys_fsync + 936, // 83: sys_fdatasync + 5026, // 84: sys_sync_file_range + 5242, // 85: sys_timerfd_create + 5281, // 86: sys_timerfd_settime + 5261, // 87: sys_timerfd_gettime + 5513, // 88: sys_utimensat + 74, // 89: sys_acct + 267, // 90: sys_capget + 278, // 91: sys_capset + 2980, // 92: sys_personality + 723, // 93: sys_exit + 732, // 94: sys_exit_group + 5616, // 95: sys_waitid + 4208, // 96: sys_set_tid_address + 5454, // 97: sys_unshare + 1170, // 98: sys_futex + 4168, // 99: sys_set_robust_list + 1232, // 100: sys_get_robust_list + 2728, // 101: sys_nanosleep + 1428, // 102: sys_getitimer + 4372, // 103: sys_setitimer + 2042, // 104: sys_kexec_load + 1760, // 105: sys_init_module + 513, // 106: sys_delete_module + 5151, // 107: sys_timer_create + 5206, // 108: sys_timer_gettime + 5185, // 109: sys_timer_getoverrun + 5224, // 110: sys_timer_settime + 5168, // 111: sys_timer_delete + 415, // 112: sys_clock_settime + 377, // 113: sys_clock_gettime + 360, // 114: sys_clock_getres + 395, // 115: sys_clock_nanosleep + 5112, // 116: sys_syslog + 3231, // 117: sys_ptrace + 3936, // 118: sys_sched_setparam + 3955, // 119: sys_sched_setscheduler + 3847, // 120: sys_sched_getscheduler + 3828, // 121: sys_sched_getparam + 3896, // 122: sys_sched_setaffinity + 3788, // 123: sys_sched_getaffinity + 3978, // 124: sys_sched_yield + 3734, // 125: sys_sched_get_priority_max + 3761, // 126: sys_sched_get_priority_min + 3870, // 127: sys_sched_rr_get_interval + 3544, // 128: sys_restart_syscall + 2068, // 129: sys_kill + 5311, // 130: sys_tkill + 5131, // 131: sys_tgkill + 4716, // 132: sys_sigaltstack + 3674, // 133: sys_rt_sigsuspend + 3583, // 134: sys_rt_sigaction + 3618, // 135: sys_rt_sigprocmask + 3600, // 136: sys_rt_sigpending + 3692, // 137: sys_rt_sigtimedwait + 3637, // 138: sys_rt_sigqueueinfo + 3657, // 139: sys_rt_sigreturn + 4408, // 140: sys_setpriority + 1517, // 141: sys_getpriority + 3395, // 142: sys_reboot + 4424, // 143: sys_setregid + 4302, // 144: sys_setgid + 4512, // 145: sys_setreuid + 4597, // 146: sys_setuid + 4482, // 147: sys_setresuid + 1577, // 148: sys_getresuid + 4452, // 149: sys_setresgid + 1547, // 150: sys_getresgid + 4274, // 151: sys_setfsuid + 4246, // 152: sys_setfsgid + 5301, // 153: sys_times + 4396, // 154: sys_setpgid + 1458, // 155: sys_getpgid + 1635, // 156: sys_getsid + 4554, // 157: sys_setsid + 1398, // 158: sys_getgroups + 4326, // 159: sys_setgroups + 5420, // 160: sys_uname + 4356, // 161: sys_sethostname + 4228, // 162: sys_setdomainname + 1607, // 163: sys_getrlimit + 4540, // 164: sys_setrlimit + 1621, // 165: sys_getrusage + 5387, // 166: sys_umask + 3096, // 167: sys_prctl + 1272, // 168: sys_getcpu + 1688, // 169: sys_gettimeofday + 4580, // 170: sys_settimeofday + 95, // 171: sys_adjtimex + 1482, // 172: sys_getpid + 1505, // 173: sys_getppid + 1705, // 174: sys_getuid + 1348, // 175: sys_geteuid + 1374, // 176: sys_getgid + 1322, // 177: sys_getegid + 1677, // 178: sys_gettid + 5100, // 179: sys_sysinfo + 2540, // 180: sys_mq_open + 2589, // 181: sys_mq_unlink + 2572, // 182: sys_mq_timedsend + 2552, // 183: sys_mq_timedreceive + 2526, // 184: sys_mq_notify + 2508, // 185: sys_mq_getsetattr + 2625, // 186: sys_msgget + 2614, // 187: sys_msgctl + 2636, // 188: sys_msgrcv + 2647, // 189: sys_msgsnd + 4041, // 190: sys_semget + 4030, // 191: sys_semctl + 4062, // 192: sys_semtimedop + 4052, // 193: sys_semop + 4678, // 194: sys_shmget + 4657, // 195: sys_shmctl + 4647, // 196: sys_shmat + 4668, // 197: sys_shmdt + 4830, // 198: sys_socket + 4856, // 199: sys_socketpair + 232, // 200: sys_bind + 2135, // 201: sys_listen + 40, // 202: sys_accept + 453, // 203: sys_connect + 1646, // 204: sys_getsockname + 1442, // 205: sys_getpeername + 4139, // 206: sys_sendto + 3415, // 207: sys_recvfrom + 4565, // 208: sys_setsockopt + 1662, // 209: sys_getsockopt + 4689, // 210: sys_shutdown + 4127, // 211: sys_sendmsg + 3441, // 212: sys_recvmsg + 3331, // 213: sys_readahead + 259, // 214: sys_brk + 2695, // 215: sys_munmap + 2603, // 216: sys_mremap + 83, // 217: sys_add_key + 3528, // 218: sys_request_key + 2057, // 219: sys_keyctl + 433, // 220: sys_clone + 699, // 221: sys_execve + 2428, // 222: sys_mmap + 761, // 223: sys_fadvise64 + 4980, // 224: sys_swapon + 4968, // 225: sys_swapoff + 2487, // 226: sys_mprotect + 2658, // 227: sys_msync + 2394, // 228: sys_mlock + 2668, // 229: sys_munlock + 2415, // 230: sys_mlockall + 2680, // 231: sys_munlockall + 2338, // 232: sys_mincore + 2266, // 233: sys_madvise + 3453, // 234: sys_remap_file_pages + 2278, // 235: sys_mbind + 1214, // 236: sys_get_mempolicy + 4150, // 237: sys_set_mempolicy + 2320, // 238: sys_migrate_pages + 2472, // 239: sys_move_pages + 3712, // 240: sys_rt_tgsigqueueinfo + 2960, // 241: sys_perf_event_open + 51, // 242: sys_accept4 + 3428, // 243: sys_recvmmsg + 149, // 244: sys_arch_specific_syscall + 0, // 245: + 0, // 246: + 0, // 247: + 0, // 248: + 0, // 249: + 0, // 250: + 0, // 251: + 0, // 252: + 0, // 253: + 0, // 254: + 0, // 255: + 0, // 256: + 0, // 257: + 0, // 258: + 0, // 259: + 5606, // 260: sys_wait4 + 3141, // 261: sys_prlimit64 + 806, // 262: sys_fanotify_init + 824, // 263: sys_fanotify_mark + 2706, // 264: sys_name_to_handle_at + 2857, // 265: sys_open_by_handle_at + 342, // 266: sys_clock_adjtime + 5067, // 267: sys_syncfs + 4386, // 268: sys_setns + 4114, // 269: sys_sendmmsg + 3155, // 270: sys_process_vm_readv + 3176, // 271: sys_process_vm_writev + 2013, // 272: sys_kcmp + 964, // 273: sys_finit_module + 3918, // 274: sys_sched_setattr + 3810, // 275: sys_sched_getattr + 3514, // 276: sys_renameat2 + 3994, // 277: sys_seccomp + 1533, // 278: sys_getrandom + 2303, // 279: sys_memfd_create + 241, // 280: sys_bpf + 710, // 281: sys_execveat + 5477, // 282: sys_userfaultfd + 2288, // 283: sys_membarrier + 2404, // 284: sys_mlock2 + 465, // 285: sys_copy_file_range + 3129, // 286: sys_preadv2 + 3279, // 287: sys_pwritev2 + 3059, // 288: sys_pkey_mprotect + 3030, // 289: sys_pkey_alloc + 3045, // 290: sys_pkey_free + 4939, // 291: sys_statx + 1900, // 292: sys_io_pgetevents + 3574, // 293: sys_rseq + }; +}; + +struct SyscallTable_armeabi { + static constexpr const char* names = kAllSyscalllNames; + static constexpr SyscallTable::OffT offsets[]{ + 3544, // 0: sys_restart_syscall + 723, // 1: sys_exit + 1006, // 2: sys_fork + 3322, // 3: sys_read + 5639, // 4: sys_write + 2848, // 5: sys_open + 443, // 6: sys_close + 0, // 7: + 485, // 8: sys_creat + 2115, // 9: sys_link + 5430, // 10: sys_unlink + 699, // 11: sys_execve + 289, // 12: sys_chdir + 5142, // 13: sys_time + 2372, // 14: sys_mknod + 299, // 15: sys_chmod + 2077, // 16: sys_lchown + 0, // 17: + 0, // 18: + 2220, // 19: sys_lseek + 1482, // 20: sys_getpid + 2462, // 21: sys_mount + 5397, // 22: sys_umount + 4597, // 23: sys_setuid + 1705, // 24: sys_getuid + 4949, // 25: sys_stime + 3231, // 26: sys_ptrace + 124, // 27: sys_alarm + 0, // 28: + 2890, // 29: sys_pause + 5503, // 30: sys_utime + 0, // 31: + 0, // 32: + 63, // 33: sys_access + 2772, // 34: sys_nice + 0, // 35: + 5017, // 36: sys_sync + 2068, // 37: sys_kill + 3490, // 38: sys_rename + 2350, // 39: sys_mkdir + 3564, // 40: sys_rmdir + 531, // 41: sys_dup + 2996, // 42: sys_pipe + 5301, // 43: sys_times + 0, // 44: + 259, // 45: sys_brk + 4302, // 46: sys_setgid + 1374, // 47: sys_getgid + 0, // 48: + 1348, // 49: sys_geteuid + 1322, // 50: sys_getegid + 74, // 51: sys_acct + 5408, // 52: sys_umount2 + 0, // 53: + 1945, // 54: sys_ioctl + 914, // 55: sys_fcntl + 0, // 56: + 4396, // 57: sys_setpgid + 0, // 58: + 0, // 59: + 5387, // 60: sys_umask + 331, // 61: sys_chroot + 5493, // 62: sys_ustat + 539, // 63: sys_dup2 + 1505, // 64: sys_getppid + 1470, // 65: sys_getpgrp + 4554, // 66: sys_setsid + 4702, // 67: sys_sigaction + 0, // 68: + 0, // 69: + 4512, // 70: sys_setreuid + 4424, // 71: sys_setregid + 4815, // 72: sys_sigsuspend + 4770, // 73: sys_sigpending + 4356, // 74: sys_sethostname + 4540, // 75: sys_setrlimit + 1607, // 76: sys_getrlimit + 1621, // 77: sys_getrusage + 1688, // 78: sys_gettimeofday + 4580, // 79: sys_settimeofday + 1398, // 80: sys_getgroups + 4326, // 81: sys_setgroups + 4019, // 82: sys_select + 4991, // 83: sys_symlink + 0, // 84: + 3357, // 85: sys_readlink + 5466, // 86: sys_uselib + 4980, // 87: sys_swapon + 3395, // 88: sys_reboot + 3345, // 89: sys_readdir + 2428, // 90: sys_mmap + 2695, // 91: sys_munmap + 5321, // 92: sys_truncate + 1140, // 93: sys_ftruncate + 853, // 94: sys_fchmod + 877, // 95: sys_fchown + 1517, // 96: sys_getpriority + 4408, // 97: sys_setpriority + 0, // 98: + 4915, // 99: sys_statfs + 1094, // 100: sys_fstatfs + 0, // 101: + 4841, // 102: sys_socketcall + 5112, // 103: sys_syslog + 4372, // 104: sys_setitimer + 1428, // 105: sys_getitimer + 4895, // 106: sys_stat + 2244, // 107: sys_lstat + 1046, // 108: sys_fstat + 0, // 109: + 0, // 110: + 5548, // 111: sys_vhangup + 0, // 112: + 5078, // 113: sys_syscall + 5606, // 114: sys_wait4 + 4968, // 115: sys_swapoff + 5100, // 116: sys_sysinfo + 2005, // 117: sys_ipc + 1120, // 118: sys_fsync + 4801, // 119: sys_sigreturn + 433, // 120: sys_clone + 4228, // 121: sys_setdomainname + 5420, // 122: sys_uname + 0, // 123: + 95, // 124: sys_adjtimex + 2487, // 125: sys_mprotect + 4785, // 126: sys_sigprocmask + 0, // 127: + 1760, // 128: sys_init_module + 513, // 129: sys_delete_module + 0, // 130: + 3309, // 131: sys_quotactl + 1458, // 132: sys_getpgid + 842, // 133: sys_fchdir + 220, // 134: sys_bdflush + 5090, // 135: sys_sysfs + 2980, // 136: sys_personality + 0, // 137: + 4274, // 138: sys_setfsuid + 4246, // 139: sys_setfsgid + 1, // 140: sys__llseek + 1294, // 141: sys_getdents + 13, // 142: sys__newselect + 996, // 143: sys_flock + 2658, // 144: sys_msync + 3385, // 145: sys_readv + 5649, // 146: sys_writev + 1635, // 147: sys_getsid + 936, // 148: sys_fdatasync + 28, // 149: sys__sysctl + 2394, // 150: sys_mlock + 2668, // 151: sys_munlock + 2415, // 152: sys_mlockall + 2680, // 153: sys_munlockall + 3936, // 154: sys_sched_setparam + 3828, // 155: sys_sched_getparam + 3955, // 156: sys_sched_setscheduler + 3847, // 157: sys_sched_getscheduler + 3978, // 158: sys_sched_yield + 3734, // 159: sys_sched_get_priority_max + 3761, // 160: sys_sched_get_priority_min + 3870, // 161: sys_sched_rr_get_interval + 2728, // 162: sys_nanosleep + 2603, // 163: sys_mremap + 4482, // 164: sys_setresuid + 1577, // 165: sys_getresuid + 0, // 166: + 0, // 167: + 3077, // 168: sys_poll + 2757, // 169: sys_nfsservctl + 4452, // 170: sys_setresgid + 1547, // 171: sys_getresgid + 3096, // 172: sys_prctl + 3657, // 173: sys_rt_sigreturn + 3583, // 174: sys_rt_sigaction + 3618, // 175: sys_rt_sigprocmask + 3600, // 176: sys_rt_sigpending + 3692, // 177: sys_rt_sigtimedwait + 3637, // 178: sys_rt_sigqueueinfo + 3674, // 179: sys_rt_sigsuspend + 3106, // 180: sys_pread64 + 3254, // 181: sys_pwrite64 + 309, // 182: sys_chown + 1283, // 183: sys_getcwd + 267, // 184: sys_capget + 278, // 185: sys_capset + 4716, // 186: sys_sigaltstack + 4086, // 187: sys_sendfile + 0, // 188: + 0, // 189: + 5538, // 190: sys_vfork + 5361, // 191: sys_ugetrlimit + 2437, // 192: sys_mmap2 + 5334, // 193: sys_truncate64 + 1154, // 194: sys_ftruncate64 + 4904, // 195: sys_stat64 + 2254, // 196: sys_lstat64 + 1056, // 197: sys_fstat64 + 2088, // 198: sys_lchown32 + 1716, // 199: sys_getuid32 + 1385, // 200: sys_getgid32 + 1360, // 201: sys_geteuid32 + 1334, // 202: sys_getegid32 + 4525, // 203: sys_setreuid32 + 4437, // 204: sys_setregid32 + 1412, // 205: sys_getgroups32 + 4340, // 206: sys_setgroups32 + 888, // 207: sys_fchown32 + 4496, // 208: sys_setresuid32 + 1591, // 209: sys_getresuid32 + 4466, // 210: sys_setresgid32 + 1561, // 211: sys_getresgid32 + 319, // 212: sys_chown32 + 4608, // 213: sys_setuid32 + 4313, // 214: sys_setgid32 + 4287, // 215: sys_setfsuid32 + 4259, // 216: sys_setfsgid32 + 1307, // 217: sys_getdents64 + 3015, // 218: sys_pivot_root + 2338, // 219: sys_mincore + 2266, // 220: sys_madvise + 924, // 221: sys_fcntl64 + 0, // 222: + 0, // 223: + 1677, // 224: sys_gettid + 3331, // 225: sys_readahead + 4621, // 226: sys_setxattr + 2230, // 227: sys_lsetxattr + 1032, // 228: sys_fsetxattr + 1729, // 229: sys_getxattr + 2101, // 230: sys_lgetxattr + 950, // 231: sys_fgetxattr + 2146, // 232: sys_listxattr + 2160, // 233: sys_llistxattr + 981, // 234: sys_flistxattr + 3474, // 235: sys_removexattr + 2203, // 236: sys_lremovexattr + 1015, // 237: sys_fremovexattr + 5311, // 238: sys_tkill + 4099, // 239: sys_sendfile64 + 1170, // 240: sys_futex + 3896, // 241: sys_sched_setaffinity + 3788, // 242: sys_sched_getaffinity + 1918, // 243: sys_io_setup + 1868, // 244: sys_io_destroy + 1883, // 245: sys_io_getevents + 1931, // 246: sys_io_submit + 1854, // 247: sys_io_cancel + 732, // 248: sys_exit_group + 2184, // 249: sys_lookup_dcookie + 557, // 250: sys_epoll_create + 592, // 251: sys_epoll_ctl + 640, // 252: sys_epoll_wait + 3453, // 253: sys_remap_file_pages + 0, // 254: + 0, // 255: + 4208, // 256: sys_set_tid_address + 5151, // 257: sys_timer_create + 5224, // 258: sys_timer_settime + 5206, // 259: sys_timer_gettime + 5185, // 260: sys_timer_getoverrun + 5168, // 261: sys_timer_delete + 415, // 262: sys_clock_settime + 377, // 263: sys_clock_gettime + 360, // 264: sys_clock_getres + 395, // 265: sys_clock_nanosleep + 4926, // 266: sys_statfs64 + 1106, // 267: sys_fstatfs64 + 5131, // 268: sys_tgkill + 5527, // 269: sys_utimes + 175, // 270: sys_arm_fadvise64_64 + 2900, // 271: sys_pciconfig_iobase + 2921, // 272: sys_pciconfig_read + 2940, // 273: sys_pciconfig_write + 2540, // 274: sys_mq_open + 2589, // 275: sys_mq_unlink + 2572, // 276: sys_mq_timedsend + 2552, // 277: sys_mq_timedreceive + 2526, // 278: sys_mq_notify + 2508, // 279: sys_mq_getsetattr + 5616, // 280: sys_waitid + 4830, // 281: sys_socket + 232, // 282: sys_bind + 453, // 283: sys_connect + 2135, // 284: sys_listen + 40, // 285: sys_accept + 1646, // 286: sys_getsockname + 1442, // 287: sys_getpeername + 4856, // 288: sys_socketpair + 4077, // 289: sys_send + 4139, // 290: sys_sendto + 3406, // 291: sys_recv + 3415, // 292: sys_recvfrom + 4689, // 293: sys_shutdown + 4565, // 294: sys_setsockopt + 1662, // 295: sys_getsockopt + 4127, // 296: sys_sendmsg + 3441, // 297: sys_recvmsg + 4052, // 298: sys_semop + 4041, // 299: sys_semget + 4030, // 300: sys_semctl + 2647, // 301: sys_msgsnd + 2636, // 302: sys_msgrcv + 2625, // 303: sys_msgget + 2614, // 304: sys_msgctl + 4647, // 305: sys_shmat + 4668, // 306: sys_shmdt + 4678, // 307: sys_shmget + 4657, // 308: sys_shmctl + 83, // 309: sys_add_key + 3528, // 310: sys_request_key + 2057, // 311: sys_keyctl + 4062, // 312: sys_semtimedop + 5594, // 313: sys_vserver + 1990, // 314: sys_ioprio_set + 1975, // 315: sys_ioprio_get + 1798, // 316: sys_inotify_init + 1776, // 317: sys_inotify_add_watch + 1833, // 318: sys_inotify_rm_watch + 2278, // 319: sys_mbind + 1214, // 320: sys_get_mempolicy + 4150, // 321: sys_set_mempolicy + 2879, // 322: sys_openat + 2360, // 323: sys_mkdirat + 2382, // 324: sys_mknodat + 901, // 325: sys_fchownat + 1180, // 326: sys_futimesat + 1080, // 327: sys_fstatat64 + 5441, // 328: sys_unlinkat + 3501, // 329: sys_renameat + 2124, // 330: sys_linkat + 5003, // 331: sys_symlinkat + 3370, // 332: sys_readlinkat + 864, // 333: sys_fchmodat + 747, // 334: sys_faccessat + 3218, // 335: sys_pselect6 + 3086, // 336: sys_ppoll + 5454, // 337: sys_unshare + 4168, // 338: sys_set_robust_list + 1232, // 339: sys_get_robust_list + 4871, // 340: sys_splice + 196, // 341: sys_arm_sync_file_range + 5123, // 342: sys_tee + 5581, // 343: sys_vmsplice + 2472, // 344: sys_move_pages + 1272, // 345: sys_getcpu + 624, // 346: sys_epoll_pwait + 2042, // 347: sys_kexec_load + 5513, // 348: sys_utimensat + 4743, // 349: sys_signalfd + 5242, // 350: sys_timerfd_create + 674, // 351: sys_eventfd + 792, // 352: sys_fallocate + 5281, // 353: sys_timerfd_settime + 5261, // 354: sys_timerfd_gettime + 4756, // 355: sys_signalfd4 + 686, // 356: sys_eventfd2 + 574, // 357: sys_epoll_create1 + 548, // 358: sys_dup3 + 3005, // 359: sys_pipe2 + 1815, // 360: sys_inotify_init1 + 3118, // 361: sys_preadv + 3267, // 362: sys_pwritev + 3712, // 363: sys_rt_tgsigqueueinfo + 2960, // 364: sys_perf_event_open + 3428, // 365: sys_recvmmsg + 51, // 366: sys_accept4 + 806, // 367: sys_fanotify_init + 824, // 368: sys_fanotify_mark + 3141, // 369: sys_prlimit64 + 2706, // 370: sys_name_to_handle_at + 2857, // 371: sys_open_by_handle_at + 342, // 372: sys_clock_adjtime + 5067, // 373: sys_syncfs + 4114, // 374: sys_sendmmsg + 4386, // 375: sys_setns + 3155, // 376: sys_process_vm_readv + 3176, // 377: sys_process_vm_writev + 2013, // 378: sys_kcmp + 964, // 379: sys_finit_module + 3918, // 380: sys_sched_setattr + 3810, // 381: sys_sched_getattr + 3514, // 382: sys_renameat2 + 3994, // 383: sys_seccomp + 1533, // 384: sys_getrandom + 2303, // 385: sys_memfd_create + 241, // 386: sys_bpf + 710, // 387: sys_execveat + 5477, // 388: sys_userfaultfd + 2288, // 389: sys_membarrier + 2404, // 390: sys_mlock2 + 465, // 391: sys_copy_file_range + 3129, // 392: sys_preadv2 + 3279, // 393: sys_pwritev2 + 3059, // 394: sys_pkey_mprotect + 3030, // 395: sys_pkey_alloc + 3045, // 396: sys_pkey_free + 4939, // 397: sys_statx + 3574, // 398: sys_rseq + 1900, // 399: sys_io_pgetevents + }; +}; + +struct SyscallTable_x86 { + static constexpr const char* names = kAllSyscalllNames; + static constexpr SyscallTable::OffT offsets[]{ + 3544, // 0: sys_restart_syscall + 723, // 1: sys_exit + 1006, // 2: sys_fork + 3322, // 3: sys_read + 5639, // 4: sys_write + 2848, // 5: sys_open + 443, // 6: sys_close + 5627, // 7: sys_waitpid + 485, // 8: sys_creat + 2115, // 9: sys_link + 5430, // 10: sys_unlink + 699, // 11: sys_execve + 289, // 12: sys_chdir + 5142, // 13: sys_time + 2372, // 14: sys_mknod + 299, // 15: sys_chmod + 2077, // 16: sys_lchown + 249, // 17: sys_break + 2823, // 18: sys_oldstat + 2220, // 19: sys_lseek + 1482, // 20: sys_getpid + 2462, // 21: sys_mount + 5397, // 22: sys_umount + 4597, // 23: sys_setuid + 1705, // 24: sys_getuid + 4949, // 25: sys_stime + 3231, // 26: sys_ptrace + 124, // 27: sys_alarm + 2781, // 28: sys_oldfstat + 2890, // 29: sys_pause + 5503, // 30: sys_utime + 4959, // 31: sys_stty + 1742, // 32: sys_gtty + 63, // 33: sys_access + 2772, // 34: sys_nice + 1130, // 35: sys_ftime + 5017, // 36: sys_sync + 2068, // 37: sys_kill + 3490, // 38: sys_rename + 2350, // 39: sys_mkdir + 3564, // 40: sys_rmdir + 531, // 41: sys_dup + 2996, // 42: sys_pipe + 5301, // 43: sys_times + 3198, // 44: sys_prof + 259, // 45: sys_brk + 4302, // 46: sys_setgid + 1374, // 47: sys_getgid + 4732, // 48: sys_signal + 1348, // 49: sys_geteuid + 1322, // 50: sys_getegid + 74, // 51: sys_acct + 5408, // 52: sys_umount2 + 2175, // 53: sys_lock + 1945, // 54: sys_ioctl + 914, // 55: sys_fcntl + 2500, // 56: sys_mpx + 4396, // 57: sys_setpgid + 5376, // 58: sys_ulimit + 2807, // 59: sys_oldolduname + 5387, // 60: sys_umask + 331, // 61: sys_chroot + 5493, // 62: sys_ustat + 539, // 63: sys_dup2 + 1505, // 64: sys_getppid + 1470, // 65: sys_getpgrp + 4554, // 66: sys_setsid + 4702, // 67: sys_sigaction + 4634, // 68: sys_sgetmask + 4882, // 69: sys_ssetmask + 4512, // 70: sys_setreuid + 4424, // 71: sys_setregid + 4815, // 72: sys_sigsuspend + 4770, // 73: sys_sigpending + 4356, // 74: sys_sethostname + 4540, // 75: sys_setrlimit + 1607, // 76: sys_getrlimit + 1621, // 77: sys_getrusage + 1688, // 78: sys_gettimeofday + 4580, // 79: sys_settimeofday + 1398, // 80: sys_getgroups + 4326, // 81: sys_setgroups + 4019, // 82: sys_select + 4991, // 83: sys_symlink + 2794, // 84: sys_oldlstat + 3357, // 85: sys_readlink + 5466, // 86: sys_uselib + 4980, // 87: sys_swapon + 3395, // 88: sys_reboot + 3345, // 89: sys_readdir + 2428, // 90: sys_mmap + 2695, // 91: sys_munmap + 5321, // 92: sys_truncate + 1140, // 93: sys_ftruncate + 853, // 94: sys_fchmod + 877, // 95: sys_fchown + 1517, // 96: sys_getpriority + 4408, // 97: sys_setpriority + 3207, // 98: sys_profil + 4915, // 99: sys_statfs + 1094, // 100: sys_fstatfs + 1955, // 101: sys_ioperm + 4841, // 102: sys_socketcall + 5112, // 103: sys_syslog + 4372, // 104: sys_setitimer + 1428, // 105: sys_getitimer + 4895, // 106: sys_stat + 2244, // 107: sys_lstat + 1046, // 108: sys_fstat + 2835, // 109: sys_olduname + 1966, // 110: sys_iopl + 5548, // 111: sys_vhangup + 1751, // 112: sys_idle + 5569, // 113: sys_vm86old + 5606, // 114: sys_wait4 + 4968, // 115: sys_swapoff + 5100, // 116: sys_sysinfo + 2005, // 117: sys_ipc + 1120, // 118: sys_fsync + 4801, // 119: sys_sigreturn + 433, // 120: sys_clone + 4228, // 121: sys_setdomainname + 5420, // 122: sys_uname + 2447, // 123: sys_modify_ldt + 95, // 124: sys_adjtimex + 2487, // 125: sys_mprotect + 4785, // 126: sys_sigprocmask + 495, // 127: sys_create_module + 1760, // 128: sys_init_module + 513, // 129: sys_delete_module + 1194, // 130: sys_get_kernel_syms + 3309, // 131: sys_quotactl + 1458, // 132: sys_getpgid + 842, // 133: sys_fchdir + 220, // 134: sys_bdflush + 5090, // 135: sys_sysfs + 2980, // 136: sys_personality + 108, // 137: sys_afs_syscall + 4274, // 138: sys_setfsuid + 4246, // 139: sys_setfsgid + 1, // 140: sys__llseek + 1294, // 141: sys_getdents + 13, // 142: sys__newselect + 996, // 143: sys_flock + 2658, // 144: sys_msync + 3385, // 145: sys_readv + 5649, // 146: sys_writev + 1635, // 147: sys_getsid + 936, // 148: sys_fdatasync + 28, // 149: sys__sysctl + 2394, // 150: sys_mlock + 2668, // 151: sys_munlock + 2415, // 152: sys_mlockall + 2680, // 153: sys_munlockall + 3936, // 154: sys_sched_setparam + 3828, // 155: sys_sched_getparam + 3955, // 156: sys_sched_setscheduler + 3847, // 157: sys_sched_getscheduler + 3978, // 158: sys_sched_yield + 3734, // 159: sys_sched_get_priority_max + 3761, // 160: sys_sched_get_priority_min + 3870, // 161: sys_sched_rr_get_interval + 2728, // 162: sys_nanosleep + 2603, // 163: sys_mremap + 4482, // 164: sys_setresuid + 1577, // 165: sys_getresuid + 5560, // 166: sys_vm86 + 3292, // 167: sys_query_module + 3077, // 168: sys_poll + 2757, // 169: sys_nfsservctl + 4452, // 170: sys_setresgid + 1547, // 171: sys_getresgid + 3096, // 172: sys_prctl + 3657, // 173: sys_rt_sigreturn + 3583, // 174: sys_rt_sigaction + 3618, // 175: sys_rt_sigprocmask + 3600, // 176: sys_rt_sigpending + 3692, // 177: sys_rt_sigtimedwait + 3637, // 178: sys_rt_sigqueueinfo + 3674, // 179: sys_rt_sigsuspend + 3106, // 180: sys_pread64 + 3254, // 181: sys_pwrite64 + 309, // 182: sys_chown + 1283, // 183: sys_getcwd + 267, // 184: sys_capget + 278, // 185: sys_capset + 4716, // 186: sys_sigaltstack + 4086, // 187: sys_sendfile + 1493, // 188: sys_getpmsg + 3242, // 189: sys_putpmsg + 5538, // 190: sys_vfork + 5361, // 191: sys_ugetrlimit + 2437, // 192: sys_mmap2 + 5334, // 193: sys_truncate64 + 1154, // 194: sys_ftruncate64 + 4904, // 195: sys_stat64 + 2254, // 196: sys_lstat64 + 1056, // 197: sys_fstat64 + 2088, // 198: sys_lchown32 + 1716, // 199: sys_getuid32 + 1385, // 200: sys_getgid32 + 1360, // 201: sys_geteuid32 + 1334, // 202: sys_getegid32 + 4525, // 203: sys_setreuid32 + 4437, // 204: sys_setregid32 + 1412, // 205: sys_getgroups32 + 4340, // 206: sys_setgroups32 + 888, // 207: sys_fchown32 + 4496, // 208: sys_setresuid32 + 1591, // 209: sys_getresuid32 + 4466, // 210: sys_setresgid32 + 1561, // 211: sys_getresgid32 + 319, // 212: sys_chown32 + 4608, // 213: sys_setuid32 + 4313, // 214: sys_setgid32 + 4287, // 215: sys_setfsuid32 + 4259, // 216: sys_setfsgid32 + 3015, // 217: sys_pivot_root + 2338, // 218: sys_mincore + 2266, // 219: sys_madvise + 1307, // 220: sys_getdents64 + 924, // 221: sys_fcntl64 + 0, // 222: + 0, // 223: + 1677, // 224: sys_gettid + 3331, // 225: sys_readahead + 4621, // 226: sys_setxattr + 2230, // 227: sys_lsetxattr + 1032, // 228: sys_fsetxattr + 1729, // 229: sys_getxattr + 2101, // 230: sys_lgetxattr + 950, // 231: sys_fgetxattr + 2146, // 232: sys_listxattr + 2160, // 233: sys_llistxattr + 981, // 234: sys_flistxattr + 3474, // 235: sys_removexattr + 2203, // 236: sys_lremovexattr + 1015, // 237: sys_fremovexattr + 5311, // 238: sys_tkill + 4099, // 239: sys_sendfile64 + 1170, // 240: sys_futex + 3896, // 241: sys_sched_setaffinity + 3788, // 242: sys_sched_getaffinity + 4188, // 243: sys_set_thread_area + 1252, // 244: sys_get_thread_area + 1918, // 245: sys_io_setup + 1868, // 246: sys_io_destroy + 1883, // 247: sys_io_getevents + 1931, // 248: sys_io_submit + 1854, // 249: sys_io_cancel + 761, // 250: sys_fadvise64 + 0, // 251: + 732, // 252: sys_exit_group + 2184, // 253: sys_lookup_dcookie + 557, // 254: sys_epoll_create + 592, // 255: sys_epoll_ctl + 640, // 256: sys_epoll_wait + 3453, // 257: sys_remap_file_pages + 4208, // 258: sys_set_tid_address + 5151, // 259: sys_timer_create + 5224, // 260: sys_timer_settime + 5206, // 261: sys_timer_gettime + 5185, // 262: sys_timer_getoverrun + 5168, // 263: sys_timer_delete + 415, // 264: sys_clock_settime + 377, // 265: sys_clock_gettime + 360, // 266: sys_clock_getres + 395, // 267: sys_clock_nanosleep + 4926, // 268: sys_statfs64 + 1106, // 269: sys_fstatfs64 + 5131, // 270: sys_tgkill + 5527, // 271: sys_utimes + 775, // 272: sys_fadvise64_64 + 5594, // 273: sys_vserver + 2278, // 274: sys_mbind + 1214, // 275: sys_get_mempolicy + 4150, // 276: sys_set_mempolicy + 2540, // 277: sys_mq_open + 2589, // 278: sys_mq_unlink + 2572, // 279: sys_mq_timedsend + 2552, // 280: sys_mq_timedreceive + 2526, // 281: sys_mq_notify + 2508, // 282: sys_mq_getsetattr + 2042, // 283: sys_kexec_load + 5616, // 284: sys_waitid + 0, // 285: + 83, // 286: sys_add_key + 3528, // 287: sys_request_key + 2057, // 288: sys_keyctl + 1990, // 289: sys_ioprio_set + 1975, // 290: sys_ioprio_get + 1798, // 291: sys_inotify_init + 1776, // 292: sys_inotify_add_watch + 1833, // 293: sys_inotify_rm_watch + 2320, // 294: sys_migrate_pages + 2879, // 295: sys_openat + 2360, // 296: sys_mkdirat + 2382, // 297: sys_mknodat + 901, // 298: sys_fchownat + 1180, // 299: sys_futimesat + 1080, // 300: sys_fstatat64 + 5441, // 301: sys_unlinkat + 3501, // 302: sys_renameat + 2124, // 303: sys_linkat + 5003, // 304: sys_symlinkat + 3370, // 305: sys_readlinkat + 864, // 306: sys_fchmodat + 747, // 307: sys_faccessat + 3218, // 308: sys_pselect6 + 3086, // 309: sys_ppoll + 5454, // 310: sys_unshare + 4168, // 311: sys_set_robust_list + 1232, // 312: sys_get_robust_list + 4871, // 313: sys_splice + 5026, // 314: sys_sync_file_range + 5123, // 315: sys_tee + 5581, // 316: sys_vmsplice + 2472, // 317: sys_move_pages + 1272, // 318: sys_getcpu + 624, // 319: sys_epoll_pwait + 5513, // 320: sys_utimensat + 4743, // 321: sys_signalfd + 5242, // 322: sys_timerfd_create + 674, // 323: sys_eventfd + 792, // 324: sys_fallocate + 5281, // 325: sys_timerfd_settime + 5261, // 326: sys_timerfd_gettime + 4756, // 327: sys_signalfd4 + 686, // 328: sys_eventfd2 + 574, // 329: sys_epoll_create1 + 548, // 330: sys_dup3 + 3005, // 331: sys_pipe2 + 1815, // 332: sys_inotify_init1 + 3118, // 333: sys_preadv + 3267, // 334: sys_pwritev + 3712, // 335: sys_rt_tgsigqueueinfo + 2960, // 336: sys_perf_event_open + 3428, // 337: sys_recvmmsg + 806, // 338: sys_fanotify_init + 824, // 339: sys_fanotify_mark + 3141, // 340: sys_prlimit64 + 2706, // 341: sys_name_to_handle_at + 2857, // 342: sys_open_by_handle_at + 342, // 343: sys_clock_adjtime + 5067, // 344: sys_syncfs + 4114, // 345: sys_sendmmsg + 4386, // 346: sys_setns + 3155, // 347: sys_process_vm_readv + 3176, // 348: sys_process_vm_writev + 2013, // 349: sys_kcmp + 964, // 350: sys_finit_module + 3918, // 351: sys_sched_setattr + 3810, // 352: sys_sched_getattr + 3514, // 353: sys_renameat2 + 3994, // 354: sys_seccomp + 1533, // 355: sys_getrandom + 2303, // 356: sys_memfd_create + 241, // 357: sys_bpf + 710, // 358: sys_execveat + 4830, // 359: sys_socket + 4856, // 360: sys_socketpair + 232, // 361: sys_bind + 453, // 362: sys_connect + 2135, // 363: sys_listen + 51, // 364: sys_accept4 + 1662, // 365: sys_getsockopt + 4565, // 366: sys_setsockopt + 1646, // 367: sys_getsockname + 1442, // 368: sys_getpeername + 4139, // 369: sys_sendto + 4127, // 370: sys_sendmsg + 3415, // 371: sys_recvfrom + 3441, // 372: sys_recvmsg + 4689, // 373: sys_shutdown + 5477, // 374: sys_userfaultfd + 2288, // 375: sys_membarrier + 2404, // 376: sys_mlock2 + 465, // 377: sys_copy_file_range + 3129, // 378: sys_preadv2 + 3279, // 379: sys_pwritev2 + 3059, // 380: sys_pkey_mprotect + 3030, // 381: sys_pkey_alloc + 3045, // 382: sys_pkey_free + 4939, // 383: sys_statx + 134, // 384: sys_arch_prctl + 1900, // 385: sys_io_pgetevents + 3574, // 386: sys_rseq + }; +}; + +struct SyscallTable_x86_64 { + static constexpr const char* names = kAllSyscalllNames; + static constexpr SyscallTable::OffT offsets[]{ + 3322, // 0: sys_read + 5639, // 1: sys_write + 2848, // 2: sys_open + 443, // 3: sys_close + 4895, // 4: sys_stat + 1046, // 5: sys_fstat + 2244, // 6: sys_lstat + 3077, // 7: sys_poll + 2220, // 8: sys_lseek + 2428, // 9: sys_mmap + 2487, // 10: sys_mprotect + 2695, // 11: sys_munmap + 259, // 12: sys_brk + 3583, // 13: sys_rt_sigaction + 3618, // 14: sys_rt_sigprocmask + 3657, // 15: sys_rt_sigreturn + 1945, // 16: sys_ioctl + 3106, // 17: sys_pread64 + 3254, // 18: sys_pwrite64 + 3385, // 19: sys_readv + 5649, // 20: sys_writev + 63, // 21: sys_access + 2996, // 22: sys_pipe + 4019, // 23: sys_select + 3978, // 24: sys_sched_yield + 2603, // 25: sys_mremap + 2658, // 26: sys_msync + 2338, // 27: sys_mincore + 2266, // 28: sys_madvise + 4678, // 29: sys_shmget + 4647, // 30: sys_shmat + 4657, // 31: sys_shmctl + 531, // 32: sys_dup + 539, // 33: sys_dup2 + 2890, // 34: sys_pause + 2728, // 35: sys_nanosleep + 1428, // 36: sys_getitimer + 124, // 37: sys_alarm + 4372, // 38: sys_setitimer + 1482, // 39: sys_getpid + 4086, // 40: sys_sendfile + 4830, // 41: sys_socket + 453, // 42: sys_connect + 40, // 43: sys_accept + 4139, // 44: sys_sendto + 3415, // 45: sys_recvfrom + 4127, // 46: sys_sendmsg + 3441, // 47: sys_recvmsg + 4689, // 48: sys_shutdown + 232, // 49: sys_bind + 2135, // 50: sys_listen + 1646, // 51: sys_getsockname + 1442, // 52: sys_getpeername + 4856, // 53: sys_socketpair + 4565, // 54: sys_setsockopt + 1662, // 55: sys_getsockopt + 433, // 56: sys_clone + 1006, // 57: sys_fork + 5538, // 58: sys_vfork + 699, // 59: sys_execve + 723, // 60: sys_exit + 5606, // 61: sys_wait4 + 2068, // 62: sys_kill + 5420, // 63: sys_uname + 4041, // 64: sys_semget + 4052, // 65: sys_semop + 4030, // 66: sys_semctl + 4668, // 67: sys_shmdt + 2625, // 68: sys_msgget + 2647, // 69: sys_msgsnd + 2636, // 70: sys_msgrcv + 2614, // 71: sys_msgctl + 914, // 72: sys_fcntl + 996, // 73: sys_flock + 1120, // 74: sys_fsync + 936, // 75: sys_fdatasync + 5321, // 76: sys_truncate + 1140, // 77: sys_ftruncate + 1294, // 78: sys_getdents + 1283, // 79: sys_getcwd + 289, // 80: sys_chdir + 842, // 81: sys_fchdir + 3490, // 82: sys_rename + 2350, // 83: sys_mkdir + 3564, // 84: sys_rmdir + 485, // 85: sys_creat + 2115, // 86: sys_link + 5430, // 87: sys_unlink + 4991, // 88: sys_symlink + 3357, // 89: sys_readlink + 299, // 90: sys_chmod + 853, // 91: sys_fchmod + 309, // 92: sys_chown + 877, // 93: sys_fchown + 2077, // 94: sys_lchown + 5387, // 95: sys_umask + 1688, // 96: sys_gettimeofday + 1607, // 97: sys_getrlimit + 1621, // 98: sys_getrusage + 5100, // 99: sys_sysinfo + 5301, // 100: sys_times + 3231, // 101: sys_ptrace + 1705, // 102: sys_getuid + 5112, // 103: sys_syslog + 1374, // 104: sys_getgid + 4597, // 105: sys_setuid + 4302, // 106: sys_setgid + 1348, // 107: sys_geteuid + 1322, // 108: sys_getegid + 4396, // 109: sys_setpgid + 1505, // 110: sys_getppid + 1470, // 111: sys_getpgrp + 4554, // 112: sys_setsid + 4512, // 113: sys_setreuid + 4424, // 114: sys_setregid + 1398, // 115: sys_getgroups + 4326, // 116: sys_setgroups + 4482, // 117: sys_setresuid + 1577, // 118: sys_getresuid + 4452, // 119: sys_setresgid + 1547, // 120: sys_getresgid + 1458, // 121: sys_getpgid + 4274, // 122: sys_setfsuid + 4246, // 123: sys_setfsgid + 1635, // 124: sys_getsid + 267, // 125: sys_capget + 278, // 126: sys_capset + 3600, // 127: sys_rt_sigpending + 3692, // 128: sys_rt_sigtimedwait + 3637, // 129: sys_rt_sigqueueinfo + 3674, // 130: sys_rt_sigsuspend + 4716, // 131: sys_sigaltstack + 5503, // 132: sys_utime + 2372, // 133: sys_mknod + 5466, // 134: sys_uselib + 2980, // 135: sys_personality + 5493, // 136: sys_ustat + 4915, // 137: sys_statfs + 1094, // 138: sys_fstatfs + 5090, // 139: sys_sysfs + 1517, // 140: sys_getpriority + 4408, // 141: sys_setpriority + 3936, // 142: sys_sched_setparam + 3828, // 143: sys_sched_getparam + 3955, // 144: sys_sched_setscheduler + 3847, // 145: sys_sched_getscheduler + 3734, // 146: sys_sched_get_priority_max + 3761, // 147: sys_sched_get_priority_min + 3870, // 148: sys_sched_rr_get_interval + 2394, // 149: sys_mlock + 2668, // 150: sys_munlock + 2415, // 151: sys_mlockall + 2680, // 152: sys_munlockall + 5548, // 153: sys_vhangup + 2447, // 154: sys_modify_ldt + 3015, // 155: sys_pivot_root + 28, // 156: sys__sysctl + 3096, // 157: sys_prctl + 134, // 158: sys_arch_prctl + 95, // 159: sys_adjtimex + 4540, // 160: sys_setrlimit + 331, // 161: sys_chroot + 5017, // 162: sys_sync + 74, // 163: sys_acct + 4580, // 164: sys_settimeofday + 2462, // 165: sys_mount + 5408, // 166: sys_umount2 + 4980, // 167: sys_swapon + 4968, // 168: sys_swapoff + 3395, // 169: sys_reboot + 4356, // 170: sys_sethostname + 4228, // 171: sys_setdomainname + 1966, // 172: sys_iopl + 1955, // 173: sys_ioperm + 495, // 174: sys_create_module + 1760, // 175: sys_init_module + 513, // 176: sys_delete_module + 1194, // 177: sys_get_kernel_syms + 3292, // 178: sys_query_module + 3309, // 179: sys_quotactl + 2757, // 180: sys_nfsservctl + 1493, // 181: sys_getpmsg + 3242, // 182: sys_putpmsg + 108, // 183: sys_afs_syscall + 5349, // 184: sys_tuxcall + 4006, // 185: sys_security + 1677, // 186: sys_gettid + 3331, // 187: sys_readahead + 4621, // 188: sys_setxattr + 2230, // 189: sys_lsetxattr + 1032, // 190: sys_fsetxattr + 1729, // 191: sys_getxattr + 2101, // 192: sys_lgetxattr + 950, // 193: sys_fgetxattr + 2146, // 194: sys_listxattr + 2160, // 195: sys_llistxattr + 981, // 196: sys_flistxattr + 3474, // 197: sys_removexattr + 2203, // 198: sys_lremovexattr + 1015, // 199: sys_fremovexattr + 5311, // 200: sys_tkill + 5142, // 201: sys_time + 1170, // 202: sys_futex + 3896, // 203: sys_sched_setaffinity + 3788, // 204: sys_sched_getaffinity + 4188, // 205: sys_set_thread_area + 1918, // 206: sys_io_setup + 1868, // 207: sys_io_destroy + 1883, // 208: sys_io_getevents + 1931, // 209: sys_io_submit + 1854, // 210: sys_io_cancel + 1252, // 211: sys_get_thread_area + 2184, // 212: sys_lookup_dcookie + 557, // 213: sys_epoll_create + 606, // 214: sys_epoll_ctl_old + 655, // 215: sys_epoll_wait_old + 3453, // 216: sys_remap_file_pages + 1307, // 217: sys_getdents64 + 4208, // 218: sys_set_tid_address + 3544, // 219: sys_restart_syscall + 4062, // 220: sys_semtimedop + 761, // 221: sys_fadvise64 + 5151, // 222: sys_timer_create + 5224, // 223: sys_timer_settime + 5206, // 224: sys_timer_gettime + 5185, // 225: sys_timer_getoverrun + 5168, // 226: sys_timer_delete + 415, // 227: sys_clock_settime + 377, // 228: sys_clock_gettime + 360, // 229: sys_clock_getres + 395, // 230: sys_clock_nanosleep + 732, // 231: sys_exit_group + 640, // 232: sys_epoll_wait + 592, // 233: sys_epoll_ctl + 5131, // 234: sys_tgkill + 5527, // 235: sys_utimes + 5594, // 236: sys_vserver + 2278, // 237: sys_mbind + 4150, // 238: sys_set_mempolicy + 1214, // 239: sys_get_mempolicy + 2540, // 240: sys_mq_open + 2589, // 241: sys_mq_unlink + 2572, // 242: sys_mq_timedsend + 2552, // 243: sys_mq_timedreceive + 2526, // 244: sys_mq_notify + 2508, // 245: sys_mq_getsetattr + 2042, // 246: sys_kexec_load + 5616, // 247: sys_waitid + 83, // 248: sys_add_key + 3528, // 249: sys_request_key + 2057, // 250: sys_keyctl + 1990, // 251: sys_ioprio_set + 1975, // 252: sys_ioprio_get + 1798, // 253: sys_inotify_init + 1776, // 254: sys_inotify_add_watch + 1833, // 255: sys_inotify_rm_watch + 2320, // 256: sys_migrate_pages + 2879, // 257: sys_openat + 2360, // 258: sys_mkdirat + 2382, // 259: sys_mknodat + 901, // 260: sys_fchownat + 1180, // 261: sys_futimesat + 2742, // 262: sys_newfstatat + 5441, // 263: sys_unlinkat + 3501, // 264: sys_renameat + 2124, // 265: sys_linkat + 5003, // 266: sys_symlinkat + 3370, // 267: sys_readlinkat + 864, // 268: sys_fchmodat + 747, // 269: sys_faccessat + 3218, // 270: sys_pselect6 + 3086, // 271: sys_ppoll + 5454, // 272: sys_unshare + 4168, // 273: sys_set_robust_list + 1232, // 274: sys_get_robust_list + 4871, // 275: sys_splice + 5123, // 276: sys_tee + 5026, // 277: sys_sync_file_range + 5581, // 278: sys_vmsplice + 2472, // 279: sys_move_pages + 5513, // 280: sys_utimensat + 624, // 281: sys_epoll_pwait + 4743, // 282: sys_signalfd + 5242, // 283: sys_timerfd_create + 674, // 284: sys_eventfd + 792, // 285: sys_fallocate + 5281, // 286: sys_timerfd_settime + 5261, // 287: sys_timerfd_gettime + 51, // 288: sys_accept4 + 4756, // 289: sys_signalfd4 + 686, // 290: sys_eventfd2 + 574, // 291: sys_epoll_create1 + 548, // 292: sys_dup3 + 3005, // 293: sys_pipe2 + 1815, // 294: sys_inotify_init1 + 3118, // 295: sys_preadv + 3267, // 296: sys_pwritev + 3712, // 297: sys_rt_tgsigqueueinfo + 2960, // 298: sys_perf_event_open + 3428, // 299: sys_recvmmsg + 806, // 300: sys_fanotify_init + 824, // 301: sys_fanotify_mark + 3141, // 302: sys_prlimit64 + 2706, // 303: sys_name_to_handle_at + 2857, // 304: sys_open_by_handle_at + 342, // 305: sys_clock_adjtime + 5067, // 306: sys_syncfs + 4114, // 307: sys_sendmmsg + 4386, // 308: sys_setns + 1272, // 309: sys_getcpu + 3155, // 310: sys_process_vm_readv + 3176, // 311: sys_process_vm_writev + 2013, // 312: sys_kcmp + 964, // 313: sys_finit_module + 3918, // 314: sys_sched_setattr + 3810, // 315: sys_sched_getattr + 3514, // 316: sys_renameat2 + 3994, // 317: sys_seccomp + 1533, // 318: sys_getrandom + 2303, // 319: sys_memfd_create + 2022, // 320: sys_kexec_file_load + 241, // 321: sys_bpf + 710, // 322: sys_execveat + 5477, // 323: sys_userfaultfd + 2288, // 324: sys_membarrier + 2404, // 325: sys_mlock2 + 465, // 326: sys_copy_file_range + 3129, // 327: sys_preadv2 + 3279, // 328: sys_pwritev2 + 3059, // 329: sys_pkey_mprotect + 3030, // 330: sys_pkey_alloc + 3045, // 331: sys_pkey_free + 4939, // 332: sys_statx + 1900, // 333: sys_io_pgetevents + 3574, // 334: sys_rseq + 0, // 335: + 0, // 336: + 0, // 337: + 0, // 338: + 0, // 339: + 0, // 340: + 0, // 341: + 0, // 342: + 0, // 343: + 0, // 344: + 0, // 345: + 0, // 346: + 0, // 347: + 0, // 348: + 0, // 349: + 0, // 350: + 0, // 351: + 0, // 352: + 0, // 353: + 0, // 354: + 0, // 355: + 0, // 356: + 0, // 357: + 0, // 358: + 0, // 359: + 0, // 360: + 0, // 361: + 0, // 362: + 0, // 363: + 0, // 364: + 0, // 365: + 0, // 366: + 0, // 367: + 0, // 368: + 0, // 369: + 0, // 370: + 0, // 371: + 0, // 372: + 0, // 373: + 0, // 374: + 0, // 375: + 0, // 376: + 0, // 377: + 0, // 378: + 0, // 379: + 0, // 380: + 0, // 381: + 0, // 382: + 0, // 383: + 0, // 384: + 0, // 385: + 0, // 386: + 0, // 387: + 0, // 388: + 0, // 389: + 0, // 390: + 0, // 391: + 0, // 392: + 0, // 393: + 0, // 394: + 0, // 395: + 0, // 396: + 0, // 397: + 0, // 398: + 0, // 399: + 0, // 400: + 0, // 401: + 0, // 402: + 0, // 403: + 0, // 404: + 0, // 405: + 0, // 406: + 0, // 407: + 0, // 408: + 0, // 409: + 0, // 410: + 0, // 411: + 0, // 412: + 0, // 413: + 0, // 414: + 0, // 415: + 0, // 416: + 0, // 417: + 0, // 418: + 0, // 419: + 0, // 420: + 0, // 421: + 0, // 422: + 0, // 423: + 0, // 424: + 0, // 425: + 0, // 426: + 0, // 427: + 0, // 428: + 0, // 429: + 0, // 430: + 0, // 431: + 0, // 432: + 0, // 433: + 0, // 434: + 0, // 435: + 0, // 436: + 0, // 437: + 0, // 438: + 0, // 439: + 0, // 440: + 0, // 441: + 0, // 442: + 0, // 443: + 0, // 444: + 0, // 445: + 0, // 446: + 0, // 447: + 0, // 448: + 0, // 449: + 0, // 450: + 0, // 451: + 0, // 452: + 0, // 453: + 0, // 454: + 0, // 455: + 0, // 456: + 0, // 457: + 0, // 458: + 0, // 459: + 0, // 460: + 0, // 461: + 0, // 462: + 0, // 463: + 0, // 464: + 0, // 465: + 0, // 466: + 0, // 467: + 0, // 468: + 0, // 469: + 0, // 470: + 0, // 471: + 0, // 472: + 0, // 473: + 0, // 474: + 0, // 475: + 0, // 476: + 0, // 477: + 0, // 478: + 0, // 479: + 0, // 480: + 0, // 481: + 0, // 482: + 0, // 483: + 0, // 484: + 0, // 485: + 0, // 486: + 0, // 487: + 0, // 488: + 0, // 489: + 0, // 490: + 0, // 491: + 0, // 492: + 0, // 493: + 0, // 494: + 0, // 495: + 0, // 496: + 0, // 497: + 0, // 498: + 0, // 499: + 0, // 500: + 0, // 501: + 0, // 502: + 0, // 503: + 0, // 504: + 0, // 505: + 0, // 506: + 0, // 507: + 0, // 508: + 0, // 509: + 0, // 510: + 0, // 511: + 3583, // 512: sys_rt_sigaction + 3657, // 513: sys_rt_sigreturn + 1945, // 514: sys_ioctl + 3385, // 515: sys_readv + 5649, // 516: sys_writev + 3415, // 517: sys_recvfrom + 4127, // 518: sys_sendmsg + 3441, // 519: sys_recvmsg + 699, // 520: sys_execve + 3231, // 521: sys_ptrace + 3600, // 522: sys_rt_sigpending + 3692, // 523: sys_rt_sigtimedwait + 3637, // 524: sys_rt_sigqueueinfo + 4716, // 525: sys_sigaltstack + 5151, // 526: sys_timer_create + 2526, // 527: sys_mq_notify + 2042, // 528: sys_kexec_load + 5616, // 529: sys_waitid + 4168, // 530: sys_set_robust_list + 1232, // 531: sys_get_robust_list + 5581, // 532: sys_vmsplice + 2472, // 533: sys_move_pages + 3118, // 534: sys_preadv + 3267, // 535: sys_pwritev + 3712, // 536: sys_rt_tgsigqueueinfo + 3428, // 537: sys_recvmmsg + 4114, // 538: sys_sendmmsg + 3155, // 539: sys_process_vm_readv + 3176, // 540: sys_process_vm_writev + 4565, // 541: sys_setsockopt + 1662, // 542: sys_getsockopt + 1918, // 543: sys_io_setup + 1931, // 544: sys_io_submit + 710, // 545: sys_execveat + 3129, // 546: sys_preadv2 + 3279, // 547: sys_pwritev2 + }; +}; + +} // namespace perfetto +#endif // SRC_KERNEL_UTILS_SYSCALL_TABLE_GENERATED_H_
diff --git a/src/kernel_utils/syscall_table_unittest.cc b/src/kernel_utils/syscall_table_unittest.cc new file mode 100644 index 0000000..30390f3 --- /dev/null +++ b/src/kernel_utils/syscall_table_unittest.cc
@@ -0,0 +1,109 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "src/kernel_utils/syscall_table.h" + +#include "test/gtest_and_gmock.h" + +namespace perfetto { +namespace { + +TEST(SyscallTableTest, Aarch64) { + SyscallTable t(Architecture::kAarch64); + EXPECT_STREQ(t.GetById(0), "sys_io_setup"); + EXPECT_EQ(t.GetByName("sys_io_setup"), 0u); + + EXPECT_STREQ(t.GetById(1), "sys_io_destroy"); + EXPECT_EQ(t.GetByName("sys_io_destroy"), 1u); + + EXPECT_STREQ(t.GetById(220), "sys_clone"); + EXPECT_EQ(t.GetByName("sys_clone"), 220u); + + EXPECT_STREQ(t.GetById(293), "sys_rseq"); + EXPECT_EQ(t.GetByName("sys_rseq"), 293u); + + EXPECT_STREQ(t.GetById(294), nullptr); + EXPECT_STREQ(t.GetById(kMaxSyscalls), nullptr); + + EXPECT_EQ(t.GetByName("sys_non_existent"), std::nullopt); +} + +TEST(SyscallTableTest, ArmEabi) { + SyscallTable t(Architecture::kArmEabi); + EXPECT_STREQ(t.GetById(0), "sys_restart_syscall"); + EXPECT_EQ(t.GetByName("sys_restart_syscall"), 0u); + + EXPECT_STREQ(t.GetById(1), "sys_exit"); + EXPECT_EQ(t.GetByName("sys_exit"), 1u); + + EXPECT_STREQ(t.GetById(190), "sys_vfork"); + EXPECT_EQ(t.GetByName("sys_vfork"), 190u); + + EXPECT_STREQ(t.GetById(399), "sys_io_pgetevents"); + EXPECT_EQ(t.GetByName("sys_io_pgetevents"), 399u); + + EXPECT_STREQ(t.GetById(400), nullptr); + EXPECT_STREQ(t.GetById(kMaxSyscalls), nullptr); + + EXPECT_EQ(t.GetByName("sys_non_existent"), std::nullopt); +} + +TEST(SyscallTableTest, X86_64) { + SyscallTable t(Architecture::kX86_64); + EXPECT_STREQ(t.GetById(0), "sys_read"); + EXPECT_EQ(t.GetByName("sys_read"), 0u); + + EXPECT_STREQ(t.GetById(1), "sys_write"); + EXPECT_EQ(t.GetByName("sys_write"), 1u); + + EXPECT_STREQ(t.GetById(58), "sys_vfork"); + EXPECT_EQ(t.GetByName("sys_vfork"), 58u); + + // sys_pwritev2 shows up in two slots, 328 and 547 (which is really + // compat_sys_pwritev64v2). Ensure we can lookup both. + EXPECT_STREQ(t.GetById(547), "sys_pwritev2"); + EXPECT_STREQ(t.GetById(328), "sys_pwritev2"); + EXPECT_EQ(t.GetByName("sys_pwritev2"), 328u); + + EXPECT_STREQ(t.GetById(335), ""); + EXPECT_STREQ(t.GetById(511), ""); + + EXPECT_STREQ(t.GetById(548), nullptr); + EXPECT_STREQ(t.GetById(kMaxSyscalls), nullptr); + EXPECT_EQ(t.GetByName("sys_non_existent"), std::nullopt); +} + +TEST(SyscallTableTest, X86) { + SyscallTable t(Architecture::kX86); + EXPECT_STREQ(t.GetById(0), "sys_restart_syscall"); + EXPECT_EQ(t.GetByName("sys_restart_syscall"), 0u); + + EXPECT_STREQ(t.GetById(1), "sys_exit"); + EXPECT_EQ(t.GetByName("sys_exit"), 1u); + + EXPECT_STREQ(t.GetById(190), "sys_vfork"); + EXPECT_EQ(t.GetByName("sys_vfork"), 190u); + + EXPECT_STREQ(t.GetById(386), "sys_rseq"); + EXPECT_EQ(t.GetByName("sys_rseq"), 386); + + EXPECT_STREQ(t.GetById(387), nullptr); + EXPECT_STREQ(t.GetById(kMaxSyscalls), nullptr); + EXPECT_EQ(t.GetByName("sys_non_existent"), std::nullopt); +} + +} // namespace +} // namespace perfetto
diff --git a/src/kernel_utils/syscalls_aarch32.h b/src/kernel_utils/syscalls_aarch32.h deleted file mode 100644 index e1bb6b3..0000000 --- a/src/kernel_utils/syscalls_aarch32.h +++ /dev/null
@@ -1,427 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SRC_KERNEL_UTILS_SYSCALLS_AARCH32_H_ -#define SRC_KERNEL_UTILS_SYSCALLS_AARCH32_H_ - -namespace perfetto { - -// See tools/extract_linux_syscall_tables . -constexpr const char* kSyscalls_Aarch32[] = { - "sys_restart_syscall", // 0 - "sys_exit", // 1 - "sys_fork", // 2 - "sys_read", // 3 - "sys_write", // 4 - "sys_open", // 5 - "sys_close", // 6 - "", // 7 - "sys_creat", // 8 - "sys_link", // 9 - "sys_unlink", // 10 - "sys_execve", // 11 - "sys_chdir", // 12 - "", // 13 - "sys_mknod", // 14 - "sys_chmod", // 15 - "sys_lchown", // 16 - "", // 17 - "", // 18 - "sys_lseek", // 19 - "sys_getpid", // 20 - "sys_mount", // 21 - "", // 22 - "sys_setuid", // 23 - "sys_getuid", // 24 - "", // 25 - "sys_ptrace", // 26 - "", // 27 - "", // 28 - "sys_pause", // 29 - "", // 30 - "", // 31 - "", // 32 - "sys_access", // 33 - "sys_nice", // 34 - "", // 35 - "sys_sync", // 36 - "sys_kill", // 37 - "sys_rename", // 38 - "sys_mkdir", // 39 - "sys_rmdir", // 40 - "sys_dup", // 41 - "sys_pipe", // 42 - "sys_times", // 43 - "", // 44 - "sys_brk", // 45 - "sys_setgid", // 46 - "sys_getgid", // 47 - "", // 48 - "sys_geteuid", // 49 - "sys_getegid", // 50 - "sys_acct", // 51 - "sys_umount2", // 52 - "", // 53 - "sys_ioctl", // 54 - "sys_fcntl", // 55 - "", // 56 - "sys_setpgid", // 57 - "", // 58 - "", // 59 - "sys_umask", // 60 - "sys_chroot", // 61 - "sys_ustat", // 62 - "sys_dup2", // 63 - "sys_getppid", // 64 - "sys_getpgrp", // 65 - "sys_setsid", // 66 - "sys_sigaction", // 67 - "", // 68 - "", // 69 - "sys_setreuid", // 70 - "sys_setregid", // 71 - "sys_sigsuspend", // 72 - "sys_sigpending", // 73 - "sys_sethostname", // 74 - "sys_setrlimit", // 75 - "", // 76 - "sys_getrusage", // 77 - "sys_gettimeofday", // 78 - "sys_settimeofday", // 79 - "sys_getgroups", // 80 - "sys_setgroups", // 81 - "", // 82 - "sys_symlink", // 83 - "", // 84 - "sys_readlink", // 85 - "sys_uselib", // 86 - "sys_swapon", // 87 - "sys_reboot", // 88 - "", // 89 - "", // 90 - "sys_munmap", // 91 - "sys_truncate", // 92 - "sys_ftruncate", // 93 - "sys_fchmod", // 94 - "sys_fchown", // 95 - "sys_getpriority", // 96 - "sys_setpriority", // 97 - "", // 98 - "sys_statfs", // 99 - "sys_fstatfs", // 100 - "", // 101 - "", // 102 - "sys_syslog", // 103 - "sys_setitimer", // 104 - "sys_getitimer", // 105 - "sys_stat", // 106 - "sys_lstat", // 107 - "sys_fstat", // 108 - "", // 109 - "", // 110 - "sys_vhangup", // 111 - "", // 112 - "", // 113 - "sys_wait4", // 114 - "sys_swapoff", // 115 - "sys_sysinfo", // 116 - "", // 117 - "sys_fsync", // 118 - "sys_sigreturn", // 119 - "sys_clone", // 120 - "sys_setdomainname", // 121 - "sys_uname", // 122 - "", // 123 - "sys_adjtimex", // 124 - "sys_mprotect", // 125 - "sys_sigprocmask", // 126 - "", // 127 - "sys_init_module", // 128 - "sys_delete_module", // 129 - "", // 130 - "sys_quotactl", // 131 - "sys_getpgid", // 132 - "sys_fchdir", // 133 - "sys_bdflush", // 134 - "sys_sysfs", // 135 - "sys_personality", // 136 - "", // 137 - "sys_setfsuid", // 138 - "sys_setfsgid", // 139 - "sys__llseek", // 140 - "sys_getdents", // 141 - "sys__newselect", // 142 - "sys_flock", // 143 - "sys_msync", // 144 - "sys_readv", // 145 - "sys_writev", // 146 - "sys_getsid", // 147 - "sys_fdatasync", // 148 - "sys__sysctl", // 149 - "sys_mlock", // 150 - "sys_munlock", // 151 - "sys_mlockall", // 152 - "sys_munlockall", // 153 - "sys_sched_setparam", // 154 - "sys_sched_getparam", // 155 - "sys_sched_setscheduler", // 156 - "sys_sched_getscheduler", // 157 - "sys_sched_yield", // 158 - "sys_sched_get_priority_max", // 159 - "sys_sched_get_priority_min", // 160 - "sys_sched_rr_get_interval", // 161 - "sys_nanosleep", // 162 - "sys_mremap", // 163 - "sys_setresuid", // 164 - "sys_getresuid", // 165 - "", // 166 - "", // 167 - "sys_poll", // 168 - "sys_nfsservctl", // 169 - "sys_setresgid", // 170 - "sys_getresgid", // 171 - "sys_prctl", // 172 - "sys_rt_sigreturn", // 173 - "sys_rt_sigaction", // 174 - "sys_rt_sigprocmask", // 175 - "sys_rt_sigpending", // 176 - "sys_rt_sigtimedwait", // 177 - "sys_rt_sigqueueinfo", // 178 - "sys_rt_sigsuspend", // 179 - "sys_pread64", // 180 - "sys_pwrite64", // 181 - "sys_chown", // 182 - "sys_getcwd", // 183 - "sys_capget", // 184 - "sys_capset", // 185 - "sys_sigaltstack", // 186 - "sys_sendfile", // 187 - "", // 188 - "", // 189 - "sys_vfork", // 190 - "", // 191 - "sys_mmap2", // 192 - "sys_truncate64", // 193 - "sys_ftruncate64", // 194 - "sys_stat64", // 195 - "sys_lstat64", // 196 - "sys_fstat64", // 197 - "sys_lchown32", // 198 - "sys_getuid32", // 199 - "sys_getgid32", // 200 - "sys_geteuid32", // 201 - "sys_getegid32", // 202 - "sys_setreuid32", // 203 - "sys_setregid32", // 204 - "sys_getgroups32", // 205 - "sys_setgroups32", // 206 - "sys_fchown32", // 207 - "sys_setresuid32", // 208 - "sys_getresuid32", // 209 - "sys_setresgid32", // 210 - "sys_getresgid32", // 211 - "sys_chown32", // 212 - "sys_setuid32", // 213 - "sys_setgid32", // 214 - "sys_setfsuid32", // 215 - "sys_setfsgid32", // 216 - "sys_getdents64", // 217 - "sys_pivot_root", // 218 - "sys_mincore", // 219 - "sys_madvise", // 220 - "sys_fcntl64", // 221 - "", // 222 - "", // 223 - "sys_gettid", // 224 - "sys_readahead", // 225 - "sys_setxattr", // 226 - "sys_lsetxattr", // 227 - "sys_fsetxattr", // 228 - "sys_getxattr", // 229 - "sys_lgetxattr", // 230 - "sys_fgetxattr", // 231 - "sys_listxattr", // 232 - "sys_llistxattr", // 233 - "sys_flistxattr", // 234 - "sys_removexattr", // 235 - "sys_lremovexattr", // 236 - "sys_fremovexattr", // 237 - "sys_tkill", // 238 - "sys_sendfile64", // 239 - "sys_futex", // 240 - "sys_sched_setaffinity", // 241 - "sys_sched_getaffinity", // 242 - "sys_io_setup", // 243 - "sys_io_destroy", // 244 - "sys_io_getevents", // 245 - "sys_io_submit", // 246 - "sys_io_cancel", // 247 - "sys_exit_group", // 248 - "sys_lookup_dcookie", // 249 - "sys_epoll_create", // 250 - "sys_epoll_ctl", // 251 - "sys_epoll_wait", // 252 - "sys_remap_file_pages", // 253 - "", // 254 - "", // 255 - "sys_set_tid_address", // 256 - "sys_timer_create", // 257 - "sys_timer_settime", // 258 - "sys_timer_gettime", // 259 - "sys_timer_getoverrun", // 260 - "sys_timer_delete", // 261 - "sys_clock_settime", // 262 - "sys_clock_gettime", // 263 - "sys_clock_getres", // 264 - "sys_clock_nanosleep", // 265 - "sys_statfs64", // 266 - "sys_fstatfs64", // 267 - "sys_tgkill", // 268 - "sys_utimes", // 269 - "sys_arm_fadvise64_64", // 270 - "sys_pciconfig_iobase", // 271 - "sys_pciconfig_read", // 272 - "sys_pciconfig_write", // 273 - "sys_mq_open", // 274 - "sys_mq_unlink", // 275 - "sys_mq_timedsend", // 276 - "sys_mq_timedreceive", // 277 - "sys_mq_notify", // 278 - "sys_mq_getsetattr", // 279 - "sys_waitid", // 280 - "sys_socket", // 281 - "sys_bind", // 282 - "sys_connect", // 283 - "sys_listen", // 284 - "sys_accept", // 285 - "sys_getsockname", // 286 - "sys_getpeername", // 287 - "sys_socketpair", // 288 - "sys_send", // 289 - "sys_sendto", // 290 - "sys_recv", // 291 - "sys_recvfrom", // 292 - "sys_shutdown", // 293 - "sys_setsockopt", // 294 - "sys_getsockopt", // 295 - "sys_sendmsg", // 296 - "sys_recvmsg", // 297 - "sys_semop", // 298 - "sys_semget", // 299 - "sys_semctl", // 300 - "sys_msgsnd", // 301 - "sys_msgrcv", // 302 - "sys_msgget", // 303 - "sys_msgctl", // 304 - "sys_shmat", // 305 - "sys_shmdt", // 306 - "sys_shmget", // 307 - "sys_shmctl", // 308 - "sys_add_key", // 309 - "sys_request_key", // 310 - "sys_keyctl", // 311 - "sys_semtimedop", // 312 - "sys_vserver", // 313 - "sys_ioprio_set", // 314 - "sys_ioprio_get", // 315 - "sys_inotify_init", // 316 - "sys_inotify_add_watch", // 317 - "sys_inotify_rm_watch", // 318 - "sys_mbind", // 319 - "sys_get_mempolicy", // 320 - "sys_set_mempolicy", // 321 - "sys_openat", // 322 - "sys_mkdirat", // 323 - "sys_mknodat", // 324 - "sys_fchownat", // 325 - "sys_futimesat", // 326 - "sys_fstatat64", // 327 - "sys_unlinkat", // 328 - "sys_renameat", // 329 - "sys_linkat", // 330 - "sys_symlinkat", // 331 - "sys_readlinkat", // 332 - "sys_fchmodat", // 333 - "sys_faccessat", // 334 - "sys_pselect6", // 335 - "sys_ppoll", // 336 - "sys_unshare", // 337 - "sys_set_robust_list", // 338 - "sys_get_robust_list", // 339 - "sys_splice", // 340 - "sys_sync_file_range2", // 341 - "sys_tee", // 342 - "sys_vmsplice", // 343 - "sys_move_pages", // 344 - "sys_getcpu", // 345 - "sys_epoll_pwait", // 346 - "sys_kexec_load", // 347 - "sys_utimensat", // 348 - "sys_signalfd", // 349 - "sys_timerfd_create", // 350 - "sys_eventfd", // 351 - "sys_fallocate", // 352 - "sys_timerfd_settime", // 353 - "sys_timerfd_gettime", // 354 - "sys_signalfd4", // 355 - "sys_eventfd2", // 356 - "sys_epoll_create1", // 357 - "sys_dup3", // 358 - "sys_pipe2", // 359 - "sys_inotify_init1", // 360 - "sys_preadv", // 361 - "sys_pwritev", // 362 - "sys_rt_tgsigqueueinfo", // 363 - "sys_perf_event_open", // 364 - "sys_recvmmsg", // 365 - "sys_accept4", // 366 - "sys_fanotify_init", // 367 - "sys_fanotify_mark", // 368 - "sys_prlimit64", // 369 - "sys_name_to_handle_at", // 370 - "sys_open_by_handle_at", // 371 - "sys_clock_adjtime", // 372 - "sys_syncfs", // 373 - "sys_sendmmsg", // 374 - "sys_setns", // 375 - "sys_process_vm_readv", // 376 - "sys_process_vm_writev", // 377 - "sys_kcmp", // 378 - "sys_finit_module", // 379 - "sys_sched_setattr", // 380 - "sys_sched_getattr", // 381 - "sys_renameat2", // 382 - "sys_seccomp", // 383 - "sys_getrandom", // 384 - "sys_memfd_create", // 385 - "sys_bpf", // 386 - "sys_execveat", // 387 - "sys_userfaultfd", // 388 - "sys_membarrier", // 389 - "sys_mlock2", // 390 - "sys_copy_file_range", // 391 - "sys_preadv2", // 392 - "sys_pwritev2", // 393 - "sys_pkey_mprotect", // 394 - "sys_pkey_alloc", // 395 - "sys_pkey_free", // 396 - "sys_statx", // 397 - "sys_rseq", // 398 -}; - -} // namespace perfetto - -#endif // SRC_KERNEL_UTILS_SYSCALLS_AARCH32_H_
diff --git a/src/kernel_utils/syscalls_aarch64.h b/src/kernel_utils/syscalls_aarch64.h deleted file mode 100644 index 8a95e89..0000000 --- a/src/kernel_utils/syscalls_aarch64.h +++ /dev/null
@@ -1,322 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SRC_KERNEL_UTILS_SYSCALLS_AARCH64_H_ -#define SRC_KERNEL_UTILS_SYSCALLS_AARCH64_H_ - -namespace perfetto { - -// See tools/extract_linux_syscall_tables . -constexpr const char* kSyscalls_Aarch64[] = { - "sys_io_setup", // 0 - "sys_io_destroy", // 1 - "sys_io_submit", // 2 - "sys_io_cancel", // 3 - "sys_io_getevents", // 4 - "sys_setxattr", // 5 - "sys_lsetxattr", // 6 - "sys_fsetxattr", // 7 - "sys_getxattr", // 8 - "sys_lgetxattr", // 9 - "sys_fgetxattr", // 10 - "sys_listxattr", // 11 - "sys_llistxattr", // 12 - "sys_flistxattr", // 13 - "sys_removexattr", // 14 - "sys_lremovexattr", // 15 - "sys_fremovexattr", // 16 - "sys_getcwd", // 17 - "sys_lookup_dcookie", // 18 - "sys_eventfd2", // 19 - "sys_epoll_create1", // 20 - "sys_epoll_ctl", // 21 - "sys_epoll_pwait", // 22 - "sys_dup", // 23 - "sys_dup3", // 24 - "sys_fcntl", // 25 - "sys_inotify_init1", // 26 - "sys_inotify_add_watch", // 27 - "sys_inotify_rm_watch", // 28 - "sys_ioctl", // 29 - "sys_ioprio_set", // 30 - "sys_ioprio_get", // 31 - "sys_flock", // 32 - "sys_mknodat", // 33 - "sys_mkdirat", // 34 - "sys_unlinkat", // 35 - "sys_symlinkat", // 36 - "sys_linkat", // 37 - "sys_renameat", // 38 - "sys_umount2", // 39 - "sys_mount", // 40 - "sys_pivot_root", // 41 - "sys_nfsservctl", // 42 - "sys_statfs", // 43 - "sys_fstatfs", // 44 - "sys_truncate", // 45 - "sys_ftruncate", // 46 - "sys_fallocate", // 47 - "sys_faccessat", // 48 - "sys_chdir", // 49 - "sys_fchdir", // 50 - "sys_chroot", // 51 - "sys_fchmod", // 52 - "sys_fchmodat", // 53 - "sys_fchownat", // 54 - "sys_fchown", // 55 - "sys_openat", // 56 - "sys_close", // 57 - "sys_vhangup", // 58 - "sys_pipe2", // 59 - "sys_quotactl", // 60 - "sys_getdents64", // 61 - "sys_lseek", // 62 - "sys_read", // 63 - "sys_write", // 64 - "sys_readv", // 65 - "sys_writev", // 66 - "sys_pread64", // 67 - "sys_pwrite64", // 68 - "sys_preadv", // 69 - "sys_pwritev", // 70 - "sys_sendfile", // 71 - "sys_pselect6", // 72 - "sys_ppoll", // 73 - "sys_signalfd4", // 74 - "sys_vmsplice", // 75 - "sys_splice", // 76 - "sys_tee", // 77 - "sys_readlinkat", // 78 - "sys_fstatat", // 79 - "sys_fstat", // 80 - "sys_sync", // 81 - "sys_fsync", // 82 - "sys_fdatasync", // 83 - "sys_sync_file_range", // 84 - "sys_timerfd_create", // 85 - "sys_timerfd_settime", // 86 - "sys_timerfd_gettime", // 87 - "sys_utimensat", // 88 - "sys_acct", // 89 - "sys_capget", // 90 - "sys_capset", // 91 - "sys_personality", // 92 - "sys_exit", // 93 - "sys_exit_group", // 94 - "sys_waitid", // 95 - "sys_set_tid_address", // 96 - "sys_unshare", // 97 - "sys_futex", // 98 - "sys_set_robust_list", // 99 - "sys_get_robust_list", // 100 - "sys_nanosleep", // 101 - "sys_getitimer", // 102 - "sys_setitimer", // 103 - "sys_kexec_load", // 104 - "sys_init_module", // 105 - "sys_delete_module", // 106 - "sys_timer_create", // 107 - "sys_timer_gettime", // 108 - "sys_timer_getoverrun", // 109 - "sys_timer_settime", // 110 - "sys_timer_delete", // 111 - "sys_clock_settime", // 112 - "sys_clock_gettime", // 113 - "sys_clock_getres", // 114 - "sys_clock_nanosleep", // 115 - "sys_syslog", // 116 - "sys_ptrace", // 117 - "sys_sched_setparam", // 118 - "sys_sched_setscheduler", // 119 - "sys_sched_getscheduler", // 120 - "sys_sched_getparam", // 121 - "sys_sched_setaffinity", // 122 - "sys_sched_getaffinity", // 123 - "sys_sched_yield", // 124 - "sys_sched_get_priority_max", // 125 - "sys_sched_get_priority_min", // 126 - "sys_sched_rr_get_interval", // 127 - "sys_restart_syscall", // 128 - "sys_kill", // 129 - "sys_tkill", // 130 - "sys_tgkill", // 131 - "sys_sigaltstack", // 132 - "sys_rt_sigsuspend", // 133 - "sys_rt_sigaction", // 134 - "sys_rt_sigprocmask", // 135 - "sys_rt_sigpending", // 136 - "sys_rt_sigtimedwait", // 137 - "sys_rt_sigqueueinfo", // 138 - "sys_rt_sigreturn", // 139 - "sys_setpriority", // 140 - "sys_getpriority", // 141 - "sys_reboot", // 142 - "sys_setregid", // 143 - "sys_setgid", // 144 - "sys_setreuid", // 145 - "sys_setuid", // 146 - "sys_setresuid", // 147 - "sys_getresuid", // 148 - "sys_setresgid", // 149 - "sys_getresgid", // 150 - "sys_setfsuid", // 151 - "sys_setfsgid", // 152 - "sys_times", // 153 - "sys_setpgid", // 154 - "sys_getpgid", // 155 - "sys_getsid", // 156 - "sys_setsid", // 157 - "sys_getgroups", // 158 - "sys_setgroups", // 159 - "sys_uname", // 160 - "sys_sethostname", // 161 - "sys_setdomainname", // 162 - "sys_getrlimit", // 163 - "sys_setrlimit", // 164 - "sys_getrusage", // 165 - "sys_umask", // 166 - "sys_prctl", // 167 - "sys_getcpu", // 168 - "sys_gettimeofday", // 169 - "sys_settimeofday", // 170 - "sys_adjtimex", // 171 - "sys_getpid", // 172 - "sys_getppid", // 173 - "sys_getuid", // 174 - "sys_geteuid", // 175 - "sys_getgid", // 176 - "sys_getegid", // 177 - "sys_gettid", // 178 - "sys_sysinfo", // 179 - "sys_mq_open", // 180 - "sys_mq_unlink", // 181 - "sys_mq_timedsend", // 182 - "sys_mq_timedreceive", // 183 - "sys_mq_notify", // 184 - "sys_mq_getsetattr", // 185 - "sys_msgget", // 186 - "sys_msgctl", // 187 - "sys_msgrcv", // 188 - "sys_msgsnd", // 189 - "sys_semget", // 190 - "sys_semctl", // 191 - "sys_semtimedop", // 192 - "sys_semop", // 193 - "sys_shmget", // 194 - "sys_shmctl", // 195 - "sys_shmat", // 196 - "sys_shmdt", // 197 - "sys_socket", // 198 - "sys_socketpair", // 199 - "sys_bind", // 200 - "sys_listen", // 201 - "sys_accept", // 202 - "sys_connect", // 203 - "sys_getsockname", // 204 - "sys_getpeername", // 205 - "sys_sendto", // 206 - "sys_recvfrom", // 207 - "sys_setsockopt", // 208 - "sys_getsockopt", // 209 - "sys_shutdown", // 210 - "sys_sendmsg", // 211 - "sys_recvmsg", // 212 - "sys_readahead", // 213 - "sys_brk", // 214 - "sys_munmap", // 215 - "sys_mremap", // 216 - "sys_add_key", // 217 - "sys_request_key", // 218 - "sys_keyctl", // 219 - "sys_clone", // 220 - "sys_execve", // 221 - "sys_mmap", // 222 - "sys_fadvise64", // 223 - "sys_swapon", // 224 - "sys_swapoff", // 225 - "sys_mprotect", // 226 - "sys_msync", // 227 - "sys_mlock", // 228 - "sys_munlock", // 229 - "sys_mlockall", // 230 - "sys_munlockall", // 231 - "sys_mincore", // 232 - "sys_madvise", // 233 - "sys_remap_file_pages", // 234 - "sys_mbind", // 235 - "sys_get_mempolicy", // 236 - "sys_set_mempolicy", // 237 - "sys_migrate_pages", // 238 - "sys_move_pages", // 239 - "sys_rt_tgsigqueueinfo", // 240 - "sys_perf_event_open", // 241 - "sys_accept4", // 242 - "sys_recvmmsg", // 243 - "sys_arch_specific_syscall", // 244 - "", // 245 - "", // 246 - "", // 247 - "", // 248 - "", // 249 - "", // 250 - "", // 251 - "", // 252 - "", // 253 - "", // 254 - "", // 255 - "", // 256 - "", // 257 - "", // 258 - "", // 259 - "sys_wait4", // 260 - "sys_prlimit64", // 261 - "sys_fanotify_init", // 262 - "sys_fanotify_mark", // 263 - "sys_name_to_handle_at", // 264 - "sys_open_by_handle_at", // 265 - "sys_clock_adjtime", // 266 - "sys_syncfs", // 267 - "sys_setns", // 268 - "sys_sendmmsg", // 269 - "sys_process_vm_readv", // 270 - "sys_process_vm_writev", // 271 - "sys_kcmp", // 272 - "sys_finit_module", // 273 - "sys_sched_setattr", // 274 - "sys_sched_getattr", // 275 - "sys_renameat2", // 276 - "sys_seccomp", // 277 - "sys_getrandom", // 278 - "sys_memfd_create", // 279 - "sys_bpf", // 280 - "sys_execveat", // 281 - "sys_userfaultfd", // 282 - "sys_membarrier", // 283 - "sys_mlock2", // 284 - "sys_copy_file_range", // 285 - "sys_preadv2", // 286 - "sys_pwritev2", // 287 - "sys_pkey_mprotect", // 288 - "sys_pkey_alloc", // 289 - "sys_pkey_free", // 290 - "sys_statx", // 291 - "sys_io_pgetevents", // 292 - "sys_rseq", // 293 -}; - -} // namespace perfetto - -#endif // SRC_KERNEL_UTILS_SYSCALLS_AARCH64_H_
diff --git a/src/kernel_utils/syscalls_armeabi.h b/src/kernel_utils/syscalls_armeabi.h deleted file mode 100644 index 22b3e8c..0000000 --- a/src/kernel_utils/syscalls_armeabi.h +++ /dev/null
@@ -1,428 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SRC_KERNEL_UTILS_SYSCALLS_ARMEABI_H_ -#define SRC_KERNEL_UTILS_SYSCALLS_ARMEABI_H_ - -namespace perfetto { - -// See tools/extract_linux_syscall_tables . -constexpr const char* kSyscalls_ArmEabi[] = { - "sys_restart_syscall", // 0 - "sys_exit", // 1 - "sys_fork", // 2 - "sys_read", // 3 - "sys_write", // 4 - "sys_open", // 5 - "sys_close", // 6 - "", // 7 - "sys_creat", // 8 - "sys_link", // 9 - "sys_unlink", // 10 - "sys_execve", // 11 - "sys_chdir", // 12 - "sys_time", // 13 - "sys_mknod", // 14 - "sys_chmod", // 15 - "sys_lchown", // 16 - "", // 17 - "", // 18 - "sys_lseek", // 19 - "sys_getpid", // 20 - "sys_mount", // 21 - "sys_umount", // 22 - "sys_setuid", // 23 - "sys_getuid", // 24 - "sys_stime", // 25 - "sys_ptrace", // 26 - "sys_alarm", // 27 - "", // 28 - "sys_pause", // 29 - "sys_utime", // 30 - "", // 31 - "", // 32 - "sys_access", // 33 - "sys_nice", // 34 - "", // 35 - "sys_sync", // 36 - "sys_kill", // 37 - "sys_rename", // 38 - "sys_mkdir", // 39 - "sys_rmdir", // 40 - "sys_dup", // 41 - "sys_pipe", // 42 - "sys_times", // 43 - "", // 44 - "sys_brk", // 45 - "sys_setgid", // 46 - "sys_getgid", // 47 - "", // 48 - "sys_geteuid", // 49 - "sys_getegid", // 50 - "sys_acct", // 51 - "sys_umount2", // 52 - "", // 53 - "sys_ioctl", // 54 - "sys_fcntl", // 55 - "", // 56 - "sys_setpgid", // 57 - "", // 58 - "", // 59 - "sys_umask", // 60 - "sys_chroot", // 61 - "sys_ustat", // 62 - "sys_dup2", // 63 - "sys_getppid", // 64 - "sys_getpgrp", // 65 - "sys_setsid", // 66 - "sys_sigaction", // 67 - "", // 68 - "", // 69 - "sys_setreuid", // 70 - "sys_setregid", // 71 - "sys_sigsuspend", // 72 - "sys_sigpending", // 73 - "sys_sethostname", // 74 - "sys_setrlimit", // 75 - "sys_getrlimit", // 76 - "sys_getrusage", // 77 - "sys_gettimeofday", // 78 - "sys_settimeofday", // 79 - "sys_getgroups", // 80 - "sys_setgroups", // 81 - "sys_select", // 82 - "sys_symlink", // 83 - "", // 84 - "sys_readlink", // 85 - "sys_uselib", // 86 - "sys_swapon", // 87 - "sys_reboot", // 88 - "sys_readdir", // 89 - "sys_mmap", // 90 - "sys_munmap", // 91 - "sys_truncate", // 92 - "sys_ftruncate", // 93 - "sys_fchmod", // 94 - "sys_fchown", // 95 - "sys_getpriority", // 96 - "sys_setpriority", // 97 - "", // 98 - "sys_statfs", // 99 - "sys_fstatfs", // 100 - "", // 101 - "sys_socketcall", // 102 - "sys_syslog", // 103 - "sys_setitimer", // 104 - "sys_getitimer", // 105 - "sys_stat", // 106 - "sys_lstat", // 107 - "sys_fstat", // 108 - "", // 109 - "", // 110 - "sys_vhangup", // 111 - "", // 112 - "sys_syscall", // 113 - "sys_wait4", // 114 - "sys_swapoff", // 115 - "sys_sysinfo", // 116 - "sys_ipc", // 117 - "sys_fsync", // 118 - "sys_sigreturn", // 119 - "sys_clone", // 120 - "sys_setdomainname", // 121 - "sys_uname", // 122 - "", // 123 - "sys_adjtimex", // 124 - "sys_mprotect", // 125 - "sys_sigprocmask", // 126 - "", // 127 - "sys_init_module", // 128 - "sys_delete_module", // 129 - "", // 130 - "sys_quotactl", // 131 - "sys_getpgid", // 132 - "sys_fchdir", // 133 - "sys_bdflush", // 134 - "sys_sysfs", // 135 - "sys_personality", // 136 - "", // 137 - "sys_setfsuid", // 138 - "sys_setfsgid", // 139 - "sys__llseek", // 140 - "sys_getdents", // 141 - "sys__newselect", // 142 - "sys_flock", // 143 - "sys_msync", // 144 - "sys_readv", // 145 - "sys_writev", // 146 - "sys_getsid", // 147 - "sys_fdatasync", // 148 - "sys__sysctl", // 149 - "sys_mlock", // 150 - "sys_munlock", // 151 - "sys_mlockall", // 152 - "sys_munlockall", // 153 - "sys_sched_setparam", // 154 - "sys_sched_getparam", // 155 - "sys_sched_setscheduler", // 156 - "sys_sched_getscheduler", // 157 - "sys_sched_yield", // 158 - "sys_sched_get_priority_max", // 159 - "sys_sched_get_priority_min", // 160 - "sys_sched_rr_get_interval", // 161 - "sys_nanosleep", // 162 - "sys_mremap", // 163 - "sys_setresuid", // 164 - "sys_getresuid", // 165 - "", // 166 - "", // 167 - "sys_poll", // 168 - "sys_nfsservctl", // 169 - "sys_setresgid", // 170 - "sys_getresgid", // 171 - "sys_prctl", // 172 - "sys_rt_sigreturn", // 173 - "sys_rt_sigaction", // 174 - "sys_rt_sigprocmask", // 175 - "sys_rt_sigpending", // 176 - "sys_rt_sigtimedwait", // 177 - "sys_rt_sigqueueinfo", // 178 - "sys_rt_sigsuspend", // 179 - "sys_pread64", // 180 - "sys_pwrite64", // 181 - "sys_chown", // 182 - "sys_getcwd", // 183 - "sys_capget", // 184 - "sys_capset", // 185 - "sys_sigaltstack", // 186 - "sys_sendfile", // 187 - "", // 188 - "", // 189 - "sys_vfork", // 190 - "sys_ugetrlimit", // 191 - "sys_mmap2", // 192 - "sys_truncate64", // 193 - "sys_ftruncate64", // 194 - "sys_stat64", // 195 - "sys_lstat64", // 196 - "sys_fstat64", // 197 - "sys_lchown32", // 198 - "sys_getuid32", // 199 - "sys_getgid32", // 200 - "sys_geteuid32", // 201 - "sys_getegid32", // 202 - "sys_setreuid32", // 203 - "sys_setregid32", // 204 - "sys_getgroups32", // 205 - "sys_setgroups32", // 206 - "sys_fchown32", // 207 - "sys_setresuid32", // 208 - "sys_getresuid32", // 209 - "sys_setresgid32", // 210 - "sys_getresgid32", // 211 - "sys_chown32", // 212 - "sys_setuid32", // 213 - "sys_setgid32", // 214 - "sys_setfsuid32", // 215 - "sys_setfsgid32", // 216 - "sys_getdents64", // 217 - "sys_pivot_root", // 218 - "sys_mincore", // 219 - "sys_madvise", // 220 - "sys_fcntl64", // 221 - "", // 222 - "", // 223 - "sys_gettid", // 224 - "sys_readahead", // 225 - "sys_setxattr", // 226 - "sys_lsetxattr", // 227 - "sys_fsetxattr", // 228 - "sys_getxattr", // 229 - "sys_lgetxattr", // 230 - "sys_fgetxattr", // 231 - "sys_listxattr", // 232 - "sys_llistxattr", // 233 - "sys_flistxattr", // 234 - "sys_removexattr", // 235 - "sys_lremovexattr", // 236 - "sys_fremovexattr", // 237 - "sys_tkill", // 238 - "sys_sendfile64", // 239 - "sys_futex", // 240 - "sys_sched_setaffinity", // 241 - "sys_sched_getaffinity", // 242 - "sys_io_setup", // 243 - "sys_io_destroy", // 244 - "sys_io_getevents", // 245 - "sys_io_submit", // 246 - "sys_io_cancel", // 247 - "sys_exit_group", // 248 - "sys_lookup_dcookie", // 249 - "sys_epoll_create", // 250 - "sys_epoll_ctl", // 251 - "sys_epoll_wait", // 252 - "sys_remap_file_pages", // 253 - "", // 254 - "", // 255 - "sys_set_tid_address", // 256 - "sys_timer_create", // 257 - "sys_timer_settime", // 258 - "sys_timer_gettime", // 259 - "sys_timer_getoverrun", // 260 - "sys_timer_delete", // 261 - "sys_clock_settime", // 262 - "sys_clock_gettime", // 263 - "sys_clock_getres", // 264 - "sys_clock_nanosleep", // 265 - "sys_statfs64", // 266 - "sys_fstatfs64", // 267 - "sys_tgkill", // 268 - "sys_utimes", // 269 - "sys_arm_fadvise64_64", // 270 - "sys_pciconfig_iobase", // 271 - "sys_pciconfig_read", // 272 - "sys_pciconfig_write", // 273 - "sys_mq_open", // 274 - "sys_mq_unlink", // 275 - "sys_mq_timedsend", // 276 - "sys_mq_timedreceive", // 277 - "sys_mq_notify", // 278 - "sys_mq_getsetattr", // 279 - "sys_waitid", // 280 - "sys_socket", // 281 - "sys_bind", // 282 - "sys_connect", // 283 - "sys_listen", // 284 - "sys_accept", // 285 - "sys_getsockname", // 286 - "sys_getpeername", // 287 - "sys_socketpair", // 288 - "sys_send", // 289 - "sys_sendto", // 290 - "sys_recv", // 291 - "sys_recvfrom", // 292 - "sys_shutdown", // 293 - "sys_setsockopt", // 294 - "sys_getsockopt", // 295 - "sys_sendmsg", // 296 - "sys_recvmsg", // 297 - "sys_semop", // 298 - "sys_semget", // 299 - "sys_semctl", // 300 - "sys_msgsnd", // 301 - "sys_msgrcv", // 302 - "sys_msgget", // 303 - "sys_msgctl", // 304 - "sys_shmat", // 305 - "sys_shmdt", // 306 - "sys_shmget", // 307 - "sys_shmctl", // 308 - "sys_add_key", // 309 - "sys_request_key", // 310 - "sys_keyctl", // 311 - "sys_semtimedop", // 312 - "sys_vserver", // 313 - "sys_ioprio_set", // 314 - "sys_ioprio_get", // 315 - "sys_inotify_init", // 316 - "sys_inotify_add_watch", // 317 - "sys_inotify_rm_watch", // 318 - "sys_mbind", // 319 - "sys_get_mempolicy", // 320 - "sys_set_mempolicy", // 321 - "sys_openat", // 322 - "sys_mkdirat", // 323 - "sys_mknodat", // 324 - "sys_fchownat", // 325 - "sys_futimesat", // 326 - "sys_fstatat64", // 327 - "sys_unlinkat", // 328 - "sys_renameat", // 329 - "sys_linkat", // 330 - "sys_symlinkat", // 331 - "sys_readlinkat", // 332 - "sys_fchmodat", // 333 - "sys_faccessat", // 334 - "sys_pselect6", // 335 - "sys_ppoll", // 336 - "sys_unshare", // 337 - "sys_set_robust_list", // 338 - "sys_get_robust_list", // 339 - "sys_splice", // 340 - "sys_arm_sync_file_range", // 341 - "sys_tee", // 342 - "sys_vmsplice", // 343 - "sys_move_pages", // 344 - "sys_getcpu", // 345 - "sys_epoll_pwait", // 346 - "sys_kexec_load", // 347 - "sys_utimensat", // 348 - "sys_signalfd", // 349 - "sys_timerfd_create", // 350 - "sys_eventfd", // 351 - "sys_fallocate", // 352 - "sys_timerfd_settime", // 353 - "sys_timerfd_gettime", // 354 - "sys_signalfd4", // 355 - "sys_eventfd2", // 356 - "sys_epoll_create1", // 357 - "sys_dup3", // 358 - "sys_pipe2", // 359 - "sys_inotify_init1", // 360 - "sys_preadv", // 361 - "sys_pwritev", // 362 - "sys_rt_tgsigqueueinfo", // 363 - "sys_perf_event_open", // 364 - "sys_recvmmsg", // 365 - "sys_accept4", // 366 - "sys_fanotify_init", // 367 - "sys_fanotify_mark", // 368 - "sys_prlimit64", // 369 - "sys_name_to_handle_at", // 370 - "sys_open_by_handle_at", // 371 - "sys_clock_adjtime", // 372 - "sys_syncfs", // 373 - "sys_sendmmsg", // 374 - "sys_setns", // 375 - "sys_process_vm_readv", // 376 - "sys_process_vm_writev", // 377 - "sys_kcmp", // 378 - "sys_finit_module", // 379 - "sys_sched_setattr", // 380 - "sys_sched_getattr", // 381 - "sys_renameat2", // 382 - "sys_seccomp", // 383 - "sys_getrandom", // 384 - "sys_memfd_create", // 385 - "sys_bpf", // 386 - "sys_execveat", // 387 - "sys_userfaultfd", // 388 - "sys_membarrier", // 389 - "sys_mlock2", // 390 - "sys_copy_file_range", // 391 - "sys_preadv2", // 392 - "sys_pwritev2", // 393 - "sys_pkey_mprotect", // 394 - "sys_pkey_alloc", // 395 - "sys_pkey_free", // 396 - "sys_statx", // 397 - "sys_rseq", // 398 - "sys_io_pgetevents", // 399 -}; - -} // namespace perfetto - -#endif // SRC_KERNEL_UTILS_SYSCALLS_ARMEABI_H_
diff --git a/src/kernel_utils/syscalls_x86.h b/src/kernel_utils/syscalls_x86.h deleted file mode 100644 index b89a5da..0000000 --- a/src/kernel_utils/syscalls_x86.h +++ /dev/null
@@ -1,415 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SRC_KERNEL_UTILS_SYSCALLS_X86_H_ -#define SRC_KERNEL_UTILS_SYSCALLS_X86_H_ - -namespace perfetto { - -// See tools/extract_linux_syscall_tables . -constexpr const char* kSyscalls_x86[] = { - "sys_restart_syscall", // 0 - "sys_exit", // 1 - "sys_fork", // 2 - "sys_read", // 3 - "sys_write", // 4 - "sys_open", // 5 - "sys_close", // 6 - "sys_waitpid", // 7 - "sys_creat", // 8 - "sys_link", // 9 - "sys_unlink", // 10 - "sys_execve", // 11 - "sys_chdir", // 12 - "sys_time", // 13 - "sys_mknod", // 14 - "sys_chmod", // 15 - "sys_lchown", // 16 - "sys_break", // 17 - "sys_oldstat", // 18 - "sys_lseek", // 19 - "sys_getpid", // 20 - "sys_mount", // 21 - "sys_umount", // 22 - "sys_setuid", // 23 - "sys_getuid", // 24 - "sys_stime", // 25 - "sys_ptrace", // 26 - "sys_alarm", // 27 - "sys_oldfstat", // 28 - "sys_pause", // 29 - "sys_utime", // 30 - "sys_stty", // 31 - "sys_gtty", // 32 - "sys_access", // 33 - "sys_nice", // 34 - "sys_ftime", // 35 - "sys_sync", // 36 - "sys_kill", // 37 - "sys_rename", // 38 - "sys_mkdir", // 39 - "sys_rmdir", // 40 - "sys_dup", // 41 - "sys_pipe", // 42 - "sys_times", // 43 - "sys_prof", // 44 - "sys_brk", // 45 - "sys_setgid", // 46 - "sys_getgid", // 47 - "sys_signal", // 48 - "sys_geteuid", // 49 - "sys_getegid", // 50 - "sys_acct", // 51 - "sys_umount2", // 52 - "sys_lock", // 53 - "sys_ioctl", // 54 - "sys_fcntl", // 55 - "sys_mpx", // 56 - "sys_setpgid", // 57 - "sys_ulimit", // 58 - "sys_oldolduname", // 59 - "sys_umask", // 60 - "sys_chroot", // 61 - "sys_ustat", // 62 - "sys_dup2", // 63 - "sys_getppid", // 64 - "sys_getpgrp", // 65 - "sys_setsid", // 66 - "sys_sigaction", // 67 - "sys_sgetmask", // 68 - "sys_ssetmask", // 69 - "sys_setreuid", // 70 - "sys_setregid", // 71 - "sys_sigsuspend", // 72 - "sys_sigpending", // 73 - "sys_sethostname", // 74 - "sys_setrlimit", // 75 - "sys_getrlimit", // 76 - "sys_getrusage", // 77 - "sys_gettimeofday", // 78 - "sys_settimeofday", // 79 - "sys_getgroups", // 80 - "sys_setgroups", // 81 - "sys_select", // 82 - "sys_symlink", // 83 - "sys_oldlstat", // 84 - "sys_readlink", // 85 - "sys_uselib", // 86 - "sys_swapon", // 87 - "sys_reboot", // 88 - "sys_readdir", // 89 - "sys_mmap", // 90 - "sys_munmap", // 91 - "sys_truncate", // 92 - "sys_ftruncate", // 93 - "sys_fchmod", // 94 - "sys_fchown", // 95 - "sys_getpriority", // 96 - "sys_setpriority", // 97 - "sys_profil", // 98 - "sys_statfs", // 99 - "sys_fstatfs", // 100 - "sys_ioperm", // 101 - "sys_socketcall", // 102 - "sys_syslog", // 103 - "sys_setitimer", // 104 - "sys_getitimer", // 105 - "sys_stat", // 106 - "sys_lstat", // 107 - "sys_fstat", // 108 - "sys_olduname", // 109 - "sys_iopl", // 110 - "sys_vhangup", // 111 - "sys_idle", // 112 - "sys_vm86old", // 113 - "sys_wait4", // 114 - "sys_swapoff", // 115 - "sys_sysinfo", // 116 - "sys_ipc", // 117 - "sys_fsync", // 118 - "sys_sigreturn", // 119 - "sys_clone", // 120 - "sys_setdomainname", // 121 - "sys_uname", // 122 - "sys_modify_ldt", // 123 - "sys_adjtimex", // 124 - "sys_mprotect", // 125 - "sys_sigprocmask", // 126 - "sys_create_module", // 127 - "sys_init_module", // 128 - "sys_delete_module", // 129 - "sys_get_kernel_syms", // 130 - "sys_quotactl", // 131 - "sys_getpgid", // 132 - "sys_fchdir", // 133 - "sys_bdflush", // 134 - "sys_sysfs", // 135 - "sys_personality", // 136 - "sys_afs_syscall", // 137 - "sys_setfsuid", // 138 - "sys_setfsgid", // 139 - "sys__llseek", // 140 - "sys_getdents", // 141 - "sys__newselect", // 142 - "sys_flock", // 143 - "sys_msync", // 144 - "sys_readv", // 145 - "sys_writev", // 146 - "sys_getsid", // 147 - "sys_fdatasync", // 148 - "sys__sysctl", // 149 - "sys_mlock", // 150 - "sys_munlock", // 151 - "sys_mlockall", // 152 - "sys_munlockall", // 153 - "sys_sched_setparam", // 154 - "sys_sched_getparam", // 155 - "sys_sched_setscheduler", // 156 - "sys_sched_getscheduler", // 157 - "sys_sched_yield", // 158 - "sys_sched_get_priority_max", // 159 - "sys_sched_get_priority_min", // 160 - "sys_sched_rr_get_interval", // 161 - "sys_nanosleep", // 162 - "sys_mremap", // 163 - "sys_setresuid", // 164 - "sys_getresuid", // 165 - "sys_vm86", // 166 - "sys_query_module", // 167 - "sys_poll", // 168 - "sys_nfsservctl", // 169 - "sys_setresgid", // 170 - "sys_getresgid", // 171 - "sys_prctl", // 172 - "sys_rt_sigreturn", // 173 - "sys_rt_sigaction", // 174 - "sys_rt_sigprocmask", // 175 - "sys_rt_sigpending", // 176 - "sys_rt_sigtimedwait", // 177 - "sys_rt_sigqueueinfo", // 178 - "sys_rt_sigsuspend", // 179 - "sys_pread64", // 180 - "sys_pwrite64", // 181 - "sys_chown", // 182 - "sys_getcwd", // 183 - "sys_capget", // 184 - "sys_capset", // 185 - "sys_sigaltstack", // 186 - "sys_sendfile", // 187 - "sys_getpmsg", // 188 - "sys_putpmsg", // 189 - "sys_vfork", // 190 - "sys_ugetrlimit", // 191 - "sys_mmap2", // 192 - "sys_truncate64", // 193 - "sys_ftruncate64", // 194 - "sys_stat64", // 195 - "sys_lstat64", // 196 - "sys_fstat64", // 197 - "sys_lchown32", // 198 - "sys_getuid32", // 199 - "sys_getgid32", // 200 - "sys_geteuid32", // 201 - "sys_getegid32", // 202 - "sys_setreuid32", // 203 - "sys_setregid32", // 204 - "sys_getgroups32", // 205 - "sys_setgroups32", // 206 - "sys_fchown32", // 207 - "sys_setresuid32", // 208 - "sys_getresuid32", // 209 - "sys_setresgid32", // 210 - "sys_getresgid32", // 211 - "sys_chown32", // 212 - "sys_setuid32", // 213 - "sys_setgid32", // 214 - "sys_setfsuid32", // 215 - "sys_setfsgid32", // 216 - "sys_pivot_root", // 217 - "sys_mincore", // 218 - "sys_madvise", // 219 - "sys_getdents64", // 220 - "sys_fcntl64", // 221 - "", // 222 - "", // 223 - "sys_gettid", // 224 - "sys_readahead", // 225 - "sys_setxattr", // 226 - "sys_lsetxattr", // 227 - "sys_fsetxattr", // 228 - "sys_getxattr", // 229 - "sys_lgetxattr", // 230 - "sys_fgetxattr", // 231 - "sys_listxattr", // 232 - "sys_llistxattr", // 233 - "sys_flistxattr", // 234 - "sys_removexattr", // 235 - "sys_lremovexattr", // 236 - "sys_fremovexattr", // 237 - "sys_tkill", // 238 - "sys_sendfile64", // 239 - "sys_futex", // 240 - "sys_sched_setaffinity", // 241 - "sys_sched_getaffinity", // 242 - "sys_set_thread_area", // 243 - "sys_get_thread_area", // 244 - "sys_io_setup", // 245 - "sys_io_destroy", // 246 - "sys_io_getevents", // 247 - "sys_io_submit", // 248 - "sys_io_cancel", // 249 - "sys_fadvise64", // 250 - "", // 251 - "sys_exit_group", // 252 - "sys_lookup_dcookie", // 253 - "sys_epoll_create", // 254 - "sys_epoll_ctl", // 255 - "sys_epoll_wait", // 256 - "sys_remap_file_pages", // 257 - "sys_set_tid_address", // 258 - "sys_timer_create", // 259 - "sys_timer_settime", // 260 - "sys_timer_gettime", // 261 - "sys_timer_getoverrun", // 262 - "sys_timer_delete", // 263 - "sys_clock_settime", // 264 - "sys_clock_gettime", // 265 - "sys_clock_getres", // 266 - "sys_clock_nanosleep", // 267 - "sys_statfs64", // 268 - "sys_fstatfs64", // 269 - "sys_tgkill", // 270 - "sys_utimes", // 271 - "sys_fadvise64_64", // 272 - "sys_vserver", // 273 - "sys_mbind", // 274 - "sys_get_mempolicy", // 275 - "sys_set_mempolicy", // 276 - "sys_mq_open", // 277 - "sys_mq_unlink", // 278 - "sys_mq_timedsend", // 279 - "sys_mq_timedreceive", // 280 - "sys_mq_notify", // 281 - "sys_mq_getsetattr", // 282 - "sys_kexec_load", // 283 - "sys_waitid", // 284 - "", // 285 - "sys_add_key", // 286 - "sys_request_key", // 287 - "sys_keyctl", // 288 - "sys_ioprio_set", // 289 - "sys_ioprio_get", // 290 - "sys_inotify_init", // 291 - "sys_inotify_add_watch", // 292 - "sys_inotify_rm_watch", // 293 - "sys_migrate_pages", // 294 - "sys_openat", // 295 - "sys_mkdirat", // 296 - "sys_mknodat", // 297 - "sys_fchownat", // 298 - "sys_futimesat", // 299 - "sys_fstatat64", // 300 - "sys_unlinkat", // 301 - "sys_renameat", // 302 - "sys_linkat", // 303 - "sys_symlinkat", // 304 - "sys_readlinkat", // 305 - "sys_fchmodat", // 306 - "sys_faccessat", // 307 - "sys_pselect6", // 308 - "sys_ppoll", // 309 - "sys_unshare", // 310 - "sys_set_robust_list", // 311 - "sys_get_robust_list", // 312 - "sys_splice", // 313 - "sys_sync_file_range", // 314 - "sys_tee", // 315 - "sys_vmsplice", // 316 - "sys_move_pages", // 317 - "sys_getcpu", // 318 - "sys_epoll_pwait", // 319 - "sys_utimensat", // 320 - "sys_signalfd", // 321 - "sys_timerfd_create", // 322 - "sys_eventfd", // 323 - "sys_fallocate", // 324 - "sys_timerfd_settime", // 325 - "sys_timerfd_gettime", // 326 - "sys_signalfd4", // 327 - "sys_eventfd2", // 328 - "sys_epoll_create1", // 329 - "sys_dup3", // 330 - "sys_pipe2", // 331 - "sys_inotify_init1", // 332 - "sys_preadv", // 333 - "sys_pwritev", // 334 - "sys_rt_tgsigqueueinfo", // 335 - "sys_perf_event_open", // 336 - "sys_recvmmsg", // 337 - "sys_fanotify_init", // 338 - "sys_fanotify_mark", // 339 - "sys_prlimit64", // 340 - "sys_name_to_handle_at", // 341 - "sys_open_by_handle_at", // 342 - "sys_clock_adjtime", // 343 - "sys_syncfs", // 344 - "sys_sendmmsg", // 345 - "sys_setns", // 346 - "sys_process_vm_readv", // 347 - "sys_process_vm_writev", // 348 - "sys_kcmp", // 349 - "sys_finit_module", // 350 - "sys_sched_setattr", // 351 - "sys_sched_getattr", // 352 - "sys_renameat2", // 353 - "sys_seccomp", // 354 - "sys_getrandom", // 355 - "sys_memfd_create", // 356 - "sys_bpf", // 357 - "sys_execveat", // 358 - "sys_socket", // 359 - "sys_socketpair", // 360 - "sys_bind", // 361 - "sys_connect", // 362 - "sys_listen", // 363 - "sys_accept4", // 364 - "sys_getsockopt", // 365 - "sys_setsockopt", // 366 - "sys_getsockname", // 367 - "sys_getpeername", // 368 - "sys_sendto", // 369 - "sys_sendmsg", // 370 - "sys_recvfrom", // 371 - "sys_recvmsg", // 372 - "sys_shutdown", // 373 - "sys_userfaultfd", // 374 - "sys_membarrier", // 375 - "sys_mlock2", // 376 - "sys_copy_file_range", // 377 - "sys_preadv2", // 378 - "sys_pwritev2", // 379 - "sys_pkey_mprotect", // 380 - "sys_pkey_alloc", // 381 - "sys_pkey_free", // 382 - "sys_statx", // 383 - "sys_arch_prctl", // 384 - "sys_io_pgetevents", // 385 - "sys_rseq", // 386 -}; - -} // namespace perfetto - -#endif // SRC_KERNEL_UTILS_SYSCALLS_X86_H_
diff --git a/src/kernel_utils/syscalls_x86_64.h b/src/kernel_utils/syscalls_x86_64.h deleted file mode 100644 index 19fd5dc..0000000 --- a/src/kernel_utils/syscalls_x86_64.h +++ /dev/null
@@ -1,576 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef SRC_KERNEL_UTILS_SYSCALLS_X86_64_H_ -#define SRC_KERNEL_UTILS_SYSCALLS_X86_64_H_ - -namespace perfetto { - -// See tools/extract_linux_syscall_tables . -constexpr const char* kSyscalls_x86_64[] = { - "sys_read", // 0 - "sys_write", // 1 - "sys_open", // 2 - "sys_close", // 3 - "sys_stat", // 4 - "sys_fstat", // 5 - "sys_lstat", // 6 - "sys_poll", // 7 - "sys_lseek", // 8 - "sys_mmap", // 9 - "sys_mprotect", // 10 - "sys_munmap", // 11 - "sys_brk", // 12 - "sys_rt_sigaction", // 13 - "sys_rt_sigprocmask", // 14 - "sys_rt_sigreturn", // 15 - "sys_ioctl", // 16 - "sys_pread64", // 17 - "sys_pwrite64", // 18 - "sys_readv", // 19 - "sys_writev", // 20 - "sys_access", // 21 - "sys_pipe", // 22 - "sys_select", // 23 - "sys_sched_yield", // 24 - "sys_mremap", // 25 - "sys_msync", // 26 - "sys_mincore", // 27 - "sys_madvise", // 28 - "sys_shmget", // 29 - "sys_shmat", // 30 - "sys_shmctl", // 31 - "sys_dup", // 32 - "sys_dup2", // 33 - "sys_pause", // 34 - "sys_nanosleep", // 35 - "sys_getitimer", // 36 - "sys_alarm", // 37 - "sys_setitimer", // 38 - "sys_getpid", // 39 - "sys_sendfile", // 40 - "sys_socket", // 41 - "sys_connect", // 42 - "sys_accept", // 43 - "sys_sendto", // 44 - "sys_recvfrom", // 45 - "sys_sendmsg", // 46 - "sys_recvmsg", // 47 - "sys_shutdown", // 48 - "sys_bind", // 49 - "sys_listen", // 50 - "sys_getsockname", // 51 - "sys_getpeername", // 52 - "sys_socketpair", // 53 - "sys_setsockopt", // 54 - "sys_getsockopt", // 55 - "sys_clone", // 56 - "sys_fork", // 57 - "sys_vfork", // 58 - "sys_execve", // 59 - "sys_exit", // 60 - "sys_wait4", // 61 - "sys_kill", // 62 - "sys_uname", // 63 - "sys_semget", // 64 - "sys_semop", // 65 - "sys_semctl", // 66 - "sys_shmdt", // 67 - "sys_msgget", // 68 - "sys_msgsnd", // 69 - "sys_msgrcv", // 70 - "sys_msgctl", // 71 - "sys_fcntl", // 72 - "sys_flock", // 73 - "sys_fsync", // 74 - "sys_fdatasync", // 75 - "sys_truncate", // 76 - "sys_ftruncate", // 77 - "sys_getdents", // 78 - "sys_getcwd", // 79 - "sys_chdir", // 80 - "sys_fchdir", // 81 - "sys_rename", // 82 - "sys_mkdir", // 83 - "sys_rmdir", // 84 - "sys_creat", // 85 - "sys_link", // 86 - "sys_unlink", // 87 - "sys_symlink", // 88 - "sys_readlink", // 89 - "sys_chmod", // 90 - "sys_fchmod", // 91 - "sys_chown", // 92 - "sys_fchown", // 93 - "sys_lchown", // 94 - "sys_umask", // 95 - "sys_gettimeofday", // 96 - "sys_getrlimit", // 97 - "sys_getrusage", // 98 - "sys_sysinfo", // 99 - "sys_times", // 100 - "sys_ptrace", // 101 - "sys_getuid", // 102 - "sys_syslog", // 103 - "sys_getgid", // 104 - "sys_setuid", // 105 - "sys_setgid", // 106 - "sys_geteuid", // 107 - "sys_getegid", // 108 - "sys_setpgid", // 109 - "sys_getppid", // 110 - "sys_getpgrp", // 111 - "sys_setsid", // 112 - "sys_setreuid", // 113 - "sys_setregid", // 114 - "sys_getgroups", // 115 - "sys_setgroups", // 116 - "sys_setresuid", // 117 - "sys_getresuid", // 118 - "sys_setresgid", // 119 - "sys_getresgid", // 120 - "sys_getpgid", // 121 - "sys_setfsuid", // 122 - "sys_setfsgid", // 123 - "sys_getsid", // 124 - "sys_capget", // 125 - "sys_capset", // 126 - "sys_rt_sigpending", // 127 - "sys_rt_sigtimedwait", // 128 - "sys_rt_sigqueueinfo", // 129 - "sys_rt_sigsuspend", // 130 - "sys_sigaltstack", // 131 - "sys_utime", // 132 - "sys_mknod", // 133 - "sys_uselib", // 134 - "sys_personality", // 135 - "sys_ustat", // 136 - "sys_statfs", // 137 - "sys_fstatfs", // 138 - "sys_sysfs", // 139 - "sys_getpriority", // 140 - "sys_setpriority", // 141 - "sys_sched_setparam", // 142 - "sys_sched_getparam", // 143 - "sys_sched_setscheduler", // 144 - "sys_sched_getscheduler", // 145 - "sys_sched_get_priority_max", // 146 - "sys_sched_get_priority_min", // 147 - "sys_sched_rr_get_interval", // 148 - "sys_mlock", // 149 - "sys_munlock", // 150 - "sys_mlockall", // 151 - "sys_munlockall", // 152 - "sys_vhangup", // 153 - "sys_modify_ldt", // 154 - "sys_pivot_root", // 155 - "sys__sysctl", // 156 - "sys_prctl", // 157 - "sys_arch_prctl", // 158 - "sys_adjtimex", // 159 - "sys_setrlimit", // 160 - "sys_chroot", // 161 - "sys_sync", // 162 - "sys_acct", // 163 - "sys_settimeofday", // 164 - "sys_mount", // 165 - "sys_umount2", // 166 - "sys_swapon", // 167 - "sys_swapoff", // 168 - "sys_reboot", // 169 - "sys_sethostname", // 170 - "sys_setdomainname", // 171 - "sys_iopl", // 172 - "sys_ioperm", // 173 - "sys_create_module", // 174 - "sys_init_module", // 175 - "sys_delete_module", // 176 - "sys_get_kernel_syms", // 177 - "sys_query_module", // 178 - "sys_quotactl", // 179 - "sys_nfsservctl", // 180 - "sys_getpmsg", // 181 - "sys_putpmsg", // 182 - "sys_afs_syscall", // 183 - "sys_tuxcall", // 184 - "sys_security", // 185 - "sys_gettid", // 186 - "sys_readahead", // 187 - "sys_setxattr", // 188 - "sys_lsetxattr", // 189 - "sys_fsetxattr", // 190 - "sys_getxattr", // 191 - "sys_lgetxattr", // 192 - "sys_fgetxattr", // 193 - "sys_listxattr", // 194 - "sys_llistxattr", // 195 - "sys_flistxattr", // 196 - "sys_removexattr", // 197 - "sys_lremovexattr", // 198 - "sys_fremovexattr", // 199 - "sys_tkill", // 200 - "sys_time", // 201 - "sys_futex", // 202 - "sys_sched_setaffinity", // 203 - "sys_sched_getaffinity", // 204 - "sys_set_thread_area", // 205 - "sys_io_setup", // 206 - "sys_io_destroy", // 207 - "sys_io_getevents", // 208 - "sys_io_submit", // 209 - "sys_io_cancel", // 210 - "sys_get_thread_area", // 211 - "sys_lookup_dcookie", // 212 - "sys_epoll_create", // 213 - "sys_epoll_ctl_old", // 214 - "sys_epoll_wait_old", // 215 - "sys_remap_file_pages", // 216 - "sys_getdents64", // 217 - "sys_set_tid_address", // 218 - "sys_restart_syscall", // 219 - "sys_semtimedop", // 220 - "sys_fadvise64", // 221 - "sys_timer_create", // 222 - "sys_timer_settime", // 223 - "sys_timer_gettime", // 224 - "sys_timer_getoverrun", // 225 - "sys_timer_delete", // 226 - "sys_clock_settime", // 227 - "sys_clock_gettime", // 228 - "sys_clock_getres", // 229 - "sys_clock_nanosleep", // 230 - "sys_exit_group", // 231 - "sys_epoll_wait", // 232 - "sys_epoll_ctl", // 233 - "sys_tgkill", // 234 - "sys_utimes", // 235 - "sys_vserver", // 236 - "sys_mbind", // 237 - "sys_set_mempolicy", // 238 - "sys_get_mempolicy", // 239 - "sys_mq_open", // 240 - "sys_mq_unlink", // 241 - "sys_mq_timedsend", // 242 - "sys_mq_timedreceive", // 243 - "sys_mq_notify", // 244 - "sys_mq_getsetattr", // 245 - "sys_kexec_load", // 246 - "sys_waitid", // 247 - "sys_add_key", // 248 - "sys_request_key", // 249 - "sys_keyctl", // 250 - "sys_ioprio_set", // 251 - "sys_ioprio_get", // 252 - "sys_inotify_init", // 253 - "sys_inotify_add_watch", // 254 - "sys_inotify_rm_watch", // 255 - "sys_migrate_pages", // 256 - "sys_openat", // 257 - "sys_mkdirat", // 258 - "sys_mknodat", // 259 - "sys_fchownat", // 260 - "sys_futimesat", // 261 - "sys_newfstatat", // 262 - "sys_unlinkat", // 263 - "sys_renameat", // 264 - "sys_linkat", // 265 - "sys_symlinkat", // 266 - "sys_readlinkat", // 267 - "sys_fchmodat", // 268 - "sys_faccessat", // 269 - "sys_pselect6", // 270 - "sys_ppoll", // 271 - "sys_unshare", // 272 - "sys_set_robust_list", // 273 - "sys_get_robust_list", // 274 - "sys_splice", // 275 - "sys_tee", // 276 - "sys_sync_file_range", // 277 - "sys_vmsplice", // 278 - "sys_move_pages", // 279 - "sys_utimensat", // 280 - "sys_epoll_pwait", // 281 - "sys_signalfd", // 282 - "sys_timerfd_create", // 283 - "sys_eventfd", // 284 - "sys_fallocate", // 285 - "sys_timerfd_settime", // 286 - "sys_timerfd_gettime", // 287 - "sys_accept4", // 288 - "sys_signalfd4", // 289 - "sys_eventfd2", // 290 - "sys_epoll_create1", // 291 - "sys_dup3", // 292 - "sys_pipe2", // 293 - "sys_inotify_init1", // 294 - "sys_preadv", // 295 - "sys_pwritev", // 296 - "sys_rt_tgsigqueueinfo", // 297 - "sys_perf_event_open", // 298 - "sys_recvmmsg", // 299 - "sys_fanotify_init", // 300 - "sys_fanotify_mark", // 301 - "sys_prlimit64", // 302 - "sys_name_to_handle_at", // 303 - "sys_open_by_handle_at", // 304 - "sys_clock_adjtime", // 305 - "sys_syncfs", // 306 - "sys_sendmmsg", // 307 - "sys_setns", // 308 - "sys_getcpu", // 309 - "sys_process_vm_readv", // 310 - "sys_process_vm_writev", // 311 - "sys_kcmp", // 312 - "sys_finit_module", // 313 - "sys_sched_setattr", // 314 - "sys_sched_getattr", // 315 - "sys_renameat2", // 316 - "sys_seccomp", // 317 - "sys_getrandom", // 318 - "sys_memfd_create", // 319 - "sys_kexec_file_load", // 320 - "sys_bpf", // 321 - "sys_execveat", // 322 - "sys_userfaultfd", // 323 - "sys_membarrier", // 324 - "sys_mlock2", // 325 - "sys_copy_file_range", // 326 - "sys_preadv2", // 327 - "sys_pwritev2", // 328 - "sys_pkey_mprotect", // 329 - "sys_pkey_alloc", // 330 - "sys_pkey_free", // 331 - "sys_statx", // 332 - "sys_io_pgetevents", // 333 - "sys_rseq", // 334 - "", // 335 - "", // 336 - "", // 337 - "", // 338 - "", // 339 - "", // 340 - "", // 341 - "", // 342 - "", // 343 - "", // 344 - "", // 345 - "", // 346 - "", // 347 - "", // 348 - "", // 349 - "", // 350 - "", // 351 - "", // 352 - "", // 353 - "", // 354 - "", // 355 - "", // 356 - "", // 357 - "", // 358 - "", // 359 - "", // 360 - "", // 361 - "", // 362 - "", // 363 - "", // 364 - "", // 365 - "", // 366 - "", // 367 - "", // 368 - "", // 369 - "", // 370 - "", // 371 - "", // 372 - "", // 373 - "", // 374 - "", // 375 - "", // 376 - "", // 377 - "", // 378 - "", // 379 - "", // 380 - "", // 381 - "", // 382 - "", // 383 - "", // 384 - "", // 385 - "", // 386 - "", // 387 - "", // 388 - "", // 389 - "", // 390 - "", // 391 - "", // 392 - "", // 393 - "", // 394 - "", // 395 - "", // 396 - "", // 397 - "", // 398 - "", // 399 - "", // 400 - "", // 401 - "", // 402 - "", // 403 - "", // 404 - "", // 405 - "", // 406 - "", // 407 - "", // 408 - "", // 409 - "", // 410 - "", // 411 - "", // 412 - "", // 413 - "", // 414 - "", // 415 - "", // 416 - "", // 417 - "", // 418 - "", // 419 - "", // 420 - "", // 421 - "", // 422 - "", // 423 - "", // 424 - "", // 425 - "", // 426 - "", // 427 - "", // 428 - "", // 429 - "", // 430 - "", // 431 - "", // 432 - "", // 433 - "", // 434 - "", // 435 - "", // 436 - "", // 437 - "", // 438 - "", // 439 - "", // 440 - "", // 441 - "", // 442 - "", // 443 - "", // 444 - "", // 445 - "", // 446 - "", // 447 - "", // 448 - "", // 449 - "", // 450 - "", // 451 - "", // 452 - "", // 453 - "", // 454 - "", // 455 - "", // 456 - "", // 457 - "", // 458 - "", // 459 - "", // 460 - "", // 461 - "", // 462 - "", // 463 - "", // 464 - "", // 465 - "", // 466 - "", // 467 - "", // 468 - "", // 469 - "", // 470 - "", // 471 - "", // 472 - "", // 473 - "", // 474 - "", // 475 - "", // 476 - "", // 477 - "", // 478 - "", // 479 - "", // 480 - "", // 481 - "", // 482 - "", // 483 - "", // 484 - "", // 485 - "", // 486 - "", // 487 - "", // 488 - "", // 489 - "", // 490 - "", // 491 - "", // 492 - "", // 493 - "", // 494 - "", // 495 - "", // 496 - "", // 497 - "", // 498 - "", // 499 - "", // 500 - "", // 501 - "", // 502 - "", // 503 - "", // 504 - "", // 505 - "", // 506 - "", // 507 - "", // 508 - "", // 509 - "", // 510 - "", // 511 - "sys_rt_sigaction", // 512 - "sys_rt_sigreturn", // 513 - "sys_ioctl", // 514 - "sys_readv", // 515 - "sys_writev", // 516 - "sys_recvfrom", // 517 - "sys_sendmsg", // 518 - "sys_recvmsg", // 519 - "sys_execve", // 520 - "sys_ptrace", // 521 - "sys_rt_sigpending", // 522 - "sys_rt_sigtimedwait", // 523 - "sys_rt_sigqueueinfo", // 524 - "sys_sigaltstack", // 525 - "sys_timer_create", // 526 - "sys_mq_notify", // 527 - "sys_kexec_load", // 528 - "sys_waitid", // 529 - "sys_set_robust_list", // 530 - "sys_get_robust_list", // 531 - "sys_vmsplice", // 532 - "sys_move_pages", // 533 - "sys_preadv", // 534 - "sys_pwritev", // 535 - "sys_rt_tgsigqueueinfo", // 536 - "sys_recvmmsg", // 537 - "sys_sendmmsg", // 538 - "sys_process_vm_readv", // 539 - "sys_process_vm_writev", // 540 - "sys_setsockopt", // 541 - "sys_getsockopt", // 542 - "sys_io_setup", // 543 - "sys_io_submit", // 544 - "sys_execveat", // 545 - "sys_preadv2", // 546 - "sys_pwritev2", // 547 -}; - -} // namespace perfetto - -#endif // SRC_KERNEL_UTILS_SYSCALLS_X86_64_H_