libc: generate syscall stubs in one big file...
...all the better to switch to a genrule rather than checking in
generated source.
This also removes all the code in the script to deal with git,
rather than fix it. We won't need that where we're going.
Test: boots
Change-Id: I468ce019d4232a7ef27e5cb5cfd89f4c2fe4ecbd
diff --git a/libc/arch-mips64/syscalls.S b/libc/arch-mips64/syscalls.S
new file mode 100644
index 0000000..11e764c
--- /dev/null
+++ b/libc/arch-mips64/syscalls.S
@@ -0,0 +1,4523 @@
+/* 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)