libc: generate syscall stubs in one big file...

...all the better to switch to a genrule rather than checking in
generated source.

This also removes all the code in the script to deal with git,
rather than fix it. We won't need that where we're going.

Test: boots
Change-Id: I468ce019d4232a7ef27e5cb5cfd89f4c2fe4ecbd
diff --git a/libc/arch-arm64/syscalls.S b/libc/arch-arm64/syscalls.S
new file mode 100644
index 0000000..bfcfe5d
--- /dev/null
+++ b/libc/arch-arm64/syscalls.S
@@ -0,0 +1,2315 @@
+/* Generated by gensyscalls.py. Do not edit. */
+#include <private/bionic_asm.h>
+
+ENTRY(execve)
+    mov     x8, __NR_execve
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(execve)
+
+ENTRY(getuid)
+    mov     x8, __NR_getuid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getuid)
+
+ENTRY(getgid)
+    mov     x8, __NR_getgid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getgid)
+
+ENTRY(geteuid)
+    mov     x8, __NR_geteuid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(geteuid)
+
+ENTRY(getegid)
+    mov     x8, __NR_getegid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getegid)
+
+ENTRY(getresuid)
+    mov     x8, __NR_getresuid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getresuid)
+
+ENTRY(getresgid)
+    mov     x8, __NR_getresgid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getresgid)
+
+ENTRY(readahead)
+    mov     x8, __NR_readahead
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(readahead)
+
+ENTRY(getgroups)
+    mov     x8, __NR_getgroups
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getgroups)
+
+ENTRY(getpgid)
+    mov     x8, __NR_getpgid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getpgid)
+
+ENTRY(getppid)
+    mov     x8, __NR_getppid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getppid)
+
+ENTRY(getsid)
+    mov     x8, __NR_getsid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getsid)
+
+ENTRY(setsid)
+    mov     x8, __NR_setsid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setsid)
+
+ENTRY(setgid)
+    mov     x8, __NR_setgid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setgid)
+
+ENTRY(setuid)
+    mov     x8, __NR_setuid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setuid)
+
+ENTRY(setreuid)
+    mov     x8, __NR_setreuid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setreuid)
+
+ENTRY(setresuid)
+    mov     x8, __NR_setresuid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setresuid)
+
+ENTRY(setresgid)
+    mov     x8, __NR_setresgid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setresgid)
+
+ENTRY(__brk)
+    mov     x8, __NR_brk
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__brk)
+.hidden __brk
+
+ENTRY(kill)
+    mov     x8, __NR_kill
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(kill)
+
+ENTRY(tgkill)
+    mov     x8, __NR_tgkill
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(tgkill)
+
+ENTRY(__ptrace)
+    mov     x8, __NR_ptrace
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__ptrace)
+.hidden __ptrace
+
+ENTRY(getrusage)
+    mov     x8, __NR_getrusage
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getrusage)
+
+ENTRY(__getpriority)
+    mov     x8, __NR_getpriority
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__getpriority)
+.hidden __getpriority
+
+ENTRY(setpriority)
+    mov     x8, __NR_setpriority
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setpriority)
+
+ENTRY(getrlimit)
+    mov     x8, __NR_getrlimit
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getrlimit)
+
+ALIAS_SYMBOL(getrlimit64, getrlimit)
+
+ENTRY(setrlimit)
+    mov     x8, __NR_setrlimit
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setrlimit)
+
+ALIAS_SYMBOL(setrlimit64, setrlimit)
+
+ENTRY(prlimit64)
+    mov     x8, __NR_prlimit64
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(prlimit64)
+
+ALIAS_SYMBOL(prlimit, prlimit64)
+
+ENTRY(setgroups)
+    mov     x8, __NR_setgroups
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setgroups)
+
+ENTRY(setpgid)
+    mov     x8, __NR_setpgid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setpgid)
+
+ENTRY(setregid)
+    mov     x8, __NR_setregid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setregid)
+
+ENTRY(chroot)
+    mov     x8, __NR_chroot
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(chroot)
+
+ENTRY(prctl)
+    mov     x8, __NR_prctl
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(prctl)
+
+ENTRY(capget)
+    mov     x8, __NR_capget
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(capget)
+
+ENTRY(capset)
+    mov     x8, __NR_capset
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(capset)
+
+ENTRY(sigaltstack)
+    mov     x8, __NR_sigaltstack
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sigaltstack)
+
+ENTRY(acct)
+    mov     x8, __NR_acct
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(acct)
+
+ENTRY(read)
+    mov     x8, __NR_read
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(read)
+
+ENTRY(write)
+    mov     x8, __NR_write
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(write)
+
+ENTRY(pread64)
+    mov     x8, __NR_pread64
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(pread64)
+
+ALIAS_SYMBOL(pread, pread64)
+
+ENTRY(pwrite64)
+    mov     x8, __NR_pwrite64
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(pwrite64)
+
+ALIAS_SYMBOL(pwrite, pwrite64)
+
+ENTRY(preadv)
+    mov     x8, __NR_preadv
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(preadv)
+
+ALIAS_SYMBOL(preadv64, preadv)
+
+ENTRY(pwritev)
+    mov     x8, __NR_pwritev
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(pwritev)
+
+ALIAS_SYMBOL(pwritev64, pwritev)
+
+ENTRY(___close)
+    mov     x8, __NR_close
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___close)
+.hidden ___close
+
+ENTRY(__getpid)
+    mov     x8, __NR_getpid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__getpid)
+.hidden __getpid
+
+ENTRY(munmap)
+    mov     x8, __NR_munmap
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(munmap)
+
+ENTRY(___mremap)
+    mov     x8, __NR_mremap
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___mremap)
+.hidden ___mremap
+
+ENTRY(msync)
+    mov     x8, __NR_msync
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(msync)
+
+ENTRY(mprotect)
+    mov     x8, __NR_mprotect
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(mprotect)
+
+ENTRY(madvise)
+    mov     x8, __NR_madvise
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(madvise)
+
+ENTRY(mlock)
+    mov     x8, __NR_mlock
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(mlock)
+
+ENTRY(munlock)
+    mov     x8, __NR_munlock
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(munlock)
+
+ENTRY(mlockall)
+    mov     x8, __NR_mlockall
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(mlockall)
+
+ENTRY(munlockall)
+    mov     x8, __NR_munlockall
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(munlockall)
+
+ENTRY(mincore)
+    mov     x8, __NR_mincore
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(mincore)
+
+ENTRY(__ioctl)
+    mov     x8, __NR_ioctl
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__ioctl)
+.hidden __ioctl
+
+ENTRY(readv)
+    mov     x8, __NR_readv
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(readv)
+
+ENTRY(writev)
+    mov     x8, __NR_writev
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(writev)
+
+ENTRY(fcntl)
+    mov     x8, __NR_fcntl
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fcntl)
+
+ENTRY(flock)
+    mov     x8, __NR_flock
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(flock)
+
+ENTRY(___fchmod)
+    mov     x8, __NR_fchmod
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___fchmod)
+.hidden ___fchmod
+
+ENTRY(dup)
+    mov     x8, __NR_dup
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(dup)
+
+ENTRY(pipe2)
+    mov     x8, __NR_pipe2
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(pipe2)
+
+ENTRY(dup3)
+    mov     x8, __NR_dup3
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(dup3)
+
+ENTRY(fsync)
+    mov     x8, __NR_fsync
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fsync)
+
+ENTRY(fdatasync)
+    mov     x8, __NR_fdatasync
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fdatasync)
+
+ENTRY(fchown)
+    mov     x8, __NR_fchown
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fchown)
+
+ENTRY(sync)
+    mov     x8, __NR_sync
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sync)
+
+ENTRY(syncfs)
+    mov     x8, __NR_syncfs
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(syncfs)
+
+ENTRY(___fsetxattr)
+    mov     x8, __NR_fsetxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___fsetxattr)
+.hidden ___fsetxattr
+
+ENTRY(___fgetxattr)
+    mov     x8, __NR_fgetxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___fgetxattr)
+.hidden ___fgetxattr
+
+ENTRY(___flistxattr)
+    mov     x8, __NR_flistxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___flistxattr)
+.hidden ___flistxattr
+
+ENTRY(fremovexattr)
+    mov     x8, __NR_fremovexattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fremovexattr)
+
+ENTRY(__getdents64)
+    mov     x8, __NR_getdents64
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__getdents64)
+.hidden __getdents64
+
+ENTRY(__openat)
+    mov     x8, __NR_openat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__openat)
+.hidden __openat
+
+ENTRY(___faccessat)
+    mov     x8, __NR_faccessat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___faccessat)
+.hidden ___faccessat
+
+ENTRY(___fchmodat)
+    mov     x8, __NR_fchmodat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___fchmodat)
+.hidden ___fchmodat
+
+ENTRY(fchownat)
+    mov     x8, __NR_fchownat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fchownat)
+
+ENTRY(fstatat64)
+    mov     x8, __NR_newfstatat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fstatat64)
+
+ALIAS_SYMBOL(fstatat, fstatat64)
+
+ENTRY(linkat)
+    mov     x8, __NR_linkat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(linkat)
+
+ENTRY(mkdirat)
+    mov     x8, __NR_mkdirat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(mkdirat)
+
+ENTRY(mknodat)
+    mov     x8, __NR_mknodat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(mknodat)
+
+ENTRY(readlinkat)
+    mov     x8, __NR_readlinkat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(readlinkat)
+
+ENTRY(renameat)
+    mov     x8, __NR_renameat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(renameat)
+
+ENTRY(symlinkat)
+    mov     x8, __NR_symlinkat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(symlinkat)
+
+ENTRY(unlinkat)
+    mov     x8, __NR_unlinkat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(unlinkat)
+
+ENTRY(utimensat)
+    mov     x8, __NR_utimensat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(utimensat)
+
+ENTRY(lseek)
+    mov     x8, __NR_lseek
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(lseek)
+
+ALIAS_SYMBOL(lseek64, lseek)
+
+ENTRY(ftruncate)
+    mov     x8, __NR_ftruncate
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(ftruncate)
+
+ALIAS_SYMBOL(ftruncate64, ftruncate)
+
+ENTRY(sendfile)
+    mov     x8, __NR_sendfile
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sendfile)
+
+ALIAS_SYMBOL(sendfile64, sendfile)
+
+ENTRY(truncate)
+    mov     x8, __NR_truncate
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(truncate)
+
+ALIAS_SYMBOL(truncate64, truncate)
+
+ENTRY(mmap)
+    mov     x8, __NR_mmap
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(mmap)
+
+ALIAS_SYMBOL(mmap64, mmap)
+
+ENTRY(fallocate)
+    mov     x8, __NR_fallocate
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fallocate)
+
+ALIAS_SYMBOL(fallocate64, fallocate)
+
+ENTRY(__fadvise64)
+    mov     x8, __NR_fadvise64
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__fadvise64)
+.hidden __fadvise64
+
+ENTRY(__fstatfs)
+    mov     x8, __NR_fstatfs
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__fstatfs)
+.hidden __fstatfs
+
+ENTRY(__statfs)
+    mov     x8, __NR_statfs
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__statfs)
+.hidden __statfs
+
+ENTRY(fstat64)
+    mov     x8, __NR_fstat
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fstat64)
+
+ALIAS_SYMBOL(fstat, fstat64)
+
+ENTRY(chdir)
+    mov     x8, __NR_chdir
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(chdir)
+
+ENTRY(mount)
+    mov     x8, __NR_mount
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(mount)
+
+ENTRY(umount2)
+    mov     x8, __NR_umount2
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(umount2)
+
+ENTRY(__getcwd)
+    mov     x8, __NR_getcwd
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__getcwd)
+.hidden __getcwd
+
+ENTRY(fchdir)
+    mov     x8, __NR_fchdir
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(fchdir)
+
+ENTRY(setxattr)
+    mov     x8, __NR_setxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setxattr)
+
+ENTRY(lsetxattr)
+    mov     x8, __NR_lsetxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(lsetxattr)
+
+ENTRY(getxattr)
+    mov     x8, __NR_getxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getxattr)
+
+ENTRY(lgetxattr)
+    mov     x8, __NR_lgetxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(lgetxattr)
+
+ENTRY(listxattr)
+    mov     x8, __NR_listxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(listxattr)
+
+ENTRY(llistxattr)
+    mov     x8, __NR_llistxattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(llistxattr)
+
+ENTRY(removexattr)
+    mov     x8, __NR_removexattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(removexattr)
+
+ENTRY(lremovexattr)
+    mov     x8, __NR_lremovexattr
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(lremovexattr)
+
+ENTRY(swapon)
+    mov     x8, __NR_swapon
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(swapon)
+
+ENTRY(swapoff)
+    mov     x8, __NR_swapoff
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(swapoff)
+
+ENTRY(settimeofday)
+    mov     x8, __NR_settimeofday
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(settimeofday)
+
+ENTRY(times)
+    mov     x8, __NR_times
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(times)
+
+ENTRY(nanosleep)
+    mov     x8, __NR_nanosleep
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(nanosleep)
+
+ENTRY(clock_settime)
+    mov     x8, __NR_clock_settime
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(clock_settime)
+
+ENTRY(___clock_nanosleep)
+    mov     x8, __NR_clock_nanosleep
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___clock_nanosleep)
+.hidden ___clock_nanosleep
+
+ENTRY(getitimer)
+    mov     x8, __NR_getitimer
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getitimer)
+
+ENTRY(setitimer)
+    mov     x8, __NR_setitimer
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setitimer)
+
+ENTRY(__timer_create)
+    mov     x8, __NR_timer_create
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__timer_create)
+.hidden __timer_create
+
+ENTRY(__timer_settime)
+    mov     x8, __NR_timer_settime
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__timer_settime)
+.hidden __timer_settime
+
+ENTRY(__timer_gettime)
+    mov     x8, __NR_timer_gettime
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__timer_gettime)
+.hidden __timer_gettime
+
+ENTRY(__timer_getoverrun)
+    mov     x8, __NR_timer_getoverrun
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__timer_getoverrun)
+.hidden __timer_getoverrun
+
+ENTRY(__timer_delete)
+    mov     x8, __NR_timer_delete
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__timer_delete)
+.hidden __timer_delete
+
+ENTRY(timerfd_create)
+    mov     x8, __NR_timerfd_create
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(timerfd_create)
+
+ENTRY(timerfd_settime)
+    mov     x8, __NR_timerfd_settime
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(timerfd_settime)
+
+ENTRY(timerfd_gettime)
+    mov     x8, __NR_timerfd_gettime
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(timerfd_gettime)
+
+ENTRY(adjtimex)
+    mov     x8, __NR_adjtimex
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(adjtimex)
+
+ENTRY(clock_adjtime)
+    mov     x8, __NR_clock_adjtime
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(clock_adjtime)
+
+ENTRY(__rt_sigaction)
+    mov     x8, __NR_rt_sigaction
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__rt_sigaction)
+.hidden __rt_sigaction
+
+ENTRY(__rt_sigpending)
+    mov     x8, __NR_rt_sigpending
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__rt_sigpending)
+.hidden __rt_sigpending
+
+ENTRY(__rt_sigprocmask)
+    mov     x8, __NR_rt_sigprocmask
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__rt_sigprocmask)
+.hidden __rt_sigprocmask
+
+ENTRY(__rt_sigsuspend)
+    mov     x8, __NR_rt_sigsuspend
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__rt_sigsuspend)
+.hidden __rt_sigsuspend
+
+ENTRY(__rt_sigtimedwait)
+    mov     x8, __NR_rt_sigtimedwait
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__rt_sigtimedwait)
+.hidden __rt_sigtimedwait
+
+ENTRY(___rt_sigqueueinfo)
+    mov     x8, __NR_rt_sigqueueinfo
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(___rt_sigqueueinfo)
+.hidden ___rt_sigqueueinfo
+
+ENTRY(__signalfd4)
+    mov     x8, __NR_signalfd4
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__signalfd4)
+.hidden __signalfd4
+
+ENTRY(__socket)
+    mov     x8, __NR_socket
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__socket)
+.hidden __socket
+
+ENTRY(socketpair)
+    mov     x8, __NR_socketpair
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(socketpair)
+
+ENTRY(bind)
+    mov     x8, __NR_bind
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(bind)
+
+ENTRY(__connect)
+    mov     x8, __NR_connect
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__connect)
+.hidden __connect
+
+ENTRY(listen)
+    mov     x8, __NR_listen
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(listen)
+
+ENTRY(__accept4)
+    mov     x8, __NR_accept4
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__accept4)
+.hidden __accept4
+
+ENTRY(getsockname)
+    mov     x8, __NR_getsockname
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getsockname)
+
+ENTRY(getpeername)
+    mov     x8, __NR_getpeername
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getpeername)
+
+ENTRY(sendto)
+    mov     x8, __NR_sendto
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sendto)
+
+ENTRY(recvfrom)
+    mov     x8, __NR_recvfrom
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(recvfrom)
+
+ENTRY(shutdown)
+    mov     x8, __NR_shutdown
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(shutdown)
+
+ENTRY(setsockopt)
+    mov     x8, __NR_setsockopt
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setsockopt)
+
+ENTRY(getsockopt)
+    mov     x8, __NR_getsockopt
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getsockopt)
+
+ENTRY(recvmsg)
+    mov     x8, __NR_recvmsg
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(recvmsg)
+
+ENTRY(sendmsg)
+    mov     x8, __NR_sendmsg
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sendmsg)
+
+ENTRY(recvmmsg)
+    mov     x8, __NR_recvmmsg
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(recvmmsg)
+
+ENTRY(sendmmsg)
+    mov     x8, __NR_sendmmsg
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sendmmsg)
+
+ENTRY(sched_setscheduler)
+    mov     x8, __NR_sched_setscheduler
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_setscheduler)
+
+ENTRY(sched_getscheduler)
+    mov     x8, __NR_sched_getscheduler
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_getscheduler)
+
+ENTRY(sched_yield)
+    mov     x8, __NR_sched_yield
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_yield)
+
+ENTRY(sched_setparam)
+    mov     x8, __NR_sched_setparam
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_setparam)
+
+ENTRY(sched_getparam)
+    mov     x8, __NR_sched_getparam
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_getparam)
+
+ENTRY(sched_get_priority_max)
+    mov     x8, __NR_sched_get_priority_max
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_get_priority_max)
+
+ENTRY(sched_get_priority_min)
+    mov     x8, __NR_sched_get_priority_min
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_get_priority_min)
+
+ENTRY(sched_rr_get_interval)
+    mov     x8, __NR_sched_rr_get_interval
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_rr_get_interval)
+
+ENTRY(sched_setaffinity)
+    mov     x8, __NR_sched_setaffinity
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sched_setaffinity)
+
+ENTRY(setns)
+    mov     x8, __NR_setns
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setns)
+
+ENTRY(unshare)
+    mov     x8, __NR_unshare
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(unshare)
+
+ENTRY(__sched_getaffinity)
+    mov     x8, __NR_sched_getaffinity
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__sched_getaffinity)
+.hidden __sched_getaffinity
+
+ENTRY(__getcpu)
+    mov     x8, __NR_getcpu
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__getcpu)
+.hidden __getcpu
+
+ENTRY(uname)
+    mov     x8, __NR_uname
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(uname)
+
+ENTRY(umask)
+    mov     x8, __NR_umask
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(umask)
+
+ENTRY(__reboot)
+    mov     x8, __NR_reboot
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__reboot)
+.hidden __reboot
+
+ENTRY(init_module)
+    mov     x8, __NR_init_module
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(init_module)
+
+ENTRY(delete_module)
+    mov     x8, __NR_delete_module
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(delete_module)
+
+ENTRY(klogctl)
+    mov     x8, __NR_syslog
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(klogctl)
+
+ENTRY(sysinfo)
+    mov     x8, __NR_sysinfo
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sysinfo)
+
+ENTRY(personality)
+    mov     x8, __NR_personality
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(personality)
+
+ENTRY(tee)
+    mov     x8, __NR_tee
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(tee)
+
+ENTRY(splice)
+    mov     x8, __NR_splice
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(splice)
+
+ENTRY(vmsplice)
+    mov     x8, __NR_vmsplice
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(vmsplice)
+
+ENTRY(epoll_create1)
+    mov     x8, __NR_epoll_create1
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(epoll_create1)
+
+ENTRY(epoll_ctl)
+    mov     x8, __NR_epoll_ctl
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(epoll_ctl)
+
+ENTRY(__epoll_pwait)
+    mov     x8, __NR_epoll_pwait
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__epoll_pwait)
+.hidden __epoll_pwait
+
+ENTRY(eventfd)
+    mov     x8, __NR_eventfd2
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(eventfd)
+
+ENTRY(_exit)
+    mov     x8, __NR_exit_group
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(_exit)
+
+ALIAS_SYMBOL(_Exit, _exit)
+
+ENTRY(__exit)
+    mov     x8, __NR_exit
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__exit)
+.hidden __exit
+
+ENTRY(inotify_init1)
+    mov     x8, __NR_inotify_init1
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(inotify_init1)
+
+ENTRY(inotify_add_watch)
+    mov     x8, __NR_inotify_add_watch
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(inotify_add_watch)
+
+ENTRY(inotify_rm_watch)
+    mov     x8, __NR_inotify_rm_watch
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(inotify_rm_watch)
+
+ENTRY(__pselect6)
+    mov     x8, __NR_pselect6
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__pselect6)
+.hidden __pselect6
+
+ENTRY(__ppoll)
+    mov     x8, __NR_ppoll
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__ppoll)
+.hidden __ppoll
+
+ENTRY(process_vm_readv)
+    mov     x8, __NR_process_vm_readv
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(process_vm_readv)
+
+ENTRY(process_vm_writev)
+    mov     x8, __NR_process_vm_writev
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(process_vm_writev)
+
+ENTRY(quotactl)
+    mov     x8, __NR_quotactl
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(quotactl)
+
+ENTRY(__set_tid_address)
+    mov     x8, __NR_set_tid_address
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__set_tid_address)
+.hidden __set_tid_address
+
+ENTRY(setfsgid)
+    mov     x8, __NR_setfsgid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setfsgid)
+
+ENTRY(setfsuid)
+    mov     x8, __NR_setfsuid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setfsuid)
+
+ENTRY(setdomainname)
+    mov     x8, __NR_setdomainname
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(setdomainname)
+
+ENTRY(sethostname)
+    mov     x8, __NR_sethostname
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(sethostname)
+
+ENTRY(__sync_file_range)
+    mov     x8, __NR_sync_file_range
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__sync_file_range)
+.hidden __sync_file_range
+
+ENTRY(wait4)
+    mov     x8, __NR_wait4
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(wait4)
+
+ENTRY(__waitid)
+    mov     x8, __NR_waitid
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__waitid)
+.hidden __waitid
+
+ENTRY(__clock_getres)
+    mov     x8, __NR_clock_getres
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__clock_getres)
+.hidden __clock_getres
+
+ENTRY(__clock_gettime)
+    mov     x8, __NR_clock_gettime
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__clock_gettime)
+.hidden __clock_gettime
+
+ENTRY(__gettimeofday)
+    mov     x8, __NR_gettimeofday
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(__gettimeofday)
+.hidden __gettimeofday
+
+ENTRY(getrandom)
+    mov     x8, __NR_getrandom
+    svc     #0
+
+    cmn     x0, #(MAX_ERRNO + 1)
+    cneg    x0, x0, hi
+    b.hi    __set_errno_internal
+
+    ret
+END(getrandom)