diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
index c9dcd8f..7b533a4 100644
--- a/PREUPLOAD.cfg
+++ b/PREUPLOAD.cfg
@@ -1,3 +1,2 @@
 [Hook Scripts]
 notice = tools/update_notice.sh
-syscalls = tools/update_syscalls.sh
diff --git a/README.md b/README.md
index 12c5235..5f78249 100644
--- a/README.md
+++ b/README.md
@@ -162,17 +162,16 @@
 
   1. Add entries to SYSCALLS.TXT.
      See SYSCALLS.TXT itself for documentation on the format.
-  2. Run the gensyscalls.py script.
-  3. Add constants (and perhaps types) to the appropriate header file.
+  2. Add constants (and perhaps types) to the appropriate header file.
      Note that you should check to see whether the constants are already in
      kernel uapi header files, in which case you just need to make sure that
      the appropriate POSIX header file in libc/include/ includes the
      relevant file or files.
-  4. Add function declarations to the appropriate header file. Don't forget
+  3. Add function declarations to the appropriate header file. Don't forget
      to include the appropriate `__INTRODUCED_IN()`.
-  5. Add the function name to the correct section in libc/libc.map.txt and
+  4. Add the function name to the correct section in libc/libc.map.txt and
      run `./libc/tools/genversion-scripts.py`.
-  6. Add at least basic tests. Even a test that deliberately supplies
+  5. Add at least basic tests. Even a test that deliberately supplies
      an invalid argument helps check that we're generating the right symbol
      and have the right declaration in the header file, and that you correctly
      updated the maps in step 5. (You can use strace(1) to confirm that the
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])
diff --git a/tools/update_syscalls.sh b/tools/update_syscalls.sh
deleted file mode 100755
index 5e7eb0a..0000000
--- a/tools/update_syscalls.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-cd $DIR/..
-./libc/tools/gensyscalls.py
-
-git diff --exit-code HEAD libc/arch-*/syscalls/
-exit $?
