Skip to content

Instantly share code, notes, and snippets.

@Chubek
Last active June 15, 2023 10:19
Show Gist options
  • Save Chubek/bc96fc7cff2d90cb255ccd973c5ca9e8 to your computer and use it in GitHub Desktop.
Save Chubek/bc96fc7cff2d90cb255ccd973c5ca9e8 to your computer and use it in GitHub Desktop.
MangoMacs: Macros and Assembly Wrappers for Syscalls in Linux Plus all the External Signatures in C

Following my last set of macros, PommeMacs, I now present: MangoMacs. There are four files in this Gist. They are:

1- registers.m -> These are all the register mappings of the C ABI in Linux and System Calls ABI likewise. They are quite similar, except in the C ABI, arg3 (counting from 0) is RCX whereas in the Syscall ABI, this argument is R10. This creates a bit of an issue in creating a wrapper, but since RCX is not used in System Calls ABI, we can safely discard it. As we do in the SYSCALL_implement macro which we use to implement all 330-odd syscalls.

2- syscall.m -> These are all the NRs for the syscalls. We use them to implement the wrapper. At the end of the file there's the aforementioned SYSCALL_implement macro. This is the macro we use to create our wrappers.

3- syscall.S -> These are the wrappers, implemented using the macro, besides we have the .global directive for all of them.

4- syscall.h -> These are all the signatures. Keep one thing in mind, these signatures have been scraped by this dude's AWK shell script, they do not have the typedefs. I will soon release a more comprehensive version with all the typedefs and not only that, all the constants and flags. We'll see.

How to Use

I have not included the macros in any of the files, but both the .m files rely on each other, and so does the Assembly code. So ideally, if you wish to use these macros and wrappers, include both the macro files somewhere in your source files. If you wish to include them more than once, use an include guard. You can include the .S file just like any .c file, both with GCC and Clang. But remember, the extension must be .S, not .s, or anything else, otherwise CPP will not preprocess the file beforehand.

Here is how I usually use register macros:

#ifndef __INC_REGISTERS_M
#define __INC_REGISTERS_M
#include "registers.m"
#endif

lzcnt_long:
    #define LONG_NUM CABI_AGQ0
    #define RETR_REG CABI_RET
    
    REGISTER_zero_out(RETR_REG)
    lzcnt LONG_NUM, RETR_REG
    
    ret
    
    #undef LONG_NUM
    #undef RETR_REG

Remember to #undef the macros at the end of each subroutine. It's just less headache that way. As for the syscall wrappers:

#ifndef __INC_REGISTERS_M
#define __INC_REGISTERS_M
#include "registers.m"
#endif
#ifndef __INC_SYSCALL_M
#define __INC_SYSCALL_M
#include "syscall.m"
#endif
#ifndef __INC_SYSCALL_H
#define __INC_SYSCALL_H
#include "syscall.h"
#endif

#define O_CREAT 64

int main()
{
    const int fd = open("file.f", O_CREAT);
    close(fd);
}

I got the value for O_CREAT from Python's os module. It is a good place for getting these values. Otherwise you can just grep or awk it. To compile:

gcc myfile.c syscall.S -o sysctst

Anyways and anyhow.

For now I have realized that, maybe it is not such a fine thing to wrap your code in Assembly. So I won't be using these myself for my current project, which is a tunnel called tullenz. But alas I must say that this is oft necessary to go knee-deep in machine code. I have acclimated myself with Assembly over the past several months, and I have implemented some good code in it. You can view all my projects in my Github profile, this is where I host all my projects. There are indeed some interesting stuff there, there's a lot of stuff there, in fact, just dig in. My unfinished projects could still be a repository for good algorithms that I have implemented. Who knows?

Anyways, happy coding.

PS: to be quit frank, these are untested. Like, no test, zilch. Remain vigilant.

#define SYSC_NREG % rax
#define SYSC_AGQ0 % rdi
#define SYSC_AGQ1 % rsi
#define SYSC_AGQ2 % rdx
#define SYSC_AGQ3 % r10
#define SYSC_AGQ4 % r8
#define SYSC_AGQ5 % r9
#define SYSC_RETQ % rax
#define SYSC_AGD0 % edi
#define SYSC_AGD1 % esi
#define SYSC_AGD2 % edx
#define SYSC_AGD3 % r10d
#define SYSC_AGD4 % r8d
#define SYSC_AGD5 % r9d
#define SYSC_RETD % eax
#define SYSC_AGW0 % di
#define SYSC_AGW1 % si
#define SYSC_AGW2 % dx
#define SYSC_AGW3 % r10w
#define SYSC_AGW4 % r8w
#define SYSC_AGW5 % r9w
#define SYSC_RETW % ax
#define SYSC_AGL0 % dl
#define SYSC_AGL1 % sil
#define SYSC_AGL2 % dl
#define SYSC_AGL3 % r10b
#define SYSC_AGL4 % r8b
#define SYSC_AGL5 % r9b
#define SYSC_RETL % al
#define SYSC_AGH0 % dh
#define SYSC_AGH1 % sil
#define SYSC_AGH2 % dh
#define SYSC_AGH3 % r10b
#define SYSC_AGH4 % r8b
#define SYSC_AGH5 % r9b
#define SYSC_RETH % ah
#define CABI_AGQ0 % rdi
#define CABI_AGQ1 % rsi
#define CABI_AGQ2 % rdx
#define CABI_AGQ3 % rcx
#define CABI_AGQ4 % r8
#define CABI_AGQ5 % r9
#define CABI_RETQ % rax
#define CABI_AGD0 % edi
#define CABI_AGD1 % esi
#define CABI_AGD2 % edx
#define CABI_AGD3 % ecx
#define CABI_AGD4 % r8d
#define CABI_AGD5 % r9d
#define CABI_RETD % eax
#define CABI_AGW0 % di
#define CABI_AGW1 % si
#define CABI_AGW2 % dx
#define CABI_AGW3 % cx
#define CABI_AGW4 % r8w
#define CABI_AGW5 % r9w
#define CABI_RETW % ax
#define CABI_AGL0 % dl
#define CABI_AGL1 % sil
#define CABI_AGL2 % dl
#define CABI_AGL3 % cl
#define CABI_AGL4 % r8b
#define CABI_AGL5 % r9b
#define CABI_RETL % al
#define CABI_AGH0 % dh
#define CABI_AGH1 % sil
#define CABI_AGH2 % dh
#define CABI_AGH3 % ch
#define CABI_AGH4 % r8b
#define CABI_AGH5 % r9b
#define CABI_RETH % ah
#define CNTR_QWRD % rcx
#define CNTR_DWRD % ecx
#define CNTR_WORD % cx
#define CNTR_LOWB % cl
#define CNTR_HIIB % ch
#define ACCM_QWRD % rax
#define ACCM_DWRD % eax
#define ACCM_WORD % ax
#define ACCM_LOWB % al
#define ACCM_HIIB % ah
#define STPT_QWRD % rsp
#define STPT_DWRD % esp
#define STPT_WORD % sp
#define STPT_LOWB % spl
#define FPPT_QWRD % rbp
#define FPPT_DWRD % ebp
#define FPPT_WORD % bp
#define FPPT_LOWB % bpl
#define CLB1_QWRD % r10
#define CLB1_DWRD % r10d
#define CLB1_WORD % r10w
#define CLB1_LOWB % r10b
#define CLB2_QWRD % r11
#define CLB2_DWRD % r11d
#define CLB2_WORD % r11w
#define CLB2_LOWB % r11b
#define CSV1_QWRD % r8
#define CSV1_DWRD % r8d
#define CSV1_WORD % r8w
#define CSV1_LOWB % r8b
#define CSV2_QWRD % r9
#define CSV2_DWRD % r9d
#define CSV2_WORD % r9w
#define CSV2_LOWB % r9b
#define CSV3_QWRD % r12
#define CSV3_DWRD % r12d
#define CSV3_WORD % r12w
#define CSV3_LOWB % r12b
#define CSV4_QWRD % r13
#define CSV4_DWRD % r13d
#define CSV4_WORD % r13w
#define CSV4_LOWB % r13b
#define CSV5_QWRD % r14
#define CSV5_DWRD % r14d
#define CSV5_WORD % r14w
#define CSV5_LOWB % r14b
#define CSV6_QWRD % r15
#define CSV6_DWRD % r15d
#define CSV6_WORD % r15w
#define CSV6_LOWB % r15b
#define SRCR_QWRD % rsi
#define SRCR_DWRD % esi
#define SRCR_WORD % si
#define SRCR_LOWB % sil
#define DATA_QWRD % rdx
#define DATA_DWRD % edx
#define DATA_WORD % dx
#define DATA_LOWB % dl
#define DATA_HIIB % dh
#define DEST_QWRD % rdi
#define DEST_DWRD % edi
#define DEST_WORD % di
#define DEST_LOWB % dl
#define DEST_HIIB % dh
#define BASE_QWRD % rbx
#define BASE_DWRD % ebx
#define BASE_WORD % bx
#define BASE_LOWB % bl
#define BASE_HIIB % bh
#define V512_RG00 %zmm0
#define V512_RG01 %zmm1
#define V512_RG02 %zmm2
#define V512_RG03 %zmm3
#define V512_RG04 %zmm4
#define V512_RG05 %zmm5
#define V512_RG06 %zmm6
#define V512_RG07 %zmm7
#define V512_RG08 %zmm8
#define V512_RG09 %zmm9
#define V512_RG10 %zmm10
#define V512_RG11 %zmm11
#define V512_RG12 %zmm12
#define V512_RG13 %zmm13
#define V512_RG14 %zmm14
#define V512_RG15 %zmm15
#define V256_RG00 %ymm0
#define V256_RG01 %ymm1
#define V256_RG02 %ymm2
#define V256_RG03 %ymm3
#define V256_RG04 %ymm4
#define V256_RG05 %ymm5
#define V256_RG06 %ymm6
#define V256_RG07 %ymm7
#define V256_RG08 %ymm8
#define V256_RG09 %ymm9
#define V256_RG10 %ymm10
#define V256_RG11 %ymm11
#define V256_RG12 %ymm12
#define V256_RG13 %ymm13
#define V256_RG14 %ymm14
#define V256_RG15 %ymm15
#define V128_RG00 %xmm0
#define V128_RG01 %xmm1
#define V128_RG02 %xmm2
#define V128_RG03 %xmm3
#define V128_RG04 %xmm4
#define V128_RG05 %xmm5
#define V128_RG06 %xmm6
#define V128_RG07 %xmm7
#define V128_RG08 %xmm8
#define V128_RG09 %xmm9
#define V128_RG10 %xmm10
#define V128_RG11 %xmm11
#define V128_RG12 %xmm12
#define V128_RG13 %xmm13
#define V128_RG14 %xmm14
#define V128_RG15 %xmm15
#define MASK_REG0 %k0
#define MASK_REG1 %k1
#define MASK_REG2 %k2
#define MASK_REG3 %k3
#define MASK_REG4 %k4
#define MASK_REG5 %k5
#define MASK_REG6 %k6
#define MASK_REG7 %k7
#define REGISTER_zero_out(reg) xor reg, reg
extern long io_setup(unsigned nr_events, aio_context_t *ctx_idp);
extern int io_destroy(aio_context_t ctx_id);
extern int io_submit(aio_context_t ctx_id, long nr, struct iocb **iocbpp);
extern int io_cancel(aio_context_t ctx_id, struct iocb *iocb, struct io_event *result);
extern int io_getevents(aio_context_t ctx_id, long min_nr, long nr, struct io_event *events, struct timespec *timeout);
extern int setxattr(const char *path, const char *name, const void *value, size_t size, int flags);
extern int lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags);
extern int fsetxattr(int fd, const char *name, const void *value, size_t size, int flags);
extern ssize_t getxattr(const char *path, const char *name, void *value, size_t size);
extern ssize_t lgetxattr(const char *path, const char *name, void *value, size_t size);
extern ssize_t fgetxattr(int fd, const char *name, void *value, size_t size);
extern ssize_t listxattr(const char *path, char *list, size_t size);
extern ssize_t llistxattr(const char *path, char *list, size_t size);
extern ssize_t flistxattr(int fd, char *list, size_t size);
extern int removexattr(const char *path, const char *name);
extern int lremovexattr(const char *path, const char *name);
extern int fremovexattr(int fd, const char *name);
extern int lookup_dcookie(u64 cookie, char *buffer, size_t len);
extern int epoll_create1(int flags);
extern int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
extern int epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *sigmask);
extern int dup(int oldfd);
extern int dup3(int oldfd, int newfd, int flags);
extern int fcntl(int fd, int cmd, ... /* arg */ );
extern int inotify_init1(int flags);
extern int inotify_add_watch(int fd, const char *pathname, uint32_t mask);
extern int inotify_rm_watch(int fd, int wd);
extern int ioctl(int fd, unsigned long request, ...);
extern int ioprio_set(int which, int who, int ioprio);
extern int ioprio_get(int which, int who);
extern int flock(int fd, int operation);
extern int mknodat(int dirfd, const char *pathname, mode_t mode, dev_t dev);
extern int mkdirat(int dirfd, const char *pathname, mode_t mode);
extern int unlinkat(int dirfd, const char *pathname, int flags);
extern int symlinkat(const char *target, int newdirfd, const char *linkpath);
extern int linkat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath, int flags);
extern int renameat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath);
extern int umount(const char *target);
extern int mount(const char *source, const char *target, const char *filesystemtype, unsigned long mountflags, const void *data);
extern int pivot_root(const char *new_root, const char *put_old);
extern int statfs(const char *path, struct statfs *buf);
extern int fstatfs(int fd, struct statfs *buf);
extern int truncate(const char *path, off_t length);
extern int ftruncate(int fd, off_t length);
extern int fallocate(int fd, int mode, off_t offset, off_t len);
extern int faccessat(int dirfd, const char *pathname, int mode, int flags);
extern int faccessat2(int dirfd, const char *pathname, int mode, int flags);
extern int chdir(const char *path);
extern int fchdir(int fd);
extern int chroot(const char *path);
extern int fchmod(int fd, mode_t mode);
extern int fchmodat(int dirfd, const char *pathname, mode_t mode, int flags);
extern int fchownat(int dirfd, const char *pathname, uid_t owner, gid_t group, int flags);
extern int fchown(int fd, uid_t owner, gid_t group);
extern int openat(int dirfd, const char *pathname, int flags);
extern int openat(int dirfd, const char *pathname, int flags, mode_t mode);
extern long openat2(int dirfd, const char *pathname, struct open_how *how, size_t size);
extern int close(int fd);
extern int vhangup(void);
extern int pipe2(int pipefd[2], int flags);
extern int quotactl(int cmd, const char *special, int id, caddr_t addr);
extern ssize_t getdents64(int fd, void *dirp, size_t count);
extern off_t lseek(int fd, off_t offset, int whence);
extern ssize_t read(int fd, void *buf, size_t count);
extern ssize_t write(int fd, const void *buf, size_t count);
extern ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
extern ssize_t writev(int fd, const struct iovec *iov, int iovcnt);
extern ssize_t preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset);
extern ssize_t pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset);
extern int ppoll(struct pollfd *fds, nfds_t nfds, const struct timespec *tmo_p, const sigset_t *sigmask);
extern ssize_t vmsplice(int fd, const struct iovec *iov, unsigned long nr_segs, unsigned int flags);
extern ssize_t splice(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags);
extern ssize_t tee(int fd_in, int fd_out, size_t len, unsigned int flags);
extern ssize_t readlinkat(int dirfd, const char *pathname, char *buf, size_t bufsiz);
extern void sync(void);
extern int fsync(int fd);
extern int fdatasync(int fd);
extern int sync_file_range(int fd, off64_t offset, off64_t nbytes, unsigned int flags);
extern int timerfd_create(int clockid, int flags);
extern int timerfd_settime(int fd, int flags, const struct itimerspec *new_value, struct itimerspec *old_value);
extern int timerfd_gettime(int fd, struct itimerspec *curr_value);
extern int utimensat(int dirfd, const char *pathname, const struct timespec times[2], int flags);
extern int acct(const char *filename);
extern int capget(cap_user_header_t hdrp, cap_user_data_t datap);
extern int capset(cap_user_header_t hdrp, const cap_user_data_t datap);
extern int personality(unsigned long persona);
extern void exit_group(int status);
extern int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);
extern pid_t set_tid_address(int *tidptr);
extern int unshare(int flags);
extern long futex(uint32_t *uaddr, int futex_op, uint32_t val, const struct timespec *timeout, /* or: uint32_t val2 */ uint32_t *uaddr2, uint32_t val3);
extern long get_robust_list(int pid, struct robust_list_head **head_ptr, size_t *len_ptr);
extern long set_robust_list(struct robust_list_head *head, size_t len);
extern int nanosleep(const struct timespec *req, struct timespec *rem);
extern int getitimer(int which, struct itimerval *curr_value);
extern int setitimer(int which, const struct itimerval *new_value, struct itimerval *old_value);
extern long kexec_load(unsigned long entry, unsigned long nr_segments, struct kexec_segment *segments, unsigned long flags);
extern int init_module(void *module_image, unsigned long len, const char *param_values);
extern int delete_module(const char *name, int flags);
extern int timer_create(clockid_t clockid, struct sigevent *sevp, timer_t *timerid);
extern int timer_gettime(timer_t timerid, struct itimerspec *curr_value);
extern int timer_getoverrun(timer_t timerid);
extern int timer_settime(timer_t timerid, int flags, const struct itimerspec *new_value, struct itimerspec *old_value);
extern int timer_delete(timer_t timerid);
extern int clock_settime(clockid_t clockid, const struct timespec *tp);
extern int clock_gettime(clockid_t clockid, struct timespec *tp);
extern int clock_getres(clockid_t clockid, struct timespec *res);
extern int clock_nanosleep(clockid_t clockid, int flags, const struct timespec *request, struct timespec *remain);
extern int syslog(int type, char *bufp, int len);
extern long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data);
extern int sched_setparam(pid_t pid, const struct sched_param *param);
extern int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param);
extern int sched_getscheduler(pid_t pid);
extern int sched_getparam(pid_t pid, struct sched_param *param);
extern int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask);
extern int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask);
extern int sched_yield(void);
extern int sched_get_priority_max(int policy);
extern int sched_get_priority_min(int policy);
extern int sched_rr_get_interval(pid_t pid, struct timespec *tp);
extern long restart_syscall(void);
extern int kill(pid_t pid, int sig);
extern int tkill(int tid, int sig);
extern int tgkill(int tgid, int tid, int sig);
extern int sigaltstack(const stack_t *ss, stack_t *old_ss);
extern int rt_sigprocmask(int how, const kernel_sigset_t *set, kernel_sigset_t *oldset, size_t sigsetsize);
extern int rt_sigqueueinfo(pid_t tgid, int sig, siginfo_t *info);
extern int setpriority(int which, id_t who, int prio);
extern int getpriority(int which, id_t who);
extern int reboot(int magic, int magic2, int cmd, void *arg);
extern int reboot(int cmd);
extern int setregid(gid_t rgid, gid_t egid);
extern int setgid(gid_t gid);
extern int setreuid(uid_t ruid, uid_t euid);
extern int setuid(uid_t uid);
extern int setresuid(uid_t ruid, uid_t euid, uid_t suid);
extern int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid);
extern int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
extern int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);
extern int setfsuid(uid_t fsuid);
extern int setfsgid(uid_t fsgid);
extern clock_t times(struct tms *buf);
extern int setpgid(pid_t pid, pid_t pgid);
extern pid_t getpgid(pid_t pid);
extern pid_t getsid(pid_t pid);
extern pid_t setsid(void);
extern int getgroups(int size, gid_t list[]);
extern int setgroups(size_t size, const gid_t *list);
extern int sethostname(const char *name, size_t len);
extern int setdomainname(const char *name, size_t len);
extern int getrlimit(int resource, struct rlimit *rlim);
extern int setrlimit(int resource, const struct rlimit *rlim);
extern int getrusage(int who, struct rusage *usage);
extern mode_t umask(mode_t mask);
extern int prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5);
extern int getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache);
extern int gettimeofday(struct timeval *tv, struct timezone *tz);
extern int settimeofday(const struct timeval *tv, const struct timezone *tz);
extern int adjtimex(struct timex *buf);
extern pid_t getpid(void);
extern pid_t getppid(void);
extern uid_t getuid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern gid_t getegid(void);
extern pid_t gettid(void);
extern int sysinfo(struct sysinfo *info);
extern mqd_t mq_open(const char *name, int oflag);
extern mqd_t mq_open(const char *name, int oflag, mode_t mode, struct mq_attr *attr);
extern int mq_unlink(const char *name);
extern int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec *abs_timeout);
extern ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned int *msg_prio, const struct timespec *abs_timeout);
extern int mq_notify(mqd_t mqdes, const struct sigevent *sevp);
extern int mq_getsetattr(mqd_t mqdes, const struct mq_attr *newattr, struct mq_attr *oldattr);
extern int msgget(key_t key, int msgflg);
extern int msgctl(int msqid, int cmd, struct msqid_ds *buf);
extern ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);
extern int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);
extern int semget(key_t key, int nsems, int semflg);
extern int semctl(int semid, int semnum, int cmd, ...);
extern int semtimedop(int semid, struct sembuf *sops, size_t nsops, const struct timespec *timeout);
extern int semop(int semid, struct sembuf *sops, size_t nsops);
extern int shmget(key_t key, size_t size, int shmflg);
extern int shmctl(int shmid, int cmd, struct shmid_ds *buf);
extern int shmdt(const void *shmaddr);
extern int socket(int domain, int type, int protocol);
extern int socketpair(int domain, int type, int protocol, int sv[2]);
extern int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
extern int listen(int sockfd, int backlog);
extern int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
extern int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
extern int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
extern int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
extern ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);
extern ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);
extern int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
extern int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
extern int shutdown(int sockfd, int how);
extern ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags);
extern ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags);
extern ssize_t readahead(int fd, off64_t offset, size_t count);
extern int brk(void *addr);
extern int munmap(void *addr, size_t length);
extern key_serial_t add_key(const char *type, const char *description, const void *payload, size_t plen, key_serial_t keyring);
extern key_serial_t request_key(const char *type, const char *description, const char *callout_info, key_serial_t dest_keyring);
extern long keyctl(int operation, ...);
extern int clone(int (*fn)(void *), void *stack, int flags, void *arg, ... /* pid_t *parent_tid, void *tls, pid_t *child_tid */ );
extern int clone(int (*fn)(void *), void *stack, int flags, void *arg, ... /* pid_t *parent_tid, void *tls, pid_t *child_tid */ );
extern int clone(int (*fn)(void *), void *stack, int flags, void *arg, ... /* pid_t *parent_tid, void *tls, pid_t *child_tid */ );
extern long clone3(struct clone_args *cl_args, size_t size);
extern int execve(const char *pathname, char *const argv[], char *const envp[]);
extern int swapon(const char *path, int swapflags);
extern int swapoff(const char *path);
extern int mprotect(void *addr, size_t len, int prot);
extern int msync(void *addr, size_t length, int flags);
extern int mlock(const void *addr, size_t len);
extern int munlock(const void *addr, size_t len);
extern int mlockall(int flags);
extern int munlockall(void);
extern int mincore(void *addr, size_t length, unsigned char *vec);
extern int madvise(void *addr, size_t length, int advice);
extern int remap_file_pages(void *addr, size_t size, int prot, size_t pgoff, int flags);
extern long mbind(void *addr, unsigned long len, int mode, const unsigned long *nodemask, unsigned long maxnode, unsigned flags);
extern long get_mempolicy(int *mode, unsigned long *nodemask, unsigned long maxnode, void *addr, unsigned long flags);
extern long set_mempolicy(int mode, const unsigned long *nodemask, unsigned long maxnode);
extern long migrate_pages(int pid, unsigned long maxnode, const unsigned long *old_nodes, const unsigned long *new_nodes);
extern long move_pages(int pid, unsigned long count, void **pages, const int *nodes, int *status, int flags);
extern int rt_tgsigqueueinfo(pid_t tgid, pid_t tid, int sig, siginfo_t *info);
extern int perf_event_open(struct perf_event_attr *attr, pid_t pid, int cpu, int group_fd, unsigned long flags);
extern int accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags);
extern int recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, int flags, struct timespec *timeout);
extern pid_t wait4(pid_t pid, int *wstatus, int options, struct rusage *rusage);
extern int fanotify_init(unsigned int flags, unsigned int event_f_flags);
extern int fanotify_mark(int fanotify_fd, unsigned int flags, uint64_t mask, int dirfd, const char *pathname);
extern int name_to_handle_at(int dirfd, const char *pathname, struct file_handle *handle, int *mount_id, int flags);
extern int open_by_handle_at(int mount_fd, struct file_handle *handle, int flags);
extern int clock_adjtime(clockid_t clk_id, struct timex *buf);
extern int syncfs(int fd);
extern int setns(int fd, int nstype);
extern int pidfd_open(pid_t pid, unsigned int flags);
extern int sendmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen, int flags);
extern ssize_t process_vm_readv(pid_t pid, const struct iovec *local_iov, unsigned long liovcnt, const struct iovec *remote_iov, unsigned long riovcnt, unsigned long flags);
extern ssize_t process_vm_writev(pid_t pid, const struct iovec *local_iov, unsigned long liovcnt, const struct iovec *remote_iov, unsigned long riovcnt, unsigned long flags);
extern int kcmp(pid_t pid1, pid_t pid2, int type, unsigned long idx1, unsigned long idx2);
extern int finit_module(int fd, const char *param_values, int flags);
extern int sched_setattr(pid_t pid, struct sched_attr *attr, unsigned int flags);
extern int sched_getattr(pid_t pid, struct sched_attr *attr, unsigned int size, unsigned int flags);
extern int renameat2(int olddirfd, const char *oldpath, int newdirfd, const char *newpath, unsigned int flags);
extern int seccomp(unsigned int operation, unsigned int flags, void *args);
extern ssize_t getrandom(void *buf, size_t buflen, unsigned int flags);
extern int memfd_create(const char *name, unsigned int flags);
extern int bpf(int cmd, union bpf_attr *attr, unsigned int size);
extern int execveat(int dirfd, const char *pathname, char *const argv[], char *const envp[], int flags);
extern int userfaultfd(int flags);
extern int membarrier(int cmd, unsigned int flags, int cpu_id);
extern int mlock2(const void *addr, size_t len, int flags);
extern ssize_t copy_file_range(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags);
extern ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags);
extern ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags);
extern int pkey_mprotect(void *addr, size_t len, int prot, int pkey);
extern int pkey_alloc(unsigned int flags, unsigned int access_rights);
extern int pkey_free(int pkey);
extern int statx(int dirfd, const char *pathname, int flags, unsigned int mask, struct statx *statxbuf);
extern int pidfd_send_signal(int pidfd, int sig, siginfo_t *info, unsigned int flags);
extern int pidfd_getfd(int pidfd, int targetfd, unsigned int flags);
extern int ioperm(unsigned long from, unsigned long num, int turn_on);
extern int pciconfig_read(unsigned long bus, unsigned long dfn, unsigned long off, unsigned long len, void *buf);
extern int pciconfig_write(unsigned long bus, unsigned long dfn, unsigned long off, unsigned long len, void *buf);
extern int pciconfig_iobase(long which, unsigned long bus, unsigned long devfn);
extern int spu_run(int fd, unsigned int *npc, unsigned int *event);
extern int spu_create(const char *pathname, int flags, mode_t mode, int neighbor_fd);
extern int open(const char *pathname, int flags);
extern int open(const char *pathname, int flags, mode_t mode);
extern int link(const char *oldpath, const char *newpath);
extern int unlink(const char *pathname);
extern int mknod(const char *pathname, mode_t mode, dev_t dev);
extern int chmod(const char *pathname, mode_t mode);
extern int chown(const char *pathname, uid_t owner, gid_t group);
extern int mkdir(const char *pathname, mode_t mode);
extern int rmdir(const char *pathname);
extern int lchown(const char *pathname, uid_t owner, gid_t group);
extern int access(const char *pathname, int mode);
extern int rename(const char *oldpath, const char *newpath);
extern int symlink(const char *target, const char *linkpath);
extern int pipe(int pipefd[2]);
extern int dup2(int oldfd, int newfd);
extern int epoll_create(int size);
extern int inotify_init(void);
extern int eventfd(unsigned int initval, int flags);
extern int signalfd(int fd, const sigset_t *mask, int flags);
extern ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);
extern unsigned int alarm(unsigned int seconds);
extern pid_t getpgrp(void); /* POSIX.1 version */
extern pid_t getpgrp(pid_t pid); /* BSD version */
extern int pause(void);
extern time_t time(time_t *tloc);
extern int utime(const char *filename, const struct utimbuf *times);
extern int utimes(const char *filename, const struct timeval times[2]);
extern int futimesat(int dirfd, const char *pathname, const struct timeval times[2]);
extern int creat(const char *pathname, mode_t mode);
extern long getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count);
extern int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
extern int poll(struct pollfd *fds, nfds_t nfds, int timeout);
extern int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout);
extern int ustat(dev_t dev, struct ustat *ubuf);
extern pid_t vfork(void);
extern ssize_t recv(int sockfd, void *buf, size_t len, int flags);
extern ssize_t send(int sockfd, const void *buf, size_t len, int flags);
extern int uselib(const char *library);
extern int sysfs(int option, const char *fsname);
extern int sysfs(int option, unsigned int fs_index, char *buf);
extern int sysfs(int option);
extern pid_t fork(void);
extern int stime(const time_t *t);
extern int sigpending(sigset_t *set);
extern int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
extern int sigprocmask(int how, const old_kernel_sigset_t *set, old_kernel_sigset_t *oldset);
extern int sigsuspend(const sigset_t *mask);
extern int sigsuspend(const sigset_t *mask);
extern int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
extern long sgetmask(void);
extern long ssetmask(long newmask);
extern sighandler_t signal(int signum, sighandler_t handler);
extern int nice(int inc);
extern long kexec_file_load(int kernel_fd, int initrd_fd, unsigned long cmdline_len, const char *cmdline, unsigned long flags);
extern pid_t waitpid(pid_t pid, int *wstatus, int options);
extern int socketcall(int call, unsigned long *args);
extern int stat(const char *pathname, struct stat *statbuf);
extern int lstat(const char *pathname, struct stat *statbuf);
extern int fstat(int fd, struct stat *statbuf);
extern ssize_t readlink(const char *pathname, char *buf, size_t bufsiz);
extern int gethostname(char *name, size_t len);
extern int uname(struct utsname *buf);
extern int ipc(unsigned int call, int first, int second, int third, void *ptr, long fifth);
#define SYSCNR_read 0
#define SYSCNR_write 1
#define SYSCNR_open 2
#define SYSCNR_close 3
#define SYSCNR_stat 4
#define SYSCNR_fstat 5
#define SYSCNR_lstat 6
#define SYSCNR_poll 7
#define SYSCNR_lseek 8
#define SYSCNR_mmap 9
#define SYSCNR_mprotect 10
#define SYSCNR_munmap 11
#define SYSCNR_brk 12
#define SYSCNR_rt_sigaction 13
#define SYSCNR_rt_sigprocmask 14
#define SYSCNR_rt_sigreturn 15
#define SYSCNR_ioctl 16
#define SYSCNR_pread64 17
#define SYSCNR_pwrite64 18
#define SYSCNR_readv 19
#define SYSCNR_writev 20
#define SYSCNR_access 21
#define SYSCNR_pipe 22
#define SYSCNR_select 23
#define SYSCNR_sched_yield 24
#define SYSCNR_mremap 25
#define SYSCNR_msync 26
#define SYSCNR_mincore 27
#define SYSCNR_madvise 28
#define SYSCNR_shmget 29
#define SYSCNR_shmat 30
#define SYSCNR_shmctl 31
#define SYSCNR_dup 32
#define SYSCNR_dup2 33
#define SYSCNR_pause 34
#define SYSCNR_nanosleep 35
#define SYSCNR_getitimer 36
#define SYSCNR_alarm 37
#define SYSCNR_setitimer 38
#define SYSCNR_getpid 39
#define SYSCNR_sendfile 40
#define SYSCNR_socket 41
#define SYSCNR_connect 42
#define SYSCNR_accept 43
#define SYSCNR_sendto 44
#define SYSCNR_recvfrom 45
#define SYSCNR_sendmsg 46
#define SYSCNR_recvmsg 47
#define SYSCNR_shutdown 48
#define SYSCNR_bind 49
#define SYSCNR_listen 50
#define SYSCNR_getsockname 51
#define SYSCNR_getpeername 52
#define SYSCNR_socketpair 53
#define SYSCNR_setsockopt 54
#define SYSCNR_getsockopt 55
#define SYSCNR_clone 56
#define SYSCNR_fork 57
#define SYSCNR_vfork 58
#define SYSCNR_execve 59
#define SYSCNR_exit 60
#define SYSCNR_wait4 61
#define SYSCNR_kill 62
#define SYSCNR_uname 63
#define SYSCNR_semget 64
#define SYSCNR_semop 65
#define SYSCNR_semctl 66
#define SYSCNR_shmdt 67
#define SYSCNR_msgget 68
#define SYSCNR_msgsnd 69
#define SYSCNR_msgrcv 70
#define SYSCNR_msgctl 71
#define SYSCNR_fcntl 72
#define SYSCNR_flock 73
#define SYSCNR_fsync 74
#define SYSCNR_fdatasync 75
#define SYSCNR_truncate 76
#define SYSCNR_ftruncate 77
#define SYSCNR_getdents 78
#define SYSCNR_getcwd 79
#define SYSCNR_chdir 80
#define SYSCNR_fchdir 81
#define SYSCNR_rename 82
#define SYSCNR_mkdir 83
#define SYSCNR_rmdir 84
#define SYSCNR_creat 85
#define SYSCNR_link 86
#define SYSCNR_unlink 87
#define SYSCNR_symlink 88
#define SYSCNR_readlink 89
#define SYSCNR_chmod 90
#define SYSCNR_fchmod 91
#define SYSCNR_chown 92
#define SYSCNR_fchown 93
#define SYSCNR_lchown 94
#define SYSCNR_umask 95
#define SYSCNR_gettimeofday 96
#define SYSCNR_getrlimit 97
#define SYSCNR_getrusage 98
#define SYSCNR_sysinfo 99
#define SYSCNR_times 100
#define SYSCNR_ptrace 101
#define SYSCNR_getuid 102
#define SYSCNR_syslog 103
#define SYSCNR_getgid 104
#define SYSCNR_setuid 105
#define SYSCNR_setgid 106
#define SYSCNR_geteuid 107
#define SYSCNR_getegid 108
#define SYSCNR_setpgid 109
#define SYSCNR_getppid 110
#define SYSCNR_getpgrp 111
#define SYSCNR_setsid 112
#define SYSCNR_setreuid 113
#define SYSCNR_setregid 114
#define SYSCNR_getgroups 115
#define SYSCNR_setgroups 116
#define SYSCNR_setresuid 117
#define SYSCNR_getresuid 118
#define SYSCNR_setresgid 119
#define SYSCNR_getresgid 120
#define SYSCNR_getpgid 121
#define SYSCNR_setfsuid 122
#define SYSCNR_setfsgid 123
#define SYSCNR_getsid 124
#define SYSCNR_capget 125
#define SYSCNR_capset 126
#define SYSCNR_rt_sigpending 127
#define SYSCNR_rt_sigtimedwait 128
#define SYSCNR_rt_sigqueueinfo 129
#define SYSCNR_rt_sigsuspend 130
#define SYSCNR_sigaltstack 131
#define SYSCNR_utime 132
#define SYSCNR_mknod 133
#define SYSCNR_uselib 134
#define SYSCNR_personality 135
#define SYSCNR_ustat 136
#define SYSCNR_statfs 137
#define SYSCNR_fstatfs 138
#define SYSCNR_sysfs 139
#define SYSCNR_getpriority 140
#define SYSCNR_setpriority 141
#define SYSCNR_sched_setparam 142
#define SYSCNR_sched_getparam 143
#define SYSCNR_sched_setscheduler 144
#define SYSCNR_sched_getscheduler 145
#define SYSCNR_sched_get_priority_max 146
#define SYSCNR_sched_get_priority_min 147
#define SYSCNR_sched_rr_get_interval 148
#define SYSCNR_mlock 149
#define SYSCNR_munlock 150
#define SYSCNR_mlockall 151
#define SYSCNR_munlockall 152
#define SYSCNR_vhangup 153
#define SYSCNR_modify_ldt 154
#define SYSCNR_pivot_root 155
#define SYSCNR__sysctl 156
#define SYSCNR_prctl 157
#define SYSCNR_arch_prctl 158
#define SYSCNR_adjtimex 159
#define SYSCNR_setrlimit 160
#define SYSCNR_chroot 161
#define SYSCNR_sync 162
#define SYSCNR_acct 163
#define SYSCNR_settimeofday 164
#define SYSCNR_mount 165
#define SYSCNR_umount2 166
#define SYSCNR_swapon 167
#define SYSCNR_swapoff 168
#define SYSCNR_reboot 169
#define SYSCNR_sethostname 170
#define SYSCNR_setdomainname 171
#define SYSCNR_iopl 172
#define SYSCNR_ioperm 173
#define SYSCNR_create_module 174
#define SYSCNR_init_module 175
#define SYSCNR_delete_module 176
#define SYSCNR_get_kernel_syms 177
#define SYSCNR_query_module 178
#define SYSCNR_quotactl 179
#define SYSCNR_nfsservctl 180
#define SYSCNR_getpmsg 181
#define SYSCNR_putpmsg 182
#define SYSCNR_afs_syscall 183
#define SYSCNR_tuxcall 184
#define SYSCNR_security 185
#define SYSCNR_gettid 186
#define SYSCNR_readahead 187
#define SYSCNR_setxattr 188
#define SYSCNR_lsetxattr 189
#define SYSCNR_fsetxattr 190
#define SYSCNR_getxattr 191
#define SYSCNR_lgetxattr 192
#define SYSCNR_fgetxattr 193
#define SYSCNR_listxattr 194
#define SYSCNR_llistxattr 195
#define SYSCNR_flistxattr 196
#define SYSCNR_removexattr 197
#define SYSCNR_lremovexattr 198
#define SYSCNR_fremovexattr 199
#define SYSCNR_tkill 200
#define SYSCNR_time 201
#define SYSCNR_futex 202
#define SYSCNR_sched_setaffinity 203
#define SYSCNR_sched_getaffinity 204
#define SYSCNR_set_thread_area 205
#define SYSCNR_io_setup 206
#define SYSCNR_io_destroy 207
#define SYSCNR_io_getevents 208
#define SYSCNR_io_submit 209
#define SYSCNR_io_cancel 210
#define SYSCNR_get_thread_area 211
#define SYSCNR_lookup_dcookie 212
#define SYSCNR_epoll_create 213
#define SYSCNR_epoll_ctl_old 214
#define SYSCNR_epoll_wait_old 215
#define SYSCNR_remap_file_pages 216
#define SYSCNR_getdents64 217
#define SYSCNR_set_tid_address 218
#define SYSCNR_restart_syscall 219
#define SYSCNR_semtimedop 220
#define SYSCNR_fadvise64 221
#define SYSCNR_timer_create 222
#define SYSCNR_timer_settime 223
#define SYSCNR_timer_gettime 224
#define SYSCNR_timer_getoverrun 225
#define SYSCNR_timer_delete 226
#define SYSCNR_clock_settime 227
#define SYSCNR_clock_gettime 228
#define SYSCNR_clock_getres 229
#define SYSCNR_clock_nanosleep 230
#define SYSCNR_exit_group 231
#define SYSCNR_epoll_wait 232
#define SYSCNR_epoll_ctl 233
#define SYSCNR_tgkill 234
#define SYSCNR_utimes 235
#define SYSCNR_vserver 236
#define SYSCNR_mbind 237
#define SYSCNR_set_mempolicy 238
#define SYSCNR_get_mempolicy 239
#define SYSCNR_mq_open 240
#define SYSCNR_mq_unlink 241
#define SYSCNR_mq_timedsend 242
#define SYSCNR_mq_timedreceive 243
#define SYSCNR_mq_notify 244
#define SYSCNR_mq_getsetattr 245
#define SYSCNR_kexec_load 246
#define SYSCNR_waitid 247
#define SYSCNR_add_key 248
#define SYSCNR_request_key 249
#define SYSCNR_keyctl 250
#define SYSCNR_ioprio_set 251
#define SYSCNR_ioprio_get 252
#define SYSCNR_inotify_init 253
#define SYSCNR_inotify_add_watch 254
#define SYSCNR_inotify_rm_watch 255
#define SYSCNR_migrate_pages 256
#define SYSCNR_openat 257
#define SYSCNR_mkdirat 258
#define SYSCNR_mknodat 259
#define SYSCNR_fchownat 260
#define SYSCNR_futimesat 261
#define SYSCNR_newfstatat 262
#define SYSCNR_unlinkat 263
#define SYSCNR_renameat 264
#define SYSCNR_linkat 265
#define SYSCNR_symlinkat 266
#define SYSCNR_readlinkat 267
#define SYSCNR_fchmodat 268
#define SYSCNR_faccessat 269
#define SYSCNR_pselect6 270
#define SYSCNR_ppoll 271
#define SYSCNR_unshare 272
#define SYSCNR_set_robust_list 273
#define SYSCNR_get_robust_list 274
#define SYSCNR_splice 275
#define SYSCNR_tee 276
#define SYSCNR_sync_file_range 277
#define SYSCNR_vmsplice 278
#define SYSCNR_move_pages 279
#define SYSCNR_utimensat 280
#define SYSCNR_epoll_pwait 281
#define SYSCNR_signalfd 282
#define SYSCNR_timerfd_create 283
#define SYSCNR_eventfd 284
#define SYSCNR_fallocate 285
#define SYSCNR_timerfd_settime 286
#define SYSCNR_timerfd_gettime 287
#define SYSCNR_accept4 288
#define SYSCNR_signalfd4 289
#define SYSCNR_eventfd2 290
#define SYSCNR_epoll_create1 291
#define SYSCNR_dup3 292
#define SYSCNR_pipe2 293
#define SYSCNR_inotify_init1 294
#define SYSCNR_preadv 295
#define SYSCNR_pwritev 296
#define SYSCNR_rt_tgsigqueueinfo 297
#define SYSCNR_perf_event_open 298
#define SYSCNR_recvmmsg 299
#define SYSCNR_fanotify_init 300
#define SYSCNR_fanotify_mark 301
#define SYSCNR_prlimit64 302
#define SYSCNR_name_to_handle_at 303
#define SYSCNR_open_by_handle_at 304
#define SYSCNR_clock_adjtime 305
#define SYSCNR_syncfs 306
#define SYSCNR_sendmmsg 307
#define SYSCNR_setns 308
#define SYSCNR_getcpu 309
#define SYSCNR_process_vm_readv 310
#define SYSCNR_process_vm_writev 311
#define SYSCNR_kcmp 312
#define SYSCNR_finit_module 313
#define SYSCNR_sched_setattr 314
#define SYSCNR_sched_getattr 315
#define SYSCNR_renameat2 316
#define SYSCNR_seccomp 317
#define SYSCNR_getrandom 318
#define SYSCNR_memfd_create 319
#define SYSCNR_kexec_file_load 320
#define SYSCNR_bpf 321
#define SYSCNR_execveat 322
#define SYSCNR_userfaultfd 323
#define SYSCNR_membarrier 324
#define SYSCNR_mlock2 325
#define SYSCNR_copy_file_range 326
#define SYSCNR_preadv2 327
#define SYSCNR_pwritev2 328
#define SYSCNR_pkey_mprotect 329
#define SYSCNR_pkey_alloc 330
#define SYSCNR_pkey_free 331
#define SYSCNR_statx 332
#define SYSCALL_implement(name, nr) \
name: \
movq CABI_AGQ3, SYSC_AGQ3; \
movq $nr , SYSC_NREG; \
syscall; \
ret;
.data
.global read
.global write
.global open
.global close
.global stat
.global fstat
.global lstat
.global poll
.global lseek
.global mmap
.global mprotect
.global munmap
.global brk
.global rt_sigaction
.global rt_sigprocmask
.global rt_sigreturn
.global ioctl
.global pread64
.global pwrite64
.global readv
.global writev
.global access
.global pipe
.global select
.global sched_yield
.global mremap
.global msync
.global mincore
.global madvise
.global shmget
.global shmat
.global shmctl
.global dup
.global dup2
.global pause
.global nanosleep
.global getitimer
.global alarm
.global setitimer
.global getpid
.global sendfile
.global socket
.global connect
.global accept
.global sendto
.global recvfrom
.global sendmsg
.global recvmsg
.global shutdown
.global bind
.global listen
.global getsockname
.global getpeername
.global socketpair
.global setsockopt
.global getsockopt
.global clone
.global fork
.global vfork
.global execve
.global exit
.global wait4
.global kill
.global uname
.global semget
.global semop
.global semctl
.global shmdt
.global msgget
.global msgsnd
.global msgrcv
.global msgctl
.global fcntl
.global flock
.global fsync
.global fdatasync
.global truncate
.global ftruncate
.global getdents
.global getcwd
.global chdir
.global fchdir
.global rename
.global mkdir
.global rmdir
.global creat
.global link
.global unlink
.global symlink
.global readlink
.global chmod
.global fchmod
.global chown
.global fchown
.global lchown
.global umask
.global gettimeofday
.global getrlimit
.global getrusage
.global sysinfo
.global times
.global ptrace
.global getuid
.global syslog
.global getgid
.global setuid
.global setgid
.global geteuid
.global getegid
.global setpgid
.global getppid
.global getpgrp
.global setsid
.global setreuid
.global setregid
.global getgroups
.global setgroups
.global setresuid
.global getresuid
.global setresgid
.global getresgid
.global getpgid
.global setfsuid
.global setfsgid
.global getsid
.global capget
.global capset
.global rt_sigpending
.global rt_sigtimedwait
.global rt_sigqueueinfo
.global rt_sigsuspend
.global sigaltstack
.global utime
.global mknod
.global uselib
.global personality
.global ustat
.global statfs
.global fstatfs
.global sysfs
.global getpriority
.global setpriority
.global sched_setparam
.global sched_getparam
.global sched_setscheduler
.global sched_getscheduler
.global sched_get_priority_max
.global sched_get_priority_min
.global sched_rr_get_interval
.global mlock
.global munlock
.global mlockall
.global munlockall
.global vhangup
.global modify_ldt
.global pivot_root
.global _sysctl
.global prctl
.global arch_prctl
.global adjtimex
.global setrlimit
.global chroot
.global sync
.global acct
.global settimeofday
.global mount
.global umount2
.global swapon
.global swapoff
.global reboot
.global sethostname
.global setdomainname
.global iopl
.global ioperm
.global create_module
.global init_module
.global delete_module
.global get_kernel_syms
.global query_module
.global quotactl
.global nfsservctl
.global getpmsg
.global putpmsg
.global afs_syscall
.global tuxcall
.global security
.global gettid
.global readahead
.global setxattr
.global lsetxattr
.global fsetxattr
.global getxattr
.global lgetxattr
.global fgetxattr
.global listxattr
.global llistxattr
.global flistxattr
.global removexattr
.global lremovexattr
.global fremovexattr
.global tkill
.global time
.global futex
.global sched_setaffinity
.global sched_getaffinity
.global set_thread_area
.global io_setup
.global io_destroy
.global io_getevents
.global io_submit
.global io_cancel
.global get_thread_area
.global lookup_dcookie
.global epoll_create
.global epoll_ctl_old
.global epoll_wait_old
.global remap_file_pages
.global getdents64
.global set_tid_address
.global restart_syscall
.global semtimedop
.global fadvise64
.global timer_create
.global timer_settime
.global timer_gettime
.global timer_getoverrun
.global timer_delete
.global clock_settime
.global clock_gettime
.global clock_getres
.global clock_nanosleep
.global exit_group
.global epoll_wait
.global epoll_ctl
.global tgkill
.global utimes
.global vserver
.global mbind
.global set_mempolicy
.global get_mempolicy
.global mq_open
.global mq_unlink
.global mq_timedsend
.global mq_timedreceive
.global mq_notify
.global mq_getsetattr
.global kexec_load
.global waitid
.global add_key
.global request_key
.global keyctl
.global ioprio_set
.global ioprio_get
.global inotify_init
.global inotify_add_watch
.global inotify_rm_watch
.global migrate_pages
.global openat
.global mkdirat
.global mknodat
.global fchownat
.global futimesat
.global newfstatat
.global unlinkat
.global renameat
.global linkat
.global symlinkat
.global readlinkat
.global fchmodat
.global faccessat
.global pselect6
.global ppoll
.global unshare
.global set_robust_list
.global get_robust_list
.global splice
.global tee
.global sync_file_range
.global vmsplice
.global move_pages
.global utimensat
.global epoll_pwait
.global signalfd
.global timerfd_create
.global eventfd
.global fallocate
.global timerfd_settime
.global timerfd_gettime
.global accept4
.global signalfd4
.global eventfd2
.global epoll_create1
.global dup3
.global pipe2
.global inotify_init1
.global preadv
.global pwritev
.global rt_tgsigqueueinfo
.global perf_event_open
.global recvmmsg
.global fanotify_init
.global fanotify_mark
.global prlimit64
.global name_to_handle_at
.global open_by_handle_at
.global clock_adjtime
.global syncfs
.global sendmmsg
.global setns
.global getcpu
.global process_vm_readv
.global process_vm_writev
.global kcmp
.global finit_module
.global sched_setattr
.global sched_getattr
.global renameat2
.global seccomp
.global getrandom
.global memfd_create
.global kexec_file_load
.global bpf
.global execveat
.global userfaultfd
.global membarrier
.global mlock2
.global copy_file_range
.global preadv2
.global pwritev2
.global pkey_mprotect
.global pkey_alloc
.global pkey_free
.global statx
.text
SYSCALL_implement(read, SYSCNR_read)
SYSCALL_implement(write, SYSCNR_write)
SYSCALL_implement(open, SYSCNR_open)
SYSCALL_implement(close, SYSCNR_close)
SYSCALL_implement(stat, SYSCNR_stat)
SYSCALL_implement(fstat, SYSCNR_fstat)
SYSCALL_implement(lstat, SYSCNR_lstat)
SYSCALL_implement(poll, SYSCNR_poll)
SYSCALL_implement(lseek, SYSCNR_lseek)
SYSCALL_implement(mmap, SYSCNR_mmap)
SYSCALL_implement(mprotect, SYSCNR_mprotect)
SYSCALL_implement(munmap, SYSCNR_munmap)
SYSCALL_implement(brk, SYSCNR_brk)
SYSCALL_implement(rt_sigaction, SYSCNR_rt_sigaction)
SYSCALL_implement(rt_sigprocmask, SYSCNR_rt_sigprocmask)
SYSCALL_implement(rt_sigreturn, SYSCNR_rt_sigreturn)
SYSCALL_implement(ioctl, SYSCNR_ioctl)
SYSCALL_implement(pread64, SYSCNR_pread64)
SYSCALL_implement(pwrite64, SYSCNR_pwrite64)
SYSCALL_implement(readv, SYSCNR_readv)
SYSCALL_implement(writev, SYSCNR_writev)
SYSCALL_implement(access, SYSCNR_access)
SYSCALL_implement(pipe, SYSCNR_pipe)
SYSCALL_implement(select, SYSCNR_select)
SYSCALL_implement(sched_yield, SYSCNR_sched_yield)
SYSCALL_implement(mremap, SYSCNR_mremap)
SYSCALL_implement(msync, SYSCNR_msync)
SYSCALL_implement(mincore, SYSCNR_mincore)
SYSCALL_implement(madvise, SYSCNR_madvise)
SYSCALL_implement(shmget, SYSCNR_shmget)
SYSCALL_implement(shmat, SYSCNR_shmat)
SYSCALL_implement(shmctl, SYSCNR_shmctl)
SYSCALL_implement(dup, SYSCNR_dup)
SYSCALL_implement(dup2, SYSCNR_dup2)
SYSCALL_implement(pause, SYSCNR_pause)
SYSCALL_implement(nanosleep, SYSCNR_nanosleep)
SYSCALL_implement(getitimer, SYSCNR_getitimer)
SYSCALL_implement(alarm, SYSCNR_alarm)
SYSCALL_implement(setitimer, SYSCNR_setitimer)
SYSCALL_implement(getpid, SYSCNR_getpid)
SYSCALL_implement(sendfile, SYSCNR_sendfile)
SYSCALL_implement(socket, SYSCNR_socket)
SYSCALL_implement(connect, SYSCNR_connect)
SYSCALL_implement(accept, SYSCNR_accept)
SYSCALL_implement(sendto, SYSCNR_sendto)
SYSCALL_implement(recvfrom, SYSCNR_recvfrom)
SYSCALL_implement(sendmsg, SYSCNR_sendmsg)
SYSCALL_implement(recvmsg, SYSCNR_recvmsg)
SYSCALL_implement(shutdown, SYSCNR_shutdown)
SYSCALL_implement(bind, SYSCNR_bind)
SYSCALL_implement(listen, SYSCNR_listen)
SYSCALL_implement(getsockname, SYSCNR_getsockname)
SYSCALL_implement(getpeername, SYSCNR_getpeername)
SYSCALL_implement(socketpair, SYSCNR_socketpair)
SYSCALL_implement(setsockopt, SYSCNR_setsockopt)
SYSCALL_implement(getsockopt, SYSCNR_getsockopt)
SYSCALL_implement(clone, SYSCNR_clone)
SYSCALL_implement(fork, SYSCNR_fork)
SYSCALL_implement(vfork, SYSCNR_vfork)
SYSCALL_implement(execve, SYSCNR_execve)
SYSCALL_implement(exit, SYSCNR_exit)
SYSCALL_implement(wait4, SYSCNR_wait4)
SYSCALL_implement(kill, SYSCNR_kill)
SYSCALL_implement(uname, SYSCNR_uname)
SYSCALL_implement(semget, SYSCNR_semget)
SYSCALL_implement(semop, SYSCNR_semop)
SYSCALL_implement(semctl, SYSCNR_semctl)
SYSCALL_implement(shmdt, SYSCNR_shmdt)
SYSCALL_implement(msgget, SYSCNR_msgget)
SYSCALL_implement(msgsnd, SYSCNR_msgsnd)
SYSCALL_implement(msgrcv, SYSCNR_msgrcv)
SYSCALL_implement(msgctl, SYSCNR_msgctl)
SYSCALL_implement(fcntl, SYSCNR_fcntl)
SYSCALL_implement(flock, SYSCNR_flock)
SYSCALL_implement(fsync, SYSCNR_fsync)
SYSCALL_implement(fdatasync, SYSCNR_fdatasync)
SYSCALL_implement(truncate, SYSCNR_truncate)
SYSCALL_implement(ftruncate, SYSCNR_ftruncate)
SYSCALL_implement(getdents, SYSCNR_getdents)
SYSCALL_implement(getcwd, SYSCNR_getcwd)
SYSCALL_implement(chdir, SYSCNR_chdir)
SYSCALL_implement(fchdir, SYSCNR_fchdir)
SYSCALL_implement(rename, SYSCNR_rename)
SYSCALL_implement(mkdir, SYSCNR_mkdir)
SYSCALL_implement(rmdir, SYSCNR_rmdir)
SYSCALL_implement(creat, SYSCNR_creat)
SYSCALL_implement(link, SYSCNR_link)
SYSCALL_implement(unlink, SYSCNR_unlink)
SYSCALL_implement(symlink, SYSCNR_symlink)
SYSCALL_implement(readlink, SYSCNR_readlink)
SYSCALL_implement(chmod, SYSCNR_chmod)
SYSCALL_implement(fchmod, SYSCNR_fchmod)
SYSCALL_implement(chown, SYSCNR_chown)
SYSCALL_implement(fchown, SYSCNR_fchown)
SYSCALL_implement(lchown, SYSCNR_lchown)
SYSCALL_implement(umask, SYSCNR_umask)
SYSCALL_implement(gettimeofday, SYSCNR_gettimeofday)
SYSCALL_implement(getrlimit, SYSCNR_getrlimit)
SYSCALL_implement(getrusage, SYSCNR_getrusage)
SYSCALL_implement(sysinfo, SYSCNR_sysinfo)
SYSCALL_implement(times, SYSCNR_times)
SYSCALL_implement(ptrace, SYSCNR_ptrace)
SYSCALL_implement(getuid, SYSCNR_getuid)
SYSCALL_implement(syslog, SYSCNR_syslog)
SYSCALL_implement(getgid, SYSCNR_getgid)
SYSCALL_implement(setuid, SYSCNR_setuid)
SYSCALL_implement(setgid, SYSCNR_setgid)
SYSCALL_implement(geteuid, SYSCNR_geteuid)
SYSCALL_implement(getegid, SYSCNR_getegid)
SYSCALL_implement(setpgid, SYSCNR_setpgid)
SYSCALL_implement(getppid, SYSCNR_getppid)
SYSCALL_implement(getpgrp, SYSCNR_getpgrp)
SYSCALL_implement(setsid, SYSCNR_setsid)
SYSCALL_implement(setreuid, SYSCNR_setreuid)
SYSCALL_implement(setregid, SYSCNR_setregid)
SYSCALL_implement(getgroups, SYSCNR_getgroups)
SYSCALL_implement(setgroups, SYSCNR_setgroups)
SYSCALL_implement(setresuid, SYSCNR_setresuid)
SYSCALL_implement(getresuid, SYSCNR_getresuid)
SYSCALL_implement(setresgid, SYSCNR_setresgid)
SYSCALL_implement(getresgid, SYSCNR_getresgid)
SYSCALL_implement(getpgid, SYSCNR_getpgid)
SYSCALL_implement(setfsuid, SYSCNR_setfsuid)
SYSCALL_implement(setfsgid, SYSCNR_setfsgid)
SYSCALL_implement(getsid, SYSCNR_getsid)
SYSCALL_implement(capget, SYSCNR_capget)
SYSCALL_implement(capset, SYSCNR_capset)
SYSCALL_implement(rt_sigpending, SYSCNR_rt_sigpending)
SYSCALL_implement(rt_sigtimedwait, SYSCNR_rt_sigtimedwait)
SYSCALL_implement(rt_sigqueueinfo, SYSCNR_rt_sigqueueinfo)
SYSCALL_implement(rt_sigsuspend, SYSCNR_rt_sigsuspend)
SYSCALL_implement(sigaltstack, SYSCNR_sigaltstack)
SYSCALL_implement(utime, SYSCNR_utime)
SYSCALL_implement(mknod, SYSCNR_mknod)
SYSCALL_implement(uselib, SYSCNR_uselib)
SYSCALL_implement(personality, SYSCNR_personality)
SYSCALL_implement(ustat, SYSCNR_ustat)
SYSCALL_implement(statfs, SYSCNR_statfs)
SYSCALL_implement(fstatfs, SYSCNR_fstatfs)
SYSCALL_implement(sysfs, SYSCNR_sysfs)
SYSCALL_implement(getpriority, SYSCNR_getpriority)
SYSCALL_implement(setpriority, SYSCNR_setpriority)
SYSCALL_implement(sched_setparam, SYSCNR_sched_setparam)
SYSCALL_implement(sched_getparam, SYSCNR_sched_getparam)
SYSCALL_implement(sched_setscheduler, SYSCNR_sched_setscheduler)
SYSCALL_implement(sched_getscheduler, SYSCNR_sched_getscheduler)
SYSCALL_implement(sched_get_priority_max, SYSCNR_sched_get_priority_max)
SYSCALL_implement(sched_get_priority_min, SYSCNR_sched_get_priority_min)
SYSCALL_implement(sched_rr_get_interval, SYSCNR_sched_rr_get_interval)
SYSCALL_implement(mlock, SYSCNR_mlock)
SYSCALL_implement(munlock, SYSCNR_munlock)
SYSCALL_implement(mlockall, SYSCNR_mlockall)
SYSCALL_implement(munlockall, SYSCNR_munlockall)
SYSCALL_implement(vhangup, SYSCNR_vhangup)
SYSCALL_implement(modify_ldt, SYSCNR_modify_ldt)
SYSCALL_implement(pivot_root, SYSCNR_pivot_root)
SYSCALL_implement(_sysctl, SYSCNR__sysctl)
SYSCALL_implement(prctl, SYSCNR_prctl)
SYSCALL_implement(arch_prctl, SYSCNR_arch_prctl)
SYSCALL_implement(adjtimex, SYSCNR_adjtimex)
SYSCALL_implement(setrlimit, SYSCNR_setrlimit)
SYSCALL_implement(chroot, SYSCNR_chroot)
SYSCALL_implement(sync, SYSCNR_sync)
SYSCALL_implement(acct, SYSCNR_acct)
SYSCALL_implement(settimeofday, SYSCNR_settimeofday)
SYSCALL_implement(mount, SYSCNR_mount)
SYSCALL_implement(umount2, SYSCNR_umount2)
SYSCALL_implement(swapon, SYSCNR_swapon)
SYSCALL_implement(swapoff, SYSCNR_swapoff)
SYSCALL_implement(reboot, SYSCNR_reboot)
SYSCALL_implement(sethostname, SYSCNR_sethostname)
SYSCALL_implement(setdomainname, SYSCNR_setdomainname)
SYSCALL_implement(iopl, SYSCNR_iopl)
SYSCALL_implement(ioperm, SYSCNR_ioperm)
SYSCALL_implement(create_module, SYSCNR_create_module)
SYSCALL_implement(init_module, SYSCNR_init_module)
SYSCALL_implement(delete_module, SYSCNR_delete_module)
SYSCALL_implement(get_kernel_syms, SYSCNR_get_kernel_syms)
SYSCALL_implement(query_module, SYSCNR_query_module)
SYSCALL_implement(quotactl, SYSCNR_quotactl)
SYSCALL_implement(nfsservctl, SYSCNR_nfsservctl)
SYSCALL_implement(getpmsg, SYSCNR_getpmsg)
SYSCALL_implement(putpmsg, SYSCNR_putpmsg)
SYSCALL_implement(afs_syscall, SYSCNR_afs_syscall)
SYSCALL_implement(tuxcall, SYSCNR_tuxcall)
SYSCALL_implement(security, SYSCNR_security)
SYSCALL_implement(gettid, SYSCNR_gettid)
SYSCALL_implement(readahead, SYSCNR_readahead)
SYSCALL_implement(setxattr, SYSCNR_setxattr)
SYSCALL_implement(lsetxattr, SYSCNR_lsetxattr)
SYSCALL_implement(fsetxattr, SYSCNR_fsetxattr)
SYSCALL_implement(getxattr, SYSCNR_getxattr)
SYSCALL_implement(lgetxattr, SYSCNR_lgetxattr)
SYSCALL_implement(fgetxattr, SYSCNR_fgetxattr)
SYSCALL_implement(listxattr, SYSCNR_listxattr)
SYSCALL_implement(llistxattr, SYSCNR_llistxattr)
SYSCALL_implement(flistxattr, SYSCNR_flistxattr)
SYSCALL_implement(removexattr, SYSCNR_removexattr)
SYSCALL_implement(lremovexattr, SYSCNR_lremovexattr)
SYSCALL_implement(fremovexattr, SYSCNR_fremovexattr)
SYSCALL_implement(tkill, SYSCNR_tkill)
SYSCALL_implement(time, SYSCNR_time)
SYSCALL_implement(futex, SYSCNR_futex)
SYSCALL_implement(sched_setaffinity, SYSCNR_sched_setaffinity)
SYSCALL_implement(sched_getaffinity, SYSCNR_sched_getaffinity)
SYSCALL_implement(set_thread_area, SYSCNR_set_thread_area)
SYSCALL_implement(io_setup, SYSCNR_io_setup)
SYSCALL_implement(io_destroy, SYSCNR_io_destroy)
SYSCALL_implement(io_getevents, SYSCNR_io_getevents)
SYSCALL_implement(io_submit, SYSCNR_io_submit)
SYSCALL_implement(io_cancel, SYSCNR_io_cancel)
SYSCALL_implement(get_thread_area, SYSCNR_get_thread_area)
SYSCALL_implement(lookup_dcookie, SYSCNR_lookup_dcookie)
SYSCALL_implement(epoll_create, SYSCNR_epoll_create)
SYSCALL_implement(epoll_ctl_old, SYSCNR_epoll_ctl_old)
SYSCALL_implement(epoll_wait_old, SYSCNR_epoll_wait_old)
SYSCALL_implement(remap_file_pages, SYSCNR_remap_file_pages)
SYSCALL_implement(getdents64, SYSCNR_getdents64)
SYSCALL_implement(set_tid_address, SYSCNR_set_tid_address)
SYSCALL_implement(restart_syscall, SYSCNR_restart_syscall)
SYSCALL_implement(semtimedop, SYSCNR_semtimedop)
SYSCALL_implement(fadvise64, SYSCNR_fadvise64)
SYSCALL_implement(timer_create, SYSCNR_timer_create)
SYSCALL_implement(timer_settime, SYSCNR_timer_settime)
SYSCALL_implement(timer_gettime, SYSCNR_timer_gettime)
SYSCALL_implement(timer_getoverrun, SYSCNR_timer_getoverrun)
SYSCALL_implement(timer_delete, SYSCNR_timer_delete)
SYSCALL_implement(clock_settime, SYSCNR_clock_settime)
SYSCALL_implement(clock_gettime, SYSCNR_clock_gettime)
SYSCALL_implement(clock_getres, SYSCNR_clock_getres)
SYSCALL_implement(clock_nanosleep, SYSCNR_clock_nanosleep)
SYSCALL_implement(exit_group, SYSCNR_exit_group)
SYSCALL_implement(epoll_wait, SYSCNR_epoll_wait)
SYSCALL_implement(epoll_ctl, SYSCNR_epoll_ctl)
SYSCALL_implement(tgkill, SYSCNR_tgkill)
SYSCALL_implement(utimes, SYSCNR_utimes)
SYSCALL_implement(vserver, SYSCNR_vserver)
SYSCALL_implement(mbind, SYSCNR_mbind)
SYSCALL_implement(set_mempolicy, SYSCNR_set_mempolicy)
SYSCALL_implement(get_mempolicy, SYSCNR_get_mempolicy)
SYSCALL_implement(mq_open, SYSCNR_mq_open)
SYSCALL_implement(mq_unlink, SYSCNR_mq_unlink)
SYSCALL_implement(mq_timedsend, SYSCNR_mq_timedsend)
SYSCALL_implement(mq_timedreceive, SYSCNR_mq_timedreceive)
SYSCALL_implement(mq_notify, SYSCNR_mq_notify)
SYSCALL_implement(mq_getsetattr, SYSCNR_mq_getsetattr)
SYSCALL_implement(kexec_load, SYSCNR_kexec_load)
SYSCALL_implement(waitid, SYSCNR_waitid)
SYSCALL_implement(add_key, SYSCNR_add_key)
SYSCALL_implement(request_key, SYSCNR_request_key)
SYSCALL_implement(keyctl, SYSCNR_keyctl)
SYSCALL_implement(ioprio_set, SYSCNR_ioprio_set)
SYSCALL_implement(ioprio_get, SYSCNR_ioprio_get)
SYSCALL_implement(inotify_init, SYSCNR_inotify_init)
SYSCALL_implement(inotify_add_watch, SYSCNR_inotify_add_watch)
SYSCALL_implement(inotify_rm_watch, SYSCNR_inotify_rm_watch)
SYSCALL_implement(migrate_pages, SYSCNR_migrate_pages)
SYSCALL_implement(openat, SYSCNR_openat)
SYSCALL_implement(mkdirat, SYSCNR_mkdirat)
SYSCALL_implement(mknodat, SYSCNR_mknodat)
SYSCALL_implement(fchownat, SYSCNR_fchownat)
SYSCALL_implement(futimesat, SYSCNR_futimesat)
SYSCALL_implement(newfstatat, SYSCNR_newfstatat)
SYSCALL_implement(unlinkat, SYSCNR_unlinkat)
SYSCALL_implement(renameat, SYSCNR_renameat)
SYSCALL_implement(linkat, SYSCNR_linkat)
SYSCALL_implement(symlinkat, SYSCNR_symlinkat)
SYSCALL_implement(readlinkat, SYSCNR_readlinkat)
SYSCALL_implement(fchmodat, SYSCNR_fchmodat)
SYSCALL_implement(faccessat, SYSCNR_faccessat)
SYSCALL_implement(pselect6, SYSCNR_pselect6)
SYSCALL_implement(ppoll, SYSCNR_ppoll)
SYSCALL_implement(unshare, SYSCNR_unshare)
SYSCALL_implement(set_robust_list, SYSCNR_set_robust_list)
SYSCALL_implement(get_robust_list, SYSCNR_get_robust_list)
SYSCALL_implement(splice, SYSCNR_splice)
SYSCALL_implement(tee, SYSCNR_tee)
SYSCALL_implement(sync_file_range, SYSCNR_sync_file_range)
SYSCALL_implement(vmsplice, SYSCNR_vmsplice)
SYSCALL_implement(move_pages, SYSCNR_move_pages)
SYSCALL_implement(utimensat, SYSCNR_utimensat)
SYSCALL_implement(epoll_pwait, SYSCNR_epoll_pwait)
SYSCALL_implement(signalfd, SYSCNR_signalfd)
SYSCALL_implement(timerfd_create, SYSCNR_timerfd_create)
SYSCALL_implement(eventfd, SYSCNR_eventfd)
SYSCALL_implement(fallocate, SYSCNR_fallocate)
SYSCALL_implement(timerfd_settime, SYSCNR_timerfd_settime)
SYSCALL_implement(timerfd_gettime, SYSCNR_timerfd_gettime)
SYSCALL_implement(accept4, SYSCNR_accept4)
SYSCALL_implement(signalfd4, SYSCNR_signalfd4)
SYSCALL_implement(eventfd2, SYSCNR_eventfd2)
SYSCALL_implement(epoll_create1, SYSCNR_epoll_create1)
SYSCALL_implement(dup3, SYSCNR_dup3)
SYSCALL_implement(pipe2, SYSCNR_pipe2)
SYSCALL_implement(inotify_init1, SYSCNR_inotify_init1)
SYSCALL_implement(preadv, SYSCNR_preadv)
SYSCALL_implement(pwritev, SYSCNR_pwritev)
SYSCALL_implement(rt_tgsigqueueinfo, SYSCNR_rt_tgsigqueueinfo)
SYSCALL_implement(perf_event_open, SYSCNR_perf_event_open)
SYSCALL_implement(recvmmsg, SYSCNR_recvmmsg)
SYSCALL_implement(fanotify_init, SYSCNR_fanotify_init)
SYSCALL_implement(fanotify_mark, SYSCNR_fanotify_mark)
SYSCALL_implement(prlimit64, SYSCNR_prlimit64)
SYSCALL_implement(name_to_handle_at, SYSCNR_name_to_handle_at)
SYSCALL_implement(open_by_handle_at, SYSCNR_open_by_handle_at)
SYSCALL_implement(clock_adjtime, SYSCNR_clock_adjtime)
SYSCALL_implement(syncfs, SYSCNR_syncfs)
SYSCALL_implement(sendmmsg, SYSCNR_sendmmsg)
SYSCALL_implement(setns, SYSCNR_setns)
SYSCALL_implement(getcpu, SYSCNR_getcpu)
SYSCALL_implement(process_vm_readv, SYSCNR_process_vm_readv)
SYSCALL_implement(process_vm_writev, SYSCNR_process_vm_writev)
SYSCALL_implement(kcmp, SYSCNR_kcmp)
SYSCALL_implement(finit_module, SYSCNR_finit_module)
SYSCALL_implement(sched_setattr, SYSCNR_sched_setattr)
SYSCALL_implement(sched_getattr, SYSCNR_sched_getattr)
SYSCALL_implement(renameat2, SYSCNR_renameat2)
SYSCALL_implement(seccomp, SYSCNR_seccomp)
SYSCALL_implement(getrandom, SYSCNR_getrandom)
SYSCALL_implement(memfd_create, SYSCNR_memfd_create)
SYSCALL_implement(kexec_file_load, SYSCNR_kexec_file_load)
SYSCALL_implement(bpf, SYSCNR_bpf)
SYSCALL_implement(execveat, SYSCNR_execveat)
SYSCALL_implement(userfaultfd, SYSCNR_userfaultfd)
SYSCALL_implement(membarrier, SYSCNR_membarrier)
SYSCALL_implement(mlock2, SYSCNR_mlock2)
SYSCALL_implement(copy_file_range, SYSCNR_copy_file_range)
SYSCALL_implement(preadv2, SYSCNR_preadv2)
SYSCALL_implement(pwritev2, SYSCNR_pwritev2)
SYSCALL_implement(pkey_mprotect, SYSCNR_pkey_mprotect)
SYSCALL_implement(pkey_alloc, SYSCNR_pkey_alloc)
SYSCALL_implement(pkey_free, SYSCNR_pkey_free)
SYSCALL_implement(statx, SYSCNR_statx)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment