diff --git a/libc/Android.bp b/libc/Android.bp
index ce9b396..d8a1d70 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -1241,27 +1241,53 @@
 // libc_syscalls.a
 // ========================================================
 
+genrule {
+    name: "syscalls-arm.S",
+    out: ["syscalls-arm.S"],
+    srcs: ["SYSCALLS.TXT"],
+    tool_files: [":bionic-gensyscalls"],
+    cmd: "$(location :bionic-gensyscalls) arm $(in) > $(out)",
+}
+
+genrule {
+    name: "syscalls-arm64.S",
+    out: ["syscalls-arm64.S"],
+    srcs: ["SYSCALLS.TXT"],
+    tool_files: [":bionic-gensyscalls"],
+    cmd: "$(location :bionic-gensyscalls) arm64 $(in) > $(out)",
+}
+
+genrule {
+    name: "syscalls-x86.S",
+    out: ["syscalls-x86.S"],
+    srcs: ["SYSCALLS.TXT"],
+    tool_files: [":bionic-gensyscalls"],
+    cmd: "$(location :bionic-gensyscalls) x86 $(in) > $(out)",
+}
+
+genrule {
+    name: "syscalls-x86_64.S",
+    out: ["syscalls-x86_64.S"],
+    srcs: ["SYSCALLS.TXT"],
+    tool_files: [":bionic-gensyscalls"],
+    cmd: "$(location :bionic-gensyscalls) x86_64 $(in) > $(out)",
+}
+
 cc_library_static {
     defaults: ["libc_defaults"],
     srcs: ["bionic/__set_errno.cpp"],
     arch: {
         arm: {
-            srcs: ["arch-arm/syscalls.S"],
+            srcs: [":syscalls-arm.S"],
         },
         arm64: {
-            srcs: ["arch-arm64/syscalls.S"],
-        },
-        mips: {
-            srcs: ["arch-mips/syscalls.S"],
-        },
-        mips64: {
-            srcs: ["arch-mips64/syscalls.S"],
+            srcs: [":syscalls-arm64.S"],
         },
         x86: {
-            srcs: ["arch-x86/syscalls.S"],
+            srcs: [":syscalls-x86.S"],
         },
         x86_64: {
-            srcs: ["arch-x86_64/syscalls.S"],
+            srcs: [":syscalls-x86_64.S"],
         },
     },
     name: "libc_syscalls",
@@ -2455,19 +2481,19 @@
 
     arch: {
         arm: {
-            srcs: ["arch-arm/syscalls.S"],
+            srcs: [":syscalls-arm.S"],
         },
         arm64: {
-            srcs: ["arch-arm64/syscalls.S"],
+            srcs: [":syscalls-arm64.S"],
         },
         x86: {
             srcs: [
                 "arch-x86/bionic/__libc_init_sysinfo.cpp",
-                "arch-x86/syscalls.S",
+                ":syscalls-x86.S",
             ],
         },
         x86_64: {
-            srcs: ["arch-x86_64/syscalls.S"],
+            srcs: [":syscalls-x86_64.S"],
         },
     },
 
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT
index 772f0e7..e2ea065 100644
--- a/libc/SYSCALLS.TXT
+++ b/libc/SYSCALLS.TXT
@@ -22,7 +22,8 @@
 #
 #      - Each parameter type is assumed to be stored in 32 bits.
 #
-# This file is processed by a python script named gensyscalls.py.
+# This file is processed by a python script named gensyscalls.py, run via
+# genrules in Android.bp.
 
 int     execve(const char*, char* const*, char* const*)  all
 
diff --git a/libc/arch-arm/syscalls.S b/libc/arch-arm/syscalls.S
deleted file mode 100644
index c76bf3a..0000000
--- a/libc/arch-arm/syscalls.S
+++ /dev/null
@@ -1,2915 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-#include <private/bionic_asm.h>
-
-ENTRY(execve)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_execve
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(execve)
-
-ENTRY(getuid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getuid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getuid)
-
-ENTRY(getgid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getgid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getgid)
-
-ENTRY(geteuid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_geteuid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(geteuid)
-
-ENTRY(getegid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getegid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getegid)
-
-ENTRY(getresuid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getresuid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getresuid)
-
-ENTRY(getresgid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getresgid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getresgid)
-
-ENTRY(readahead)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_readahead
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(readahead)
-
-ENTRY(getgroups)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getgroups32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getgroups)
-
-ENTRY(getpgid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getpgid
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getpgid)
-
-ENTRY(getppid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getppid
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getppid)
-
-ENTRY(getsid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getsid
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getsid)
-
-ENTRY(setsid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setsid
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setsid)
-
-ENTRY(setgid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setgid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setgid)
-
-ENTRY(setuid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setuid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setuid)
-
-ENTRY(setreuid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setreuid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setreuid)
-
-ENTRY(setresuid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setresuid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setresuid)
-
-ENTRY(setresgid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setresgid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setresgid)
-
-ENTRY(__brk)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_brk
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__brk)
-
-ENTRY(kill)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_kill
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(kill)
-
-ENTRY(tgkill)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_tgkill
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(tgkill)
-
-ENTRY(__ptrace)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_ptrace
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__ptrace)
-
-ENTRY(getrusage)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getrusage
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getrusage)
-
-ENTRY(__getpriority)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getpriority
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__getpriority)
-
-ENTRY(setpriority)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setpriority
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setpriority)
-
-ENTRY(getrlimit)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_ugetrlimit
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getrlimit)
-
-ENTRY(setrlimit)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setrlimit
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setrlimit)
-
-ENTRY(prlimit64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_prlimit64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(prlimit64)
-
-ENTRY(setgroups)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setgroups32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setgroups)
-
-ENTRY(setpgid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setpgid
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setpgid)
-
-ENTRY(setregid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setregid32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setregid)
-
-ENTRY(chroot)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_chroot
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(chroot)
-
-ENTRY(prctl)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_prctl
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(prctl)
-
-ENTRY(capget)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_capget
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(capget)
-
-ENTRY(capset)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_capset
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(capset)
-
-ENTRY(sigaltstack)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sigaltstack
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sigaltstack)
-
-ENTRY(acct)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_acct
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(acct)
-
-ENTRY(read)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_read
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(read)
-
-ENTRY(write)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_write
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(write)
-
-ENTRY(pread64)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_pread64
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(pread64)
-
-ENTRY(pwrite64)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_pwrite64
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(pwrite64)
-
-ENTRY(__preadv64)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_preadv
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__preadv64)
-
-ENTRY(__pwritev64)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_pwritev
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__pwritev64)
-
-ENTRY(___close)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_close
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___close)
-.hidden ___close
-
-ENTRY(__getpid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getpid
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__getpid)
-
-ENTRY(munmap)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_munmap
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(munmap)
-
-ENTRY(___mremap)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_mremap
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___mremap)
-.hidden ___mremap
-
-ENTRY(msync)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_msync
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(msync)
-
-ENTRY(mprotect)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_mprotect
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(mprotect)
-
-ENTRY(madvise)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_madvise
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(madvise)
-
-ENTRY(mlock)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_mlock
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(mlock)
-
-ENTRY(munlock)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_munlock
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(munlock)
-
-ENTRY(mlockall)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_mlockall
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(mlockall)
-
-ENTRY(munlockall)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_munlockall
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(munlockall)
-
-ENTRY(mincore)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_mincore
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(mincore)
-
-ENTRY(__ioctl)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_ioctl
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__ioctl)
-
-ENTRY(readv)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_readv
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(readv)
-
-ENTRY(writev)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_writev
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(writev)
-
-ENTRY(__fcntl64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fcntl64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__fcntl64)
-
-ENTRY(flock)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_flock
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(flock)
-
-ENTRY(___fchmod)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fchmod
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___fchmod)
-.hidden ___fchmod
-
-ENTRY(dup)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_dup
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(dup)
-
-ENTRY(pipe2)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_pipe2
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(pipe2)
-
-ENTRY(dup3)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_dup3
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(dup3)
-
-ENTRY(fsync)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fsync
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fsync)
-
-ENTRY(fdatasync)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fdatasync
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fdatasync)
-
-ENTRY(fchown)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fchown32
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fchown)
-
-ENTRY(sync)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sync
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sync)
-
-ENTRY(syncfs)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_syncfs
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(syncfs)
-
-ENTRY(___fsetxattr)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_fsetxattr
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___fsetxattr)
-.hidden ___fsetxattr
-
-ENTRY(___fgetxattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fgetxattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___fgetxattr)
-.hidden ___fgetxattr
-
-ENTRY(___flistxattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_flistxattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___flistxattr)
-.hidden ___flistxattr
-
-ENTRY(fremovexattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fremovexattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fremovexattr)
-
-ENTRY(__getdents64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getdents64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__getdents64)
-
-ENTRY(__openat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_openat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__openat)
-
-ENTRY(___faccessat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_faccessat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___faccessat)
-.hidden ___faccessat
-
-ENTRY(___fchmodat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fchmodat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___fchmodat)
-.hidden ___fchmodat
-
-ENTRY(fchownat)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_fchownat
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fchownat)
-
-ENTRY(fstatat64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fstatat64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fstatat64)
-
-ALIAS_SYMBOL(fstatat, fstatat64)
-
-ENTRY(linkat)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_linkat
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(linkat)
-
-ENTRY(mkdirat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_mkdirat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(mkdirat)
-
-ENTRY(mknodat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_mknodat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(mknodat)
-
-ENTRY(readlinkat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_readlinkat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(readlinkat)
-
-ENTRY(renameat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_renameat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(renameat)
-
-ENTRY(symlinkat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_symlinkat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(symlinkat)
-
-ENTRY(unlinkat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_unlinkat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(unlinkat)
-
-ENTRY(utimensat)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_utimensat
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(utimensat)
-
-ENTRY(lseek)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_lseek
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(lseek)
-
-ENTRY(__llseek)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR__llseek
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__llseek)
-
-ENTRY(ftruncate64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_ftruncate64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(ftruncate64)
-
-ENTRY(sendfile)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sendfile
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sendfile)
-
-ENTRY(sendfile64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sendfile64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sendfile64)
-
-ENTRY(truncate)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_truncate
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(truncate)
-
-ENTRY(truncate64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_truncate64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(truncate64)
-
-ENTRY(__mmap2)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_mmap2
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__mmap2)
-
-ENTRY(fallocate64)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_fallocate
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fallocate64)
-
-ENTRY(__arm_fadvise64_64)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_arm_fadvise64_64
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__arm_fadvise64_64)
-
-ENTRY(__fstatfs64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fstatfs64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__fstatfs64)
-
-ENTRY(__statfs64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_statfs64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__statfs64)
-
-ENTRY(fstat64)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fstat64
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fstat64)
-
-ALIAS_SYMBOL(fstat, fstat64)
-
-ENTRY(chdir)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_chdir
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(chdir)
-
-ENTRY(mount)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_mount
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(mount)
-
-ENTRY(umount2)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_umount2
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(umount2)
-
-ENTRY(__getcwd)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getcwd
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__getcwd)
-
-ENTRY(fchdir)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_fchdir
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(fchdir)
-
-ENTRY(setxattr)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_setxattr
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setxattr)
-
-ENTRY(lsetxattr)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_lsetxattr
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(lsetxattr)
-
-ENTRY(getxattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getxattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getxattr)
-
-ENTRY(lgetxattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_lgetxattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(lgetxattr)
-
-ENTRY(listxattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_listxattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(listxattr)
-
-ENTRY(llistxattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_llistxattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(llistxattr)
-
-ENTRY(removexattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_removexattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(removexattr)
-
-ENTRY(lremovexattr)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_lremovexattr
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(lremovexattr)
-
-ENTRY(swapon)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_swapon
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(swapon)
-
-ENTRY(swapoff)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_swapoff
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(swapoff)
-
-ENTRY(settimeofday)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_settimeofday
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(settimeofday)
-
-ENTRY(times)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_times
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(times)
-
-ENTRY(nanosleep)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_nanosleep
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(nanosleep)
-
-ENTRY(clock_settime)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_clock_settime
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(clock_settime)
-
-ENTRY(___clock_nanosleep)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_clock_nanosleep
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___clock_nanosleep)
-.hidden ___clock_nanosleep
-
-ENTRY(getitimer)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getitimer
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getitimer)
-
-ENTRY(setitimer)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setitimer
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setitimer)
-
-ENTRY(__timer_create)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_timer_create
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__timer_create)
-
-ENTRY(__timer_settime)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_timer_settime
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__timer_settime)
-
-ENTRY(__timer_gettime)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_timer_gettime
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__timer_gettime)
-
-ENTRY(__timer_getoverrun)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_timer_getoverrun
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__timer_getoverrun)
-
-ENTRY(__timer_delete)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_timer_delete
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__timer_delete)
-
-ENTRY(timerfd_create)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_timerfd_create
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(timerfd_create)
-
-ENTRY(timerfd_settime)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_timerfd_settime
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(timerfd_settime)
-
-ENTRY(timerfd_gettime)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_timerfd_gettime
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(timerfd_gettime)
-
-ENTRY(adjtimex)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_adjtimex
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(adjtimex)
-
-ENTRY(clock_adjtime)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_clock_adjtime
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(clock_adjtime)
-
-ENTRY(__sigaction)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sigaction
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__sigaction)
-
-ENTRY(__rt_sigaction)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_rt_sigaction
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__rt_sigaction)
-
-ENTRY(__rt_sigpending)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_rt_sigpending
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__rt_sigpending)
-
-ENTRY(__rt_sigprocmask)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_rt_sigprocmask
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__rt_sigprocmask)
-
-ENTRY(__rt_sigsuspend)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_rt_sigsuspend
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__rt_sigsuspend)
-
-ENTRY(__rt_sigtimedwait)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_rt_sigtimedwait
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__rt_sigtimedwait)
-
-ENTRY(___rt_sigqueueinfo)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_rt_sigqueueinfo
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(___rt_sigqueueinfo)
-.hidden ___rt_sigqueueinfo
-
-ENTRY(__signalfd4)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_signalfd4
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__signalfd4)
-
-ENTRY(__socket)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_socket
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__socket)
-
-ENTRY(socketpair)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_socketpair
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(socketpair)
-
-ENTRY(bind)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_bind
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(bind)
-
-ENTRY(__connect)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_connect
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__connect)
-
-ENTRY(listen)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_listen
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(listen)
-
-ENTRY(__accept4)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_accept4
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__accept4)
-
-ENTRY(getsockname)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getsockname
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getsockname)
-
-ENTRY(getpeername)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getpeername
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getpeername)
-
-ENTRY(sendto)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_sendto
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sendto)
-
-ENTRY(recvfrom)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_recvfrom
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(recvfrom)
-
-ENTRY(shutdown)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_shutdown
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(shutdown)
-
-ENTRY(setsockopt)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_setsockopt
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setsockopt)
-
-ENTRY(getsockopt)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_getsockopt
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getsockopt)
-
-ENTRY(recvmsg)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_recvmsg
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(recvmsg)
-
-ENTRY(sendmsg)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sendmsg
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sendmsg)
-
-ENTRY(recvmmsg)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_recvmmsg
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(recvmmsg)
-
-ENTRY(sendmmsg)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sendmmsg
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sendmmsg)
-
-ENTRY(sched_setscheduler)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_setscheduler
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_setscheduler)
-
-ENTRY(sched_getscheduler)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_getscheduler
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_getscheduler)
-
-ENTRY(sched_yield)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_yield
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_yield)
-
-ENTRY(sched_setparam)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_setparam
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_setparam)
-
-ENTRY(sched_getparam)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_getparam
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_getparam)
-
-ENTRY(sched_get_priority_max)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_get_priority_max
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_get_priority_max)
-
-ENTRY(sched_get_priority_min)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_get_priority_min
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_get_priority_min)
-
-ENTRY(sched_rr_get_interval)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_rr_get_interval
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_rr_get_interval)
-
-ENTRY(sched_setaffinity)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_setaffinity
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sched_setaffinity)
-
-ENTRY(setns)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setns
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setns)
-
-ENTRY(unshare)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_unshare
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(unshare)
-
-ENTRY(__sched_getaffinity)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sched_getaffinity
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__sched_getaffinity)
-
-ENTRY(__getcpu)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getcpu
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__getcpu)
-
-ENTRY(uname)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_uname
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(uname)
-
-ENTRY(umask)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_umask
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(umask)
-
-ENTRY(__reboot)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_reboot
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__reboot)
-
-ENTRY(init_module)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_init_module
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(init_module)
-
-ENTRY(delete_module)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_delete_module
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(delete_module)
-
-ENTRY(klogctl)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_syslog
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(klogctl)
-
-ENTRY(sysinfo)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sysinfo
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sysinfo)
-
-ENTRY(personality)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_personality
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(personality)
-
-ENTRY(tee)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_tee
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(tee)
-
-ENTRY(splice)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_splice
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(splice)
-
-ENTRY(vmsplice)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_vmsplice
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(vmsplice)
-
-ENTRY(epoll_create1)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_epoll_create1
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(epoll_create1)
-
-ENTRY(epoll_ctl)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_epoll_ctl
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(epoll_ctl)
-
-ENTRY(__epoll_pwait)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_epoll_pwait
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__epoll_pwait)
-
-ENTRY(eventfd)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_eventfd2
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(eventfd)
-
-ENTRY(_exit)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_exit_group
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(_exit)
-
-ALIAS_SYMBOL(_Exit, _exit)
-
-ENTRY(__exit)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_exit
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__exit)
-
-ENTRY(inotify_init1)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_inotify_init1
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(inotify_init1)
-
-ENTRY(inotify_add_watch)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_inotify_add_watch
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(inotify_add_watch)
-
-ENTRY(inotify_rm_watch)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_inotify_rm_watch
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(inotify_rm_watch)
-
-ENTRY(__pselect6)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_pselect6
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__pselect6)
-
-ENTRY(__ppoll)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_ppoll
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__ppoll)
-
-ENTRY(process_vm_readv)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_process_vm_readv
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(process_vm_readv)
-
-ENTRY(process_vm_writev)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_process_vm_writev
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(process_vm_writev)
-
-ENTRY(quotactl)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_quotactl
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(quotactl)
-
-ENTRY(__set_tid_address)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_set_tid_address
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__set_tid_address)
-
-ENTRY(setfsgid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setfsgid
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setfsgid)
-
-ENTRY(setfsuid)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setfsuid
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setfsuid)
-
-ENTRY(setdomainname)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_setdomainname
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(setdomainname)
-
-ENTRY(sethostname)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_sethostname
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(sethostname)
-
-ENTRY(__sync_file_range2)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_sync_file_range2
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__sync_file_range2)
-
-ENTRY(wait4)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_wait4
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(wait4)
-
-ENTRY(__waitid)
-    mov     ip, sp
-    stmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 16
-    .cfi_rel_offset r4, 0
-    .cfi_rel_offset r5, 4
-    .cfi_rel_offset r6, 8
-    .cfi_rel_offset r7, 12
-    ldmfd   ip, {r4, r5, r6}
-    ldr     r7, =__NR_waitid
-    swi     #0
-    ldmfd   sp!, {r4, r5, r6, r7}
-    .cfi_def_cfa_offset 0
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__waitid)
-
-ENTRY(__set_tls)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__ARM_NR_set_tls
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__set_tls)
-
-ENTRY(cacheflush)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__ARM_NR_cacheflush
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(cacheflush)
-
-ENTRY(__clock_getres)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_clock_getres
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__clock_getres)
-
-ENTRY(__clock_gettime)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_clock_gettime
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__clock_gettime)
-
-ENTRY(__gettimeofday)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_gettimeofday
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(__gettimeofday)
-
-ENTRY(getrandom)
-    mov     ip, r7
-    .cfi_register r7, ip
-    ldr     r7, =__NR_getrandom
-    swi     #0
-    mov     r7, ip
-    .cfi_restore r7
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno_internal
-END(getrandom)
diff --git a/libc/arch-arm64/syscalls.S b/libc/arch-arm64/syscalls.S
deleted file mode 100644
index bfcfe5d..0000000
--- a/libc/arch-arm64/syscalls.S
+++ /dev/null
@@ -1,2315 +0,0 @@
-/* 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)
diff --git a/libc/arch-mips/syscalls.S b/libc/arch-mips/syscalls.S
deleted file mode 100644
index ab5cda5..0000000
--- a/libc/arch-mips/syscalls.S
+++ /dev/null
@@ -1,3362 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-#include <private/bionic_asm.h>
-
-ENTRY(execve)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_execve
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(execve)
-
-ENTRY(getuid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getuid)
-
-ENTRY(getgid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getgid)
-
-ENTRY(geteuid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_geteuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(geteuid)
-
-ENTRY(getegid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getegid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getegid)
-
-ENTRY(getresuid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getresuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getresuid)
-
-ENTRY(getresgid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getresgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getresgid)
-
-ENTRY(readahead)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_readahead
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(readahead)
-
-ENTRY(getgroups)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getgroups
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getgroups)
-
-ENTRY(getpgid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getpgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getpgid)
-
-ENTRY(getppid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getppid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getppid)
-
-ENTRY(getsid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getsid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getsid)
-
-ENTRY(setsid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setsid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setsid)
-
-ENTRY(setgid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setgid)
-
-ENTRY(setuid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setuid)
-
-ENTRY(setreuid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setreuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setreuid)
-
-ENTRY(setresuid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setresuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setresuid)
-
-ENTRY(setresgid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setresgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setresgid)
-
-ENTRY(__brk)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_brk
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__brk)
-
-ENTRY(kill)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_kill
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(kill)
-
-ENTRY(tgkill)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_tgkill
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(tgkill)
-
-ENTRY(__ptrace)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_ptrace
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__ptrace)
-
-ENTRY(getrusage)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getrusage
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getrusage)
-
-ENTRY(__getpriority)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getpriority
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__getpriority)
-
-ENTRY(setpriority)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setpriority
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setpriority)
-
-ENTRY(getrlimit)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getrlimit
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getrlimit)
-
-ENTRY(setrlimit)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setrlimit
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setrlimit)
-
-ENTRY(prlimit64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_prlimit64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(prlimit64)
-
-ENTRY(setgroups)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setgroups
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setgroups)
-
-ENTRY(setpgid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setpgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setpgid)
-
-ENTRY(setregid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setregid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setregid)
-
-ENTRY(chroot)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_chroot
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(chroot)
-
-ENTRY(prctl)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_prctl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(prctl)
-
-ENTRY(capget)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_capget
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(capget)
-
-ENTRY(capset)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_capset
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(capset)
-
-ENTRY(sigaltstack)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sigaltstack
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sigaltstack)
-
-ENTRY(acct)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_acct
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(acct)
-
-ENTRY(read)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_read
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(read)
-
-ENTRY(write)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_write
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(write)
-
-ENTRY(pread64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_pread64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(pread64)
-
-ENTRY(pwrite64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_pwrite64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(pwrite64)
-
-ENTRY(__preadv64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_preadv
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__preadv64)
-
-ENTRY(__pwritev64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_pwritev
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__pwritev64)
-
-ENTRY(___close)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_close
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___close)
-.hidden ___close
-
-ENTRY(__getpid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getpid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__getpid)
-
-ENTRY(munmap)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_munmap
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(munmap)
-
-ENTRY(___mremap)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mremap
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___mremap)
-.hidden ___mremap
-
-ENTRY(msync)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_msync
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(msync)
-
-ENTRY(mprotect)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mprotect
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(mprotect)
-
-ENTRY(madvise)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_madvise
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(madvise)
-
-ENTRY(mlock)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mlock
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(mlock)
-
-ENTRY(munlock)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_munlock
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(munlock)
-
-ENTRY(mlockall)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mlockall
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(mlockall)
-
-ENTRY(munlockall)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_munlockall
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(munlockall)
-
-ENTRY(mincore)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mincore
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(mincore)
-
-ENTRY(__ioctl)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_ioctl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__ioctl)
-
-ENTRY(readv)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_readv
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(readv)
-
-ENTRY(writev)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_writev
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(writev)
-
-ENTRY(__fcntl64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fcntl64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__fcntl64)
-
-ENTRY(flock)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_flock
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(flock)
-
-ENTRY(___fchmod)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fchmod
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___fchmod)
-.hidden ___fchmod
-
-ENTRY(dup)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_dup
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(dup)
-
-ENTRY(pipe2)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_pipe2
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(pipe2)
-
-ENTRY(dup3)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_dup3
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(dup3)
-
-ENTRY(fsync)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fsync
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fsync)
-
-ENTRY(fdatasync)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fdatasync
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fdatasync)
-
-ENTRY(fchown)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fchown
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fchown)
-
-ENTRY(sync)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sync
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sync)
-
-ENTRY(syncfs)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_syncfs
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(syncfs)
-
-ENTRY(___fsetxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fsetxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___fsetxattr)
-.hidden ___fsetxattr
-
-ENTRY(___fgetxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fgetxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___fgetxattr)
-.hidden ___fgetxattr
-
-ENTRY(___flistxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_flistxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___flistxattr)
-.hidden ___flistxattr
-
-ENTRY(fremovexattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fremovexattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fremovexattr)
-
-ENTRY(__getdents64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getdents64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__getdents64)
-
-ENTRY(__openat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_openat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__openat)
-
-ENTRY(___faccessat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_faccessat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___faccessat)
-.hidden ___faccessat
-
-ENTRY(___fchmodat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fchmodat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___fchmodat)
-.hidden ___fchmodat
-
-ENTRY(fchownat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fchownat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fchownat)
-
-ENTRY(fstatat64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fstatat64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fstatat64)
-
-ALIAS_SYMBOL(fstatat, fstatat64)
-
-ENTRY(linkat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_linkat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(linkat)
-
-ENTRY(mkdirat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mkdirat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(mkdirat)
-
-ENTRY(mknodat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mknodat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(mknodat)
-
-ENTRY(readlinkat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_readlinkat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(readlinkat)
-
-ENTRY(renameat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_renameat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(renameat)
-
-ENTRY(symlinkat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_symlinkat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(symlinkat)
-
-ENTRY(unlinkat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_unlinkat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(unlinkat)
-
-ENTRY(utimensat)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_utimensat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(utimensat)
-
-ENTRY(lseek)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_lseek
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(lseek)
-
-ENTRY(__llseek)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR__llseek
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__llseek)
-
-ENTRY(ftruncate64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_ftruncate64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(ftruncate64)
-
-ENTRY(sendfile)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sendfile
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sendfile)
-
-ENTRY(sendfile64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sendfile64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sendfile64)
-
-ENTRY(truncate)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_truncate
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(truncate)
-
-ENTRY(truncate64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_truncate64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(truncate64)
-
-ENTRY(__mmap2)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mmap2
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__mmap2)
-
-ENTRY(fallocate64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fallocate
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fallocate64)
-
-ENTRY(__fadvise64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fadvise64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__fadvise64)
-
-ENTRY(__fstatfs64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fstatfs64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__fstatfs64)
-
-ENTRY(__statfs64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_statfs64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__statfs64)
-
-ENTRY(fstat64)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fstat64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fstat64)
-
-ALIAS_SYMBOL(fstat, fstat64)
-
-ENTRY(chdir)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_chdir
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(chdir)
-
-ENTRY(mount)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mount
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(mount)
-
-ENTRY(umount2)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_umount2
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(umount2)
-
-ENTRY(__getcwd)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getcwd
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__getcwd)
-
-ENTRY(fchdir)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_fchdir
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(fchdir)
-
-ENTRY(setxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setxattr)
-
-ENTRY(lsetxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_lsetxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(lsetxattr)
-
-ENTRY(getxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getxattr)
-
-ENTRY(lgetxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_lgetxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(lgetxattr)
-
-ENTRY(listxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_listxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(listxattr)
-
-ENTRY(llistxattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_llistxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(llistxattr)
-
-ENTRY(removexattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_removexattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(removexattr)
-
-ENTRY(lremovexattr)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_lremovexattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(lremovexattr)
-
-ENTRY(swapon)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_swapon
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(swapon)
-
-ENTRY(swapoff)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_swapoff
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(swapoff)
-
-ENTRY(settimeofday)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_settimeofday
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(settimeofday)
-
-ENTRY(times)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_times
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(times)
-
-ENTRY(nanosleep)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_nanosleep
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(nanosleep)
-
-ENTRY(clock_settime)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_clock_settime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(clock_settime)
-
-ENTRY(___clock_nanosleep)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_clock_nanosleep
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___clock_nanosleep)
-.hidden ___clock_nanosleep
-
-ENTRY(getitimer)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getitimer
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getitimer)
-
-ENTRY(setitimer)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setitimer
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setitimer)
-
-ENTRY(__timer_create)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_timer_create
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__timer_create)
-
-ENTRY(__timer_settime)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_timer_settime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__timer_settime)
-
-ENTRY(__timer_gettime)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_timer_gettime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__timer_gettime)
-
-ENTRY(__timer_getoverrun)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_timer_getoverrun
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__timer_getoverrun)
-
-ENTRY(__timer_delete)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_timer_delete
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__timer_delete)
-
-ENTRY(timerfd_create)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_timerfd_create
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(timerfd_create)
-
-ENTRY(timerfd_settime)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_timerfd_settime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(timerfd_settime)
-
-ENTRY(timerfd_gettime)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_timerfd_gettime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(timerfd_gettime)
-
-ENTRY(adjtimex)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_adjtimex
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(adjtimex)
-
-ENTRY(clock_adjtime)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_clock_adjtime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(clock_adjtime)
-
-ENTRY(__sigaction)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sigaction
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__sigaction)
-
-ENTRY(__rt_sigaction)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_rt_sigaction
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__rt_sigaction)
-
-ENTRY(__rt_sigpending)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_rt_sigpending
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__rt_sigpending)
-
-ENTRY(__rt_sigprocmask)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_rt_sigprocmask
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__rt_sigprocmask)
-
-ENTRY(__rt_sigsuspend)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_rt_sigsuspend
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__rt_sigsuspend)
-
-ENTRY(__rt_sigtimedwait)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_rt_sigtimedwait
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__rt_sigtimedwait)
-
-ENTRY(___rt_sigqueueinfo)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_rt_sigqueueinfo
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(___rt_sigqueueinfo)
-.hidden ___rt_sigqueueinfo
-
-ENTRY(__signalfd4)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_signalfd4
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__signalfd4)
-
-ENTRY(__socket)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_socket
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__socket)
-
-ENTRY(socketpair)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_socketpair
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(socketpair)
-
-ENTRY(bind)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_bind
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(bind)
-
-ENTRY(__connect)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_connect
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__connect)
-
-ENTRY(listen)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_listen
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(listen)
-
-ENTRY(__accept4)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_accept4
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__accept4)
-
-ENTRY(getsockname)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getsockname
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getsockname)
-
-ENTRY(getpeername)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getpeername
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getpeername)
-
-ENTRY(sendto)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sendto
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sendto)
-
-ENTRY(recvfrom)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_recvfrom
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(recvfrom)
-
-ENTRY(shutdown)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_shutdown
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(shutdown)
-
-ENTRY(setsockopt)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setsockopt
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setsockopt)
-
-ENTRY(getsockopt)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getsockopt
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getsockopt)
-
-ENTRY(recvmsg)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_recvmsg
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(recvmsg)
-
-ENTRY(sendmsg)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sendmsg
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sendmsg)
-
-ENTRY(recvmmsg)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_recvmmsg
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(recvmmsg)
-
-ENTRY(sendmmsg)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sendmmsg
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sendmmsg)
-
-ENTRY(sched_setscheduler)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_setscheduler
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_setscheduler)
-
-ENTRY(sched_getscheduler)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_getscheduler
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_getscheduler)
-
-ENTRY(sched_yield)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_yield
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_yield)
-
-ENTRY(sched_setparam)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_setparam
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_setparam)
-
-ENTRY(sched_getparam)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_getparam
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_getparam)
-
-ENTRY(sched_get_priority_max)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_get_priority_max
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_get_priority_max)
-
-ENTRY(sched_get_priority_min)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_get_priority_min
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_get_priority_min)
-
-ENTRY(sched_rr_get_interval)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_rr_get_interval
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_rr_get_interval)
-
-ENTRY(sched_setaffinity)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_setaffinity
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sched_setaffinity)
-
-ENTRY(setns)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setns
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setns)
-
-ENTRY(unshare)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_unshare
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(unshare)
-
-ENTRY(__sched_getaffinity)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sched_getaffinity
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__sched_getaffinity)
-
-ENTRY(__getcpu)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getcpu
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__getcpu)
-
-ENTRY(uname)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_uname
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(uname)
-
-ENTRY(umask)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_umask
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(umask)
-
-ENTRY(__reboot)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_reboot
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__reboot)
-
-ENTRY(init_module)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_init_module
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(init_module)
-
-ENTRY(delete_module)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_delete_module
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(delete_module)
-
-ENTRY(klogctl)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_syslog
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(klogctl)
-
-ENTRY(sysinfo)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sysinfo
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sysinfo)
-
-ENTRY(personality)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_personality
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(personality)
-
-ENTRY(tee)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_tee
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(tee)
-
-ENTRY(splice)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_splice
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(splice)
-
-ENTRY(vmsplice)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_vmsplice
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(vmsplice)
-
-ENTRY(epoll_create1)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_epoll_create1
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(epoll_create1)
-
-ENTRY(epoll_ctl)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_epoll_ctl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(epoll_ctl)
-
-ENTRY(__epoll_pwait)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_epoll_pwait
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__epoll_pwait)
-
-ENTRY(eventfd)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_eventfd2
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(eventfd)
-
-ENTRY(_exit)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_exit_group
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(_exit)
-
-ALIAS_SYMBOL(_Exit, _exit)
-
-ENTRY(__exit)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_exit
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__exit)
-
-ENTRY(inotify_init1)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_inotify_init1
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(inotify_init1)
-
-ENTRY(inotify_add_watch)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_inotify_add_watch
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(inotify_add_watch)
-
-ENTRY(inotify_rm_watch)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_inotify_rm_watch
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(inotify_rm_watch)
-
-ENTRY(__pselect6)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_pselect6
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__pselect6)
-
-ENTRY(__ppoll)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_ppoll
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__ppoll)
-
-ENTRY(process_vm_readv)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_process_vm_readv
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(process_vm_readv)
-
-ENTRY(process_vm_writev)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_process_vm_writev
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(process_vm_writev)
-
-ENTRY(quotactl)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_quotactl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(quotactl)
-
-ENTRY(__set_tid_address)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_set_tid_address
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__set_tid_address)
-
-ENTRY(setfsgid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setfsgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setfsgid)
-
-ENTRY(setfsuid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setfsuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setfsuid)
-
-ENTRY(setdomainname)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_setdomainname
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(setdomainname)
-
-ENTRY(sethostname)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sethostname
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(sethostname)
-
-ENTRY(__sync_file_range)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_sync_file_range
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__sync_file_range)
-
-ENTRY(wait4)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_wait4
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(wait4)
-
-ENTRY(__waitid)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_waitid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__waitid)
-
-ENTRY(_flush_cache)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_cacheflush
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(_flush_cache)
-
-ENTRY(__set_tls)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_set_thread_area
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__set_tls)
-
-ENTRY(__clock_getres)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_clock_getres
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__clock_getres)
-
-ENTRY(__clock_gettime)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_clock_gettime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__clock_gettime)
-
-ENTRY(__gettimeofday)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_gettimeofday
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(__gettimeofday)
-
-ENTRY(getrandom)
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_getrandom
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno_internal
-    j $t9
-    nop
-    .set reorder
-END(getrandom)
diff --git a/libc/arch-mips64/syscalls.S b/libc/arch-mips64/syscalls.S
deleted file mode 100644
index 11e764c..0000000
--- a/libc/arch-mips64/syscalls.S
+++ /dev/null
@@ -1,4523 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-#include <private/bionic_asm.h>
-
-ENTRY(execve)
-    .set push
-    .set noreorder
-    li $v0, __NR_execve
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(execve)
-
-ENTRY(getuid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getuid)
-
-ENTRY(getgid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getgid)
-
-ENTRY(geteuid)
-    .set push
-    .set noreorder
-    li $v0, __NR_geteuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(geteuid)
-
-ENTRY(getegid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getegid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getegid)
-
-ENTRY(getresuid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getresuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getresuid)
-
-ENTRY(getresgid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getresgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getresgid)
-
-ENTRY(readahead)
-    .set push
-    .set noreorder
-    li $v0, __NR_readahead
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(readahead)
-
-ENTRY(getgroups)
-    .set push
-    .set noreorder
-    li $v0, __NR_getgroups
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getgroups)
-
-ENTRY(getpgid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getpgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getpgid)
-
-ENTRY(getppid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getppid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getppid)
-
-ENTRY(getsid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getsid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getsid)
-
-ENTRY(setsid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setsid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setsid)
-
-ENTRY(setgid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setgid)
-
-ENTRY(setuid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setuid)
-
-ENTRY(setreuid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setreuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setreuid)
-
-ENTRY(setresuid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setresuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setresuid)
-
-ENTRY(setresgid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setresgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setresgid)
-
-ENTRY(__brk)
-    .set push
-    .set noreorder
-    li $v0, __NR_brk
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__brk)
-.hidden __brk
-
-ENTRY(kill)
-    .set push
-    .set noreorder
-    li $v0, __NR_kill
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(kill)
-
-ENTRY(tgkill)
-    .set push
-    .set noreorder
-    li $v0, __NR_tgkill
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(tgkill)
-
-ENTRY(__ptrace)
-    .set push
-    .set noreorder
-    li $v0, __NR_ptrace
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__ptrace)
-.hidden __ptrace
-
-ENTRY(getrusage)
-    .set push
-    .set noreorder
-    li $v0, __NR_getrusage
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getrusage)
-
-ENTRY(__getpriority)
-    .set push
-    .set noreorder
-    li $v0, __NR_getpriority
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__getpriority)
-.hidden __getpriority
-
-ENTRY(setpriority)
-    .set push
-    .set noreorder
-    li $v0, __NR_setpriority
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setpriority)
-
-ENTRY(getrlimit)
-    .set push
-    .set noreorder
-    li $v0, __NR_getrlimit
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getrlimit)
-
-ALIAS_SYMBOL(getrlimit64, getrlimit)
-
-ENTRY(setrlimit)
-    .set push
-    .set noreorder
-    li $v0, __NR_setrlimit
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setrlimit)
-
-ALIAS_SYMBOL(setrlimit64, setrlimit)
-
-ENTRY(prlimit64)
-    .set push
-    .set noreorder
-    li $v0, __NR_prlimit64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(prlimit64)
-
-ALIAS_SYMBOL(prlimit, prlimit64)
-
-ENTRY(setgroups)
-    .set push
-    .set noreorder
-    li $v0, __NR_setgroups
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setgroups)
-
-ENTRY(setpgid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setpgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setpgid)
-
-ENTRY(setregid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setregid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setregid)
-
-ENTRY(chroot)
-    .set push
-    .set noreorder
-    li $v0, __NR_chroot
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(chroot)
-
-ENTRY(prctl)
-    .set push
-    .set noreorder
-    li $v0, __NR_prctl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(prctl)
-
-ENTRY(capget)
-    .set push
-    .set noreorder
-    li $v0, __NR_capget
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(capget)
-
-ENTRY(capset)
-    .set push
-    .set noreorder
-    li $v0, __NR_capset
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(capset)
-
-ENTRY(sigaltstack)
-    .set push
-    .set noreorder
-    li $v0, __NR_sigaltstack
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sigaltstack)
-
-ENTRY(acct)
-    .set push
-    .set noreorder
-    li $v0, __NR_acct
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(acct)
-
-ENTRY(read)
-    .set push
-    .set noreorder
-    li $v0, __NR_read
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(read)
-
-ENTRY(write)
-    .set push
-    .set noreorder
-    li $v0, __NR_write
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(write)
-
-ENTRY(pread64)
-    .set push
-    .set noreorder
-    li $v0, __NR_pread64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(pread64)
-
-ALIAS_SYMBOL(pread, pread64)
-
-ENTRY(pwrite64)
-    .set push
-    .set noreorder
-    li $v0, __NR_pwrite64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(pwrite64)
-
-ALIAS_SYMBOL(pwrite, pwrite64)
-
-ENTRY(preadv)
-    .set push
-    .set noreorder
-    li $v0, __NR_preadv
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(preadv)
-
-ALIAS_SYMBOL(preadv64, preadv)
-
-ENTRY(pwritev)
-    .set push
-    .set noreorder
-    li $v0, __NR_pwritev
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(pwritev)
-
-ALIAS_SYMBOL(pwritev64, pwritev)
-
-ENTRY(___close)
-    .set push
-    .set noreorder
-    li $v0, __NR_close
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___close)
-.hidden ___close
-
-ENTRY(__getpid)
-    .set push
-    .set noreorder
-    li $v0, __NR_getpid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__getpid)
-.hidden __getpid
-
-ENTRY(munmap)
-    .set push
-    .set noreorder
-    li $v0, __NR_munmap
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(munmap)
-
-ENTRY(___mremap)
-    .set push
-    .set noreorder
-    li $v0, __NR_mremap
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___mremap)
-.hidden ___mremap
-
-ENTRY(msync)
-    .set push
-    .set noreorder
-    li $v0, __NR_msync
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(msync)
-
-ENTRY(mprotect)
-    .set push
-    .set noreorder
-    li $v0, __NR_mprotect
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(mprotect)
-
-ENTRY(madvise)
-    .set push
-    .set noreorder
-    li $v0, __NR_madvise
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(madvise)
-
-ENTRY(mlock)
-    .set push
-    .set noreorder
-    li $v0, __NR_mlock
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(mlock)
-
-ENTRY(munlock)
-    .set push
-    .set noreorder
-    li $v0, __NR_munlock
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(munlock)
-
-ENTRY(mlockall)
-    .set push
-    .set noreorder
-    li $v0, __NR_mlockall
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(mlockall)
-
-ENTRY(munlockall)
-    .set push
-    .set noreorder
-    li $v0, __NR_munlockall
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(munlockall)
-
-ENTRY(mincore)
-    .set push
-    .set noreorder
-    li $v0, __NR_mincore
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(mincore)
-
-ENTRY(__ioctl)
-    .set push
-    .set noreorder
-    li $v0, __NR_ioctl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__ioctl)
-.hidden __ioctl
-
-ENTRY(readv)
-    .set push
-    .set noreorder
-    li $v0, __NR_readv
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(readv)
-
-ENTRY(writev)
-    .set push
-    .set noreorder
-    li $v0, __NR_writev
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(writev)
-
-ENTRY(fcntl)
-    .set push
-    .set noreorder
-    li $v0, __NR_fcntl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(fcntl)
-
-ENTRY(flock)
-    .set push
-    .set noreorder
-    li $v0, __NR_flock
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(flock)
-
-ENTRY(___fchmod)
-    .set push
-    .set noreorder
-    li $v0, __NR_fchmod
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___fchmod)
-.hidden ___fchmod
-
-ENTRY(dup)
-    .set push
-    .set noreorder
-    li $v0, __NR_dup
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(dup)
-
-ENTRY(pipe2)
-    .set push
-    .set noreorder
-    li $v0, __NR_pipe2
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(pipe2)
-
-ENTRY(dup3)
-    .set push
-    .set noreorder
-    li $v0, __NR_dup3
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(dup3)
-
-ENTRY(fsync)
-    .set push
-    .set noreorder
-    li $v0, __NR_fsync
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(fsync)
-
-ENTRY(fdatasync)
-    .set push
-    .set noreorder
-    li $v0, __NR_fdatasync
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(fdatasync)
-
-ENTRY(fchown)
-    .set push
-    .set noreorder
-    li $v0, __NR_fchown
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(fchown)
-
-ENTRY(sync)
-    .set push
-    .set noreorder
-    li $v0, __NR_sync
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sync)
-
-ENTRY(syncfs)
-    .set push
-    .set noreorder
-    li $v0, __NR_syncfs
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(syncfs)
-
-ENTRY(___fsetxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_fsetxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___fsetxattr)
-.hidden ___fsetxattr
-
-ENTRY(___fgetxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_fgetxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___fgetxattr)
-.hidden ___fgetxattr
-
-ENTRY(___flistxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_flistxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___flistxattr)
-.hidden ___flistxattr
-
-ENTRY(fremovexattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_fremovexattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(fremovexattr)
-
-ENTRY(__getdents64)
-    .set push
-    .set noreorder
-    li $v0, __NR_getdents64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__getdents64)
-.hidden __getdents64
-
-ENTRY(__openat)
-    .set push
-    .set noreorder
-    li $v0, __NR_openat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__openat)
-.hidden __openat
-
-ENTRY(___faccessat)
-    .set push
-    .set noreorder
-    li $v0, __NR_faccessat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___faccessat)
-.hidden ___faccessat
-
-ENTRY(___fchmodat)
-    .set push
-    .set noreorder
-    li $v0, __NR_fchmodat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___fchmodat)
-.hidden ___fchmodat
-
-ENTRY(fchownat)
-    .set push
-    .set noreorder
-    li $v0, __NR_fchownat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(fchownat)
-
-ENTRY(linkat)
-    .set push
-    .set noreorder
-    li $v0, __NR_linkat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(linkat)
-
-ENTRY(mkdirat)
-    .set push
-    .set noreorder
-    li $v0, __NR_mkdirat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(mkdirat)
-
-ENTRY(mknodat)
-    .set push
-    .set noreorder
-    li $v0, __NR_mknodat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(mknodat)
-
-ENTRY(readlinkat)
-    .set push
-    .set noreorder
-    li $v0, __NR_readlinkat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(readlinkat)
-
-ENTRY(renameat)
-    .set push
-    .set noreorder
-    li $v0, __NR_renameat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(renameat)
-
-ENTRY(symlinkat)
-    .set push
-    .set noreorder
-    li $v0, __NR_symlinkat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(symlinkat)
-
-ENTRY(unlinkat)
-    .set push
-    .set noreorder
-    li $v0, __NR_unlinkat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(unlinkat)
-
-ENTRY(utimensat)
-    .set push
-    .set noreorder
-    li $v0, __NR_utimensat
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(utimensat)
-
-ENTRY(lseek)
-    .set push
-    .set noreorder
-    li $v0, __NR_lseek
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(lseek)
-
-ALIAS_SYMBOL(lseek64, lseek)
-
-ENTRY(ftruncate)
-    .set push
-    .set noreorder
-    li $v0, __NR_ftruncate
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(ftruncate)
-
-ALIAS_SYMBOL(ftruncate64, ftruncate)
-
-ENTRY(sendfile)
-    .set push
-    .set noreorder
-    li $v0, __NR_sendfile
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sendfile)
-
-ALIAS_SYMBOL(sendfile64, sendfile)
-
-ENTRY(truncate)
-    .set push
-    .set noreorder
-    li $v0, __NR_truncate
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(truncate)
-
-ALIAS_SYMBOL(truncate64, truncate)
-
-ENTRY(mmap)
-    .set push
-    .set noreorder
-    li $v0, __NR_mmap
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(mmap)
-
-ALIAS_SYMBOL(mmap64, mmap)
-
-ENTRY(fallocate)
-    .set push
-    .set noreorder
-    li $v0, __NR_fallocate
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(fallocate)
-
-ALIAS_SYMBOL(fallocate64, fallocate)
-
-ENTRY(__fadvise64)
-    .set push
-    .set noreorder
-    li $v0, __NR_fadvise64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__fadvise64)
-.hidden __fadvise64
-
-ENTRY(__fstatfs)
-    .set push
-    .set noreorder
-    li $v0, __NR_fstatfs
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__fstatfs)
-.hidden __fstatfs
-
-ENTRY(__statfs)
-    .set push
-    .set noreorder
-    li $v0, __NR_statfs
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__statfs)
-.hidden __statfs
-
-ENTRY(chdir)
-    .set push
-    .set noreorder
-    li $v0, __NR_chdir
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(chdir)
-
-ENTRY(mount)
-    .set push
-    .set noreorder
-    li $v0, __NR_mount
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(mount)
-
-ENTRY(umount2)
-    .set push
-    .set noreorder
-    li $v0, __NR_umount2
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(umount2)
-
-ENTRY(__getcwd)
-    .set push
-    .set noreorder
-    li $v0, __NR_getcwd
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__getcwd)
-.hidden __getcwd
-
-ENTRY(fchdir)
-    .set push
-    .set noreorder
-    li $v0, __NR_fchdir
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(fchdir)
-
-ENTRY(setxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_setxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setxattr)
-
-ENTRY(lsetxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_lsetxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(lsetxattr)
-
-ENTRY(getxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_getxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getxattr)
-
-ENTRY(lgetxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_lgetxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(lgetxattr)
-
-ENTRY(listxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_listxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(listxattr)
-
-ENTRY(llistxattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_llistxattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(llistxattr)
-
-ENTRY(removexattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_removexattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(removexattr)
-
-ENTRY(lremovexattr)
-    .set push
-    .set noreorder
-    li $v0, __NR_lremovexattr
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(lremovexattr)
-
-ENTRY(swapon)
-    .set push
-    .set noreorder
-    li $v0, __NR_swapon
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(swapon)
-
-ENTRY(swapoff)
-    .set push
-    .set noreorder
-    li $v0, __NR_swapoff
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(swapoff)
-
-ENTRY(settimeofday)
-    .set push
-    .set noreorder
-    li $v0, __NR_settimeofday
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(settimeofday)
-
-ENTRY(times)
-    .set push
-    .set noreorder
-    li $v0, __NR_times
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(times)
-
-ENTRY(nanosleep)
-    .set push
-    .set noreorder
-    li $v0, __NR_nanosleep
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(nanosleep)
-
-ENTRY(clock_settime)
-    .set push
-    .set noreorder
-    li $v0, __NR_clock_settime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(clock_settime)
-
-ENTRY(___clock_nanosleep)
-    .set push
-    .set noreorder
-    li $v0, __NR_clock_nanosleep
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___clock_nanosleep)
-.hidden ___clock_nanosleep
-
-ENTRY(getitimer)
-    .set push
-    .set noreorder
-    li $v0, __NR_getitimer
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getitimer)
-
-ENTRY(setitimer)
-    .set push
-    .set noreorder
-    li $v0, __NR_setitimer
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setitimer)
-
-ENTRY(__timer_create)
-    .set push
-    .set noreorder
-    li $v0, __NR_timer_create
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__timer_create)
-.hidden __timer_create
-
-ENTRY(__timer_settime)
-    .set push
-    .set noreorder
-    li $v0, __NR_timer_settime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__timer_settime)
-.hidden __timer_settime
-
-ENTRY(__timer_gettime)
-    .set push
-    .set noreorder
-    li $v0, __NR_timer_gettime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__timer_gettime)
-.hidden __timer_gettime
-
-ENTRY(__timer_getoverrun)
-    .set push
-    .set noreorder
-    li $v0, __NR_timer_getoverrun
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__timer_getoverrun)
-.hidden __timer_getoverrun
-
-ENTRY(__timer_delete)
-    .set push
-    .set noreorder
-    li $v0, __NR_timer_delete
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__timer_delete)
-.hidden __timer_delete
-
-ENTRY(timerfd_create)
-    .set push
-    .set noreorder
-    li $v0, __NR_timerfd_create
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(timerfd_create)
-
-ENTRY(timerfd_settime)
-    .set push
-    .set noreorder
-    li $v0, __NR_timerfd_settime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(timerfd_settime)
-
-ENTRY(timerfd_gettime)
-    .set push
-    .set noreorder
-    li $v0, __NR_timerfd_gettime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(timerfd_gettime)
-
-ENTRY(adjtimex)
-    .set push
-    .set noreorder
-    li $v0, __NR_adjtimex
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(adjtimex)
-
-ENTRY(clock_adjtime)
-    .set push
-    .set noreorder
-    li $v0, __NR_clock_adjtime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(clock_adjtime)
-
-ENTRY(__rt_sigaction)
-    .set push
-    .set noreorder
-    li $v0, __NR_rt_sigaction
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__rt_sigaction)
-.hidden __rt_sigaction
-
-ENTRY(__rt_sigpending)
-    .set push
-    .set noreorder
-    li $v0, __NR_rt_sigpending
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__rt_sigpending)
-.hidden __rt_sigpending
-
-ENTRY(__rt_sigprocmask)
-    .set push
-    .set noreorder
-    li $v0, __NR_rt_sigprocmask
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__rt_sigprocmask)
-.hidden __rt_sigprocmask
-
-ENTRY(__rt_sigsuspend)
-    .set push
-    .set noreorder
-    li $v0, __NR_rt_sigsuspend
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__rt_sigsuspend)
-.hidden __rt_sigsuspend
-
-ENTRY(__rt_sigtimedwait)
-    .set push
-    .set noreorder
-    li $v0, __NR_rt_sigtimedwait
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__rt_sigtimedwait)
-.hidden __rt_sigtimedwait
-
-ENTRY(___rt_sigqueueinfo)
-    .set push
-    .set noreorder
-    li $v0, __NR_rt_sigqueueinfo
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(___rt_sigqueueinfo)
-.hidden ___rt_sigqueueinfo
-
-ENTRY(__signalfd4)
-    .set push
-    .set noreorder
-    li $v0, __NR_signalfd4
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__signalfd4)
-.hidden __signalfd4
-
-ENTRY(__socket)
-    .set push
-    .set noreorder
-    li $v0, __NR_socket
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__socket)
-.hidden __socket
-
-ENTRY(socketpair)
-    .set push
-    .set noreorder
-    li $v0, __NR_socketpair
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(socketpair)
-
-ENTRY(bind)
-    .set push
-    .set noreorder
-    li $v0, __NR_bind
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(bind)
-
-ENTRY(__connect)
-    .set push
-    .set noreorder
-    li $v0, __NR_connect
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__connect)
-.hidden __connect
-
-ENTRY(listen)
-    .set push
-    .set noreorder
-    li $v0, __NR_listen
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(listen)
-
-ENTRY(__accept4)
-    .set push
-    .set noreorder
-    li $v0, __NR_accept4
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__accept4)
-.hidden __accept4
-
-ENTRY(getsockname)
-    .set push
-    .set noreorder
-    li $v0, __NR_getsockname
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getsockname)
-
-ENTRY(getpeername)
-    .set push
-    .set noreorder
-    li $v0, __NR_getpeername
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getpeername)
-
-ENTRY(sendto)
-    .set push
-    .set noreorder
-    li $v0, __NR_sendto
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sendto)
-
-ENTRY(recvfrom)
-    .set push
-    .set noreorder
-    li $v0, __NR_recvfrom
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(recvfrom)
-
-ENTRY(shutdown)
-    .set push
-    .set noreorder
-    li $v0, __NR_shutdown
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(shutdown)
-
-ENTRY(setsockopt)
-    .set push
-    .set noreorder
-    li $v0, __NR_setsockopt
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setsockopt)
-
-ENTRY(getsockopt)
-    .set push
-    .set noreorder
-    li $v0, __NR_getsockopt
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getsockopt)
-
-ENTRY(recvmsg)
-    .set push
-    .set noreorder
-    li $v0, __NR_recvmsg
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(recvmsg)
-
-ENTRY(sendmsg)
-    .set push
-    .set noreorder
-    li $v0, __NR_sendmsg
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sendmsg)
-
-ENTRY(recvmmsg)
-    .set push
-    .set noreorder
-    li $v0, __NR_recvmmsg
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(recvmmsg)
-
-ENTRY(sendmmsg)
-    .set push
-    .set noreorder
-    li $v0, __NR_sendmmsg
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sendmmsg)
-
-ENTRY(sched_setscheduler)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_setscheduler
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_setscheduler)
-
-ENTRY(sched_getscheduler)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_getscheduler
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_getscheduler)
-
-ENTRY(sched_yield)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_yield
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_yield)
-
-ENTRY(sched_setparam)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_setparam
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_setparam)
-
-ENTRY(sched_getparam)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_getparam
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_getparam)
-
-ENTRY(sched_get_priority_max)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_get_priority_max
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_get_priority_max)
-
-ENTRY(sched_get_priority_min)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_get_priority_min
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_get_priority_min)
-
-ENTRY(sched_rr_get_interval)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_rr_get_interval
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_rr_get_interval)
-
-ENTRY(sched_setaffinity)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_setaffinity
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sched_setaffinity)
-
-ENTRY(setns)
-    .set push
-    .set noreorder
-    li $v0, __NR_setns
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setns)
-
-ENTRY(unshare)
-    .set push
-    .set noreorder
-    li $v0, __NR_unshare
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(unshare)
-
-ENTRY(__sched_getaffinity)
-    .set push
-    .set noreorder
-    li $v0, __NR_sched_getaffinity
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__sched_getaffinity)
-.hidden __sched_getaffinity
-
-ENTRY(__getcpu)
-    .set push
-    .set noreorder
-    li $v0, __NR_getcpu
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__getcpu)
-.hidden __getcpu
-
-ENTRY(uname)
-    .set push
-    .set noreorder
-    li $v0, __NR_uname
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(uname)
-
-ENTRY(umask)
-    .set push
-    .set noreorder
-    li $v0, __NR_umask
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(umask)
-
-ENTRY(__reboot)
-    .set push
-    .set noreorder
-    li $v0, __NR_reboot
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__reboot)
-.hidden __reboot
-
-ENTRY(init_module)
-    .set push
-    .set noreorder
-    li $v0, __NR_init_module
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(init_module)
-
-ENTRY(delete_module)
-    .set push
-    .set noreorder
-    li $v0, __NR_delete_module
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(delete_module)
-
-ENTRY(klogctl)
-    .set push
-    .set noreorder
-    li $v0, __NR_syslog
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(klogctl)
-
-ENTRY(sysinfo)
-    .set push
-    .set noreorder
-    li $v0, __NR_sysinfo
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sysinfo)
-
-ENTRY(personality)
-    .set push
-    .set noreorder
-    li $v0, __NR_personality
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(personality)
-
-ENTRY(tee)
-    .set push
-    .set noreorder
-    li $v0, __NR_tee
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(tee)
-
-ENTRY(splice)
-    .set push
-    .set noreorder
-    li $v0, __NR_splice
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(splice)
-
-ENTRY(vmsplice)
-    .set push
-    .set noreorder
-    li $v0, __NR_vmsplice
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(vmsplice)
-
-ENTRY(epoll_create1)
-    .set push
-    .set noreorder
-    li $v0, __NR_epoll_create1
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(epoll_create1)
-
-ENTRY(epoll_ctl)
-    .set push
-    .set noreorder
-    li $v0, __NR_epoll_ctl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(epoll_ctl)
-
-ENTRY(__epoll_pwait)
-    .set push
-    .set noreorder
-    li $v0, __NR_epoll_pwait
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__epoll_pwait)
-.hidden __epoll_pwait
-
-ENTRY(eventfd)
-    .set push
-    .set noreorder
-    li $v0, __NR_eventfd2
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(eventfd)
-
-ENTRY(_exit)
-    .set push
-    .set noreorder
-    li $v0, __NR_exit_group
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(_exit)
-
-ALIAS_SYMBOL(_Exit, _exit)
-
-ENTRY(__exit)
-    .set push
-    .set noreorder
-    li $v0, __NR_exit
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__exit)
-.hidden __exit
-
-ENTRY(inotify_init1)
-    .set push
-    .set noreorder
-    li $v0, __NR_inotify_init1
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(inotify_init1)
-
-ENTRY(inotify_add_watch)
-    .set push
-    .set noreorder
-    li $v0, __NR_inotify_add_watch
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(inotify_add_watch)
-
-ENTRY(inotify_rm_watch)
-    .set push
-    .set noreorder
-    li $v0, __NR_inotify_rm_watch
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(inotify_rm_watch)
-
-ENTRY(__pselect6)
-    .set push
-    .set noreorder
-    li $v0, __NR_pselect6
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__pselect6)
-.hidden __pselect6
-
-ENTRY(__ppoll)
-    .set push
-    .set noreorder
-    li $v0, __NR_ppoll
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__ppoll)
-.hidden __ppoll
-
-ENTRY(process_vm_readv)
-    .set push
-    .set noreorder
-    li $v0, __NR_process_vm_readv
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(process_vm_readv)
-
-ENTRY(process_vm_writev)
-    .set push
-    .set noreorder
-    li $v0, __NR_process_vm_writev
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(process_vm_writev)
-
-ENTRY(quotactl)
-    .set push
-    .set noreorder
-    li $v0, __NR_quotactl
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(quotactl)
-
-ENTRY(__set_tid_address)
-    .set push
-    .set noreorder
-    li $v0, __NR_set_tid_address
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__set_tid_address)
-.hidden __set_tid_address
-
-ENTRY(setfsgid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setfsgid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setfsgid)
-
-ENTRY(setfsuid)
-    .set push
-    .set noreorder
-    li $v0, __NR_setfsuid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setfsuid)
-
-ENTRY(setdomainname)
-    .set push
-    .set noreorder
-    li $v0, __NR_setdomainname
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(setdomainname)
-
-ENTRY(sethostname)
-    .set push
-    .set noreorder
-    li $v0, __NR_sethostname
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(sethostname)
-
-ENTRY(__sync_file_range)
-    .set push
-    .set noreorder
-    li $v0, __NR_sync_file_range
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__sync_file_range)
-.hidden __sync_file_range
-
-ENTRY(wait4)
-    .set push
-    .set noreorder
-    li $v0, __NR_wait4
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(wait4)
-
-ENTRY(__waitid)
-    .set push
-    .set noreorder
-    li $v0, __NR_waitid
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__waitid)
-.hidden __waitid
-
-ENTRY(__set_tls)
-    .set push
-    .set noreorder
-    li $v0, __NR_set_thread_area
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__set_tls)
-.hidden __set_tls
-
-ENTRY(__clock_getres)
-    .set push
-    .set noreorder
-    li $v0, __NR_clock_getres
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__clock_getres)
-.hidden __clock_getres
-
-ENTRY(__clock_gettime)
-    .set push
-    .set noreorder
-    li $v0, __NR_clock_gettime
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__clock_gettime)
-.hidden __clock_gettime
-
-ENTRY(__gettimeofday)
-    .set push
-    .set noreorder
-    li $v0, __NR_gettimeofday
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(__gettimeofday)
-.hidden __gettimeofday
-
-ENTRY(getrandom)
-    .set push
-    .set noreorder
-    li $v0, __NR_getrandom
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    move $t0, $ra
-    bal 2f
-    nop
-2:
-    .cpsetup $ra, $t1, 2b
-    LA $t9, __set_errno_internal
-    .cpreturn
-    j $t9
-    move $ra, $t0
-    .set pop
-END(getrandom)
diff --git a/libc/arch-x86/syscalls.S b/libc/arch-x86/syscalls.S
deleted file mode 100644
index 3cb68ac..0000000
--- a/libc/arch-x86/syscalls.S
+++ /dev/null
@@ -1,7113 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-#include <private/bionic_asm.h>
-
-ENTRY(execve)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_execve, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(execve)
-
-ENTRY(getuid)
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    movl    $__NR_getuid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    ret
-END(getuid)
-
-ENTRY(getgid)
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    movl    $__NR_getgid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    ret
-END(getgid)
-
-ENTRY(geteuid)
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    movl    $__NR_geteuid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    ret
-END(geteuid)
-
-ENTRY(getegid)
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    movl    $__NR_getegid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    ret
-END(getegid)
-
-ENTRY(getresuid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_getresuid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getresuid)
-
-ENTRY(getresgid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_getresgid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getresgid)
-
-ENTRY(readahead)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_readahead, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(readahead)
-
-ENTRY(getgroups)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_getgroups32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getgroups)
-
-ENTRY(getpgid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_getpgid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(getpgid)
-
-ENTRY(getppid)
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    movl    $__NR_getppid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    ret
-END(getppid)
-
-ENTRY(getsid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_getsid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(getsid)
-
-ENTRY(setsid)
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    movl    $__NR_setsid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    ret
-END(setsid)
-
-ENTRY(setgid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_setgid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(setgid)
-
-ENTRY(setuid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_setuid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(setuid)
-
-ENTRY(setreuid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_setreuid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setreuid)
-
-ENTRY(setresuid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_setresuid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setresuid)
-
-ENTRY(setresgid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_setresgid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setresgid)
-
-ENTRY(__brk)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_brk, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(__brk)
-
-ENTRY(kill)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_kill, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(kill)
-
-ENTRY(tgkill)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_tgkill, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(tgkill)
-
-ENTRY(__ptrace)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_ptrace, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__ptrace)
-
-ENTRY(getrusage)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_getrusage, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getrusage)
-
-ENTRY(__getpriority)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_getpriority, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__getpriority)
-
-ENTRY(setpriority)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_setpriority, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setpriority)
-
-ENTRY(getrlimit)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_ugetrlimit, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getrlimit)
-
-ENTRY(setrlimit)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_setrlimit, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setrlimit)
-
-ENTRY(prlimit64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_prlimit64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(prlimit64)
-
-ENTRY(setgroups)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_setgroups32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setgroups)
-
-ENTRY(setpgid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_setpgid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setpgid)
-
-ENTRY(setregid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_setregid32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setregid)
-
-ENTRY(chroot)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_chroot, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(chroot)
-
-ENTRY(prctl)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_prctl, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(prctl)
-
-ENTRY(capget)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_capget, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(capget)
-
-ENTRY(capset)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_capset, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(capset)
-
-ENTRY(sigaltstack)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_sigaltstack, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sigaltstack)
-
-ENTRY(acct)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_acct, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(acct)
-
-ENTRY(read)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_read, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(read)
-
-ENTRY(write)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_write, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(write)
-
-ENTRY(pread64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_pread64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(pread64)
-
-ENTRY(pwrite64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_pwrite64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(pwrite64)
-
-ENTRY(__preadv64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_preadv, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__preadv64)
-
-ENTRY(__pwritev64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_pwritev, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__pwritev64)
-
-ENTRY(___close)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_close, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(___close)
-.hidden ___close
-
-ENTRY(__getpid)
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    movl    $__NR_getpid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    ret
-END(__getpid)
-
-ENTRY(munmap)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_munmap, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(munmap)
-
-ENTRY(___mremap)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_mremap, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___mremap)
-.hidden ___mremap
-
-ENTRY(msync)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_msync, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(msync)
-
-ENTRY(mprotect)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_mprotect, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(mprotect)
-
-ENTRY(madvise)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_madvise, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(madvise)
-
-ENTRY(mlock)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_mlock, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(mlock)
-
-ENTRY(munlock)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_munlock, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(munlock)
-
-ENTRY(mlockall)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_mlockall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(mlockall)
-
-ENTRY(munlockall)
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    movl    $__NR_munlockall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    ret
-END(munlockall)
-
-ENTRY(mincore)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_mincore, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(mincore)
-
-ENTRY(__ioctl)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_ioctl, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__ioctl)
-
-ENTRY(readv)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_readv, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(readv)
-
-ENTRY(writev)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_writev, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(writev)
-
-ENTRY(__fcntl64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_fcntl64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__fcntl64)
-
-ENTRY(flock)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_flock, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(flock)
-
-ENTRY(___fchmod)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_fchmod, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___fchmod)
-.hidden ___fchmod
-
-ENTRY(dup)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_dup, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(dup)
-
-ENTRY(pipe2)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_pipe2, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(pipe2)
-
-ENTRY(dup3)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_dup3, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(dup3)
-
-ENTRY(fsync)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_fsync, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(fsync)
-
-ENTRY(fdatasync)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_fdatasync, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(fdatasync)
-
-ENTRY(fchown)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_fchown32, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(fchown)
-
-ENTRY(sync)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_sync, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(sync)
-
-ENTRY(syncfs)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_syncfs, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(syncfs)
-
-ENTRY(___fsetxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_fsetxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___fsetxattr)
-.hidden ___fsetxattr
-
-ENTRY(___fgetxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_fgetxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___fgetxattr)
-.hidden ___fgetxattr
-
-ENTRY(___flistxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_flistxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___flistxattr)
-.hidden ___flistxattr
-
-ENTRY(fremovexattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_fremovexattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(fremovexattr)
-
-ENTRY(__getdents64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_getdents64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__getdents64)
-
-ENTRY(__openat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_openat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__openat)
-
-ENTRY(___faccessat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_faccessat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___faccessat)
-.hidden ___faccessat
-
-ENTRY(___fchmodat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_fchmodat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___fchmodat)
-.hidden ___fchmodat
-
-ENTRY(fchownat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_fchownat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(fchownat)
-
-ENTRY(fstatat64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_fstatat64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(fstatat64)
-
-ALIAS_SYMBOL(fstatat, fstatat64)
-
-ENTRY(linkat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_linkat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(linkat)
-
-ENTRY(mkdirat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_mkdirat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(mkdirat)
-
-ENTRY(mknodat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_mknodat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(mknodat)
-
-ENTRY(readlinkat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_readlinkat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(readlinkat)
-
-ENTRY(renameat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_renameat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(renameat)
-
-ENTRY(symlinkat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_symlinkat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(symlinkat)
-
-ENTRY(unlinkat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_unlinkat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(unlinkat)
-
-ENTRY(utimensat)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_utimensat, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(utimensat)
-
-ENTRY(lseek)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_lseek, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(lseek)
-
-ENTRY(__llseek)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR__llseek, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__llseek)
-
-ENTRY(ftruncate64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_ftruncate64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(ftruncate64)
-
-ENTRY(sendfile)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_sendfile, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sendfile)
-
-ENTRY(sendfile64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_sendfile64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sendfile64)
-
-ENTRY(truncate)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_truncate, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(truncate)
-
-ENTRY(truncate64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_truncate64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(truncate64)
-
-ENTRY(__mmap2)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_mmap2, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__mmap2)
-
-ENTRY(fallocate64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_fallocate, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(fallocate64)
-
-ENTRY(__fadvise64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_fadvise64_64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__fadvise64)
-
-ENTRY(__fstatfs64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_fstatfs64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__fstatfs64)
-
-ENTRY(__statfs64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_statfs64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__statfs64)
-
-ENTRY(fstat64)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_fstat64, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(fstat64)
-
-ALIAS_SYMBOL(fstat, fstat64)
-
-ENTRY(chdir)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_chdir, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(chdir)
-
-ENTRY(mount)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_mount, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(mount)
-
-ENTRY(umount2)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_umount2, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(umount2)
-
-ENTRY(__getcwd)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_getcwd, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__getcwd)
-
-ENTRY(fchdir)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_fchdir, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(fchdir)
-
-ENTRY(setxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_setxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setxattr)
-
-ENTRY(lsetxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_lsetxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(lsetxattr)
-
-ENTRY(getxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_getxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getxattr)
-
-ENTRY(lgetxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_lgetxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(lgetxattr)
-
-ENTRY(listxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_listxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(listxattr)
-
-ENTRY(llistxattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_llistxattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(llistxattr)
-
-ENTRY(removexattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_removexattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(removexattr)
-
-ENTRY(lremovexattr)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_lremovexattr, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(lremovexattr)
-
-ENTRY(swapon)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_swapon, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(swapon)
-
-ENTRY(swapoff)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_swapoff, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(swapoff)
-
-ENTRY(settimeofday)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_settimeofday, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(settimeofday)
-
-ENTRY(times)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_times, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(times)
-
-ENTRY(nanosleep)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_nanosleep, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(nanosleep)
-
-ENTRY(clock_settime)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_clock_settime, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(clock_settime)
-
-ENTRY(___clock_nanosleep)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_clock_nanosleep, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___clock_nanosleep)
-.hidden ___clock_nanosleep
-
-ENTRY(getitimer)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_getitimer, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getitimer)
-
-ENTRY(setitimer)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_setitimer, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setitimer)
-
-ENTRY(__timer_create)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_timer_create, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__timer_create)
-
-ENTRY(__timer_settime)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_timer_settime, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__timer_settime)
-
-ENTRY(__timer_gettime)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_timer_gettime, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__timer_gettime)
-
-ENTRY(__timer_getoverrun)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_timer_getoverrun, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(__timer_getoverrun)
-
-ENTRY(__timer_delete)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_timer_delete, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(__timer_delete)
-
-ENTRY(timerfd_create)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_timerfd_create, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(timerfd_create)
-
-ENTRY(timerfd_settime)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_timerfd_settime, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(timerfd_settime)
-
-ENTRY(timerfd_gettime)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_timerfd_gettime, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(timerfd_gettime)
-
-ENTRY(adjtimex)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_adjtimex, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(adjtimex)
-
-ENTRY(clock_adjtime)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_clock_adjtime, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(clock_adjtime)
-
-ENTRY(__sigaction)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_sigaction, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__sigaction)
-
-ENTRY(__rt_sigaction)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_rt_sigaction, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__rt_sigaction)
-
-ENTRY(__rt_sigpending)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_rt_sigpending, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__rt_sigpending)
-
-ENTRY(__rt_sigprocmask)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_rt_sigprocmask, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__rt_sigprocmask)
-
-ENTRY(__rt_sigsuspend)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_rt_sigsuspend, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__rt_sigsuspend)
-
-ENTRY(__rt_sigtimedwait)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_rt_sigtimedwait, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__rt_sigtimedwait)
-
-ENTRY(___rt_sigqueueinfo)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_rt_sigqueueinfo, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(___rt_sigqueueinfo)
-.hidden ___rt_sigqueueinfo
-
-ENTRY(__signalfd4)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_signalfd4, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__signalfd4)
-
-ENTRY(__socket)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $1, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__socket)
-
-ENTRY(bind)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $2, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(bind)
-
-ENTRY(__connect)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $3, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__connect)
-
-ENTRY(listen)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $4, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(listen)
-
-ENTRY(getsockname)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $6, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getsockname)
-
-ENTRY(getpeername)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $7, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getpeername)
-
-ENTRY(socketpair)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $8, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(socketpair)
-
-ENTRY(sendto)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $11, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sendto)
-
-ENTRY(recvfrom)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $12, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(recvfrom)
-
-ENTRY(shutdown)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $13, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(shutdown)
-
-ENTRY(setsockopt)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $14, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setsockopt)
-
-ENTRY(getsockopt)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $15, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getsockopt)
-
-ENTRY(sendmsg)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $16, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sendmsg)
-
-ENTRY(recvmsg)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $17, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(recvmsg)
-
-ENTRY(__accept4)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $18, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__accept4)
-
-ENTRY(recvmmsg)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $19, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(recvmmsg)
-
-ENTRY(sendmmsg)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     $20, %ebx
-    mov     %esp, %ecx
-    addl    $16, %ecx
-    movl    $__NR_socketcall, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sendmmsg)
-
-ENTRY(sched_setscheduler)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_sched_setscheduler, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sched_setscheduler)
-
-ENTRY(sched_getscheduler)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_sched_getscheduler, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(sched_getscheduler)
-
-ENTRY(sched_yield)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_sched_yield, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(sched_yield)
-
-ENTRY(sched_setparam)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_sched_setparam, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sched_setparam)
-
-ENTRY(sched_getparam)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_sched_getparam, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sched_getparam)
-
-ENTRY(sched_get_priority_max)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_sched_get_priority_max, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(sched_get_priority_max)
-
-ENTRY(sched_get_priority_min)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_sched_get_priority_min, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(sched_get_priority_min)
-
-ENTRY(sched_rr_get_interval)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_sched_rr_get_interval, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sched_rr_get_interval)
-
-ENTRY(sched_setaffinity)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_sched_setaffinity, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sched_setaffinity)
-
-ENTRY(setns)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_setns, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setns)
-
-ENTRY(unshare)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_unshare, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(unshare)
-
-ENTRY(__sched_getaffinity)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_sched_getaffinity, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__sched_getaffinity)
-
-ENTRY(__getcpu)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_getcpu, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__getcpu)
-
-ENTRY(uname)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_uname, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(uname)
-
-ENTRY(umask)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_umask, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(umask)
-
-ENTRY(__reboot)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_reboot, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__reboot)
-
-ENTRY(init_module)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_init_module, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(init_module)
-
-ENTRY(delete_module)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_delete_module, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(delete_module)
-
-ENTRY(klogctl)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_syslog, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(klogctl)
-
-ENTRY(sysinfo)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_sysinfo, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(sysinfo)
-
-ENTRY(personality)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_personality, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(personality)
-
-ENTRY(tee)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_tee, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(tee)
-
-ENTRY(splice)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_splice, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(splice)
-
-ENTRY(vmsplice)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_vmsplice, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(vmsplice)
-
-ENTRY(epoll_create1)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_epoll_create1, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(epoll_create1)
-
-ENTRY(epoll_ctl)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_epoll_ctl, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(epoll_ctl)
-
-ENTRY(__epoll_pwait)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_epoll_pwait, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__epoll_pwait)
-
-ENTRY(eventfd)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_eventfd2, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(eventfd)
-
-ENTRY(_exit)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_exit_group, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(_exit)
-
-ALIAS_SYMBOL(_Exit, _exit)
-
-ENTRY(__exit)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_exit, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(__exit)
-
-ENTRY(inotify_init1)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_inotify_init1, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(inotify_init1)
-
-ENTRY(inotify_add_watch)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_inotify_add_watch, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(inotify_add_watch)
-
-ENTRY(inotify_rm_watch)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_inotify_rm_watch, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(inotify_rm_watch)
-
-ENTRY(__pselect6)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_pselect6, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__pselect6)
-
-ENTRY(__ppoll)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_ppoll, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__ppoll)
-
-ENTRY(process_vm_readv)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_process_vm_readv, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(process_vm_readv)
-
-ENTRY(process_vm_writev)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_process_vm_writev, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(process_vm_writev)
-
-ENTRY(quotactl)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_quotactl, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(quotactl)
-
-ENTRY(__set_tid_address)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_set_tid_address, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(__set_tid_address)
-
-ENTRY(setfsgid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_setfsgid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(setfsgid)
-
-ENTRY(setfsuid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_setfsuid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(setfsuid)
-
-ENTRY(setdomainname)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_setdomainname, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(setdomainname)
-
-ENTRY(sethostname)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_sethostname, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(sethostname)
-
-ENTRY(__sync_file_range)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-    pushl   %ebp
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ebp, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     32(%esp), %ebx
-    mov     36(%esp), %ecx
-    mov     40(%esp), %edx
-    mov     44(%esp), %esi
-    mov     48(%esp), %edi
-    mov     52(%esp), %ebp
-    movl    $__NR_sync_file_range, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebp
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__sync_file_range)
-
-ENTRY(wait4)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     24(%esp), %ebx
-    mov     28(%esp), %ecx
-    mov     32(%esp), %edx
-    mov     36(%esp), %esi
-    movl    $__NR_wait4, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(wait4)
-
-ENTRY(__waitid)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-    pushl   %esi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset esi, 0
-    pushl   %edi
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edi, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     28(%esp), %ebx
-    mov     32(%esp), %ecx
-    mov     36(%esp), %edx
-    mov     40(%esp), %esi
-    mov     44(%esp), %edi
-    movl    $__NR_waitid, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edi
-    popl    %esi
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__waitid)
-
-ENTRY(__set_thread_area)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     12(%esp), %ebx
-    movl    $__NR_set_thread_area, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ebx
-    ret
-END(__set_thread_area)
-
-ENTRY(__clock_getres)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_clock_getres, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__clock_getres)
-
-ENTRY(__clock_gettime)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_clock_gettime, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__clock_gettime)
-
-ENTRY(__gettimeofday)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    movl    $__NR_gettimeofday, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(__gettimeofday)
-
-ENTRY(getrandom)
-    pushl   %ebx
-    .cfi_def_cfa_offset 8
-    .cfi_rel_offset ebx, 0
-    pushl   %ecx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset ecx, 0
-    pushl   %edx
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset edx, 0
-
-    call    __kernel_syscall
-    pushl   %eax
-    .cfi_adjust_cfa_offset 4
-    .cfi_rel_offset eax, 0
-
-    mov     20(%esp), %ebx
-    mov     24(%esp), %ecx
-    mov     28(%esp), %edx
-    movl    $__NR_getrandom, %eax
-    call    *(%esp)
-    addl    $4, %esp
-
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno_internal
-    addl    $4, %esp
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(getrandom)
diff --git a/libc/arch-x86_64/syscalls.S b/libc/arch-x86_64/syscalls.S
deleted file mode 100644
index dc217d8..0000000
--- a/libc/arch-x86_64/syscalls.S
+++ /dev/null
@@ -1,2587 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-#include <private/bionic_asm.h>
-
-ENTRY(execve)
-    movl    $__NR_execve, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(execve)
-
-ENTRY(getuid)
-    movl    $__NR_getuid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getuid)
-
-ENTRY(getgid)
-    movl    $__NR_getgid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getgid)
-
-ENTRY(geteuid)
-    movl    $__NR_geteuid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(geteuid)
-
-ENTRY(getegid)
-    movl    $__NR_getegid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getegid)
-
-ENTRY(getresuid)
-    movl    $__NR_getresuid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getresuid)
-
-ENTRY(getresgid)
-    movl    $__NR_getresgid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getresgid)
-
-ENTRY(readahead)
-    movl    $__NR_readahead, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(readahead)
-
-ENTRY(getgroups)
-    movl    $__NR_getgroups, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getgroups)
-
-ENTRY(getpgid)
-    movl    $__NR_getpgid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getpgid)
-
-ENTRY(getppid)
-    movl    $__NR_getppid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getppid)
-
-ENTRY(getsid)
-    movl    $__NR_getsid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getsid)
-
-ENTRY(setsid)
-    movl    $__NR_setsid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setsid)
-
-ENTRY(setgid)
-    movl    $__NR_setgid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setgid)
-
-ENTRY(setuid)
-    movl    $__NR_setuid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setuid)
-
-ENTRY(setreuid)
-    movl    $__NR_setreuid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setreuid)
-
-ENTRY(setresuid)
-    movl    $__NR_setresuid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setresuid)
-
-ENTRY(setresgid)
-    movl    $__NR_setresgid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setresgid)
-
-ENTRY(__brk)
-    movl    $__NR_brk, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__brk)
-.hidden __brk
-
-ENTRY(kill)
-    movl    $__NR_kill, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(kill)
-
-ENTRY(tgkill)
-    movl    $__NR_tgkill, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(tgkill)
-
-ENTRY(__ptrace)
-    movq    %rcx, %r10
-    movl    $__NR_ptrace, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__ptrace)
-.hidden __ptrace
-
-ENTRY(getrusage)
-    movl    $__NR_getrusage, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getrusage)
-
-ENTRY(__getpriority)
-    movl    $__NR_getpriority, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__getpriority)
-.hidden __getpriority
-
-ENTRY(setpriority)
-    movl    $__NR_setpriority, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setpriority)
-
-ENTRY(getrlimit)
-    movl    $__NR_getrlimit, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getrlimit)
-
-ALIAS_SYMBOL(getrlimit64, getrlimit)
-
-ENTRY(setrlimit)
-    movl    $__NR_setrlimit, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setrlimit)
-
-ALIAS_SYMBOL(setrlimit64, setrlimit)
-
-ENTRY(prlimit64)
-    movq    %rcx, %r10
-    movl    $__NR_prlimit64, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(prlimit64)
-
-ALIAS_SYMBOL(prlimit, prlimit64)
-
-ENTRY(setgroups)
-    movl    $__NR_setgroups, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setgroups)
-
-ENTRY(setpgid)
-    movl    $__NR_setpgid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setpgid)
-
-ENTRY(setregid)
-    movl    $__NR_setregid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setregid)
-
-ENTRY(chroot)
-    movl    $__NR_chroot, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(chroot)
-
-ENTRY(prctl)
-    movq    %rcx, %r10
-    movl    $__NR_prctl, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(prctl)
-
-ENTRY(__arch_prctl)
-    movl    $__NR_arch_prctl, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__arch_prctl)
-.hidden __arch_prctl
-
-ENTRY(capget)
-    movl    $__NR_capget, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(capget)
-
-ENTRY(capset)
-    movl    $__NR_capset, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(capset)
-
-ENTRY(sigaltstack)
-    movl    $__NR_sigaltstack, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sigaltstack)
-
-ENTRY(acct)
-    movl    $__NR_acct, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(acct)
-
-ENTRY(read)
-    movl    $__NR_read, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(read)
-
-ENTRY(write)
-    movl    $__NR_write, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(write)
-
-ENTRY(pread64)
-    movq    %rcx, %r10
-    movl    $__NR_pread64, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(pread64)
-
-ALIAS_SYMBOL(pread, pread64)
-
-ENTRY(pwrite64)
-    movq    %rcx, %r10
-    movl    $__NR_pwrite64, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(pwrite64)
-
-ALIAS_SYMBOL(pwrite, pwrite64)
-
-ENTRY(preadv)
-    movq    %rcx, %r10
-    movl    $__NR_preadv, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(preadv)
-
-ALIAS_SYMBOL(preadv64, preadv)
-
-ENTRY(pwritev)
-    movq    %rcx, %r10
-    movl    $__NR_pwritev, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(pwritev)
-
-ALIAS_SYMBOL(pwritev64, pwritev)
-
-ENTRY(___close)
-    movl    $__NR_close, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___close)
-.hidden ___close
-
-ENTRY(__getpid)
-    movl    $__NR_getpid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__getpid)
-.hidden __getpid
-
-ENTRY(munmap)
-    movl    $__NR_munmap, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(munmap)
-
-ENTRY(___mremap)
-    movq    %rcx, %r10
-    movl    $__NR_mremap, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___mremap)
-.hidden ___mremap
-
-ENTRY(msync)
-    movl    $__NR_msync, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(msync)
-
-ENTRY(mprotect)
-    movl    $__NR_mprotect, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(mprotect)
-
-ENTRY(madvise)
-    movl    $__NR_madvise, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(madvise)
-
-ENTRY(mlock)
-    movl    $__NR_mlock, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(mlock)
-
-ENTRY(munlock)
-    movl    $__NR_munlock, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(munlock)
-
-ENTRY(mlockall)
-    movl    $__NR_mlockall, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(mlockall)
-
-ENTRY(munlockall)
-    movl    $__NR_munlockall, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(munlockall)
-
-ENTRY(mincore)
-    movl    $__NR_mincore, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(mincore)
-
-ENTRY(__ioctl)
-    movl    $__NR_ioctl, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__ioctl)
-.hidden __ioctl
-
-ENTRY(readv)
-    movl    $__NR_readv, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(readv)
-
-ENTRY(writev)
-    movl    $__NR_writev, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(writev)
-
-ENTRY(fcntl)
-    movl    $__NR_fcntl, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fcntl)
-
-ENTRY(flock)
-    movl    $__NR_flock, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(flock)
-
-ENTRY(___fchmod)
-    movl    $__NR_fchmod, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___fchmod)
-.hidden ___fchmod
-
-ENTRY(dup)
-    movl    $__NR_dup, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(dup)
-
-ENTRY(pipe2)
-    movl    $__NR_pipe2, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(pipe2)
-
-ENTRY(dup3)
-    movl    $__NR_dup3, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(dup3)
-
-ENTRY(fsync)
-    movl    $__NR_fsync, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fsync)
-
-ENTRY(fdatasync)
-    movl    $__NR_fdatasync, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fdatasync)
-
-ENTRY(fchown)
-    movl    $__NR_fchown, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fchown)
-
-ENTRY(sync)
-    movl    $__NR_sync, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sync)
-
-ENTRY(syncfs)
-    movl    $__NR_syncfs, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(syncfs)
-
-ENTRY(___fsetxattr)
-    movq    %rcx, %r10
-    movl    $__NR_fsetxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___fsetxattr)
-.hidden ___fsetxattr
-
-ENTRY(___fgetxattr)
-    movq    %rcx, %r10
-    movl    $__NR_fgetxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___fgetxattr)
-.hidden ___fgetxattr
-
-ENTRY(___flistxattr)
-    movl    $__NR_flistxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___flistxattr)
-.hidden ___flistxattr
-
-ENTRY(fremovexattr)
-    movl    $__NR_fremovexattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fremovexattr)
-
-ENTRY(__getdents64)
-    movl    $__NR_getdents64, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__getdents64)
-.hidden __getdents64
-
-ENTRY(__openat)
-    movq    %rcx, %r10
-    movl    $__NR_openat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__openat)
-.hidden __openat
-
-ENTRY(___faccessat)
-    movl    $__NR_faccessat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___faccessat)
-.hidden ___faccessat
-
-ENTRY(___fchmodat)
-    movl    $__NR_fchmodat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___fchmodat)
-.hidden ___fchmodat
-
-ENTRY(fchownat)
-    movq    %rcx, %r10
-    movl    $__NR_fchownat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fchownat)
-
-ENTRY(fstatat64)
-    movq    %rcx, %r10
-    movl    $__NR_newfstatat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fstatat64)
-
-ALIAS_SYMBOL(fstatat, fstatat64)
-
-ENTRY(linkat)
-    movq    %rcx, %r10
-    movl    $__NR_linkat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(linkat)
-
-ENTRY(mkdirat)
-    movl    $__NR_mkdirat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(mkdirat)
-
-ENTRY(mknodat)
-    movq    %rcx, %r10
-    movl    $__NR_mknodat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(mknodat)
-
-ENTRY(readlinkat)
-    movq    %rcx, %r10
-    movl    $__NR_readlinkat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(readlinkat)
-
-ENTRY(renameat)
-    movq    %rcx, %r10
-    movl    $__NR_renameat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(renameat)
-
-ENTRY(symlinkat)
-    movl    $__NR_symlinkat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(symlinkat)
-
-ENTRY(unlinkat)
-    movl    $__NR_unlinkat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(unlinkat)
-
-ENTRY(utimensat)
-    movq    %rcx, %r10
-    movl    $__NR_utimensat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(utimensat)
-
-ENTRY(lseek)
-    movl    $__NR_lseek, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(lseek)
-
-ALIAS_SYMBOL(lseek64, lseek)
-
-ENTRY(ftruncate)
-    movl    $__NR_ftruncate, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(ftruncate)
-
-ALIAS_SYMBOL(ftruncate64, ftruncate)
-
-ENTRY(sendfile)
-    movq    %rcx, %r10
-    movl    $__NR_sendfile, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sendfile)
-
-ALIAS_SYMBOL(sendfile64, sendfile)
-
-ENTRY(truncate)
-    movl    $__NR_truncate, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(truncate)
-
-ALIAS_SYMBOL(truncate64, truncate)
-
-ENTRY(mmap)
-    movq    %rcx, %r10
-    movl    $__NR_mmap, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(mmap)
-
-ALIAS_SYMBOL(mmap64, mmap)
-
-ENTRY(fallocate)
-    movq    %rcx, %r10
-    movl    $__NR_fallocate, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fallocate)
-
-ALIAS_SYMBOL(fallocate64, fallocate)
-
-ENTRY(__fadvise64)
-    movq    %rcx, %r10
-    movl    $__NR_fadvise64, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__fadvise64)
-.hidden __fadvise64
-
-ENTRY(__fstatfs)
-    movl    $__NR_fstatfs, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__fstatfs)
-.hidden __fstatfs
-
-ENTRY(__statfs)
-    movl    $__NR_statfs, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__statfs)
-.hidden __statfs
-
-ENTRY(fstat64)
-    movl    $__NR_fstat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fstat64)
-
-ALIAS_SYMBOL(fstat, fstat64)
-
-ENTRY(chdir)
-    movl    $__NR_chdir, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(chdir)
-
-ENTRY(mount)
-    movq    %rcx, %r10
-    movl    $__NR_mount, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(mount)
-
-ENTRY(umount2)
-    movl    $__NR_umount2, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(umount2)
-
-ENTRY(__getcwd)
-    movl    $__NR_getcwd, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__getcwd)
-.hidden __getcwd
-
-ENTRY(fchdir)
-    movl    $__NR_fchdir, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(fchdir)
-
-ENTRY(setxattr)
-    movq    %rcx, %r10
-    movl    $__NR_setxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setxattr)
-
-ENTRY(lsetxattr)
-    movq    %rcx, %r10
-    movl    $__NR_lsetxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(lsetxattr)
-
-ENTRY(getxattr)
-    movq    %rcx, %r10
-    movl    $__NR_getxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getxattr)
-
-ENTRY(lgetxattr)
-    movq    %rcx, %r10
-    movl    $__NR_lgetxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(lgetxattr)
-
-ENTRY(listxattr)
-    movl    $__NR_listxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(listxattr)
-
-ENTRY(llistxattr)
-    movl    $__NR_llistxattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(llistxattr)
-
-ENTRY(removexattr)
-    movl    $__NR_removexattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(removexattr)
-
-ENTRY(lremovexattr)
-    movl    $__NR_lremovexattr, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(lremovexattr)
-
-ENTRY(swapon)
-    movl    $__NR_swapon, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(swapon)
-
-ENTRY(swapoff)
-    movl    $__NR_swapoff, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(swapoff)
-
-ENTRY(settimeofday)
-    movl    $__NR_settimeofday, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(settimeofday)
-
-ENTRY(times)
-    movl    $__NR_times, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(times)
-
-ENTRY(nanosleep)
-    movl    $__NR_nanosleep, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(nanosleep)
-
-ENTRY(clock_settime)
-    movl    $__NR_clock_settime, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(clock_settime)
-
-ENTRY(___clock_nanosleep)
-    movq    %rcx, %r10
-    movl    $__NR_clock_nanosleep, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___clock_nanosleep)
-.hidden ___clock_nanosleep
-
-ENTRY(getitimer)
-    movl    $__NR_getitimer, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getitimer)
-
-ENTRY(setitimer)
-    movl    $__NR_setitimer, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setitimer)
-
-ENTRY(__timer_create)
-    movl    $__NR_timer_create, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__timer_create)
-.hidden __timer_create
-
-ENTRY(__timer_settime)
-    movq    %rcx, %r10
-    movl    $__NR_timer_settime, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__timer_settime)
-.hidden __timer_settime
-
-ENTRY(__timer_gettime)
-    movl    $__NR_timer_gettime, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__timer_gettime)
-.hidden __timer_gettime
-
-ENTRY(__timer_getoverrun)
-    movl    $__NR_timer_getoverrun, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__timer_getoverrun)
-.hidden __timer_getoverrun
-
-ENTRY(__timer_delete)
-    movl    $__NR_timer_delete, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__timer_delete)
-.hidden __timer_delete
-
-ENTRY(timerfd_create)
-    movl    $__NR_timerfd_create, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(timerfd_create)
-
-ENTRY(timerfd_settime)
-    movq    %rcx, %r10
-    movl    $__NR_timerfd_settime, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(timerfd_settime)
-
-ENTRY(timerfd_gettime)
-    movl    $__NR_timerfd_gettime, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(timerfd_gettime)
-
-ENTRY(adjtimex)
-    movl    $__NR_adjtimex, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(adjtimex)
-
-ENTRY(clock_adjtime)
-    movl    $__NR_clock_adjtime, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(clock_adjtime)
-
-ENTRY(__rt_sigaction)
-    movq    %rcx, %r10
-    movl    $__NR_rt_sigaction, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__rt_sigaction)
-.hidden __rt_sigaction
-
-ENTRY(__rt_sigpending)
-    movl    $__NR_rt_sigpending, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__rt_sigpending)
-.hidden __rt_sigpending
-
-ENTRY(__rt_sigprocmask)
-    movq    %rcx, %r10
-    movl    $__NR_rt_sigprocmask, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__rt_sigprocmask)
-.hidden __rt_sigprocmask
-
-ENTRY(__rt_sigsuspend)
-    movl    $__NR_rt_sigsuspend, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__rt_sigsuspend)
-.hidden __rt_sigsuspend
-
-ENTRY(__rt_sigtimedwait)
-    movq    %rcx, %r10
-    movl    $__NR_rt_sigtimedwait, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__rt_sigtimedwait)
-.hidden __rt_sigtimedwait
-
-ENTRY(___rt_sigqueueinfo)
-    movl    $__NR_rt_sigqueueinfo, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(___rt_sigqueueinfo)
-.hidden ___rt_sigqueueinfo
-
-ENTRY(__signalfd4)
-    movq    %rcx, %r10
-    movl    $__NR_signalfd4, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__signalfd4)
-.hidden __signalfd4
-
-ENTRY(__socket)
-    movl    $__NR_socket, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__socket)
-.hidden __socket
-
-ENTRY(socketpair)
-    movq    %rcx, %r10
-    movl    $__NR_socketpair, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(socketpair)
-
-ENTRY(bind)
-    movl    $__NR_bind, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(bind)
-
-ENTRY(__connect)
-    movl    $__NR_connect, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__connect)
-.hidden __connect
-
-ENTRY(listen)
-    movl    $__NR_listen, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(listen)
-
-ENTRY(__accept4)
-    movq    %rcx, %r10
-    movl    $__NR_accept4, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__accept4)
-.hidden __accept4
-
-ENTRY(getsockname)
-    movl    $__NR_getsockname, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getsockname)
-
-ENTRY(getpeername)
-    movl    $__NR_getpeername, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getpeername)
-
-ENTRY(sendto)
-    movq    %rcx, %r10
-    movl    $__NR_sendto, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sendto)
-
-ENTRY(recvfrom)
-    movq    %rcx, %r10
-    movl    $__NR_recvfrom, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(recvfrom)
-
-ENTRY(shutdown)
-    movl    $__NR_shutdown, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(shutdown)
-
-ENTRY(setsockopt)
-    movq    %rcx, %r10
-    movl    $__NR_setsockopt, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setsockopt)
-
-ENTRY(getsockopt)
-    movq    %rcx, %r10
-    movl    $__NR_getsockopt, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getsockopt)
-
-ENTRY(recvmsg)
-    movl    $__NR_recvmsg, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(recvmsg)
-
-ENTRY(sendmsg)
-    movl    $__NR_sendmsg, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sendmsg)
-
-ENTRY(recvmmsg)
-    movq    %rcx, %r10
-    movl    $__NR_recvmmsg, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(recvmmsg)
-
-ENTRY(sendmmsg)
-    movq    %rcx, %r10
-    movl    $__NR_sendmmsg, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sendmmsg)
-
-ENTRY(sched_setscheduler)
-    movl    $__NR_sched_setscheduler, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_setscheduler)
-
-ENTRY(sched_getscheduler)
-    movl    $__NR_sched_getscheduler, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_getscheduler)
-
-ENTRY(sched_yield)
-    movl    $__NR_sched_yield, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_yield)
-
-ENTRY(sched_setparam)
-    movl    $__NR_sched_setparam, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_setparam)
-
-ENTRY(sched_getparam)
-    movl    $__NR_sched_getparam, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_getparam)
-
-ENTRY(sched_get_priority_max)
-    movl    $__NR_sched_get_priority_max, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_get_priority_max)
-
-ENTRY(sched_get_priority_min)
-    movl    $__NR_sched_get_priority_min, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_get_priority_min)
-
-ENTRY(sched_rr_get_interval)
-    movl    $__NR_sched_rr_get_interval, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_rr_get_interval)
-
-ENTRY(sched_setaffinity)
-    movl    $__NR_sched_setaffinity, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sched_setaffinity)
-
-ENTRY(setns)
-    movl    $__NR_setns, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setns)
-
-ENTRY(unshare)
-    movl    $__NR_unshare, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(unshare)
-
-ENTRY(__sched_getaffinity)
-    movl    $__NR_sched_getaffinity, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__sched_getaffinity)
-.hidden __sched_getaffinity
-
-ENTRY(__getcpu)
-    movl    $__NR_getcpu, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__getcpu)
-.hidden __getcpu
-
-ENTRY(uname)
-    movl    $__NR_uname, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(uname)
-
-ENTRY(umask)
-    movl    $__NR_umask, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(umask)
-
-ENTRY(__reboot)
-    movq    %rcx, %r10
-    movl    $__NR_reboot, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__reboot)
-.hidden __reboot
-
-ENTRY(init_module)
-    movl    $__NR_init_module, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(init_module)
-
-ENTRY(delete_module)
-    movl    $__NR_delete_module, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(delete_module)
-
-ENTRY(klogctl)
-    movl    $__NR_syslog, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(klogctl)
-
-ENTRY(sysinfo)
-    movl    $__NR_sysinfo, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sysinfo)
-
-ENTRY(personality)
-    movl    $__NR_personality, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(personality)
-
-ENTRY(tee)
-    movq    %rcx, %r10
-    movl    $__NR_tee, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(tee)
-
-ENTRY(splice)
-    movq    %rcx, %r10
-    movl    $__NR_splice, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(splice)
-
-ENTRY(vmsplice)
-    movq    %rcx, %r10
-    movl    $__NR_vmsplice, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(vmsplice)
-
-ENTRY(epoll_create1)
-    movl    $__NR_epoll_create1, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(epoll_create1)
-
-ENTRY(epoll_ctl)
-    movq    %rcx, %r10
-    movl    $__NR_epoll_ctl, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(epoll_ctl)
-
-ENTRY(__epoll_pwait)
-    movq    %rcx, %r10
-    movl    $__NR_epoll_pwait, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__epoll_pwait)
-.hidden __epoll_pwait
-
-ENTRY(eventfd)
-    movl    $__NR_eventfd2, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(eventfd)
-
-ENTRY(_exit)
-    movl    $__NR_exit_group, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(_exit)
-
-ALIAS_SYMBOL(_Exit, _exit)
-
-ENTRY(__exit)
-    movl    $__NR_exit, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__exit)
-.hidden __exit
-
-ENTRY(inotify_init1)
-    movl    $__NR_inotify_init1, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(inotify_init1)
-
-ENTRY(inotify_add_watch)
-    movl    $__NR_inotify_add_watch, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(inotify_add_watch)
-
-ENTRY(inotify_rm_watch)
-    movl    $__NR_inotify_rm_watch, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(inotify_rm_watch)
-
-ENTRY(__pselect6)
-    movq    %rcx, %r10
-    movl    $__NR_pselect6, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__pselect6)
-.hidden __pselect6
-
-ENTRY(__ppoll)
-    movq    %rcx, %r10
-    movl    $__NR_ppoll, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__ppoll)
-.hidden __ppoll
-
-ENTRY(process_vm_readv)
-    movq    %rcx, %r10
-    movl    $__NR_process_vm_readv, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(process_vm_readv)
-
-ENTRY(process_vm_writev)
-    movq    %rcx, %r10
-    movl    $__NR_process_vm_writev, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(process_vm_writev)
-
-ENTRY(quotactl)
-    movq    %rcx, %r10
-    movl    $__NR_quotactl, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(quotactl)
-
-ENTRY(__set_tid_address)
-    movl    $__NR_set_tid_address, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__set_tid_address)
-.hidden __set_tid_address
-
-ENTRY(setfsgid)
-    movl    $__NR_setfsgid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setfsgid)
-
-ENTRY(setfsuid)
-    movl    $__NR_setfsuid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setfsuid)
-
-ENTRY(setdomainname)
-    movl    $__NR_setdomainname, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(setdomainname)
-
-ENTRY(sethostname)
-    movl    $__NR_sethostname, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(sethostname)
-
-ENTRY(__sync_file_range)
-    movq    %rcx, %r10
-    movl    $__NR_sync_file_range, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__sync_file_range)
-.hidden __sync_file_range
-
-ENTRY(wait4)
-    movq    %rcx, %r10
-    movl    $__NR_wait4, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(wait4)
-
-ENTRY(__waitid)
-    movq    %rcx, %r10
-    movl    $__NR_waitid, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__waitid)
-.hidden __waitid
-
-ENTRY(__clock_getres)
-    movl    $__NR_clock_getres, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__clock_getres)
-.hidden __clock_getres
-
-ENTRY(__clock_gettime)
-    movl    $__NR_clock_gettime, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__clock_gettime)
-.hidden __clock_gettime
-
-ENTRY(__gettimeofday)
-    movl    $__NR_gettimeofday, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(__gettimeofday)
-.hidden __gettimeofday
-
-ENTRY(getrandom)
-    movl    $__NR_getrandom, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno_internal
-1:
-    ret
-END(getrandom)
diff --git a/libc/kernel/README.md b/libc/kernel/README.md
index d31a658..9036b9f 100644
--- a/libc/kernel/README.md
+++ b/libc/kernel/README.md
@@ -81,10 +81,5 @@
   bionic/libc/kernel/tools/update_all.py
 ```
 
-Finally, run this command to regenerate the syscalls list:
-```
-  bionic/libc/tools/gensyscalls.py
-```
-
 After this, you will need to build/test the tree to make sure that these
 changes do not introduce any errors.
diff --git a/libc/tools/Android.bp b/libc/tools/Android.bp
new file mode 100644
index 0000000..13179a0
--- /dev/null
+++ b/libc/tools/Android.bp
@@ -0,0 +1,4 @@
+filegroup {
+    name: "bionic-gensyscalls",
+    srcs: ["gensyscalls.py"]
+}
diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py
index 9b6dc81..b307486 100755
--- a/libc/tools/gensyscalls.py
+++ b/libc/tools/gensyscalls.py
@@ -8,7 +8,6 @@
 import commands
 import filecmp
 import glob
-import logging
 import os.path
 import re
 import shutil
@@ -478,8 +477,6 @@
 
         self.syscalls.append(t)
 
-        logging.debug(t)
-
     def parse_open_file(self, fp):
         for line in fp:
             self.lineno += 1
@@ -489,64 +486,47 @@
             self.parse_line(line)
 
     def parse_file(self, file_path):
-        logging.debug("parse_file: %s" % file_path)
         with open(file_path) as fp:
             self.parse_open_file(fp)
 
 
-class State:
-    def __init__(self):
-        self.syscalls = []
+def main(arch):
+    parser = SysCallsTxtParser()
+    parser.parse_file(os.path.join(bionic_libc, "SYSCALLS.TXT"))
 
+    for syscall in parser.syscalls:
+        syscall["__NR_name"] = make__NR_name(syscall["name"])
 
-    def process_file(self, input):
-        parser = SysCallsTxtParser()
-        parser.parse_file(input)
-        self.syscalls = parser.syscalls
-        parser = None
+        if syscall.has_key("arm"):
+            syscall["asm-arm"] = add_footer(32, arm_eabi_genstub(syscall), syscall)
 
-        for syscall in self.syscalls:
-            syscall["__NR_name"] = make__NR_name(syscall["name"])
+        if syscall.has_key("arm64"):
+            syscall["asm-arm64"] = add_footer(64, arm64_genstub(syscall), syscall)
 
-            if syscall.has_key("arm"):
-                syscall["asm-arm"] = add_footer(32, arm_eabi_genstub(syscall), syscall)
+        if syscall.has_key("x86"):
+            if syscall["socketcall_id"] >= 0:
+                syscall["asm-x86"] = add_footer(32, x86_genstub_socketcall(syscall), syscall)
+            else:
+                syscall["asm-x86"] = add_footer(32, x86_genstub(syscall), syscall)
+        elif syscall["socketcall_id"] >= 0:
+            E("socketcall_id for dispatch syscalls is only supported for x86 in '%s'" % t)
+            return
 
-            if syscall.has_key("arm64"):
-                syscall["asm-arm64"] = add_footer(64, arm64_genstub(syscall), syscall)
+        if syscall.has_key("mips"):
+            syscall["asm-mips"] = add_footer(32, mips_genstub(syscall), syscall)
 
-            if syscall.has_key("x86"):
-                if syscall["socketcall_id"] >= 0:
-                    syscall["asm-x86"] = add_footer(32, x86_genstub_socketcall(syscall), syscall)
-                else:
-                    syscall["asm-x86"] = add_footer(32, x86_genstub(syscall), syscall)
-            elif syscall["socketcall_id"] >= 0:
-                E("socketcall_id for dispatch syscalls is only supported for x86 in '%s'" % t)
-                return
+        if syscall.has_key("mips64"):
+            syscall["asm-mips64"] = add_footer(64, mips64_genstub(syscall), syscall)
 
-            if syscall.has_key("mips"):
-                syscall["asm-mips"] = add_footer(32, mips_genstub(syscall), syscall)
+        if syscall.has_key("x86_64"):
+            syscall["asm-x86_64"] = add_footer(64, x86_64_genstub(syscall), syscall)
 
-            if syscall.has_key("mips64"):
-                syscall["asm-mips64"] = add_footer(64, mips64_genstub(syscall), syscall)
+    print("/* Generated by gensyscalls.py. Do not edit. */\n")
+    print("#include <private/bionic_asm.h>\n")
+    for syscall in parser.syscalls:
+        if syscall.has_key("asm-%s" % arch):
+            print(syscall["asm-%s" % arch])
 
-            if syscall.has_key("x86_64"):
-                syscall["asm-x86_64"] = add_footer(64, x86_64_genstub(syscall), syscall)
-
-
-    def regenerate(self):
-        for arch in all_arches:
-            filename = '%s/arch-%s/syscalls.S' % (bionic_libc, arch)
-            fp = open(filename, 'w')
-            fp.write("/* Generated by gensyscalls.py. Do not edit. */\n")
-            fp.write("#include <private/bionic_asm.h>\n")
-            for syscall in self.syscalls:
-                if syscall.has_key("asm-%s" % arch):
-                    fp.write(syscall["asm-%s" % arch])
-            fp.close()
-
-logging.basicConfig(level=logging.INFO)
 
 if __name__ == "__main__":
-    state = State()
-    state.process_file(os.path.join(bionic_libc, "SYSCALLS.TXT"))
-    state.regenerate()
+    main(sys.argv[1])
