Merge "Use ro.debuggable property instead of checking build type"
diff --git a/docs/status.md b/docs/status.md
index 25f5663..c119439 100644
--- a/docs/status.md
+++ b/docs/status.md
@@ -8,8 +8,14 @@
 
 New libc functions in P:
   * `__freading`/`__fwriting` (completing <stdio_ext.h>)
+  * `endhostent`/endnetent`/`endprotoent`/`getnetent`/`getprotoent`/`sethostent`/`setnetent`/`setprotoent` (completing <netdb.h>)
+  * `getentropy`/`getrandom` (adding <sys/random.h>)
   * `getlogin_r`
+  * `glob`/`globfree` (adding <glob.h>)
+  * `hcreate`/hcreate_r`/`hdestroy`/`hdestroy_r`/`hsearch`/`hsearch_r` (completing <search.h>)
   * `iconv`/`iconv_close`/`iconv_open` (adding <iconv.h>)
+  * `pthread_setschedprio`
+  * <spawn.h>
   * `syncfs`
 
 New libc functions in O:
@@ -56,7 +62,7 @@
 
 Run `./libc/tools/check-symbols-glibc.py` in bionic/ for the current
 list of POSIX functions implemented by glibc but not by bionic. Currently
-(2017-09):
+(2017-10):
 ```
 aio_cancel
 aio_error
@@ -65,47 +71,14 @@
 aio_return
 aio_suspend
 aio_write
-endhostent
-endnetent
-endprotoent
-endutxent
 fexecve
 fmtmsg
 getdate
 getdate_err
-getnetent
-getprotoent
-glob
-globfree
-hcreate
-hdestroy
-hsearch
 lio_listio
-posix_spawn
-posix_spawn_file_actions_addclose
-posix_spawn_file_actions_adddup2
-posix_spawn_file_actions_addopen
-posix_spawn_file_actions_destroy
-posix_spawn_file_actions_init
-posix_spawnattr_destroy
-posix_spawnattr_getflags
-posix_spawnattr_getpgroup
-posix_spawnattr_getschedparam
-posix_spawnattr_getschedpolicy
-posix_spawnattr_getsigdefault
-posix_spawnattr_getsigmask
-posix_spawnattr_init
-posix_spawnattr_setflags
-posix_spawnattr_setpgroup
-posix_spawnattr_setschedparam
-posix_spawnattr_setschedpolicy
-posix_spawnattr_setsigdefault
-posix_spawnattr_setsigmask
-posix_spawnp
 pthread_attr_getinheritsched
 pthread_attr_setinheritsched
 pthread_cancel
-pthread_getconcurrency
 pthread_mutex_consistent
 pthread_mutex_getprioceiling
 pthread_mutex_setprioceiling
@@ -117,12 +90,7 @@
 pthread_mutexattr_setrobust
 pthread_setcancelstate
 pthread_setcanceltype
-pthread_setconcurrency
-pthread_setschedprio
 pthread_testcancel
-sethostent
-setnetent
-setprotoent
 sockatmark
 swab
 wordexp
diff --git a/libc/Android.bp b/libc/Android.bp
index cd01efd..81135ea 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -21,7 +21,6 @@
     "stdio/stdio_ext.cpp",
     "stdio/vfscanf.c",
     "stdio/vfwscanf.c",
-    "stdlib/atexit.c",
     "stdlib/exit.c",
 ]
 
@@ -887,11 +886,6 @@
 cc_library_static {
     defaults: ["libc_defaults"],
     srcs: [
-        // The following implementations depend on pthread data, so we can't
-        // include them in libc_ndk.a.
-        "bionic/__cxa_thread_atexit_impl.cpp",
-        "bionic/fork.cpp",
-
         // The data that backs getauxval is initialized in the libc init
         // functions which are invoked by the linker. If this file is included
         // in libc_ndk.a, only one of the copies of the global data will be
@@ -1396,7 +1390,6 @@
         "bionic/__gnu_basename.cpp",
         "bionic/__libc_current_sigrtmax.cpp",
         "bionic/__libc_current_sigrtmin.cpp",
-        "bionic/__set_errno.cpp",
         "bionic/abort.cpp",
         "bionic/accept.cpp",
         "bionic/accept4.cpp",
@@ -1530,6 +1523,7 @@
         "bionic/sigwait.cpp",
         "bionic/sigwaitinfo.cpp",
         "bionic/socket.cpp",
+        "bionic/spawn.cpp",
         "bionic/stat.cpp",
         "bionic/statvfs.cpp",
         "bionic/stdlib_l.cpp",
@@ -1564,6 +1558,10 @@
         "bionic/wctype.cpp",
         "bionic/wcwidth.cpp",
         "bionic/wmempcpy.cpp",
+
+        // This contains a weak stub implementation of __find_icu_symbol for wctype.cpp,
+        // which will be overridden by the actual one in libc.so.
+        "bionic/icu_static.cpp",
     ],
 
     multilib: {
@@ -1618,6 +1616,12 @@
         "bionic/pthread_setschedparam.cpp",
         "bionic/pthread_sigmask.cpp",
         "bionic/pthread_spinlock.cpp",
+
+        // The following implementations depend on pthread data or implementation,
+        // so we can't include them in libc_ndk.a.
+        "bionic/__cxa_thread_atexit_impl.cpp",
+        "stdlib/atexit.c",
+        "bionic/fork.cpp",
     ],
 
     cppflags: ["-Wold-style-cast"],
@@ -1631,6 +1635,7 @@
 
 cc_library_static {
     defaults: ["libc_defaults"],
+    srcs: ["bionic/__set_errno.cpp"],
     arch: {
         arm: {
             srcs: ["arch-arm/syscalls/**/*.S"],
@@ -1730,9 +1735,8 @@
 }
 
 // ========================================================
-// libc_common.a
+// libc_nopthread.a
 // ========================================================
-
 cc_library_static {
     defaults: ["libc_defaults"],
     srcs: libc_common_src_files,
@@ -1741,7 +1745,7 @@
             srcs: libc_common_src_files_32,
         },
     },
-    name: "libc_common",
+    name: "libc_nopthread",
 
     whole_static_libs: [
         "libc_bionic",
@@ -1756,7 +1760,6 @@
         "libc_openbsd",
         "libc_openbsd_large_stack",
         "libc_openbsd_ndk",
-        "libc_pthread",
         "libc_stack_protector",
         "libc_syscalls",
         "libc_tzcode",
@@ -1771,6 +1774,20 @@
 }
 
 // ========================================================
+// libc_common.a
+// ========================================================
+
+cc_library_static {
+    defaults: ["libc_defaults"],
+    name: "libc_common",
+
+    whole_static_libs: [
+        "libc_nopthread",
+        "libc_pthread",
+    ],
+}
+
+// ========================================================
 // libc_nomalloc.a
 // ========================================================
 //
@@ -1824,7 +1841,6 @@
     static: {
         srcs: [
             "bionic/dl_iterate_phdr_static.cpp",
-            "bionic/icu_static.cpp",
             "bionic/malloc_common.cpp",
         ],
         cflags: ["-DLIBC_STATIC"],
@@ -1962,27 +1978,6 @@
     no_default_compiler_flags: true,
 
     cflags: ["-Wno-gcc-compat", "-Werror"],
-
-    arch: {
-        arm: {
-            local_include_dirs: ["arch-arm/include"],
-        },
-        arm64: {
-            local_include_dirs: ["arch-arm64/include"],
-        },
-        mips: {
-            local_include_dirs: ["arch-mips/include"],
-        },
-        mips64: {
-            local_include_dirs: ["arch-mips64/include"],
-        },
-        x86: {
-            local_include_dirs: ["arch-x86/include"],
-        },
-        x86_64: {
-            local_include_dirs: ["arch-x86_64/include"],
-        },
-    },
 }
 
 cc_defaults {
@@ -2241,54 +2236,6 @@
     license: "NOTICE",
 }
 
-ndk_headers {
-    name: "libc_machine_arm",
-    from: "arch-arm/include",
-    to: "arm-linux-androideabi",
-    srcs: ["arch-arm/include/**/*.h"],
-    license: "NOTICE",
-}
-
-ndk_headers {
-    name: "libc_machine_arm64",
-    from: "arch-arm64/include",
-    to: "aarch64-linux-android",
-    srcs: ["arch-arm64/include/**/*.h"],
-    license: "NOTICE",
-}
-
-ndk_headers {
-    name: "libc_machine_mips",
-    from: "arch-mips/include",
-    to: "mipsel-linux-android",
-    srcs: ["arch-mips/include/**/*.h"],
-    license: "NOTICE",
-}
-
-ndk_headers {
-    name: "libc_machine_mips64",
-    from: "arch-mips/include",
-    to: "mips64el-linux-android",
-    srcs: ["arch-mips/include/**/*.h"],
-    license: "NOTICE",
-}
-
-ndk_headers {
-    name: "libc_machine_x86",
-    from: "arch-x86/include",
-    to: "i686-linux-android",
-    srcs: ["arch-x86/include/**/*.h"],
-    license: "NOTICE",
-}
-
-ndk_headers {
-    name: "libc_machine_x86_64",
-    from: "arch-x86_64/include",
-    to: "x86_64-linux-android",
-    srcs: ["arch-x86_64/include/**/*.h"],
-    license: "NOTICE",
-}
-
 ndk_library {
     name: "libc",
     symbol_file: "libc.map.txt",
@@ -2303,7 +2250,6 @@
     arch: {
         arm: {
             export_include_dirs: [
-                "arch-arm/include",
                 "kernel/uapi",
                 "kernel/uapi/asm-arm",
                 "kernel/android/uapi",
@@ -2311,7 +2257,6 @@
         },
         arm64: {
             export_include_dirs: [
-                "arch-arm64/include",
                 "kernel/uapi",
                 "kernel/uapi/asm-arm64",
                 "kernel/android/uapi",
@@ -2319,7 +2264,6 @@
         },
         mips: {
             export_include_dirs: [
-                "arch-mips/include",
                 "kernel/uapi",
                 "kernel/uapi/asm-mips",
                 "kernel/android/uapi",
@@ -2327,7 +2271,6 @@
         },
         mips64: {
             export_include_dirs: [
-                "arch-mips64/include",
                 "kernel/uapi",
                 "kernel/uapi/asm-mips",
                 "kernel/android/uapi",
@@ -2335,7 +2278,6 @@
         },
         x86: {
             export_include_dirs: [
-                "arch-x86/include",
                 "kernel/uapi",
                 "kernel/uapi/asm-x86",
                 "kernel/android/uapi",
@@ -2343,7 +2285,6 @@
         },
         x86_64: {
             export_include_dirs: [
-                "arch-x86_64/include",
                 "kernel/uapi",
                 "kernel/uapi/asm-x86",
                 "kernel/android/uapi",
diff --git a/libc/NOTICE b/libc/NOTICE
index 32980b7..c0e6265 100644
--- a/libc/NOTICE
+++ b/libc/NOTICE
@@ -2708,39 +2708,6 @@
 Copyright (c) 1992, 1993
    The Regents of the University of California.  All rights reserved.
 
-This code is derived from software contributed to Berkeley by
-Ralph Campbell. This file is derived from the MIPS RISC
-Architecture book by Gerry Kane.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 1992, 1993
-   The Regents of the University of California.  All rights reserved.
-
 This software was developed by the Computer Systems Engineering group
 at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
 contributed to Berkeley.
@@ -4047,42 +4014,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2004 The NetBSD Foundation, Inc.
-All rights reserved.
-
-This code is derived from software contributed to The NetBSD Foundation
-by Christos Zoulas.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. All advertising materials mentioning features or use of this software
-   must display the following acknowledgement:
-       This product includes software developed by the NetBSD
-       Foundation, Inc. and its contributors.
-4. Neither the name of The NetBSD Foundation nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
-``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
 Copyright (c) 1995,1999 by Internet Software Consortium.
 
diff --git a/libc/arch-arm/include/machine/setjmp.h b/libc/arch-arm/include/machine/setjmp.h
deleted file mode 100644
index cc9c347..0000000
--- a/libc/arch-arm/include/machine/setjmp.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* _JBLEN is the size of a jmp_buf in longs.
- * Do not modify this value or you will break the ABI !
- *
- * This value comes from the original OpenBSD ARM-specific header
- * that was replaced by this one.
- */
-#define _JBLEN  64
diff --git a/libc/arch-arm/krait/bionic/memcpy_base.S b/libc/arch-arm/krait/bionic/memcpy_base.S
index 7368e63..dc8ad2c 100644
--- a/libc/arch-arm/krait/bionic/memcpy_base.S
+++ b/libc/arch-arm/krait/bionic/memcpy_base.S
@@ -27,8 +27,6 @@
 
 /* Assumes neon instructions and a cache line size of 64 bytes. */
 
-#include <machine/asm.h>
-
 #define PLDOFFS	(10)
 #define PLDTHRESH (PLDOFFS)
 #define BBTHRESH (4096/64)
diff --git a/libc/arch-arm64/include/machine/setjmp.h b/libc/arch-arm64/include/machine/setjmp.h
deleted file mode 100644
index 27c2fe5..0000000
--- a/libc/arch-arm64/include/machine/setjmp.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* _JBLEN is the size of a jmp_buf in longs (64bit on AArch64) */
-#define _JBLEN 32
diff --git a/libc/arch-mips/bionic/__bionic_clone.S b/libc/arch-mips/bionic/__bionic_clone.S
index a3cacd1..b6056f2 100644
--- a/libc/arch-mips/bionic/__bionic_clone.S
+++ b/libc/arch-mips/bionic/__bionic_clone.S
@@ -33,39 +33,39 @@
 // pid_t __bionic_clone(int flags, void* child_stack, pid_t* parent_tid, void* tls, pid_t* child_tid, int (*fn)(void*), void* arg);
 ENTRY_PRIVATE(__bionic_clone)
         .set	noreorder
-        .cpload t9
+        .cpload $t9
         .set	reorder
 
 	# set up child stack
-	subu	a1,16
-	lw	t0,20(sp)     # fn
-	lw	t1,24(sp)     # arg
-	sw	t0,0(a1)	# fn
-	sw	t1,4(a1)	# arg
+	subu	$a1,16
+	lw	$t0,20($sp)     # fn
+	lw	$t1,24($sp)     # arg
+	sw	$t0,0($a1)	# fn
+	sw	$t1,4($a1)	# arg
 
 	# remainder of arguments are correct for clone system call
-        li	v0,__NR_clone
+        li	$v0,__NR_clone
         syscall
 
-        bnez	a3,.L__error_bc
+        bnez	$a3,.L__error_bc
 
-        beqz	v0,.L__thread_start_bc
+        beqz	$v0,.L__thread_start_bc
 
-        j ra
+        j $ra
 
 .L__thread_start_bc:
         # Clear return address in child so we don't unwind further.
-        li      ra,0
+        li      $ra,0
 
-        lw	a0,0(sp)	#  fn
-        lw	a1,4(sp)	#  arg
+        lw	$a0,0($sp)	#  fn
+        lw	$a1,4($sp)	#  arg
 
 	# void __start_thread(int (*func)(void*), void *arg)
-        la	t9,__start_thread
-        j	t9
+        la	$t9,__start_thread
+        j	$t9
 
 .L__error_bc:
-	move	a0,v0
-	la	t9,__set_errno_internal
-	j	t9
+	move	$a0,$v0
+	la	$t9,__set_errno_internal
+	j	$t9
 END(__bionic_clone)
diff --git a/libc/arch-mips/bionic/_exit_with_stack_teardown.S b/libc/arch-mips/bionic/_exit_with_stack_teardown.S
index 7d47160..566b1c8 100644
--- a/libc/arch-mips/bionic/_exit_with_stack_teardown.S
+++ b/libc/arch-mips/bionic/_exit_with_stack_teardown.S
@@ -30,12 +30,12 @@
 
 // void _exit_with_stack_teardown(void* stackBase, size_t stackSize)
 ENTRY_PRIVATE(_exit_with_stack_teardown)
-	li	v0, __NR_munmap
+	li	$v0, __NR_munmap
 	syscall
 	// If munmap failed, we ignore the failure and exit anyway.
 
-	li	a0, 0
-	li	v0, __NR_exit
+	li	$a0, 0
+	li	$v0, __NR_exit
 	syscall
         // The exit syscall does not return.
 END(_exit_with_stack_teardown)
diff --git a/libc/arch-mips/bionic/setjmp.S b/libc/arch-mips/bionic/setjmp.S
index 3b4ff55..1728054 100644
--- a/libc/arch-mips/bionic/setjmp.S
+++ b/libc/arch-mips/bionic/setjmp.S
@@ -119,7 +119,6 @@
  */
 
 #include <private/bionic_asm.h>
-#include <machine/setjmp.h>
 
 /* jmpbuf is declared to users as an array of longs, which is only
  * 4-byte aligned in 32-bit builds.  The Mips jmpbuf begins with a
@@ -161,10 +160,6 @@
 #define	SC_TOTAL_BYTES	(SC_FPREGS_OFFSET + SC_FPREGS_BYTES)
 #define	SC_TOTAL_LONGS	(SC_TOTAL_BYTES/REGSZ)
 
-#if SC_TOTAL_LONGS > _JBLEN
-#error _JBLEN is too small
-#endif
-
 #define USE_CHECKSUM 1
 
 .macro m_mangle_reg_and_store reg, cookie, temp, offset
@@ -203,138 +198,138 @@
 GPOFF= FRAMESZ-2*REGSZ
 RAOFF= FRAMESZ-1*REGSZ
 
-NON_LEAF(sigsetjmp, FRAMESZ, ra)
+NON_LEAF(sigsetjmp, FRAMESZ, $ra)
 	.mask	0x80000000, RAOFF
-	PTR_SUBU sp, FRAMESZ			# allocate stack frame
+	PTR_SUBU $sp, FRAMESZ			# allocate stack frame
 	SETUP_GP64(GPOFF, sigsetjmp)
 	SAVE_GP(GPOFF)
 	.set	reorder
 
 setjmp_common:
 #ifndef __LP64__
-	li	t0, ~7
-	and	a0, t0				# round jmpbuf addr DOWN to 8-byte boundary
+	li	$t0, ~7
+	and	$a0, $t0				# round jmpbuf addr DOWN to 8-byte boundary
 #endif
-	REG_S	ra, RAOFF(sp)			# spill state
-	REG_S	a0, A0OFF(sp)
+	REG_S	$ra, RAOFF($sp)			# spill state
+	REG_S	$a0, A0OFF($sp)
 
 	# get the cookie and store it along with the signal flag.
-	move	a0, a1
+	move	$a0, $a1
 	jal	__bionic_setjmp_cookie_get
-	REG_L	a0, A0OFF(sp)
+	REG_L	$a0, A0OFF($sp)
 
-	REG_S	v0, SC_FLAG_OFFSET(a0)		# save cookie and savesigs flag
-	andi	t0, v0, 1			# extract savesigs flag
+	REG_S	$v0, SC_FLAG_OFFSET($a0)		# save cookie and savesigs flag
+	andi	$t0, $v0, 1			# extract savesigs flag
 
-	beqz	t0, 1f				# do saving of signal mask?
+	beqz	$t0, 1f				# do saving of signal mask?
 
 	# call sigprocmask(int how ignored, sigset_t* null, sigset_t* SC_MASK(a0)):
-	LA	a2, SC_MASK_OFFSET(a0)		# gets current signal mask
-	li	a0, 0				# how; ignored when new mask is null
-	li	a1, 0				# null new mask
+	LA	$a2, SC_MASK_OFFSET($a0)		# gets current signal mask
+	li	$a0, 0				# how; ignored when new mask is null
+	li	$a1, 0				# null new mask
 	jal	sigprocmask			# get current signal mask
-	REG_L	a0, A0OFF(sp)
+	REG_L	$a0, A0OFF($sp)
 1:
-	REG_L	gp, GPOFF(sp)			# restore spills
-	REG_L	ra, RAOFF(sp)
-	REG_L	t0, SC_FLAG_OFFSET(a0)		# move cookie to temp reg
+	REG_L	$gp, GPOFF($sp)			# restore spills
+	REG_L	$ra, RAOFF($sp)
+	REG_L	$t0, SC_FLAG_OFFSET($a0)		# move cookie to temp reg
 
 	# callee-saved long-sized regs:
-	PTR_ADDU v1, sp, FRAMESZ		# save orig sp
+	PTR_ADDU $v1, $sp, FRAMESZ		# save orig sp
 
 	# m_mangle_reg_and_store reg, cookie, temp, offset
-	m_mangle_reg_and_store	ra, t0, t1, SC_REGS+0*REGSZ(a0)
-	m_mangle_reg_and_store	s0, t0, t2, SC_REGS+1*REGSZ(a0)
-	m_mangle_reg_and_store	s1, t0, t3, SC_REGS+2*REGSZ(a0)
-	m_mangle_reg_and_store	s2, t0, t1, SC_REGS+3*REGSZ(a0)
-	m_mangle_reg_and_store	s3, t0, t2, SC_REGS+4*REGSZ(a0)
-	m_mangle_reg_and_store	s4, t0, t3, SC_REGS+5*REGSZ(a0)
-	m_mangle_reg_and_store	s5, t0, t1, SC_REGS+6*REGSZ(a0)
-	m_mangle_reg_and_store	s6, t0, t2, SC_REGS+7*REGSZ(a0)
-	m_mangle_reg_and_store	s7, t0, t3, SC_REGS+8*REGSZ(a0)
-	m_mangle_reg_and_store	s8, t0, t1, SC_REGS+9*REGSZ(a0)
-	m_mangle_reg_and_store	gp, t0, t2, SC_REGS+10*REGSZ(a0)
-	m_mangle_reg_and_store	v1, t0, t3, SC_REGS+11*REGSZ(a0)
+	m_mangle_reg_and_store	$ra, $t0, $t1, SC_REGS+0*REGSZ($a0)
+	m_mangle_reg_and_store	$s0, $t0, $t2, SC_REGS+1*REGSZ($a0)
+	m_mangle_reg_and_store	$s1, $t0, $t3, SC_REGS+2*REGSZ($a0)
+	m_mangle_reg_and_store	$s2, $t0, $t1, SC_REGS+3*REGSZ($a0)
+	m_mangle_reg_and_store	$s3, $t0, $t2, SC_REGS+4*REGSZ($a0)
+	m_mangle_reg_and_store	$s4, $t0, $t3, SC_REGS+5*REGSZ($a0)
+	m_mangle_reg_and_store	$s5, $t0, $t1, SC_REGS+6*REGSZ($a0)
+	m_mangle_reg_and_store	$s6, $t0, $t2, SC_REGS+7*REGSZ($a0)
+	m_mangle_reg_and_store	$s7, $t0, $t3, SC_REGS+8*REGSZ($a0)
+	m_mangle_reg_and_store	$s8, $t0, $t1, SC_REGS+9*REGSZ($a0)
+	m_mangle_reg_and_store	$gp, $t0, $t2, SC_REGS+10*REGSZ($a0)
+	m_mangle_reg_and_store	$v1, $t0, $t3, SC_REGS+11*REGSZ($a0)
 
-	cfc1	v0, $31
+	cfc1	$v0, $31
 
 #ifdef __LP64__
 	# callee-saved fp regs on mips n64 ABI are $f24..$f31
-	s.d	$f24, SC_FPREGS+0*REGSZ_FP(a0)
-	s.d	$f25, SC_FPREGS+1*REGSZ_FP(a0)
-	s.d	$f26, SC_FPREGS+2*REGSZ_FP(a0)
-	s.d	$f27, SC_FPREGS+3*REGSZ_FP(a0)
-	s.d	$f28, SC_FPREGS+4*REGSZ_FP(a0)
-	s.d	$f29, SC_FPREGS+5*REGSZ_FP(a0)
-	s.d	$f30, SC_FPREGS+6*REGSZ_FP(a0)
-	s.d	$f31, SC_FPREGS+7*REGSZ_FP(a0)
+	s.d	$f24, SC_FPREGS+0*REGSZ_FP($a0)
+	s.d	$f25, SC_FPREGS+1*REGSZ_FP($a0)
+	s.d	$f26, SC_FPREGS+2*REGSZ_FP($a0)
+	s.d	$f27, SC_FPREGS+3*REGSZ_FP($a0)
+	s.d	$f28, SC_FPREGS+4*REGSZ_FP($a0)
+	s.d	$f29, SC_FPREGS+5*REGSZ_FP($a0)
+	s.d	$f30, SC_FPREGS+6*REGSZ_FP($a0)
+	s.d	$f31, SC_FPREGS+7*REGSZ_FP($a0)
 #else
 	# callee-saved fp regs on mips o32 ABI are
 	#   the even-numbered double fp regs $f20,$f22,...$f30
-	s.d	$f20, SC_FPREGS+0*REGSZ_FP(a0)
-	s.d	$f22, SC_FPREGS+1*REGSZ_FP(a0)
-	s.d	$f24, SC_FPREGS+2*REGSZ_FP(a0)
-	s.d	$f26, SC_FPREGS+3*REGSZ_FP(a0)
-	s.d	$f28, SC_FPREGS+4*REGSZ_FP(a0)
-	s.d	$f30, SC_FPREGS+5*REGSZ_FP(a0)
+	s.d	$f20, SC_FPREGS+0*REGSZ_FP($a0)
+	s.d	$f22, SC_FPREGS+1*REGSZ_FP($a0)
+	s.d	$f24, SC_FPREGS+2*REGSZ_FP($a0)
+	s.d	$f26, SC_FPREGS+3*REGSZ_FP($a0)
+	s.d	$f28, SC_FPREGS+4*REGSZ_FP($a0)
+	s.d	$f30, SC_FPREGS+5*REGSZ_FP($a0)
 #endif
-	sw	v0, SC_FPSR_OFFSET(a0)
+	sw	$v0, SC_FPSR_OFFSET($a0)
 #if USE_CHECKSUM
-	m_calculate_checksum t0, a0, t1
-	REG_S t0, SC_CKSUM_OFFSET(a0)
+	m_calculate_checksum $t0, $a0, $t1
+	REG_S $t0, SC_CKSUM_OFFSET($a0)
 #endif
-	move	v0, zero
+	move	$v0, $zero
 	RESTORE_GP64
-	PTR_ADDU sp, FRAMESZ
-	j	ra
+	PTR_ADDU $sp, FRAMESZ
+	j	$ra
 END(sigsetjmp)
 
 
 # Alternate entry points:
 
-NON_LEAF(setjmp, FRAMESZ, ra)
+NON_LEAF(setjmp, FRAMESZ, $ra)
 	.mask	0x80000000, RAOFF
-	PTR_SUBU sp, FRAMESZ
+	PTR_SUBU $sp, FRAMESZ
 	SETUP_GP64(GPOFF, setjmp)		# can't share sigsetjmp's gp code
 	SAVE_GP(GPOFF)
 	.set	reorder
 
-	li	a1, 1				# save/restore signals state
+	li	$a1, 1				# save/restore signals state
 	b	setjmp_common			# tail call
 END(setjmp)
 
 
-NON_LEAF(_setjmp, FRAMESZ, ra)
+NON_LEAF(_setjmp, FRAMESZ, $ra)
 	.mask	0x80000000, RAOFF
-	PTR_SUBU sp, FRAMESZ
+	PTR_SUBU $sp, FRAMESZ
 	SETUP_GP64(GPOFF, _setjmp)		# can't share sigsetjmp's gp code
 	SAVE_GP(GPOFF)
 	.set	reorder
 
-	li	a1, 0				# don't save/restore signals
+	li	$a1, 0				# don't save/restore signals
 	b	setjmp_common			# tail call
 END(_setjmp)
 
 
-NON_LEAF(siglongjmp, FRAMESZ, ra)
+NON_LEAF(siglongjmp, FRAMESZ, $ra)
 	.mask	0x80000000, RAOFF
-	PTR_SUBU sp, FRAMESZ
+	PTR_SUBU $sp, FRAMESZ
 	SETUP_GP64(GPOFF, siglongjmp)
 	SAVE_GP(GPOFF)
 	.set	reorder
 
 #ifndef __LP64__
-	li	t0, ~7
-	and	a0, t0				# round jmpbuf addr DOWN to 8-byte boundary
+	li	$t0, ~7
+	and	$a0, $t0				# round jmpbuf addr DOWN to 8-byte boundary
 #endif
 
-	move	s1, a1				# temp spill
-	move	s0, a0
+	move	$s1, $a1				# temp spill
+	move	$s0, $a0
 
 #if USE_CHECKSUM
-	m_calculate_checksum t0, s0, s2
-	REG_L	s2, SC_CKSUM_OFFSET(s0)
-	beq	t0, s2, 0f
+	m_calculate_checksum $t0, $s0, $s2
+	REG_L	$s2, SC_CKSUM_OFFSET($s0)
+	beq	$t0, $s2, 0f
 	nop
 	jal	__bionic_setjmp_checksum_mismatch
 	nop
@@ -342,75 +337,75 @@
 #endif
 
 	# extract savesigs flag
-	REG_L	s2, SC_FLAG_OFFSET(s0)
-	andi	t0, s2, 1
-	beqz	t0, 1f				# restore signal mask?
+	REG_L	$s2, SC_FLAG_OFFSET($s0)
+	andi	$t0, $s2, 1
+	beqz	$t0, 1f				# restore signal mask?
 
 	# call sigprocmask(int how SIG_SETMASK, sigset_t* SC_MASK(a0), sigset_t* null):
-	LA	a1, SC_MASK_OFFSET(s0)		# signals being restored
-	li	a0, 3				# mips SIG_SETMASK
-	li	a2, 0				# null
+	LA	$a1, SC_MASK_OFFSET($s0)		# signals being restored
+	li	$a0, 3				# mips SIG_SETMASK
+	li	$a2, 0				# null
 	jal	sigprocmask			# restore signal mask
 1:
-	move	t0, s2				# get cookie to temp reg
-	move	a1, s1
-	move	a0, s0
+	move	$t0, $s2				# get cookie to temp reg
+	move	$a1, $s1
+	move	$a0, $s0
 
 	# callee-saved long-sized regs:
 
 	# m_unmangle_reg_and_load reg, cookie, temp, offset
 	# don't restore gp yet, old value is needed for cookie_check call
-	m_unmangle_reg_and_load ra, t0, t1, SC_REGS+0*REGSZ(a0)
-	m_unmangle_reg_and_load s0, t0, t2, SC_REGS+1*REGSZ(a0)
-	m_unmangle_reg_and_load s1, t0, t3, SC_REGS+2*REGSZ(a0)
-	m_unmangle_reg_and_load s2, t0, t1, SC_REGS+3*REGSZ(a0)
-	m_unmangle_reg_and_load s3, t0, t2, SC_REGS+4*REGSZ(a0)
-	m_unmangle_reg_and_load s4, t0, t3, SC_REGS+5*REGSZ(a0)
-	m_unmangle_reg_and_load s5, t0, t1, SC_REGS+6*REGSZ(a0)
-	m_unmangle_reg_and_load s6, t0, t2, SC_REGS+7*REGSZ(a0)
-	m_unmangle_reg_and_load s7, t0, t3, SC_REGS+8*REGSZ(a0)
-	m_unmangle_reg_and_load s8, t0, t1, SC_REGS+9*REGSZ(a0)
-	m_unmangle_reg_and_load v1, t0, t2, SC_REGS+10*REGSZ(a0)
-	m_unmangle_reg_and_load sp, t0, t3, SC_REGS+11*REGSZ(a0)
+	m_unmangle_reg_and_load $ra, $t0, $t1, SC_REGS+0*REGSZ($a0)
+	m_unmangle_reg_and_load $s0, $t0, $t2, SC_REGS+1*REGSZ($a0)
+	m_unmangle_reg_and_load $s1, $t0, $t3, SC_REGS+2*REGSZ($a0)
+	m_unmangle_reg_and_load $s2, $t0, $t1, SC_REGS+3*REGSZ($a0)
+	m_unmangle_reg_and_load $s3, $t0, $t2, SC_REGS+4*REGSZ($a0)
+	m_unmangle_reg_and_load $s4, $t0, $t3, SC_REGS+5*REGSZ($a0)
+	m_unmangle_reg_and_load $s5, $t0, $t1, SC_REGS+6*REGSZ($a0)
+	m_unmangle_reg_and_load $s6, $t0, $t2, SC_REGS+7*REGSZ($a0)
+	m_unmangle_reg_and_load $s7, $t0, $t3, SC_REGS+8*REGSZ($a0)
+	m_unmangle_reg_and_load $s8, $t0, $t1, SC_REGS+9*REGSZ($a0)
+	m_unmangle_reg_and_load $v1, $t0, $t2, SC_REGS+10*REGSZ($a0)
+	m_unmangle_reg_and_load $sp, $t0, $t3, SC_REGS+11*REGSZ($a0)
 
-	lw	v0, SC_FPSR_OFFSET(a0)
-	ctc1	v0, $31			# restore old fr mode before fp values
+	lw	$v0, SC_FPSR_OFFSET($a0)
+	ctc1	$v0, $31			# restore old fr mode before fp values
 #ifdef __LP64__
 	# callee-saved fp regs on mips n64 ABI are $f24..$f31
-	l.d	$f24, SC_FPREGS+0*REGSZ_FP(a0)
-	l.d	$f25, SC_FPREGS+1*REGSZ_FP(a0)
-	l.d	$f26, SC_FPREGS+2*REGSZ_FP(a0)
-	l.d	$f27, SC_FPREGS+3*REGSZ_FP(a0)
-	l.d	$f28, SC_FPREGS+4*REGSZ_FP(a0)
-	l.d	$f29, SC_FPREGS+5*REGSZ_FP(a0)
-	l.d	$f30, SC_FPREGS+6*REGSZ_FP(a0)
-	l.d	$f31, SC_FPREGS+7*REGSZ_FP(a0)
+	l.d	$f24, SC_FPREGS+0*REGSZ_FP($a0)
+	l.d	$f25, SC_FPREGS+1*REGSZ_FP($a0)
+	l.d	$f26, SC_FPREGS+2*REGSZ_FP($a0)
+	l.d	$f27, SC_FPREGS+3*REGSZ_FP($a0)
+	l.d	$f28, SC_FPREGS+4*REGSZ_FP($a0)
+	l.d	$f29, SC_FPREGS+5*REGSZ_FP($a0)
+	l.d	$f30, SC_FPREGS+6*REGSZ_FP($a0)
+	l.d	$f31, SC_FPREGS+7*REGSZ_FP($a0)
 #else
 	# callee-saved fp regs on mips o32 ABI are
 	#   the even-numbered double fp regs $f20,$f22,...$f30
-	l.d	$f20, SC_FPREGS+0*REGSZ_FP(a0)
-	l.d	$f22, SC_FPREGS+1*REGSZ_FP(a0)
-	l.d	$f24, SC_FPREGS+2*REGSZ_FP(a0)
-	l.d	$f26, SC_FPREGS+3*REGSZ_FP(a0)
-	l.d	$f28, SC_FPREGS+4*REGSZ_FP(a0)
-	l.d	$f30, SC_FPREGS+5*REGSZ_FP(a0)
+	l.d	$f20, SC_FPREGS+0*REGSZ_FP($a0)
+	l.d	$f22, SC_FPREGS+1*REGSZ_FP($a0)
+	l.d	$f24, SC_FPREGS+2*REGSZ_FP($a0)
+	l.d	$f26, SC_FPREGS+3*REGSZ_FP($a0)
+	l.d	$f28, SC_FPREGS+4*REGSZ_FP($a0)
+	l.d	$f30, SC_FPREGS+5*REGSZ_FP($a0)
 #endif
 
 	# check cookie
-	PTR_SUBU sp, FRAMESZ
-	REG_S	v1, GPOFF(sp)
-	REG_S	ra, RAOFF(sp)
-	REG_S	a1, A1OFF(sp)
-	move	a0, t0
+	PTR_SUBU $sp, FRAMESZ
+	REG_S	$v1, GPOFF($sp)
+	REG_S	$ra, RAOFF($sp)
+	REG_S	$a1, A1OFF($sp)
+	move	$a0, $t0
 	jal	__bionic_setjmp_cookie_check
-	REG_L	gp, GPOFF(sp)
-	REG_L	ra, RAOFF(sp)
-	REG_L	a1, A1OFF(sp)
-	PTR_ADDU sp, FRAMESZ
+	REG_L	$gp, GPOFF($sp)
+	REG_L	$ra, RAOFF($sp)
+	REG_L	$a1, A1OFF($sp)
+	PTR_ADDU $sp, FRAMESZ
 
-	sltiu	t0, a1, 1		# never return 0!
-	xor	v0, a1, t0
-	j	ra			# return to setjmp call site
+	sltiu	$t0, $a1, 1		# never return 0!
+	xor	$v0, $a1, $t0
+	j	$ra			# return to setjmp call site
 END(siglongjmp)
 
 ALIAS_SYMBOL(longjmp, siglongjmp)
diff --git a/libc/arch-mips/bionic/syscall.S b/libc/arch-mips/bionic/syscall.S
index 5fed0ac..857bbab 100644
--- a/libc/arch-mips/bionic/syscall.S
+++ b/libc/arch-mips/bionic/syscall.S
@@ -36,26 +36,26 @@
 
 ENTRY(syscall)
     .set noreorder
-    .cpload t9
-    move    v0, a0
-    move    a0, a1
-    move    a1, a2
-    move    a2, a3
-    lw      a3, 16(sp)
-    lw      t0, 20(sp)
-    lw      t1, 24(sp)
-    subu    sp, STACKSIZE
-    sw      t0, 16(sp)
-    sw      t1, 20(sp)
+    .cpload $t9
+    move    $v0, $a0
+    move    $a0, $a1
+    move    $a1, $a2
+    move    $a2, $a3
+    lw      $a3, 16($sp)
+    lw      $t0, 20($sp)
+    lw      $t1, 24($sp)
+    subu    $sp, STACKSIZE
+    sw      $t0, 16($sp)
+    sw      $t1, 20($sp)
     syscall
-    addu    sp, STACKSIZE
-    bnez    a3, 1f
-    move    a0, v0
-    j       ra
+    addu    $sp, STACKSIZE
+    bnez    $a3, 1f
+    move    $a0, $v0
+    j       $ra
     nop
 1:
-    la      t9,__set_errno_internal
-    j       t9
+    la      $t9, __set_errno_internal
+    j       $t9
     nop
     .set reorder
 END(syscall)
diff --git a/libc/arch-mips/bionic/vfork.S b/libc/arch-mips/bionic/vfork.S
index 7ccf70b..fdd6a69 100644
--- a/libc/arch-mips/bionic/vfork.S
+++ b/libc/arch-mips/bionic/vfork.S
@@ -35,32 +35,32 @@
 
 ENTRY(vfork)
 	.set	noreorder
-	.cpload	t9
+	.cpload	$t9
 
 	// __get_tls()[TLS_SLOT_THREAD_ID]->cached_pid_ = 0
 	.set	push
 	.set	mips32r2
-	rdhwr	v0, $29			// v0 = tls; kernel trap on mips32r1
+	rdhwr	$v0, $29			// v0 = tls; kernel trap on mips32r1
 	.set	pop
-	lw	v0, REGSZ*1(v0)		// v0 = v0[TLS_SLOT_THREAD_ID ie 1]
-	sw	$0, REGSZ*2+4(v0)	// v0->cached_pid_ = 0
+	lw	$v0, REGSZ*1($v0)		// v0 = v0[TLS_SLOT_THREAD_ID ie 1]
+	sw	$0, REGSZ*2+4($v0)	// v0->cached_pid_ = 0
 
-	li	a0, (CLONE_VM | CLONE_VFORK | SIGCHLD)
-	li	a1, 0
-	li	a2, 0
-	li	a3, 0
-	subu	sp, 8
-	sw	$0, 16(sp)
-	li	v0, __NR_clone
+	li	$a0, (CLONE_VM | CLONE_VFORK | SIGCHLD)
+	li	$a1, 0
+	li	$a2, 0
+	li	$a3, 0
+	subu	$sp, 8
+	sw	$0, 16($sp)
+	li	$v0, __NR_clone
 	syscall
-	addu	sp, 8
-	bnez	a3, 1f
-	 move	a0, v0
+	addu	$sp, 8
+	bnez	$a3, 1f
+	 move	$a0, $v0
 
-	j	ra
+	j	$ra
 	 nop
 1:
-	la	t9, __set_errno_internal
-	j	t9
+	la	$t9, __set_errno_internal
+	j	$t9
 	 nop
 END(vfork)
diff --git a/libc/arch-mips/include/machine/regdef.h b/libc/arch-mips/include/machine/regdef.h
deleted file mode 100644
index 3a7cd68..0000000
--- a/libc/arch-mips/include/machine/regdef.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*	$OpenBSD: regdef.h,v 1.3 2005/08/07 07:29:44 miod Exp $	*/
-
-/*
- * Copyright (c) 1992, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Ralph Campbell. This file is derived from the MIPS RISC
- * Architecture book by Gerry Kane.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)regdef.h	8.1 (Berkeley) 6/10/93
- */
-#ifndef _MIPS_REGDEF_H_
-#define _MIPS_REGDEF_H_
-
-#if (_MIPS_SIM == _ABI64) && !defined(__mips_n64)
-#define __mips_n64 1
-#endif
-#if (_MIPS_SIM == _ABIN32) &&  !defined(__mips_n32)
-#define __mips_n32 1
-#endif
-
-#define zero	$0	/* always zero */
-#define AT	$at	/* assembler temp */
-#define v0	$2	/* return value */
-#define v1	$3
-#define a0	$4	/* argument registers */
-#define a1	$5
-#define a2	$6
-#define a3	$7
-#if defined(__mips_n32) || defined(__mips_n64)
-#define a4	$8	/* expanded register arguments */
-#define a5	$9
-#define a6	$10
-#define a7	$11
-#define ta0	$8	/* alias */
-#define ta1	$9
-#define ta2	$10
-#define ta3	$11
-#define t0	$12	/* temp registers (not saved across subroutine calls) */
-#define t1	$13
-#define t2	$14
-#define t3	$15
-#else
-#define t0	$8	/* temp registers (not saved across subroutine calls) */
-#define t1	$9
-#define t2	$10
-#define t3	$11
-#define t4	$12
-#define t5	$13
-#define t6	$14
-#define t7	$15
-#define ta0	$12	/* alias */
-#define ta1	$13
-#define ta2	$14
-#define ta3	$15
-#endif
-#define s0	$16	/* saved across subroutine calls (callee saved) */
-#define s1	$17
-#define s2	$18
-#define s3	$19
-#define s4	$20
-#define s5	$21
-#define s6	$22
-#define s7	$23
-#define t8	$24	/* two more temp registers */
-#define t9	$25
-#define k0	$26	/* kernel temporary */
-#define k1	$27
-#define gp	$28	/* global pointer */
-#define sp	$29	/* stack pointer */
-#define s8	$30	/* one more callee saved */
-#define ra	$31	/* return address */
-
-#endif /* !_MIPS_REGDEF_H_ */
diff --git a/libc/arch-mips/include/machine/setjmp.h b/libc/arch-mips/include/machine/setjmp.h
deleted file mode 100644
index 4067d51..0000000
--- a/libc/arch-mips/include/machine/setjmp.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*	$OpenBSD: setjmp.h,v 1.2 2004/08/10 21:10:56 pefo Exp $	*/
-
-/* Public domain */
-
-#ifndef _MIPS_SETJMP_H_
-#define _MIPS_SETJMP_H_
-
-#ifdef __LP64__
-#define	_JBLEN	25	/* size, in 8-byte longs, of a mips64 jmp_buf/sigjmp_buf */
-#else
-#define	_JBLEN	157	/* historical size, in 4-byte longs, of a mips32 jmp_buf */
-			/* actual used size is 34 */
-#endif
-
-#endif /* !_MIPS_SETJMP_H_ */
diff --git a/libc/arch-mips/include/sgidefs.h b/libc/arch-mips/include/sgidefs.h
deleted file mode 100644
index 8b37bf0..0000000
--- a/libc/arch-mips/include/sgidefs.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _SGIDEFS_H_
-#define _SGIDEFS_H_
-
-#include <asm/sgidefs.h>
-
-#endif /* _SGIDEFS_H_ */
diff --git a/libc/arch-mips/string/memset.S b/libc/arch-mips/string/memset.S
index 7ea6753..85ba2e9 100644
--- a/libc/arch-mips/string/memset.S
+++ b/libc/arch-mips/string/memset.S
@@ -209,12 +209,12 @@
 LEAF(__memset_chk)
 #endif
 	.set	noreorder
-        sltu    t2, a3, a2
-        beq     t2, zero, memset
+        sltu    $t2, $a3, $a2
+        beq     $t2, $zero, memset
         nop
-        .cpsetup t9, t8, __memset_chk
-        LA      t9, __memset_chk_fail
-        jr      t9
+        .cpsetup $t9, $t8, __memset_chk
+        LA      $t9, __memset_chk_fail
+        jr      $t9
         nop
         .set	reorder
 END(__memset_chk)
@@ -229,41 +229,41 @@
 	.set	noreorder
 /* If the size is less than 2*NSIZE (8 or 16), go to L(lastb).  Regardless of
    size, copy dst pointer to v0 for the return value.  */
-	slti	t2,a2,(2 * NSIZE)
-	bne	t2,zero,L(lastb)
-	move	v0,a0
+	slti	$t2,$a2,(2 * NSIZE)
+	bne	$t2,$zero,L(lastb)
+	move	$v0,$a0
 
 /* If memset value is not zero, we copy it to all the bytes in a 32 or 64
    bit word.  */
-	beq	a1,zero,L(set0)		/* If memset value is zero no smear  */
-	PTR_SUBU a3,zero,a0
+	beq	$a1,$zero,L(set0)		/* If memset value is zero no smear  */
+	PTR_SUBU $a3,$zero,$a0
 	nop
 
 	/* smear byte into 32 or 64 bit word */
 #if ((__mips == 64) || (__mips == 32)) && (__mips_isa_rev >= 2)
 # ifdef USE_DOUBLE
-	dins	a1, a1, 8, 8        /* Replicate fill byte into half-word.  */
-	dins	a1, a1, 16, 16      /* Replicate fill byte into word.       */
-	dins	a1, a1, 32, 32      /* Replicate fill byte into dbl word.   */
+	dins	$a1, $a1, 8, 8        /* Replicate fill byte into half-word.  */
+	dins	$a1, $a1, 16, 16      /* Replicate fill byte into word.       */
+	dins	$a1, $a1, 32, 32      /* Replicate fill byte into dbl word.   */
 # else
-	ins	a1, a1, 8, 8        /* Replicate fill byte into half-word.  */
-	ins	a1, a1, 16, 16      /* Replicate fill byte into word.       */
+	ins	$a1, $a1, 8, 8        /* Replicate fill byte into half-word.  */
+	ins	$a1, $a1, 16, 16      /* Replicate fill byte into word.       */
 # endif
 #else
 # ifdef USE_DOUBLE
-        and     a1,0xff
-	dsll	t2,a1,8
-	or	a1,t2
-	dsll	t2,a1,16
-	or	a1,t2
-	dsll	t2,a1,32
-	or	a1,t2
+        and     $a1,0xff
+	dsll	$t2,$a1,8
+	or	$a1,$t2
+	dsll	$t2,$a1,16
+	or	$a1,$t2
+	dsll	$t2,$a1,32
+	or	$a1,$t2
 # else
-        and     a1,0xff
-	sll	t2,a1,8
-	or	a1,t2
-	sll	t2,a1,16
-	or	a1,t2
+        and     $a1,0xff
+	sll	$t2,$a1,8
+	or	$a1,$t2
+	sll	$t2,$a1,16
+	or	$a1,$t2
 # endif
 #endif
 
@@ -271,16 +271,16 @@
    aligned.  If it is already aligned just jump to L(aligned).  */
 L(set0):
 #ifndef R6_CODE
-	andi	t2,a3,(NSIZE-1)		/* word-unaligned address?          */
-	beq	t2,zero,L(aligned)	/* t2 is the unalignment count      */
-	PTR_SUBU a2,a2,t2
-	C_STHI	a1,0(a0)
-	PTR_ADDU a0,a0,t2
+	andi	$t2,$a3,(NSIZE-1)		/* word-unaligned address?          */
+	beq	$t2,$zero,L(aligned)	/* t2 is the unalignment count      */
+	PTR_SUBU $a2,$a2,$t2
+	C_STHI	$a1,0($a0)
+	PTR_ADDU $a0,$a0,$t2
 #else /* R6_CODE */
-	andi	t2,a0,(NSIZE-1)
-	lapc	t9,L(atable)
-	PTR_LSA	t9,t2,t9,2
-	jrc	t9
+	andi	$t2,$a0,(NSIZE-1)
+	lapc	$t9,L(atable)
+	PTR_LSA	$t9,$t2,$t9,2
+	jrc	$t9
 L(atable):
 	bc	L(aligned)
 # ifdef USE_DOUBLE
@@ -293,24 +293,24 @@
 	bc	L(lb2)
 	bc	L(lb1)
 L(lb7):
-	sb	a1,6(a0)
+	sb	$a1,6($a0)
 L(lb6):
-	sb	a1,5(a0)
+	sb	$a1,5($a0)
 L(lb5):
-	sb	a1,4(a0)
+	sb	$a1,4($a0)
 L(lb4):
-	sb	a1,3(a0)
+	sb	$a1,3($a0)
 L(lb3):
-	sb	a1,2(a0)
+	sb	$a1,2($a0)
 L(lb2):
-	sb	a1,1(a0)
+	sb	$a1,1($a0)
 L(lb1):
-	sb	a1,0(a0)
+	sb	$a1,0($a0)
 
-	li	t9,NSIZE
-	subu	t2,t9,t2
-	PTR_SUBU a2,a2,t2
-	PTR_ADDU a0,a0,t2
+	li	$t9,NSIZE
+	subu	$t2,$t9,$t2
+	PTR_SUBU $a2,$a2,$t2
+	PTR_ADDU $a0,$a0,$t2
 #endif /* R6_CODE */
 
 L(aligned):
@@ -320,11 +320,11 @@
    byte stores into one 8 byte store).  We know there are at least 4 bytes
    left to store or we would have jumped to L(lastb) earlier in the code.  */
 #ifdef DOUBLE_ALIGN
-	andi	t2,a3,4
-	beq	t2,zero,L(double_aligned)
-	PTR_SUBU a2,a2,t2
-	sw	a1,0(a0)
-	PTR_ADDU a0,a0,t2
+	andi	$t2,$a3,4
+	beq	$t2,$zero,L(double_aligned)
+	PTR_SUBU $a2,$a2,$t2
+	sw	$a1,0($a0)
+	PTR_ADDU $a0,$a0,$t2
 L(double_aligned):
 #endif
 
@@ -333,10 +333,10 @@
    chunks are copied and a3 to the dest pointer after all the 64/128 byte
    chunks have been copied.  We will loop, incrementing a0 until it equals
    a3.  */
-	andi	t8,a2,NSIZEDMASK /* any whole 64-byte/128-byte chunks? */
-	beq	a2,t8,L(chkw)	 /* if a2==t8, no 64-byte/128-byte chunks */
-	PTR_SUBU a3,a2,t8	 /* subtract from a2 the reminder */
-	PTR_ADDU a3,a0,a3	 /* Now a3 is the final dst after loop */
+	andi	$t8,$a2,NSIZEDMASK /* any whole 64-byte/128-byte chunks? */
+	beq	$a2,$t8,L(chkw)	 /* if a2==t8, no 64-byte/128-byte chunks */
+	PTR_SUBU $a3,$a2,$t8	 /* subtract from a2 the reminder */
+	PTR_ADDU $a3,$a0,$a3	 /* Now a3 is the final dst after loop */
 
 /* When in the loop we may prefetch with the 'prepare to store' hint,
    in this case the a0+x should not be past the "t0-32" address.  This
@@ -345,68 +345,68 @@
    will use "prefetch hint,128(a0)", so "t0-160" is the limit.  */
 #if defined(USE_PREFETCH) \
     && (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE)
-	PTR_ADDU t0,a0,a2		/* t0 is the "past the end" address */
-	PTR_SUBU t9,t0,PREFETCH_LIMIT	/* t9 is the "last safe pref" address */
+	PTR_ADDU $t0,$a0,$a2		/* t0 is the "past the end" address */
+	PTR_SUBU $t9,$t0,PREFETCH_LIMIT	/* t9 is the "last safe pref" address */
 #endif
 #if defined(USE_PREFETCH) \
     && (PREFETCH_STORE_HINT != PREFETCH_HINT_PREPAREFORSTORE)
-	PREFETCH_FOR_STORE (1, a0)
-	PREFETCH_FOR_STORE (2, a0)
-	PREFETCH_FOR_STORE (3, a0)
+	PREFETCH_FOR_STORE (1, $a0)
+	PREFETCH_FOR_STORE (2, $a0)
+	PREFETCH_FOR_STORE (3, $a0)
 #endif
 
 L(loop16w):
 #if defined(USE_PREFETCH) \
     && (PREFETCH_STORE_HINT == PREFETCH_HINT_PREPAREFORSTORE)
-	sltu	v1,t9,a0		/* If a0 > t9 don't use next prefetch */
-	bgtz	v1,L(skip_pref)
+	sltu	$v1,$t9,$a0		/* If a0 > t9 don't use next prefetch */
+	bgtz	$v1,L(skip_pref)
 	nop
 #endif
 #ifndef R6_CODE
-	PREFETCH_FOR_STORE (4, a0)
-	PREFETCH_FOR_STORE (5, a0)
+	PREFETCH_FOR_STORE (4, $a0)
+	PREFETCH_FOR_STORE (5, $a0)
 #else
-	PREFETCH_FOR_STORE (2, a0)
+	PREFETCH_FOR_STORE (2, $a0)
 #endif
 L(skip_pref):
-	C_ST	a1,UNIT(0)(a0)
-	C_ST	a1,UNIT(1)(a0)
-	C_ST	a1,UNIT(2)(a0)
-	C_ST	a1,UNIT(3)(a0)
-	C_ST	a1,UNIT(4)(a0)
-	C_ST	a1,UNIT(5)(a0)
-	C_ST	a1,UNIT(6)(a0)
-	C_ST	a1,UNIT(7)(a0)
-	C_ST	a1,UNIT(8)(a0)
-	C_ST	a1,UNIT(9)(a0)
-	C_ST	a1,UNIT(10)(a0)
-	C_ST	a1,UNIT(11)(a0)
-	C_ST	a1,UNIT(12)(a0)
-	C_ST	a1,UNIT(13)(a0)
-	C_ST	a1,UNIT(14)(a0)
-	C_ST	a1,UNIT(15)(a0)
-	PTR_ADDIU a0,a0,UNIT(16)	/* adding 64/128 to dest */
-	bne	a0,a3,L(loop16w)
+	C_ST	$a1,UNIT(0)($a0)
+	C_ST	$a1,UNIT(1)($a0)
+	C_ST	$a1,UNIT(2)($a0)
+	C_ST	$a1,UNIT(3)($a0)
+	C_ST	$a1,UNIT(4)($a0)
+	C_ST	$a1,UNIT(5)($a0)
+	C_ST	$a1,UNIT(6)($a0)
+	C_ST	$a1,UNIT(7)($a0)
+	C_ST	$a1,UNIT(8)($a0)
+	C_ST	$a1,UNIT(9)($a0)
+	C_ST	$a1,UNIT(10)($a0)
+	C_ST	$a1,UNIT(11)($a0)
+	C_ST	$a1,UNIT(12)($a0)
+	C_ST	$a1,UNIT(13)($a0)
+	C_ST	$a1,UNIT(14)($a0)
+	C_ST	$a1,UNIT(15)($a0)
+	PTR_ADDIU $a0,$a0,UNIT(16)	/* adding 64/128 to dest */
+	bne	$a0,$a3,L(loop16w)
 	nop
-	move	a2,t8
+	move	$a2,$t8
 
 /* Here we have dest word-aligned but less than 64-bytes or 128 bytes to go.
    Check for a 32(64) byte chunk and copy if if there is one.  Otherwise
    jump down to L(chk1w) to handle the tail end of the copy.  */
 L(chkw):
-	andi	t8,a2,NSIZEMASK	/* is there a 32-byte/64-byte chunk.  */
+	andi	$t8,$a2,NSIZEMASK	/* is there a 32-byte/64-byte chunk.  */
 				/* the t8 is the reminder count past 32-bytes */
-	beq	a2,t8,L(chk1w)/* when a2==t8, no 32-byte chunk */
+	beq	$a2,$t8,L(chk1w)/* when a2==t8, no 32-byte chunk */
 	nop
-	C_ST	a1,UNIT(0)(a0)
-	C_ST	a1,UNIT(1)(a0)
-	C_ST	a1,UNIT(2)(a0)
-	C_ST	a1,UNIT(3)(a0)
-	C_ST	a1,UNIT(4)(a0)
-	C_ST	a1,UNIT(5)(a0)
-	C_ST	a1,UNIT(6)(a0)
-	C_ST	a1,UNIT(7)(a0)
-	PTR_ADDIU a0,a0,UNIT(8)
+	C_ST	$a1,UNIT(0)($a0)
+	C_ST	$a1,UNIT(1)($a0)
+	C_ST	$a1,UNIT(2)($a0)
+	C_ST	$a1,UNIT(3)($a0)
+	C_ST	$a1,UNIT(4)($a0)
+	C_ST	$a1,UNIT(5)($a0)
+	C_ST	$a1,UNIT(6)($a0)
+	C_ST	$a1,UNIT(7)($a0)
+	PTR_ADDIU $a0,$a0,UNIT(8)
 
 /* Here we have less than 32(64) bytes to set.  Set up for a loop to
    copy one word (or double word) at a time.  Set a2 to count how many
@@ -414,27 +414,27 @@
    copied and a3 to the dest pointer after all the (d)word chunks have
    been copied.  We will loop, incrementing a0 until a0 equals a3.  */
 L(chk1w):
-	andi	a2,t8,(NSIZE-1)	/* a2 is the reminder past one (d)word chunks */
-	beq	a2,t8,L(lastb)
-	PTR_SUBU a3,t8,a2	/* a3 is count of bytes in one (d)word chunks */
-	PTR_ADDU a3,a0,a3	/* a3 is the dst address after loop */
+	andi	$a2,$t8,(NSIZE-1)	/* a2 is the reminder past one (d)word chunks */
+	beq	$a2,$t8,L(lastb)
+	PTR_SUBU $a3,$t8,$a2	/* a3 is count of bytes in one (d)word chunks */
+	PTR_ADDU $a3,$a0,$a3	/* a3 is the dst address after loop */
 
 /* copying in words (4-byte or 8 byte chunks) */
 L(wordCopy_loop):
-	PTR_ADDIU a0,a0,UNIT(1)
-	bne	a0,a3,L(wordCopy_loop)
-	C_ST	a1,UNIT(-1)(a0)
+	PTR_ADDIU $a0,$a0,UNIT(1)
+	bne	$a0,$a3,L(wordCopy_loop)
+	C_ST	$a1,UNIT(-1)($a0)
 
 /* Copy the last 8 (or 16) bytes */
 L(lastb):
-	blez	a2,L(leave)
-	PTR_ADDU a3,a0,a2       /* a3 is the last dst address */
+	blez	$a2,L(leave)
+	PTR_ADDU $a3,$a0,$a2       /* a3 is the last dst address */
 L(lastbloop):
-	PTR_ADDIU a0,a0,1
-	bne	a0,a3,L(lastbloop)
-	sb	a1,-1(a0)
+	PTR_ADDIU $a0,$a0,1
+	bne	$a0,$a3,L(lastbloop)
+	sb	$a1,-1($a0)
 L(leave):
-	j	ra
+	j	$ra
 	nop
 
 	.set	at
diff --git a/libc/arch-mips/string/strcmp.S b/libc/arch-mips/string/strcmp.S
index e1faf2d..4791a0d 100644
--- a/libc/arch-mips/string/strcmp.S
+++ b/libc/arch-mips/string/strcmp.S
@@ -100,18 +100,18 @@
    instructions so that the nop is not needed but testing showed that this
    code is actually faster (based on glibc strcmp test).  */
 #define BYTECMP01(OFFSET) \
-    lbu v0, OFFSET(a0); \
-    lbu v1, OFFSET(a1); \
-    beq v0, zero, L(bexit01); \
+    lbu $v0, OFFSET($a0); \
+    lbu $v1, OFFSET($a1); \
+    beq $v0, $zero, L(bexit01); \
     nop; \
-    bne v0, v1, L(bexit01)
+    bne $v0, $v1, L(bexit01)
 
 #define BYTECMP89(OFFSET) \
-    lbu t8, OFFSET(a0); \
-    lbu t9, OFFSET(a1); \
-    beq t8, zero, L(bexit89); \
+    lbu $t8, OFFSET($a0); \
+    lbu $t9, OFFSET($a1); \
+    beq $t8, $zero, L(bexit89); \
     nop;    \
-    bne t8, t9, L(bexit89)
+    bne $t8, $t9, L(bexit89)
 
 /* Allow the routine to be named something else if desired.  */
 #ifndef STRCMP_NAME
@@ -126,46 +126,46 @@
     .set    nomips16
     .set    noreorder
 
-    andi t1, a1, (NSIZE - 1)
-    beqz t1, L(exitalign)
-    or   t0, zero, NSIZE
-    SUBU t1, t0, t1 #process (NSIZE - 1) bytes at max
+    andi $t1, $a1, (NSIZE - 1)
+    beqz $t1, L(exitalign)
+    or   $t0, $zero, NSIZE
+    SUBU $t1, $t0, $t1 #process (NSIZE - 1) bytes at max
 
 L(alignloop): #do by bytes until a1 aligned
     BYTECMP01(0)
-    SUBU t1, t1, 0x1
-    PTR_ADDIU a0, a0, 0x1
-    bnez  t1, L(alignloop)
-    PTR_ADDIU a1, a1, 0x1
+    SUBU $t1, $t1, 0x1
+    PTR_ADDIU $a0, $a0, 0x1
+    bnez  $t1, L(alignloop)
+    PTR_ADDIU $a1, $a1, 0x1
 
 L(exitalign):
 
 /* string a1 is NSIZE byte aligned at this point. */
 
-    lui t8, 0x0101
-    ori t8, 0x0101
-    lui t9, 0x7f7f
-    ori t9, 0x7f7f
+    lui $t8, 0x0101
+    ori $t8, 0x0101
+    lui $t9, 0x7f7f
+    ori $t9, 0x7f7f
 #if __mips64
-    dsll t1, t8, 32
-    or  t8, t1
-    dsll t1, t9, 32
-    or  t9, t1
+    dsll $t1, $t8, 32
+    or  $t8, $t1
+    dsll $t1, $t9, 32
+    or  $t9, $t1
 #endif
 
-    andi t2, a0, (NSIZE - 1) #check if a0 aligned
-    SUBU t3, t0, t2 #t3 will be used as shifter
-    bnez t2, L(uloopenter)
-    SUBU a2, a0, t2 #bring back a0 to aligned position
+    andi $t2, $a0, (NSIZE - 1) #check if a0 aligned
+    SUBU $t3, $t0, $t2 #t3 will be used as shifter
+    bnez $t2, L(uloopenter)
+    SUBU $a2, $a0, $t2 #bring back a0 to aligned position
 
 #define STRCMPW(OFFSET) \
-    LW   v0, OFFSET(a0); \
-    LW   v1, OFFSET(a1); \
-    SUBU t0, v0, t8; \
-    bne  v0, v1, L(worddiff); \
-    nor  t1, v0, t9; \
-    and  t0, t0, t1; \
-    bne  t0, zero, L(returnzero);\
+    LW   $v0, OFFSET($a0); \
+    LW   $v1, OFFSET($a1); \
+    SUBU $t0, $v0, $t8; \
+    bne  $v0, $v1, L(worddiff); \
+    nor  $t1, $v0, $t9; \
+    and  $t0, $t0, $t1; \
+    bne  $t0, $zero, L(returnzero);\
 
 L(wordloop):
     STRCMPW(0 * NSIZE)
@@ -183,34 +183,34 @@
     STRCMPW(6 * NSIZE)
     DELAY_READ
     STRCMPW(7 * NSIZE)
-    PTR_ADDIU a0, a0, (8 * NSIZE)
+    PTR_ADDIU $a0, $a0, (8 * NSIZE)
     b   L(wordloop)
-    PTR_ADDIU a1, a1, (8 * NSIZE)
+    PTR_ADDIU $a1, $a1, (8 * NSIZE)
 
 #define USTRCMPW(OFFSET) \
-    LW  v1, OFFSET(a1); \
-    SUBU    t0, v0, t8; \
-    nor t1, v0, t9; \
-    and t0, t0, t1; \
-    bne t0, zero, L(worddiff); \
-    SRL v0, t2; \
-    LW  a3, (OFFSET + NSIZE)(a2); \
-    SUBU    t0, v1, t8; \
-    SLL t1, a3, t3; \
-    or v0, v0, t1; \
-    bne v0, v1, L(worddiff); \
-    nor t1, v1, t9; \
-    and t0, t0, t1; \
-    bne t0, zero, L(returnzero); \
-    move v0, a3;\
+    LW  $v1, OFFSET($a1); \
+    SUBU    $t0, $v0, $t8; \
+    nor $t1, $v0, $t9; \
+    and $t0, $t0, $t1; \
+    bne $t0, $zero, L(worddiff); \
+    SRL $v0, $t2; \
+    LW  $a3, (OFFSET + NSIZE)($a2); \
+    SUBU    $t0, $v1, $t8; \
+    SLL $t1, $a3, $t3; \
+    or $v0, $v0, $t1; \
+    bne $v0, $v1, L(worddiff); \
+    nor $t1, $v1, $t9; \
+    and $t0, $t0, $t1; \
+    bne $t0, $zero, L(returnzero); \
+    move $v0, $a3;\
 
 L(uloopenter):
-    LW  v0, 0(a2)
-    SLL t2, 3  #multiply by 8
-    SLL t3, 3  #multiply by 8
-    li  a3, -1 #all 1s
-    SRL a3, t3
-    or v0, a3 #replace with all 1s if zeros in unintented read
+    LW  $v0, 0($a2)
+    SLL $t2, 3  #multiply by 8
+    SLL $t3, 3  #multiply by 8
+    li  $a3, -1 #all 1s
+    SRL $a3, $t3
+    or $v0, $a3 #replace with all 1s if zeros in unintented read
 
 L(uwordloop):
     USTRCMPW(0 * NSIZE)
@@ -221,114 +221,114 @@
     USTRCMPW(5 * NSIZE)
     USTRCMPW(6 * NSIZE)
     USTRCMPW(7 * NSIZE)
-    PTR_ADDIU a2, a2, (8 * NSIZE)
+    PTR_ADDIU $a2, $a2, (8 * NSIZE)
     b   L(uwordloop)
-    PTR_ADDIU a1, a1, (8 * NSIZE)
+    PTR_ADDIU $a1, $a1, (8 * NSIZE)
 
 L(returnzero):
-    j   ra
-    move    v0, zero
+    j   $ra
+    move    $v0, $zero
 
 #if __mips_isa_rev > 1
 #define EXT_COMPARE01(POS) \
-    EXT t0, v0, POS, 8; \
-    beq t0, zero, L(wexit01); \
-    EXT t1, v1, POS, 8; \
-    bne t0, t1, L(wexit01)
+    EXT $t0, $v0, POS, 8; \
+    beq $t0, $zero, L(wexit01); \
+    EXT $t1, $v1, POS, 8; \
+    bne $t0, $t1, L(wexit01)
 #define EXT_COMPARE89(POS) \
-    EXT t8, v0, POS, 8; \
-    beq t8, zero, L(wexit89); \
-    EXT t9, v1, POS, 8; \
-    bne t8, t9, L(wexit89)
+    EXT $t8, $v0, POS, 8; \
+    beq $t8, $zero, L(wexit89); \
+    EXT $t9, $v1, POS, 8; \
+    bne $t8, $t9, L(wexit89)
 #else
 #define EXT_COMPARE01(POS) \
-    SRL  t0, v0, POS; \
-    SRL  t1, v1, POS; \
-    andi t0, t0, 0xff; \
-    beq  t0, zero, L(wexit01); \
-    andi t1, t1, 0xff; \
-    bne  t0, t1, L(wexit01)
+    SRL  $t0, $v0, POS; \
+    SRL  $t1, $v1, POS; \
+    andi $t0, $t0, 0xff; \
+    beq  $t0, $zero, L(wexit01); \
+    andi $t1, $t1, 0xff; \
+    bne  $t0, $t1, L(wexit01)
 #define EXT_COMPARE89(POS) \
-    SRL  t8, v0, POS; \
-    SRL  t9, v1, POS; \
-    andi t8, t8, 0xff; \
-    beq  t8, zero, L(wexit89); \
-    andi t9, t9, 0xff; \
-    bne  t8, t9, L(wexit89)
+    SRL  $t8, $v0, POS; \
+    SRL  $t9, $v1, POS; \
+    andi $t8, $t8, 0xff; \
+    beq  $t8, $zero, L(wexit89); \
+    andi $t9, $t9, 0xff; \
+    bne  $t8, $t9, L(wexit89)
 #endif
 
 L(worddiff):
 #ifdef USE_CLZ
-    SUBU    t0, v0, t8
-    nor t1, v0, t9
-    and t1, t0, t1
-    xor t0, v0, v1
-    or  t0, t0, t1
+    SUBU    $t0, $v0, $t8
+    nor $t1, $v0, $t9
+    and $t1, $t0, $t1
+    xor $t0, $v0, $v1
+    or  $t0, $t0, $t1
 # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-    wsbh    t0, t0
-    rotr    t0, t0, 16
+    wsbh    $t0, $t0
+    rotr    $t0, $t0, 16
 # endif
-    clz t1, t0
-    and t1, 0xf8
+    clz $t1, $t0
+    and $t1, 0xf8
 # if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-    neg t1
-    addu    t1, 24
+    neg $t1
+    addu    $t1, 24
 # endif
-    rotrv   v0, v0, t1
-    rotrv   v1, v1, t1
-    and v0, v0, 0xff
-    and v1, v1, 0xff
-    j   ra
-    SUBU    v0, v0, v1
+    rotrv   $v0, $v0, $t1
+    rotrv   $v1, $v1, $t1
+    and $v0, $v0, 0xff
+    and $v1, $v1, 0xff
+    j   $ra
+    SUBU    $v0, $v0, $v1
 #else /* USE_CLZ */
 # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-    andi    t0, v0, 0xff
-    beq t0, zero, L(wexit01)
-    andi    t1, v1, 0xff
-    bne t0, t1, L(wexit01)
+    andi    $t0, $v0, 0xff
+    beq $t0, $zero, L(wexit01)
+    andi    $t1, $v1, 0xff
+    bne $t0, $t1, L(wexit01)
     EXT_COMPARE89(8)
     EXT_COMPARE01(16)
 #ifndef __mips64
-    SRL t8, v0, 24
-    SRL t9, v1, 24
+    SRL $t8, $v0, 24
+    SRL $t9, $v1, 24
 #else
     EXT_COMPARE89(24)
     EXT_COMPARE01(32)
     EXT_COMPARE89(40)
     EXT_COMPARE01(48)
-    SRL t8, v0, 56
-    SRL t9, v1, 56
+    SRL $t8, $v0, 56
+    SRL $t9, $v1, 56
 #endif
 
 # else /* __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ */
 #ifdef __mips64
-    SRL t0, v0, 56
-    beq t0, zero, L(wexit01)
-    SRL t1, v1, 56
-    bne t0, t1, L(wexit01)
+    SRL $t0, $v0, 56
+    beq $t0, $zero, L(wexit01)
+    SRL $t1, $v1, 56
+    bne $t0, $t1, L(wexit01)
     EXT_COMPARE89(48)
     EXT_COMPARE01(40)
     EXT_COMPARE89(32)
     EXT_COMPARE01(24)
 #else
-    SRL t0, v0, 24
-    beq t0, zero, L(wexit01)
-    SRL t1, v1, 24
-    bne t0, t1, L(wexit01)
+    SRL $t0, $v0, 24
+    beq $t0, $zero, L(wexit01)
+    SRL $t1, $v1, 24
+    bne $t0, $t1, L(wexit01)
 #endif
     EXT_COMPARE89(16)
     EXT_COMPARE01(8)
 
-    andi    t8, v0, 0xff
-    andi    t9, v1, 0xff
+    andi    $t8, $v0, 0xff
+    andi    $t9, $v1, 0xff
 # endif /* __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ */
 
 L(wexit89):
-    j   ra
-    SUBU    v0, t8, t9
+    j   $ra
+    SUBU    $v0, $t8, $t9
 L(wexit01):
-    j   ra
-    SUBU    v0, t0, t1
+    j   $ra
+    SUBU    $v0, $t0, $t1
 #endif /* USE_CLZ */
 
 L(byteloop):
@@ -340,16 +340,16 @@
     BYTECMP89(5)
     BYTECMP01(6)
     BYTECMP89(7)
-    PTR_ADDIU a0, a0, 8
+    PTR_ADDIU $a0, $a0, 8
     b   L(byteloop)
-    PTR_ADDIU a1, a1, 8
+    PTR_ADDIU $a1, $a1, 8
 
 L(bexit01):
-    j   ra
-    SUBU    v0, v0, v1
+    j   $ra
+    SUBU    $v0, $v0, $v1
 L(bexit89):
-    j   ra
-    SUBU    v0, t8, t9
+    j   $ra
+    SUBU    $v0, $t8, $t9
 
     .set    at
     .set    reorder
diff --git a/libc/arch-mips/string/strncmp.S b/libc/arch-mips/string/strncmp.S
index 4867c44..49250a0 100644
--- a/libc/arch-mips/string/strncmp.S
+++ b/libc/arch-mips/string/strncmp.S
@@ -102,18 +102,18 @@
    instructions so that the nop is not needed but testing showed that this
    code is actually faster (based on glibc strcmp test).  */
 #define BYTECMP01(OFFSET) \
-    lbu v0, OFFSET(a0); \
-    lbu v1, OFFSET(a1); \
-    beq v0, zero, L(bexit01); \
+    lbu $v0, OFFSET($a0); \
+    lbu $v1, OFFSET($a1); \
+    beq $v0, $zero, L(bexit01); \
     nop; \
-    bne v0, v1, L(bexit01)
+    bne $v0, $v1, L(bexit01)
 
 #define BYTECMP89(OFFSET) \
-    lbu t8, OFFSET(a0); \
-    lbu t9, OFFSET(a1); \
-    beq t8, zero, L(bexit89); \
+    lbu $t8, OFFSET($a0); \
+    lbu $t9, OFFSET($a1); \
+    beq $t8, $zero, L(bexit89); \
     nop;    \
-    bne t8, t9, L(bexit89)
+    bne $t8, $t9, L(bexit89)
 
 /* Allow the routine to be named something else if desired.  */
 #ifndef STRNCMP_NAME
@@ -128,34 +128,34 @@
     .set    nomips16
     .set    noreorder
 
-    srl t0, a2, (2 + NSIZE / 4)
-    beqz  t0, L(byteloop) #process by bytes if less than (2 * NSIZE)
-    andi t1, a1, (NSIZE - 1)
-    beqz  t1, L(exitalign)
-    or   t0, zero, NSIZE
-    SUBU t1, t0, t1 #process (NSIZE - 1) bytes at max
-    SUBU a2, a2, t1 #dec count by t1
+    srl $t0, $a2, (2 + NSIZE / 4)
+    beqz  $t0, L(byteloop) #process by bytes if less than (2 * NSIZE)
+    andi $t1, $a1, (NSIZE - 1)
+    beqz  $t1, L(exitalign)
+    or   $t0, $zero, NSIZE
+    SUBU $t1, $t0, $t1 #process (NSIZE - 1) bytes at max
+    SUBU $a2, $a2, $t1 #dec count by t1
 
 L(alignloop): #do by bytes until a1 aligned
     BYTECMP01(0)
-    SUBU t1, t1, 0x1
-    PTR_ADDIU a0, a0, 0x1
-    bne  t1, zero, L(alignloop)
-    PTR_ADDIU a1, a1, 0x1
+    SUBU $t1, $t1, 0x1
+    PTR_ADDIU $a0, $a0, 0x1
+    bne  $t1, $zero, L(alignloop)
+    PTR_ADDIU $a1, $a1, 0x1
 
 L(exitalign):
 
 /* string a1 is NSIZE byte aligned at this point. */
 #ifndef __mips1
-    lui t8, 0x0101
-    ori t8, 0x0101
-    lui t9, 0x7f7f
-    ori t9, 0x7f7f
+    lui $t8, 0x0101
+    ori $t8, 0x0101
+    lui $t9, 0x7f7f
+    ori $t9, 0x7f7f
 #if __mips64
-    dsll t0, t8, 32
-    or  t8, t0
-    dsll t1, t9, 32
-    or  t9, t1
+    dsll $t0, $t8, 32
+    or  $t8, $t0
+    dsll $t1, $t9, 32
+    or  $t9, $t1
 #endif
 #endif
 
@@ -164,25 +164,25 @@
    remainings archs need to implemented with unaligned instructions */
 
 #if __mips1
-    andi t0, a0, (NSIZE - 1)
-    bne  t0, zero, L(byteloop)
+    andi $t0, $a0, (NSIZE - 1)
+    bne  $t0, $zero, L(byteloop)
 #elif __mips_isa_rev < 6
-    andi t0, a0, (NSIZE - 1)
-    bne  t0, zero, L(uwordloop)
+    andi $t0, $a0, (NSIZE - 1)
+    bne  $t0, $zero, L(uwordloop)
 #endif
 
 #define STRCMPW(OFFSET) \
-    LW   v0, (OFFSET)(a0); \
-    LW   v1, (OFFSET)(a1); \
-    SUBU t0, v0, t8; \
-    bne  v0, v1, L(worddiff); \
-    nor  t1, v0, t9; \
-    and  t0, t0, t1; \
-    bne  t0, zero, L(returnzero);\
+    LW   $v0, (OFFSET)($a0); \
+    LW   $v1, (OFFSET)($a1); \
+    SUBU $t0, $v0, $t8; \
+    bne  $v0, $v1, L(worddiff); \
+    nor  $t1, $v0, $t9; \
+    and  $t0, $t0, $t1; \
+    bne  $t0, $zero, L(returnzero);\
 
 L(wordloop):
-    SUBU t1, a2, (8 * NSIZE)
-    bltz t1, L(onewords)
+    SUBU $t1, $a2, (8 * NSIZE)
+    bltz $t1, L(onewords)
     STRCMPW(0 * NSIZE)
     DELAY_READ
     STRCMPW(1 * NSIZE)
@@ -198,34 +198,34 @@
     STRCMPW(6 * NSIZE)
     DELAY_READ
     STRCMPW(7 * NSIZE)
-    SUBU a2, a2, (8 * NSIZE)
-    PTR_ADDIU a0, a0, (8 * NSIZE)
+    SUBU $a2, $a2, (8 * NSIZE)
+    PTR_ADDIU $a0, $a0, (8 * NSIZE)
     b   L(wordloop)
-    PTR_ADDIU a1, a1, (8 * NSIZE)
+    PTR_ADDIU $a1, $a1, (8 * NSIZE)
 
 L(onewords):
-    SUBU t1, a2, NSIZE
-    bltz t1, L(byteloop)
+    SUBU $t1, $a2, NSIZE
+    bltz $t1, L(byteloop)
     STRCMPW(0)
-    SUBU a2, a2, NSIZE
-    PTR_ADDIU a0, a0, NSIZE
+    SUBU $a2, $a2, NSIZE
+    PTR_ADDIU $a0, $a0, NSIZE
     b   L(onewords)
-    PTR_ADDIU a1, a1, NSIZE
+    PTR_ADDIU $a1, $a1, NSIZE
 
 #if __mips_isa_rev < 6 && !__mips1
 #define USTRCMPW(OFFSET) \
-    LWR v0, (OFFSET)(a0); \
-    LWL v0, (OFFSET + NSIZE - 1)(a0); \
-    LW  v1, (OFFSET)(a1); \
-    SUBU    t0, v0, t8; \
-    bne v0, v1, L(worddiff); \
-    nor t1, v0, t9; \
-    and t0, t0, t1; \
-    bne t0, zero, L(returnzero);\
+    LWR $v0, (OFFSET)($a0); \
+    LWL $v0, (OFFSET + NSIZE - 1)($a0); \
+    LW  $v1, (OFFSET)($a1); \
+    SUBU    $t0, $v0, $t8; \
+    bne $v0, $v1, L(worddiff); \
+    nor $t1, $v0, $t9; \
+    and $t0, $t0, $t1; \
+    bne $t0, $zero, L(returnzero);\
 
 L(uwordloop):
-    SUBU t1, a2, (8 * NSIZE)
-    bltz t1, L(uonewords)
+    SUBU $t1, $a2, (8 * NSIZE)
+    bltz $t1, L(uonewords)
     USTRCMPW(0 * NSIZE)
     DELAY_READ
     USTRCMPW(1 * NSIZE)
@@ -241,154 +241,154 @@
     USTRCMPW(6 * NSIZE)
     DELAY_READ
     USTRCMPW(7 * NSIZE)
-    SUBU a2, a2, (8 * NSIZE)
-    PTR_ADDIU a0, a0, (8 * NSIZE)
+    SUBU $a2, $a2, (8 * NSIZE)
+    PTR_ADDIU $a0, $a0, (8 * NSIZE)
     b   L(uwordloop)
-    PTR_ADDIU a1, a1, (8 * NSIZE)
+    PTR_ADDIU $a1, $a1, (8 * NSIZE)
 
 L(uonewords):
-    SUBU t1, a2, NSIZE
-    bltz t1, L(byteloop)
+    SUBU $t1, $a2, NSIZE
+    bltz $t1, L(byteloop)
     USTRCMPW(0)
-    SUBU a2, a2, NSIZE
-    PTR_ADDIU a0, a0, NSIZE
+    SUBU $a2, $a2, NSIZE
+    PTR_ADDIU $a0, $a0, NSIZE
     b   L(uonewords)
-    PTR_ADDIU a1, a1, NSIZE
+    PTR_ADDIU $a1, $a1, NSIZE
 
 #endif
 
 L(returnzero):
-    j   ra
-    move    v0, zero
+    j   $ra
+    move    $v0, $zero
 
 #if __mips_isa_rev > 1
 #define EXT_COMPARE01(POS) \
-    EXT t0, v0, POS, 8; \
-    beq t0, zero, L(wexit01); \
-    EXT t1, v1, POS, 8; \
-    bne t0, t1, L(wexit01)
+    EXT $t0, $v0, POS, 8; \
+    beq $t0, $zero, L(wexit01); \
+    EXT $t1, $v1, POS, 8; \
+    bne $t0, $t1, L(wexit01)
 #define EXT_COMPARE89(POS) \
-    EXT t8, v0, POS, 8; \
-    beq t8, zero, L(wexit89); \
-    EXT t9, v1, POS, 8; \
-    bne t8, t9, L(wexit89)
+    EXT $t8, $v0, POS, 8; \
+    beq $t8, $zero, L(wexit89); \
+    EXT $t9, $v1, POS, 8; \
+    bne $t8, $t9, L(wexit89)
 #else
 #define EXT_COMPARE01(POS) \
-    SRL  t0, v0, POS; \
-    SRL  t1, v1, POS; \
-    andi t0, t0, 0xff; \
-    beq  t0, zero, L(wexit01); \
-    andi t1, t1, 0xff; \
-    bne  t0, t1, L(wexit01)
+    SRL  $t0, $v0, POS; \
+    SRL  $t1, $v1, POS; \
+    andi $t0, $t0, 0xff; \
+    beq  $t0, $zero, L(wexit01); \
+    andi $t1, $t1, 0xff; \
+    bne  $t0, $t1, L(wexit01)
 #define EXT_COMPARE89(POS) \
-    SRL  t8, v0, POS; \
-    SRL  t9, v1, POS; \
-    andi t8, t8, 0xff; \
-    beq  t8, zero, L(wexit89); \
-    andi t9, t9, 0xff; \
-    bne  t8, t9, L(wexit89)
+    SRL  $t8, $v0, POS; \
+    SRL  $t9, $v1, POS; \
+    andi $t8, $t8, 0xff; \
+    beq  $t8, $zero, L(wexit89); \
+    andi $t9, $t9, 0xff; \
+    bne  $t8, $t9, L(wexit89)
 #endif
 
 L(worddiff):
 #ifdef USE_CLZ
-    SUBU    t0, v0, t8
-    nor t1, v0, t9
-    and t1, t0, t1
-    xor t0, v0, v1
-    or  t0, t0, t1
+    SUBU    $t0, $v0, $t8
+    nor $t1, $v0, $t9
+    and $t1, $t0, $t1
+    xor $t0, $v0, $v1
+    or  $t0, $t0, $t1
 # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-    wsbh    t0, t0
-    rotr    t0, t0, 16
+    wsbh    $t0, $t0
+    rotr    $t0, $t0, 16
 # endif
-    clz t1, t0
-    and t1, 0xf8
+    clz $t1, $t0
+    and $t1, 0xf8
 # if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-    neg t1
-    addu    t1, 24
+    neg $t1
+    addu    $t1, 24
 # endif
-    rotrv   v0, v0, t1
-    rotrv   v1, v1, t1
-    and v0, v0, 0xff
-    and v1, v1, 0xff
-    j   ra
-    SUBU    v0, v0, v1
+    rotrv   $v0, $v0, $t1
+    rotrv   $v1, $v1, $t1
+    and $v0, $v0, 0xff
+    and $v1, $v1, 0xff
+    j   $ra
+    SUBU    $v0, $v0, $v1
 #else /* USE_CLZ */
 # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-    andi    t0, v0, 0xff
-    beq t0, zero, L(wexit01)
-    andi    t1, v1, 0xff
-    bne t0, t1, L(wexit01)
+    andi    $t0, $v0, 0xff
+    beq $t0, $zero, L(wexit01)
+    andi    $t1, $v1, 0xff
+    bne $t0, $t1, L(wexit01)
     EXT_COMPARE89(8)
     EXT_COMPARE01(16)
 #ifndef __mips64
-    SRL t8, v0, 24
-    SRL t9, v1, 24
+    SRL $t8, $v0, 24
+    SRL $t9, $v1, 24
 #else
     EXT_COMPARE89(24)
     EXT_COMPARE01(32)
     EXT_COMPARE89(40)
     EXT_COMPARE01(48)
-    SRL t8, v0, 56
-    SRL t9, v1, 56
+    SRL $t8, $v0, 56
+    SRL $t9, $v1, 56
 #endif
 
 # else /* __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ */
 #ifdef __mips64
-    SRL t0, v0, 56
-    beq t0, zero, L(wexit01)
-    SRL t1, v1, 56
-    bne t0, t1, L(wexit01)
+    SRL $t0, $v0, 56
+    beq $t0, $zero, L(wexit01)
+    SRL $t1, $v1, 56
+    bne $t0, $t1, L(wexit01)
     EXT_COMPARE89(48)
     EXT_COMPARE01(40)
     EXT_COMPARE89(32)
     EXT_COMPARE01(24)
 #else
-    SRL t0, v0, 24
-    beq t0, zero, L(wexit01)
-    SRL t1, v1, 24
-    bne t0, t1, L(wexit01)
+    SRL $t0, $v0, 24
+    beq $t0, $zero, L(wexit01)
+    SRL $t1, $v1, 24
+    bne $t0, $t1, L(wexit01)
 #endif
     EXT_COMPARE89(16)
     EXT_COMPARE01(8)
 
-    andi    t8, v0, 0xff
-    andi    t9, v1, 0xff
+    andi    $t8, $v0, 0xff
+    andi    $t9, $v1, 0xff
 # endif /* __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ */
 
 L(wexit89):
-    j   ra
-    SUBU    v0, t8, t9
+    j   $ra
+    SUBU    $v0, $t8, $t9
 L(wexit01):
-    j   ra
-    SUBU    v0, t0, t1
+    j   $ra
+    SUBU    $v0, $t0, $t1
 #endif /* USE_CLZ */
 
 L(byteloop):
-    beq a2, zero, L(returnzero)
-    SUBU a2, a2, 1
+    beq $a2, $zero, L(returnzero)
+    SUBU $a2, $a2, 1
     BYTECMP01(0)
     nop
-    beq a2, zero, L(returnzero)
-    SUBU a2, a2, 1
+    beq $a2, $zero, L(returnzero)
+    SUBU $a2, $a2, 1
     BYTECMP89(1)
     nop
-    beq a2, zero, L(returnzero)
-    SUBU a2, a2, 1
+    beq $a2, $zero, L(returnzero)
+    SUBU $a2, $a2, 1
     BYTECMP01(2)
     nop
-    beq a2, zero, L(returnzero)
-    SUBU a2, a2, 1
+    beq $a2, $zero, L(returnzero)
+    SUBU $a2, $a2, 1
     BYTECMP89(3)
-    PTR_ADDIU a0, a0, 4
+    PTR_ADDIU $a0, $a0, 4
     b   L(byteloop)
-    PTR_ADDIU a1, a1, 4
+    PTR_ADDIU $a1, $a1, 4
 
 L(bexit01):
-    j   ra
-    SUBU    v0, v0, v1
+    j   $ra
+    SUBU    $v0, $v0, $v1
 L(bexit89):
-    j   ra
-    SUBU    v0, t8, t9
+    j   $ra
+    SUBU    $v0, $t8, $t9
 
     .set    at
     .set    reorder
diff --git a/libc/arch-mips/syscalls/___clock_nanosleep.S b/libc/arch-mips/syscalls/___clock_nanosleep.S
index 4879489..55a77d4 100644
--- a/libc/arch-mips/syscalls/___clock_nanosleep.S
+++ b/libc/arch-mips/syscalls/___clock_nanosleep.S
@@ -4,16 +4,16 @@
 
 ENTRY(___clock_nanosleep)
     .set noreorder
-    .cpload t9
-    li v0, __NR_clock_nanosleep
+    .cpload $t9
+    li $v0, __NR_clock_nanosleep
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___clock_nanosleep)
diff --git a/libc/arch-mips/syscalls/___close.S b/libc/arch-mips/syscalls/___close.S
index 356cfd6..592766a 100644
--- a/libc/arch-mips/syscalls/___close.S
+++ b/libc/arch-mips/syscalls/___close.S
@@ -4,16 +4,16 @@
 
 ENTRY(___close)
     .set noreorder
-    .cpload t9
-    li v0, __NR_close
+    .cpload $t9
+    li $v0, __NR_close
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___close)
diff --git a/libc/arch-mips/syscalls/___faccessat.S b/libc/arch-mips/syscalls/___faccessat.S
index 4e11bae..9222c6f 100644
--- a/libc/arch-mips/syscalls/___faccessat.S
+++ b/libc/arch-mips/syscalls/___faccessat.S
@@ -4,16 +4,16 @@
 
 ENTRY(___faccessat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_faccessat
+    .cpload $t9
+    li $v0, __NR_faccessat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___faccessat)
diff --git a/libc/arch-mips/syscalls/___fchmod.S b/libc/arch-mips/syscalls/___fchmod.S
index ac102ec..680c368 100644
--- a/libc/arch-mips/syscalls/___fchmod.S
+++ b/libc/arch-mips/syscalls/___fchmod.S
@@ -4,16 +4,16 @@
 
 ENTRY(___fchmod)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fchmod
+    .cpload $t9
+    li $v0, __NR_fchmod
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___fchmod)
diff --git a/libc/arch-mips/syscalls/___fchmodat.S b/libc/arch-mips/syscalls/___fchmodat.S
index d581efa..0c8a6bb 100644
--- a/libc/arch-mips/syscalls/___fchmodat.S
+++ b/libc/arch-mips/syscalls/___fchmodat.S
@@ -4,16 +4,16 @@
 
 ENTRY(___fchmodat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fchmodat
+    .cpload $t9
+    li $v0, __NR_fchmodat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___fchmodat)
diff --git a/libc/arch-mips/syscalls/___fgetxattr.S b/libc/arch-mips/syscalls/___fgetxattr.S
index 50ab69c..a1cc13b 100644
--- a/libc/arch-mips/syscalls/___fgetxattr.S
+++ b/libc/arch-mips/syscalls/___fgetxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(___fgetxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fgetxattr
+    .cpload $t9
+    li $v0, __NR_fgetxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___fgetxattr)
diff --git a/libc/arch-mips/syscalls/___flistxattr.S b/libc/arch-mips/syscalls/___flistxattr.S
index 5a4a53d..77856fd 100644
--- a/libc/arch-mips/syscalls/___flistxattr.S
+++ b/libc/arch-mips/syscalls/___flistxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(___flistxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_flistxattr
+    .cpload $t9
+    li $v0, __NR_flistxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___flistxattr)
diff --git a/libc/arch-mips/syscalls/___fsetxattr.S b/libc/arch-mips/syscalls/___fsetxattr.S
index 0312921..9c6a419 100644
--- a/libc/arch-mips/syscalls/___fsetxattr.S
+++ b/libc/arch-mips/syscalls/___fsetxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(___fsetxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fsetxattr
+    .cpload $t9
+    li $v0, __NR_fsetxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___fsetxattr)
diff --git a/libc/arch-mips/syscalls/___mremap.S b/libc/arch-mips/syscalls/___mremap.S
index 82e2eb3..768b958 100644
--- a/libc/arch-mips/syscalls/___mremap.S
+++ b/libc/arch-mips/syscalls/___mremap.S
@@ -4,16 +4,16 @@
 
 ENTRY(___mremap)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mremap
+    .cpload $t9
+    li $v0, __NR_mremap
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___mremap)
diff --git a/libc/arch-mips/syscalls/___rt_sigqueueinfo.S b/libc/arch-mips/syscalls/___rt_sigqueueinfo.S
index 95af36f..dde3782 100644
--- a/libc/arch-mips/syscalls/___rt_sigqueueinfo.S
+++ b/libc/arch-mips/syscalls/___rt_sigqueueinfo.S
@@ -4,16 +4,16 @@
 
 ENTRY(___rt_sigqueueinfo)
     .set noreorder
-    .cpload t9
-    li v0, __NR_rt_sigqueueinfo
+    .cpload $t9
+    li $v0, __NR_rt_sigqueueinfo
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(___rt_sigqueueinfo)
diff --git a/libc/arch-mips/syscalls/__accept4.S b/libc/arch-mips/syscalls/__accept4.S
index 72df04f..596660c 100644
--- a/libc/arch-mips/syscalls/__accept4.S
+++ b/libc/arch-mips/syscalls/__accept4.S
@@ -4,16 +4,16 @@
 
 ENTRY(__accept4)
     .set noreorder
-    .cpload t9
-    li v0, __NR_accept4
+    .cpload $t9
+    li $v0, __NR_accept4
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__accept4)
diff --git a/libc/arch-mips/syscalls/__brk.S b/libc/arch-mips/syscalls/__brk.S
index 8472663..ea0f2c3 100644
--- a/libc/arch-mips/syscalls/__brk.S
+++ b/libc/arch-mips/syscalls/__brk.S
@@ -4,16 +4,16 @@
 
 ENTRY(__brk)
     .set noreorder
-    .cpload t9
-    li v0, __NR_brk
+    .cpload $t9
+    li $v0, __NR_brk
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__brk)
diff --git a/libc/arch-mips/syscalls/__clock_gettime.S b/libc/arch-mips/syscalls/__clock_gettime.S
index 6fad7e9..a68990b 100644
--- a/libc/arch-mips/syscalls/__clock_gettime.S
+++ b/libc/arch-mips/syscalls/__clock_gettime.S
@@ -4,16 +4,16 @@
 
 ENTRY(__clock_gettime)
     .set noreorder
-    .cpload t9
-    li v0, __NR_clock_gettime
+    .cpload $t9
+    li $v0, __NR_clock_gettime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__clock_gettime)
diff --git a/libc/arch-mips/syscalls/__connect.S b/libc/arch-mips/syscalls/__connect.S
index 38c1b9b..9a87105 100644
--- a/libc/arch-mips/syscalls/__connect.S
+++ b/libc/arch-mips/syscalls/__connect.S
@@ -4,16 +4,16 @@
 
 ENTRY(__connect)
     .set noreorder
-    .cpload t9
-    li v0, __NR_connect
+    .cpload $t9
+    li $v0, __NR_connect
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__connect)
diff --git a/libc/arch-mips/syscalls/__epoll_pwait.S b/libc/arch-mips/syscalls/__epoll_pwait.S
index 3aed9bc..68f9d1f 100644
--- a/libc/arch-mips/syscalls/__epoll_pwait.S
+++ b/libc/arch-mips/syscalls/__epoll_pwait.S
@@ -4,16 +4,16 @@
 
 ENTRY(__epoll_pwait)
     .set noreorder
-    .cpload t9
-    li v0, __NR_epoll_pwait
+    .cpload $t9
+    li $v0, __NR_epoll_pwait
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__epoll_pwait)
diff --git a/libc/arch-mips/syscalls/__exit.S b/libc/arch-mips/syscalls/__exit.S
index 7349804..d4d1ab8 100644
--- a/libc/arch-mips/syscalls/__exit.S
+++ b/libc/arch-mips/syscalls/__exit.S
@@ -4,16 +4,16 @@
 
 ENTRY(__exit)
     .set noreorder
-    .cpload t9
-    li v0, __NR_exit
+    .cpload $t9
+    li $v0, __NR_exit
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__exit)
diff --git a/libc/arch-mips/syscalls/__fadvise64.S b/libc/arch-mips/syscalls/__fadvise64.S
index abacbb2..be0694e 100644
--- a/libc/arch-mips/syscalls/__fadvise64.S
+++ b/libc/arch-mips/syscalls/__fadvise64.S
@@ -4,16 +4,16 @@
 
 ENTRY(__fadvise64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fadvise64
+    .cpload $t9
+    li $v0, __NR_fadvise64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__fadvise64)
diff --git a/libc/arch-mips/syscalls/__fcntl64.S b/libc/arch-mips/syscalls/__fcntl64.S
index 2734be2..d6e54e4 100644
--- a/libc/arch-mips/syscalls/__fcntl64.S
+++ b/libc/arch-mips/syscalls/__fcntl64.S
@@ -4,16 +4,16 @@
 
 ENTRY(__fcntl64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fcntl64
+    .cpload $t9
+    li $v0, __NR_fcntl64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__fcntl64)
diff --git a/libc/arch-mips/syscalls/__fstatfs64.S b/libc/arch-mips/syscalls/__fstatfs64.S
index e08cf7e..8dc2ed3 100644
--- a/libc/arch-mips/syscalls/__fstatfs64.S
+++ b/libc/arch-mips/syscalls/__fstatfs64.S
@@ -4,16 +4,16 @@
 
 ENTRY(__fstatfs64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fstatfs64
+    .cpload $t9
+    li $v0, __NR_fstatfs64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__fstatfs64)
diff --git a/libc/arch-mips/syscalls/__getcpu.S b/libc/arch-mips/syscalls/__getcpu.S
index 262f440..b159f2c 100644
--- a/libc/arch-mips/syscalls/__getcpu.S
+++ b/libc/arch-mips/syscalls/__getcpu.S
@@ -4,16 +4,16 @@
 
 ENTRY(__getcpu)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getcpu
+    .cpload $t9
+    li $v0, __NR_getcpu
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__getcpu)
diff --git a/libc/arch-mips/syscalls/__getcwd.S b/libc/arch-mips/syscalls/__getcwd.S
index ca6ec7c..6482244 100644
--- a/libc/arch-mips/syscalls/__getcwd.S
+++ b/libc/arch-mips/syscalls/__getcwd.S
@@ -4,16 +4,16 @@
 
 ENTRY(__getcwd)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getcwd
+    .cpload $t9
+    li $v0, __NR_getcwd
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__getcwd)
diff --git a/libc/arch-mips/syscalls/__getdents64.S b/libc/arch-mips/syscalls/__getdents64.S
index fe7ef86..8324a80 100644
--- a/libc/arch-mips/syscalls/__getdents64.S
+++ b/libc/arch-mips/syscalls/__getdents64.S
@@ -4,16 +4,16 @@
 
 ENTRY(__getdents64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getdents64
+    .cpload $t9
+    li $v0, __NR_getdents64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__getdents64)
diff --git a/libc/arch-mips/syscalls/__getpid.S b/libc/arch-mips/syscalls/__getpid.S
index f5ab049..9f122e0 100644
--- a/libc/arch-mips/syscalls/__getpid.S
+++ b/libc/arch-mips/syscalls/__getpid.S
@@ -4,16 +4,16 @@
 
 ENTRY(__getpid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getpid
+    .cpload $t9
+    li $v0, __NR_getpid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__getpid)
diff --git a/libc/arch-mips/syscalls/__getpriority.S b/libc/arch-mips/syscalls/__getpriority.S
index ef6235d..22aa7c1 100644
--- a/libc/arch-mips/syscalls/__getpriority.S
+++ b/libc/arch-mips/syscalls/__getpriority.S
@@ -4,16 +4,16 @@
 
 ENTRY(__getpriority)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getpriority
+    .cpload $t9
+    li $v0, __NR_getpriority
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__getpriority)
diff --git a/libc/arch-mips/syscalls/__gettimeofday.S b/libc/arch-mips/syscalls/__gettimeofday.S
index e8b9d6a..021ca7f 100644
--- a/libc/arch-mips/syscalls/__gettimeofday.S
+++ b/libc/arch-mips/syscalls/__gettimeofday.S
@@ -4,16 +4,16 @@
 
 ENTRY(__gettimeofday)
     .set noreorder
-    .cpload t9
-    li v0, __NR_gettimeofday
+    .cpload $t9
+    li $v0, __NR_gettimeofday
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__gettimeofday)
diff --git a/libc/arch-mips/syscalls/__ioctl.S b/libc/arch-mips/syscalls/__ioctl.S
index 27716e8..fb45f5d 100644
--- a/libc/arch-mips/syscalls/__ioctl.S
+++ b/libc/arch-mips/syscalls/__ioctl.S
@@ -4,16 +4,16 @@
 
 ENTRY(__ioctl)
     .set noreorder
-    .cpload t9
-    li v0, __NR_ioctl
+    .cpload $t9
+    li $v0, __NR_ioctl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__ioctl)
diff --git a/libc/arch-mips/syscalls/__llseek.S b/libc/arch-mips/syscalls/__llseek.S
index e0cb321..d622d92 100644
--- a/libc/arch-mips/syscalls/__llseek.S
+++ b/libc/arch-mips/syscalls/__llseek.S
@@ -4,16 +4,16 @@
 
 ENTRY(__llseek)
     .set noreorder
-    .cpload t9
-    li v0, __NR__llseek
+    .cpload $t9
+    li $v0, __NR__llseek
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__llseek)
diff --git a/libc/arch-mips/syscalls/__mmap2.S b/libc/arch-mips/syscalls/__mmap2.S
index 8175b31..435fc77 100644
--- a/libc/arch-mips/syscalls/__mmap2.S
+++ b/libc/arch-mips/syscalls/__mmap2.S
@@ -4,16 +4,16 @@
 
 ENTRY(__mmap2)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mmap2
+    .cpload $t9
+    li $v0, __NR_mmap2
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__mmap2)
diff --git a/libc/arch-mips/syscalls/__openat.S b/libc/arch-mips/syscalls/__openat.S
index c0c3cdf..a30c4a8 100644
--- a/libc/arch-mips/syscalls/__openat.S
+++ b/libc/arch-mips/syscalls/__openat.S
@@ -4,16 +4,16 @@
 
 ENTRY(__openat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_openat
+    .cpload $t9
+    li $v0, __NR_openat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__openat)
diff --git a/libc/arch-mips/syscalls/__ppoll.S b/libc/arch-mips/syscalls/__ppoll.S
index 75dbbc8..e2f4363 100644
--- a/libc/arch-mips/syscalls/__ppoll.S
+++ b/libc/arch-mips/syscalls/__ppoll.S
@@ -4,16 +4,16 @@
 
 ENTRY(__ppoll)
     .set noreorder
-    .cpload t9
-    li v0, __NR_ppoll
+    .cpload $t9
+    li $v0, __NR_ppoll
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__ppoll)
diff --git a/libc/arch-mips/syscalls/__preadv64.S b/libc/arch-mips/syscalls/__preadv64.S
index a46b869..3bc732a 100644
--- a/libc/arch-mips/syscalls/__preadv64.S
+++ b/libc/arch-mips/syscalls/__preadv64.S
@@ -4,16 +4,16 @@
 
 ENTRY(__preadv64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_preadv
+    .cpload $t9
+    li $v0, __NR_preadv
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__preadv64)
diff --git a/libc/arch-mips/syscalls/__pselect6.S b/libc/arch-mips/syscalls/__pselect6.S
index d028156..34c7df1 100644
--- a/libc/arch-mips/syscalls/__pselect6.S
+++ b/libc/arch-mips/syscalls/__pselect6.S
@@ -4,16 +4,16 @@
 
 ENTRY(__pselect6)
     .set noreorder
-    .cpload t9
-    li v0, __NR_pselect6
+    .cpload $t9
+    li $v0, __NR_pselect6
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__pselect6)
diff --git a/libc/arch-mips/syscalls/__ptrace.S b/libc/arch-mips/syscalls/__ptrace.S
index c5d91fb..f3879ea 100644
--- a/libc/arch-mips/syscalls/__ptrace.S
+++ b/libc/arch-mips/syscalls/__ptrace.S
@@ -4,16 +4,16 @@
 
 ENTRY(__ptrace)
     .set noreorder
-    .cpload t9
-    li v0, __NR_ptrace
+    .cpload $t9
+    li $v0, __NR_ptrace
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__ptrace)
diff --git a/libc/arch-mips/syscalls/__pwritev64.S b/libc/arch-mips/syscalls/__pwritev64.S
index 1222942..569a0d4 100644
--- a/libc/arch-mips/syscalls/__pwritev64.S
+++ b/libc/arch-mips/syscalls/__pwritev64.S
@@ -4,16 +4,16 @@
 
 ENTRY(__pwritev64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_pwritev
+    .cpload $t9
+    li $v0, __NR_pwritev
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__pwritev64)
diff --git a/libc/arch-mips/syscalls/__reboot.S b/libc/arch-mips/syscalls/__reboot.S
index c01f7fb..c77d09b 100644
--- a/libc/arch-mips/syscalls/__reboot.S
+++ b/libc/arch-mips/syscalls/__reboot.S
@@ -4,16 +4,16 @@
 
 ENTRY(__reboot)
     .set noreorder
-    .cpload t9
-    li v0, __NR_reboot
+    .cpload $t9
+    li $v0, __NR_reboot
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__reboot)
diff --git a/libc/arch-mips/syscalls/__rt_sigaction.S b/libc/arch-mips/syscalls/__rt_sigaction.S
index 7fa37fd..ae18296 100644
--- a/libc/arch-mips/syscalls/__rt_sigaction.S
+++ b/libc/arch-mips/syscalls/__rt_sigaction.S
@@ -4,16 +4,16 @@
 
 ENTRY(__rt_sigaction)
     .set noreorder
-    .cpload t9
-    li v0, __NR_rt_sigaction
+    .cpload $t9
+    li $v0, __NR_rt_sigaction
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__rt_sigaction)
diff --git a/libc/arch-mips/syscalls/__rt_sigpending.S b/libc/arch-mips/syscalls/__rt_sigpending.S
index b80b311..b3597c8 100644
--- a/libc/arch-mips/syscalls/__rt_sigpending.S
+++ b/libc/arch-mips/syscalls/__rt_sigpending.S
@@ -4,16 +4,16 @@
 
 ENTRY(__rt_sigpending)
     .set noreorder
-    .cpload t9
-    li v0, __NR_rt_sigpending
+    .cpload $t9
+    li $v0, __NR_rt_sigpending
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__rt_sigpending)
diff --git a/libc/arch-mips/syscalls/__rt_sigprocmask.S b/libc/arch-mips/syscalls/__rt_sigprocmask.S
index e2a39eb..ca165c3 100644
--- a/libc/arch-mips/syscalls/__rt_sigprocmask.S
+++ b/libc/arch-mips/syscalls/__rt_sigprocmask.S
@@ -4,16 +4,16 @@
 
 ENTRY(__rt_sigprocmask)
     .set noreorder
-    .cpload t9
-    li v0, __NR_rt_sigprocmask
+    .cpload $t9
+    li $v0, __NR_rt_sigprocmask
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__rt_sigprocmask)
diff --git a/libc/arch-mips/syscalls/__rt_sigsuspend.S b/libc/arch-mips/syscalls/__rt_sigsuspend.S
index e91c53f..afd6837 100644
--- a/libc/arch-mips/syscalls/__rt_sigsuspend.S
+++ b/libc/arch-mips/syscalls/__rt_sigsuspend.S
@@ -4,16 +4,16 @@
 
 ENTRY(__rt_sigsuspend)
     .set noreorder
-    .cpload t9
-    li v0, __NR_rt_sigsuspend
+    .cpload $t9
+    li $v0, __NR_rt_sigsuspend
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__rt_sigsuspend)
diff --git a/libc/arch-mips/syscalls/__rt_sigtimedwait.S b/libc/arch-mips/syscalls/__rt_sigtimedwait.S
index 0b4195f..c9d6d3c 100644
--- a/libc/arch-mips/syscalls/__rt_sigtimedwait.S
+++ b/libc/arch-mips/syscalls/__rt_sigtimedwait.S
@@ -4,16 +4,16 @@
 
 ENTRY(__rt_sigtimedwait)
     .set noreorder
-    .cpload t9
-    li v0, __NR_rt_sigtimedwait
+    .cpload $t9
+    li $v0, __NR_rt_sigtimedwait
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__rt_sigtimedwait)
diff --git a/libc/arch-mips/syscalls/__sched_getaffinity.S b/libc/arch-mips/syscalls/__sched_getaffinity.S
index b09f404..94ea2a4 100644
--- a/libc/arch-mips/syscalls/__sched_getaffinity.S
+++ b/libc/arch-mips/syscalls/__sched_getaffinity.S
@@ -4,16 +4,16 @@
 
 ENTRY(__sched_getaffinity)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_getaffinity
+    .cpload $t9
+    li $v0, __NR_sched_getaffinity
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__sched_getaffinity)
diff --git a/libc/arch-mips/syscalls/__set_tid_address.S b/libc/arch-mips/syscalls/__set_tid_address.S
index 8ca0716..4a28783 100644
--- a/libc/arch-mips/syscalls/__set_tid_address.S
+++ b/libc/arch-mips/syscalls/__set_tid_address.S
@@ -4,16 +4,16 @@
 
 ENTRY(__set_tid_address)
     .set noreorder
-    .cpload t9
-    li v0, __NR_set_tid_address
+    .cpload $t9
+    li $v0, __NR_set_tid_address
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__set_tid_address)
diff --git a/libc/arch-mips/syscalls/__set_tls.S b/libc/arch-mips/syscalls/__set_tls.S
index 1f9eba5..00825b3 100644
--- a/libc/arch-mips/syscalls/__set_tls.S
+++ b/libc/arch-mips/syscalls/__set_tls.S
@@ -4,16 +4,16 @@
 
 ENTRY(__set_tls)
     .set noreorder
-    .cpload t9
-    li v0, __NR_set_thread_area
+    .cpload $t9
+    li $v0, __NR_set_thread_area
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__set_tls)
diff --git a/libc/arch-mips/syscalls/__sigaction.S b/libc/arch-mips/syscalls/__sigaction.S
index 0886e95..ef91e1d 100644
--- a/libc/arch-mips/syscalls/__sigaction.S
+++ b/libc/arch-mips/syscalls/__sigaction.S
@@ -4,16 +4,16 @@
 
 ENTRY(__sigaction)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sigaction
+    .cpload $t9
+    li $v0, __NR_sigaction
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__sigaction)
diff --git a/libc/arch-mips/syscalls/__signalfd4.S b/libc/arch-mips/syscalls/__signalfd4.S
index 8e5717e..754ad37 100644
--- a/libc/arch-mips/syscalls/__signalfd4.S
+++ b/libc/arch-mips/syscalls/__signalfd4.S
@@ -4,16 +4,16 @@
 
 ENTRY(__signalfd4)
     .set noreorder
-    .cpload t9
-    li v0, __NR_signalfd4
+    .cpload $t9
+    li $v0, __NR_signalfd4
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__signalfd4)
diff --git a/libc/arch-mips/syscalls/__socket.S b/libc/arch-mips/syscalls/__socket.S
index c933355..5d59e03 100644
--- a/libc/arch-mips/syscalls/__socket.S
+++ b/libc/arch-mips/syscalls/__socket.S
@@ -4,16 +4,16 @@
 
 ENTRY(__socket)
     .set noreorder
-    .cpload t9
-    li v0, __NR_socket
+    .cpload $t9
+    li $v0, __NR_socket
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__socket)
diff --git a/libc/arch-mips/syscalls/__statfs64.S b/libc/arch-mips/syscalls/__statfs64.S
index ed4dcdb..8ebe9f3 100644
--- a/libc/arch-mips/syscalls/__statfs64.S
+++ b/libc/arch-mips/syscalls/__statfs64.S
@@ -4,16 +4,16 @@
 
 ENTRY(__statfs64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_statfs64
+    .cpload $t9
+    li $v0, __NR_statfs64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__statfs64)
diff --git a/libc/arch-mips/syscalls/__sync_file_range.S b/libc/arch-mips/syscalls/__sync_file_range.S
index 79d41e0..ffd9c09 100644
--- a/libc/arch-mips/syscalls/__sync_file_range.S
+++ b/libc/arch-mips/syscalls/__sync_file_range.S
@@ -4,16 +4,16 @@
 
 ENTRY(__sync_file_range)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sync_file_range
+    .cpload $t9
+    li $v0, __NR_sync_file_range
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__sync_file_range)
diff --git a/libc/arch-mips/syscalls/__timer_create.S b/libc/arch-mips/syscalls/__timer_create.S
index ef50749..fc1b9a5 100644
--- a/libc/arch-mips/syscalls/__timer_create.S
+++ b/libc/arch-mips/syscalls/__timer_create.S
@@ -4,16 +4,16 @@
 
 ENTRY(__timer_create)
     .set noreorder
-    .cpload t9
-    li v0, __NR_timer_create
+    .cpload $t9
+    li $v0, __NR_timer_create
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__timer_create)
diff --git a/libc/arch-mips/syscalls/__timer_delete.S b/libc/arch-mips/syscalls/__timer_delete.S
index 5993ace..b1ca8b7 100644
--- a/libc/arch-mips/syscalls/__timer_delete.S
+++ b/libc/arch-mips/syscalls/__timer_delete.S
@@ -4,16 +4,16 @@
 
 ENTRY(__timer_delete)
     .set noreorder
-    .cpload t9
-    li v0, __NR_timer_delete
+    .cpload $t9
+    li $v0, __NR_timer_delete
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__timer_delete)
diff --git a/libc/arch-mips/syscalls/__timer_getoverrun.S b/libc/arch-mips/syscalls/__timer_getoverrun.S
index 31234e5..07e75e5 100644
--- a/libc/arch-mips/syscalls/__timer_getoverrun.S
+++ b/libc/arch-mips/syscalls/__timer_getoverrun.S
@@ -4,16 +4,16 @@
 
 ENTRY(__timer_getoverrun)
     .set noreorder
-    .cpload t9
-    li v0, __NR_timer_getoverrun
+    .cpload $t9
+    li $v0, __NR_timer_getoverrun
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__timer_getoverrun)
diff --git a/libc/arch-mips/syscalls/__timer_gettime.S b/libc/arch-mips/syscalls/__timer_gettime.S
index 38800d3..7ee9cad 100644
--- a/libc/arch-mips/syscalls/__timer_gettime.S
+++ b/libc/arch-mips/syscalls/__timer_gettime.S
@@ -4,16 +4,16 @@
 
 ENTRY(__timer_gettime)
     .set noreorder
-    .cpload t9
-    li v0, __NR_timer_gettime
+    .cpload $t9
+    li $v0, __NR_timer_gettime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__timer_gettime)
diff --git a/libc/arch-mips/syscalls/__timer_settime.S b/libc/arch-mips/syscalls/__timer_settime.S
index 73cea73..4f7d95a 100644
--- a/libc/arch-mips/syscalls/__timer_settime.S
+++ b/libc/arch-mips/syscalls/__timer_settime.S
@@ -4,16 +4,16 @@
 
 ENTRY(__timer_settime)
     .set noreorder
-    .cpload t9
-    li v0, __NR_timer_settime
+    .cpload $t9
+    li $v0, __NR_timer_settime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__timer_settime)
diff --git a/libc/arch-mips/syscalls/__waitid.S b/libc/arch-mips/syscalls/__waitid.S
index 9d17f8f..274d7b6 100644
--- a/libc/arch-mips/syscalls/__waitid.S
+++ b/libc/arch-mips/syscalls/__waitid.S
@@ -4,16 +4,16 @@
 
 ENTRY(__waitid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_waitid
+    .cpload $t9
+    li $v0, __NR_waitid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(__waitid)
diff --git a/libc/arch-mips/syscalls/_exit.S b/libc/arch-mips/syscalls/_exit.S
index 6e97aac..f41912c 100644
--- a/libc/arch-mips/syscalls/_exit.S
+++ b/libc/arch-mips/syscalls/_exit.S
@@ -4,16 +4,16 @@
 
 ENTRY(_exit)
     .set noreorder
-    .cpload t9
-    li v0, __NR_exit_group
+    .cpload $t9
+    li $v0, __NR_exit_group
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(_exit)
diff --git a/libc/arch-mips/syscalls/_flush_cache.S b/libc/arch-mips/syscalls/_flush_cache.S
index a4030e9..fa737e8 100644
--- a/libc/arch-mips/syscalls/_flush_cache.S
+++ b/libc/arch-mips/syscalls/_flush_cache.S
@@ -4,16 +4,16 @@
 
 ENTRY(_flush_cache)
     .set noreorder
-    .cpload t9
-    li v0, __NR_cacheflush
+    .cpload $t9
+    li $v0, __NR_cacheflush
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(_flush_cache)
diff --git a/libc/arch-mips/syscalls/acct.S b/libc/arch-mips/syscalls/acct.S
index e3a5ccd..9908c3f 100644
--- a/libc/arch-mips/syscalls/acct.S
+++ b/libc/arch-mips/syscalls/acct.S
@@ -4,16 +4,16 @@
 
 ENTRY(acct)
     .set noreorder
-    .cpload t9
-    li v0, __NR_acct
+    .cpload $t9
+    li $v0, __NR_acct
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(acct)
diff --git a/libc/arch-mips/syscalls/adjtimex.S b/libc/arch-mips/syscalls/adjtimex.S
index fef215f..bc525d0 100644
--- a/libc/arch-mips/syscalls/adjtimex.S
+++ b/libc/arch-mips/syscalls/adjtimex.S
@@ -4,16 +4,16 @@
 
 ENTRY(adjtimex)
     .set noreorder
-    .cpload t9
-    li v0, __NR_adjtimex
+    .cpload $t9
+    li $v0, __NR_adjtimex
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(adjtimex)
diff --git a/libc/arch-mips/syscalls/bind.S b/libc/arch-mips/syscalls/bind.S
index 78fe2bb..cda6e24 100644
--- a/libc/arch-mips/syscalls/bind.S
+++ b/libc/arch-mips/syscalls/bind.S
@@ -4,16 +4,16 @@
 
 ENTRY(bind)
     .set noreorder
-    .cpload t9
-    li v0, __NR_bind
+    .cpload $t9
+    li $v0, __NR_bind
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(bind)
diff --git a/libc/arch-mips/syscalls/capget.S b/libc/arch-mips/syscalls/capget.S
index 0cbb626..9c8d430 100644
--- a/libc/arch-mips/syscalls/capget.S
+++ b/libc/arch-mips/syscalls/capget.S
@@ -4,16 +4,16 @@
 
 ENTRY(capget)
     .set noreorder
-    .cpload t9
-    li v0, __NR_capget
+    .cpload $t9
+    li $v0, __NR_capget
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(capget)
diff --git a/libc/arch-mips/syscalls/capset.S b/libc/arch-mips/syscalls/capset.S
index e811080..f30beba 100644
--- a/libc/arch-mips/syscalls/capset.S
+++ b/libc/arch-mips/syscalls/capset.S
@@ -4,16 +4,16 @@
 
 ENTRY(capset)
     .set noreorder
-    .cpload t9
-    li v0, __NR_capset
+    .cpload $t9
+    li $v0, __NR_capset
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(capset)
diff --git a/libc/arch-mips/syscalls/chdir.S b/libc/arch-mips/syscalls/chdir.S
index 82b7a2b..17de18d 100644
--- a/libc/arch-mips/syscalls/chdir.S
+++ b/libc/arch-mips/syscalls/chdir.S
@@ -4,16 +4,16 @@
 
 ENTRY(chdir)
     .set noreorder
-    .cpload t9
-    li v0, __NR_chdir
+    .cpload $t9
+    li $v0, __NR_chdir
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(chdir)
diff --git a/libc/arch-mips/syscalls/chroot.S b/libc/arch-mips/syscalls/chroot.S
index e6a29fc..c1998af 100644
--- a/libc/arch-mips/syscalls/chroot.S
+++ b/libc/arch-mips/syscalls/chroot.S
@@ -4,16 +4,16 @@
 
 ENTRY(chroot)
     .set noreorder
-    .cpload t9
-    li v0, __NR_chroot
+    .cpload $t9
+    li $v0, __NR_chroot
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(chroot)
diff --git a/libc/arch-mips/syscalls/clock_adjtime.S b/libc/arch-mips/syscalls/clock_adjtime.S
index f8a4ce2..10f0d39 100644
--- a/libc/arch-mips/syscalls/clock_adjtime.S
+++ b/libc/arch-mips/syscalls/clock_adjtime.S
@@ -4,16 +4,16 @@
 
 ENTRY(clock_adjtime)
     .set noreorder
-    .cpload t9
-    li v0, __NR_clock_adjtime
+    .cpload $t9
+    li $v0, __NR_clock_adjtime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(clock_adjtime)
diff --git a/libc/arch-mips/syscalls/clock_getres.S b/libc/arch-mips/syscalls/clock_getres.S
index ac7c5c6..153f629 100644
--- a/libc/arch-mips/syscalls/clock_getres.S
+++ b/libc/arch-mips/syscalls/clock_getres.S
@@ -4,16 +4,16 @@
 
 ENTRY(clock_getres)
     .set noreorder
-    .cpload t9
-    li v0, __NR_clock_getres
+    .cpload $t9
+    li $v0, __NR_clock_getres
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(clock_getres)
diff --git a/libc/arch-mips/syscalls/clock_settime.S b/libc/arch-mips/syscalls/clock_settime.S
index 193bdc2..651729d 100644
--- a/libc/arch-mips/syscalls/clock_settime.S
+++ b/libc/arch-mips/syscalls/clock_settime.S
@@ -4,16 +4,16 @@
 
 ENTRY(clock_settime)
     .set noreorder
-    .cpload t9
-    li v0, __NR_clock_settime
+    .cpload $t9
+    li $v0, __NR_clock_settime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(clock_settime)
diff --git a/libc/arch-mips/syscalls/delete_module.S b/libc/arch-mips/syscalls/delete_module.S
index 8c01c06..def5a16 100644
--- a/libc/arch-mips/syscalls/delete_module.S
+++ b/libc/arch-mips/syscalls/delete_module.S
@@ -4,16 +4,16 @@
 
 ENTRY(delete_module)
     .set noreorder
-    .cpload t9
-    li v0, __NR_delete_module
+    .cpload $t9
+    li $v0, __NR_delete_module
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(delete_module)
diff --git a/libc/arch-mips/syscalls/dup.S b/libc/arch-mips/syscalls/dup.S
index b4dcd70..0c0ee8d 100644
--- a/libc/arch-mips/syscalls/dup.S
+++ b/libc/arch-mips/syscalls/dup.S
@@ -4,16 +4,16 @@
 
 ENTRY(dup)
     .set noreorder
-    .cpload t9
-    li v0, __NR_dup
+    .cpload $t9
+    li $v0, __NR_dup
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(dup)
diff --git a/libc/arch-mips/syscalls/dup3.S b/libc/arch-mips/syscalls/dup3.S
index 1d9c236..cbec960 100644
--- a/libc/arch-mips/syscalls/dup3.S
+++ b/libc/arch-mips/syscalls/dup3.S
@@ -4,16 +4,16 @@
 
 ENTRY(dup3)
     .set noreorder
-    .cpload t9
-    li v0, __NR_dup3
+    .cpload $t9
+    li $v0, __NR_dup3
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(dup3)
diff --git a/libc/arch-mips/syscalls/epoll_create1.S b/libc/arch-mips/syscalls/epoll_create1.S
index 8754879..fc268fe 100644
--- a/libc/arch-mips/syscalls/epoll_create1.S
+++ b/libc/arch-mips/syscalls/epoll_create1.S
@@ -4,16 +4,16 @@
 
 ENTRY(epoll_create1)
     .set noreorder
-    .cpload t9
-    li v0, __NR_epoll_create1
+    .cpload $t9
+    li $v0, __NR_epoll_create1
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(epoll_create1)
diff --git a/libc/arch-mips/syscalls/epoll_ctl.S b/libc/arch-mips/syscalls/epoll_ctl.S
index 14c9202..222c97a 100644
--- a/libc/arch-mips/syscalls/epoll_ctl.S
+++ b/libc/arch-mips/syscalls/epoll_ctl.S
@@ -4,16 +4,16 @@
 
 ENTRY(epoll_ctl)
     .set noreorder
-    .cpload t9
-    li v0, __NR_epoll_ctl
+    .cpload $t9
+    li $v0, __NR_epoll_ctl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(epoll_ctl)
diff --git a/libc/arch-mips/syscalls/eventfd.S b/libc/arch-mips/syscalls/eventfd.S
index 6494dbc..2bca718 100644
--- a/libc/arch-mips/syscalls/eventfd.S
+++ b/libc/arch-mips/syscalls/eventfd.S
@@ -4,16 +4,16 @@
 
 ENTRY(eventfd)
     .set noreorder
-    .cpload t9
-    li v0, __NR_eventfd2
+    .cpload $t9
+    li $v0, __NR_eventfd2
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(eventfd)
diff --git a/libc/arch-mips/syscalls/execve.S b/libc/arch-mips/syscalls/execve.S
index 2d20b51..3dd36a1 100644
--- a/libc/arch-mips/syscalls/execve.S
+++ b/libc/arch-mips/syscalls/execve.S
@@ -4,16 +4,16 @@
 
 ENTRY(execve)
     .set noreorder
-    .cpload t9
-    li v0, __NR_execve
+    .cpload $t9
+    li $v0, __NR_execve
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(execve)
diff --git a/libc/arch-mips/syscalls/fallocate64.S b/libc/arch-mips/syscalls/fallocate64.S
index 5f05513..ed50bb5 100644
--- a/libc/arch-mips/syscalls/fallocate64.S
+++ b/libc/arch-mips/syscalls/fallocate64.S
@@ -4,16 +4,16 @@
 
 ENTRY(fallocate64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fallocate
+    .cpload $t9
+    li $v0, __NR_fallocate
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fallocate64)
diff --git a/libc/arch-mips/syscalls/fchdir.S b/libc/arch-mips/syscalls/fchdir.S
index d683baa..5b92e85 100644
--- a/libc/arch-mips/syscalls/fchdir.S
+++ b/libc/arch-mips/syscalls/fchdir.S
@@ -4,16 +4,16 @@
 
 ENTRY(fchdir)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fchdir
+    .cpload $t9
+    li $v0, __NR_fchdir
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fchdir)
diff --git a/libc/arch-mips/syscalls/fchown.S b/libc/arch-mips/syscalls/fchown.S
index 1ac9451..afd96e8 100644
--- a/libc/arch-mips/syscalls/fchown.S
+++ b/libc/arch-mips/syscalls/fchown.S
@@ -4,16 +4,16 @@
 
 ENTRY(fchown)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fchown
+    .cpload $t9
+    li $v0, __NR_fchown
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fchown)
diff --git a/libc/arch-mips/syscalls/fchownat.S b/libc/arch-mips/syscalls/fchownat.S
index be1a021..be2021b 100644
--- a/libc/arch-mips/syscalls/fchownat.S
+++ b/libc/arch-mips/syscalls/fchownat.S
@@ -4,16 +4,16 @@
 
 ENTRY(fchownat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fchownat
+    .cpload $t9
+    li $v0, __NR_fchownat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fchownat)
diff --git a/libc/arch-mips/syscalls/fdatasync.S b/libc/arch-mips/syscalls/fdatasync.S
index 24d6541..0b37d8f 100644
--- a/libc/arch-mips/syscalls/fdatasync.S
+++ b/libc/arch-mips/syscalls/fdatasync.S
@@ -4,16 +4,16 @@
 
 ENTRY(fdatasync)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fdatasync
+    .cpload $t9
+    li $v0, __NR_fdatasync
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fdatasync)
diff --git a/libc/arch-mips/syscalls/flock.S b/libc/arch-mips/syscalls/flock.S
index 8d70c9e..badb41d 100644
--- a/libc/arch-mips/syscalls/flock.S
+++ b/libc/arch-mips/syscalls/flock.S
@@ -4,16 +4,16 @@
 
 ENTRY(flock)
     .set noreorder
-    .cpload t9
-    li v0, __NR_flock
+    .cpload $t9
+    li $v0, __NR_flock
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(flock)
diff --git a/libc/arch-mips/syscalls/fremovexattr.S b/libc/arch-mips/syscalls/fremovexattr.S
index fba2d6d..290ecc8 100644
--- a/libc/arch-mips/syscalls/fremovexattr.S
+++ b/libc/arch-mips/syscalls/fremovexattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(fremovexattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fremovexattr
+    .cpload $t9
+    li $v0, __NR_fremovexattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fremovexattr)
diff --git a/libc/arch-mips/syscalls/fstat64.S b/libc/arch-mips/syscalls/fstat64.S
index 16e2791..3ecc2ba 100644
--- a/libc/arch-mips/syscalls/fstat64.S
+++ b/libc/arch-mips/syscalls/fstat64.S
@@ -4,16 +4,16 @@
 
 ENTRY(fstat64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fstat64
+    .cpload $t9
+    li $v0, __NR_fstat64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fstat64)
diff --git a/libc/arch-mips/syscalls/fstatat64.S b/libc/arch-mips/syscalls/fstatat64.S
index ebcf6b0..5b7550c 100644
--- a/libc/arch-mips/syscalls/fstatat64.S
+++ b/libc/arch-mips/syscalls/fstatat64.S
@@ -4,16 +4,16 @@
 
 ENTRY(fstatat64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fstatat64
+    .cpload $t9
+    li $v0, __NR_fstatat64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fstatat64)
diff --git a/libc/arch-mips/syscalls/fsync.S b/libc/arch-mips/syscalls/fsync.S
index 819f0f2..24e86a2 100644
--- a/libc/arch-mips/syscalls/fsync.S
+++ b/libc/arch-mips/syscalls/fsync.S
@@ -4,16 +4,16 @@
 
 ENTRY(fsync)
     .set noreorder
-    .cpload t9
-    li v0, __NR_fsync
+    .cpload $t9
+    li $v0, __NR_fsync
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(fsync)
diff --git a/libc/arch-mips/syscalls/ftruncate64.S b/libc/arch-mips/syscalls/ftruncate64.S
index 059ff77..858141c 100644
--- a/libc/arch-mips/syscalls/ftruncate64.S
+++ b/libc/arch-mips/syscalls/ftruncate64.S
@@ -4,16 +4,16 @@
 
 ENTRY(ftruncate64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_ftruncate64
+    .cpload $t9
+    li $v0, __NR_ftruncate64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(ftruncate64)
diff --git a/libc/arch-mips/syscalls/getegid.S b/libc/arch-mips/syscalls/getegid.S
index 8ae2d1e..6bdf47f 100644
--- a/libc/arch-mips/syscalls/getegid.S
+++ b/libc/arch-mips/syscalls/getegid.S
@@ -4,16 +4,16 @@
 
 ENTRY(getegid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getegid
+    .cpload $t9
+    li $v0, __NR_getegid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getegid)
diff --git a/libc/arch-mips/syscalls/geteuid.S b/libc/arch-mips/syscalls/geteuid.S
index cf5cf6c..07b571e 100644
--- a/libc/arch-mips/syscalls/geteuid.S
+++ b/libc/arch-mips/syscalls/geteuid.S
@@ -4,16 +4,16 @@
 
 ENTRY(geteuid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_geteuid
+    .cpload $t9
+    li $v0, __NR_geteuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(geteuid)
diff --git a/libc/arch-mips/syscalls/getgid.S b/libc/arch-mips/syscalls/getgid.S
index 9bd1fc3..a2020fa 100644
--- a/libc/arch-mips/syscalls/getgid.S
+++ b/libc/arch-mips/syscalls/getgid.S
@@ -4,16 +4,16 @@
 
 ENTRY(getgid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getgid
+    .cpload $t9
+    li $v0, __NR_getgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getgid)
diff --git a/libc/arch-mips/syscalls/getgroups.S b/libc/arch-mips/syscalls/getgroups.S
index 2eda185..86510dc 100644
--- a/libc/arch-mips/syscalls/getgroups.S
+++ b/libc/arch-mips/syscalls/getgroups.S
@@ -4,16 +4,16 @@
 
 ENTRY(getgroups)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getgroups
+    .cpload $t9
+    li $v0, __NR_getgroups
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getgroups)
diff --git a/libc/arch-mips/syscalls/getitimer.S b/libc/arch-mips/syscalls/getitimer.S
index 2e382c7..6d671f5 100644
--- a/libc/arch-mips/syscalls/getitimer.S
+++ b/libc/arch-mips/syscalls/getitimer.S
@@ -4,16 +4,16 @@
 
 ENTRY(getitimer)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getitimer
+    .cpload $t9
+    li $v0, __NR_getitimer
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getitimer)
diff --git a/libc/arch-mips/syscalls/getpeername.S b/libc/arch-mips/syscalls/getpeername.S
index 8642798..b372574 100644
--- a/libc/arch-mips/syscalls/getpeername.S
+++ b/libc/arch-mips/syscalls/getpeername.S
@@ -4,16 +4,16 @@
 
 ENTRY(getpeername)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getpeername
+    .cpload $t9
+    li $v0, __NR_getpeername
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getpeername)
diff --git a/libc/arch-mips/syscalls/getpgid.S b/libc/arch-mips/syscalls/getpgid.S
index 562b9ce..25a1fdf 100644
--- a/libc/arch-mips/syscalls/getpgid.S
+++ b/libc/arch-mips/syscalls/getpgid.S
@@ -4,16 +4,16 @@
 
 ENTRY(getpgid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getpgid
+    .cpload $t9
+    li $v0, __NR_getpgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getpgid)
diff --git a/libc/arch-mips/syscalls/getppid.S b/libc/arch-mips/syscalls/getppid.S
index afff0b9..54f1252 100644
--- a/libc/arch-mips/syscalls/getppid.S
+++ b/libc/arch-mips/syscalls/getppid.S
@@ -4,16 +4,16 @@
 
 ENTRY(getppid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getppid
+    .cpload $t9
+    li $v0, __NR_getppid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getppid)
diff --git a/libc/arch-mips/syscalls/getrandom.S b/libc/arch-mips/syscalls/getrandom.S
index 7a2f3b9..9a32c78 100644
--- a/libc/arch-mips/syscalls/getrandom.S
+++ b/libc/arch-mips/syscalls/getrandom.S
@@ -4,16 +4,16 @@
 
 ENTRY(getrandom)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getrandom
+    .cpload $t9
+    li $v0, __NR_getrandom
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getrandom)
diff --git a/libc/arch-mips/syscalls/getresgid.S b/libc/arch-mips/syscalls/getresgid.S
index 248d3f9..8336f66 100644
--- a/libc/arch-mips/syscalls/getresgid.S
+++ b/libc/arch-mips/syscalls/getresgid.S
@@ -4,16 +4,16 @@
 
 ENTRY(getresgid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getresgid
+    .cpload $t9
+    li $v0, __NR_getresgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getresgid)
diff --git a/libc/arch-mips/syscalls/getresuid.S b/libc/arch-mips/syscalls/getresuid.S
index 924b6cd..9e4cb36 100644
--- a/libc/arch-mips/syscalls/getresuid.S
+++ b/libc/arch-mips/syscalls/getresuid.S
@@ -4,16 +4,16 @@
 
 ENTRY(getresuid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getresuid
+    .cpload $t9
+    li $v0, __NR_getresuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getresuid)
diff --git a/libc/arch-mips/syscalls/getrlimit.S b/libc/arch-mips/syscalls/getrlimit.S
index 19570d6..2ae1c04 100644
--- a/libc/arch-mips/syscalls/getrlimit.S
+++ b/libc/arch-mips/syscalls/getrlimit.S
@@ -4,16 +4,16 @@
 
 ENTRY(getrlimit)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getrlimit
+    .cpload $t9
+    li $v0, __NR_getrlimit
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getrlimit)
diff --git a/libc/arch-mips/syscalls/getrusage.S b/libc/arch-mips/syscalls/getrusage.S
index 75bc8bc..c4a5aec 100644
--- a/libc/arch-mips/syscalls/getrusage.S
+++ b/libc/arch-mips/syscalls/getrusage.S
@@ -4,16 +4,16 @@
 
 ENTRY(getrusage)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getrusage
+    .cpload $t9
+    li $v0, __NR_getrusage
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getrusage)
diff --git a/libc/arch-mips/syscalls/getsid.S b/libc/arch-mips/syscalls/getsid.S
index 6436ecd..26f84c3 100644
--- a/libc/arch-mips/syscalls/getsid.S
+++ b/libc/arch-mips/syscalls/getsid.S
@@ -4,16 +4,16 @@
 
 ENTRY(getsid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getsid
+    .cpload $t9
+    li $v0, __NR_getsid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getsid)
diff --git a/libc/arch-mips/syscalls/getsockname.S b/libc/arch-mips/syscalls/getsockname.S
index ffadd92..f54df87 100644
--- a/libc/arch-mips/syscalls/getsockname.S
+++ b/libc/arch-mips/syscalls/getsockname.S
@@ -4,16 +4,16 @@
 
 ENTRY(getsockname)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getsockname
+    .cpload $t9
+    li $v0, __NR_getsockname
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getsockname)
diff --git a/libc/arch-mips/syscalls/getsockopt.S b/libc/arch-mips/syscalls/getsockopt.S
index 6ebe15e..32cd721 100644
--- a/libc/arch-mips/syscalls/getsockopt.S
+++ b/libc/arch-mips/syscalls/getsockopt.S
@@ -4,16 +4,16 @@
 
 ENTRY(getsockopt)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getsockopt
+    .cpload $t9
+    li $v0, __NR_getsockopt
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getsockopt)
diff --git a/libc/arch-mips/syscalls/getuid.S b/libc/arch-mips/syscalls/getuid.S
index 5858632..d2fe78f 100644
--- a/libc/arch-mips/syscalls/getuid.S
+++ b/libc/arch-mips/syscalls/getuid.S
@@ -4,16 +4,16 @@
 
 ENTRY(getuid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getuid
+    .cpload $t9
+    li $v0, __NR_getuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getuid)
diff --git a/libc/arch-mips/syscalls/getxattr.S b/libc/arch-mips/syscalls/getxattr.S
index 28c7fe6..0e5a33f 100644
--- a/libc/arch-mips/syscalls/getxattr.S
+++ b/libc/arch-mips/syscalls/getxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(getxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_getxattr
+    .cpload $t9
+    li $v0, __NR_getxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(getxattr)
diff --git a/libc/arch-mips/syscalls/init_module.S b/libc/arch-mips/syscalls/init_module.S
index 989614a..e4434c3 100644
--- a/libc/arch-mips/syscalls/init_module.S
+++ b/libc/arch-mips/syscalls/init_module.S
@@ -4,16 +4,16 @@
 
 ENTRY(init_module)
     .set noreorder
-    .cpload t9
-    li v0, __NR_init_module
+    .cpload $t9
+    li $v0, __NR_init_module
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(init_module)
diff --git a/libc/arch-mips/syscalls/inotify_add_watch.S b/libc/arch-mips/syscalls/inotify_add_watch.S
index 7d3315f..3710cb7 100644
--- a/libc/arch-mips/syscalls/inotify_add_watch.S
+++ b/libc/arch-mips/syscalls/inotify_add_watch.S
@@ -4,16 +4,16 @@
 
 ENTRY(inotify_add_watch)
     .set noreorder
-    .cpload t9
-    li v0, __NR_inotify_add_watch
+    .cpload $t9
+    li $v0, __NR_inotify_add_watch
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(inotify_add_watch)
diff --git a/libc/arch-mips/syscalls/inotify_init1.S b/libc/arch-mips/syscalls/inotify_init1.S
index e4ec266..b38f018 100644
--- a/libc/arch-mips/syscalls/inotify_init1.S
+++ b/libc/arch-mips/syscalls/inotify_init1.S
@@ -4,16 +4,16 @@
 
 ENTRY(inotify_init1)
     .set noreorder
-    .cpload t9
-    li v0, __NR_inotify_init1
+    .cpload $t9
+    li $v0, __NR_inotify_init1
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(inotify_init1)
diff --git a/libc/arch-mips/syscalls/inotify_rm_watch.S b/libc/arch-mips/syscalls/inotify_rm_watch.S
index eec9856..a7b6fbe 100644
--- a/libc/arch-mips/syscalls/inotify_rm_watch.S
+++ b/libc/arch-mips/syscalls/inotify_rm_watch.S
@@ -4,16 +4,16 @@
 
 ENTRY(inotify_rm_watch)
     .set noreorder
-    .cpload t9
-    li v0, __NR_inotify_rm_watch
+    .cpload $t9
+    li $v0, __NR_inotify_rm_watch
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(inotify_rm_watch)
diff --git a/libc/arch-mips/syscalls/kill.S b/libc/arch-mips/syscalls/kill.S
index 415da73..1075da1 100644
--- a/libc/arch-mips/syscalls/kill.S
+++ b/libc/arch-mips/syscalls/kill.S
@@ -4,16 +4,16 @@
 
 ENTRY(kill)
     .set noreorder
-    .cpload t9
-    li v0, __NR_kill
+    .cpload $t9
+    li $v0, __NR_kill
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(kill)
diff --git a/libc/arch-mips/syscalls/klogctl.S b/libc/arch-mips/syscalls/klogctl.S
index 123d8a0..c3fa53c 100644
--- a/libc/arch-mips/syscalls/klogctl.S
+++ b/libc/arch-mips/syscalls/klogctl.S
@@ -4,16 +4,16 @@
 
 ENTRY(klogctl)
     .set noreorder
-    .cpload t9
-    li v0, __NR_syslog
+    .cpload $t9
+    li $v0, __NR_syslog
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(klogctl)
diff --git a/libc/arch-mips/syscalls/lgetxattr.S b/libc/arch-mips/syscalls/lgetxattr.S
index a9916d9..b05850d 100644
--- a/libc/arch-mips/syscalls/lgetxattr.S
+++ b/libc/arch-mips/syscalls/lgetxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(lgetxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_lgetxattr
+    .cpload $t9
+    li $v0, __NR_lgetxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(lgetxattr)
diff --git a/libc/arch-mips/syscalls/linkat.S b/libc/arch-mips/syscalls/linkat.S
index a05a995..eacc488 100644
--- a/libc/arch-mips/syscalls/linkat.S
+++ b/libc/arch-mips/syscalls/linkat.S
@@ -4,16 +4,16 @@
 
 ENTRY(linkat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_linkat
+    .cpload $t9
+    li $v0, __NR_linkat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(linkat)
diff --git a/libc/arch-mips/syscalls/listen.S b/libc/arch-mips/syscalls/listen.S
index 7bb2ec8..cbda026 100644
--- a/libc/arch-mips/syscalls/listen.S
+++ b/libc/arch-mips/syscalls/listen.S
@@ -4,16 +4,16 @@
 
 ENTRY(listen)
     .set noreorder
-    .cpload t9
-    li v0, __NR_listen
+    .cpload $t9
+    li $v0, __NR_listen
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(listen)
diff --git a/libc/arch-mips/syscalls/listxattr.S b/libc/arch-mips/syscalls/listxattr.S
index c160178..0ee14a0 100644
--- a/libc/arch-mips/syscalls/listxattr.S
+++ b/libc/arch-mips/syscalls/listxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(listxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_listxattr
+    .cpload $t9
+    li $v0, __NR_listxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(listxattr)
diff --git a/libc/arch-mips/syscalls/llistxattr.S b/libc/arch-mips/syscalls/llistxattr.S
index 9bf05b0..46f79df 100644
--- a/libc/arch-mips/syscalls/llistxattr.S
+++ b/libc/arch-mips/syscalls/llistxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(llistxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_llistxattr
+    .cpload $t9
+    li $v0, __NR_llistxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(llistxattr)
diff --git a/libc/arch-mips/syscalls/lremovexattr.S b/libc/arch-mips/syscalls/lremovexattr.S
index fe73ddb..74aa7c9 100644
--- a/libc/arch-mips/syscalls/lremovexattr.S
+++ b/libc/arch-mips/syscalls/lremovexattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(lremovexattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_lremovexattr
+    .cpload $t9
+    li $v0, __NR_lremovexattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(lremovexattr)
diff --git a/libc/arch-mips/syscalls/lseek.S b/libc/arch-mips/syscalls/lseek.S
index 6d6b4e5..9f93986 100644
--- a/libc/arch-mips/syscalls/lseek.S
+++ b/libc/arch-mips/syscalls/lseek.S
@@ -4,16 +4,16 @@
 
 ENTRY(lseek)
     .set noreorder
-    .cpload t9
-    li v0, __NR_lseek
+    .cpload $t9
+    li $v0, __NR_lseek
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(lseek)
diff --git a/libc/arch-mips/syscalls/lsetxattr.S b/libc/arch-mips/syscalls/lsetxattr.S
index 69ea0a2..a87121f 100644
--- a/libc/arch-mips/syscalls/lsetxattr.S
+++ b/libc/arch-mips/syscalls/lsetxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(lsetxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_lsetxattr
+    .cpload $t9
+    li $v0, __NR_lsetxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(lsetxattr)
diff --git a/libc/arch-mips/syscalls/madvise.S b/libc/arch-mips/syscalls/madvise.S
index 7d67b80..5fd4856 100644
--- a/libc/arch-mips/syscalls/madvise.S
+++ b/libc/arch-mips/syscalls/madvise.S
@@ -4,16 +4,16 @@
 
 ENTRY(madvise)
     .set noreorder
-    .cpload t9
-    li v0, __NR_madvise
+    .cpload $t9
+    li $v0, __NR_madvise
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(madvise)
diff --git a/libc/arch-mips/syscalls/mincore.S b/libc/arch-mips/syscalls/mincore.S
index 96f5e29..db74719 100644
--- a/libc/arch-mips/syscalls/mincore.S
+++ b/libc/arch-mips/syscalls/mincore.S
@@ -4,16 +4,16 @@
 
 ENTRY(mincore)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mincore
+    .cpload $t9
+    li $v0, __NR_mincore
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(mincore)
diff --git a/libc/arch-mips/syscalls/mkdirat.S b/libc/arch-mips/syscalls/mkdirat.S
index 55dd976..3ff69c3 100644
--- a/libc/arch-mips/syscalls/mkdirat.S
+++ b/libc/arch-mips/syscalls/mkdirat.S
@@ -4,16 +4,16 @@
 
 ENTRY(mkdirat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mkdirat
+    .cpload $t9
+    li $v0, __NR_mkdirat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(mkdirat)
diff --git a/libc/arch-mips/syscalls/mknodat.S b/libc/arch-mips/syscalls/mknodat.S
index 1a03a8e..651a619 100644
--- a/libc/arch-mips/syscalls/mknodat.S
+++ b/libc/arch-mips/syscalls/mknodat.S
@@ -4,16 +4,16 @@
 
 ENTRY(mknodat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mknodat
+    .cpload $t9
+    li $v0, __NR_mknodat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(mknodat)
diff --git a/libc/arch-mips/syscalls/mlock.S b/libc/arch-mips/syscalls/mlock.S
index 3cf7c1b..d1bb3a4 100644
--- a/libc/arch-mips/syscalls/mlock.S
+++ b/libc/arch-mips/syscalls/mlock.S
@@ -4,16 +4,16 @@
 
 ENTRY(mlock)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mlock
+    .cpload $t9
+    li $v0, __NR_mlock
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(mlock)
diff --git a/libc/arch-mips/syscalls/mlockall.S b/libc/arch-mips/syscalls/mlockall.S
index 3b90f41..495be12 100644
--- a/libc/arch-mips/syscalls/mlockall.S
+++ b/libc/arch-mips/syscalls/mlockall.S
@@ -4,16 +4,16 @@
 
 ENTRY(mlockall)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mlockall
+    .cpload $t9
+    li $v0, __NR_mlockall
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(mlockall)
diff --git a/libc/arch-mips/syscalls/mount.S b/libc/arch-mips/syscalls/mount.S
index fdf299f..6eccf01 100644
--- a/libc/arch-mips/syscalls/mount.S
+++ b/libc/arch-mips/syscalls/mount.S
@@ -4,16 +4,16 @@
 
 ENTRY(mount)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mount
+    .cpload $t9
+    li $v0, __NR_mount
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(mount)
diff --git a/libc/arch-mips/syscalls/mprotect.S b/libc/arch-mips/syscalls/mprotect.S
index 5618310..486fd5d 100644
--- a/libc/arch-mips/syscalls/mprotect.S
+++ b/libc/arch-mips/syscalls/mprotect.S
@@ -4,16 +4,16 @@
 
 ENTRY(mprotect)
     .set noreorder
-    .cpload t9
-    li v0, __NR_mprotect
+    .cpload $t9
+    li $v0, __NR_mprotect
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(mprotect)
diff --git a/libc/arch-mips/syscalls/msync.S b/libc/arch-mips/syscalls/msync.S
index fb7462d..6554fd0 100644
--- a/libc/arch-mips/syscalls/msync.S
+++ b/libc/arch-mips/syscalls/msync.S
@@ -4,16 +4,16 @@
 
 ENTRY(msync)
     .set noreorder
-    .cpload t9
-    li v0, __NR_msync
+    .cpload $t9
+    li $v0, __NR_msync
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(msync)
diff --git a/libc/arch-mips/syscalls/munlock.S b/libc/arch-mips/syscalls/munlock.S
index 6c65c02..3a3f50c 100644
--- a/libc/arch-mips/syscalls/munlock.S
+++ b/libc/arch-mips/syscalls/munlock.S
@@ -4,16 +4,16 @@
 
 ENTRY(munlock)
     .set noreorder
-    .cpload t9
-    li v0, __NR_munlock
+    .cpload $t9
+    li $v0, __NR_munlock
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(munlock)
diff --git a/libc/arch-mips/syscalls/munlockall.S b/libc/arch-mips/syscalls/munlockall.S
index e30dddc..4efb260 100644
--- a/libc/arch-mips/syscalls/munlockall.S
+++ b/libc/arch-mips/syscalls/munlockall.S
@@ -4,16 +4,16 @@
 
 ENTRY(munlockall)
     .set noreorder
-    .cpload t9
-    li v0, __NR_munlockall
+    .cpload $t9
+    li $v0, __NR_munlockall
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(munlockall)
diff --git a/libc/arch-mips/syscalls/munmap.S b/libc/arch-mips/syscalls/munmap.S
index 903edde..364f0c1 100644
--- a/libc/arch-mips/syscalls/munmap.S
+++ b/libc/arch-mips/syscalls/munmap.S
@@ -4,16 +4,16 @@
 
 ENTRY(munmap)
     .set noreorder
-    .cpload t9
-    li v0, __NR_munmap
+    .cpload $t9
+    li $v0, __NR_munmap
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(munmap)
diff --git a/libc/arch-mips/syscalls/nanosleep.S b/libc/arch-mips/syscalls/nanosleep.S
index 8dae88b..7e88d00 100644
--- a/libc/arch-mips/syscalls/nanosleep.S
+++ b/libc/arch-mips/syscalls/nanosleep.S
@@ -4,16 +4,16 @@
 
 ENTRY(nanosleep)
     .set noreorder
-    .cpload t9
-    li v0, __NR_nanosleep
+    .cpload $t9
+    li $v0, __NR_nanosleep
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(nanosleep)
diff --git a/libc/arch-mips/syscalls/personality.S b/libc/arch-mips/syscalls/personality.S
index 2f51d39..67f9ec1 100644
--- a/libc/arch-mips/syscalls/personality.S
+++ b/libc/arch-mips/syscalls/personality.S
@@ -4,16 +4,16 @@
 
 ENTRY(personality)
     .set noreorder
-    .cpload t9
-    li v0, __NR_personality
+    .cpload $t9
+    li $v0, __NR_personality
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(personality)
diff --git a/libc/arch-mips/syscalls/pipe2.S b/libc/arch-mips/syscalls/pipe2.S
index b06309c..4040d1f 100644
--- a/libc/arch-mips/syscalls/pipe2.S
+++ b/libc/arch-mips/syscalls/pipe2.S
@@ -4,16 +4,16 @@
 
 ENTRY(pipe2)
     .set noreorder
-    .cpload t9
-    li v0, __NR_pipe2
+    .cpload $t9
+    li $v0, __NR_pipe2
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(pipe2)
diff --git a/libc/arch-mips/syscalls/prctl.S b/libc/arch-mips/syscalls/prctl.S
index 71544ee..e6b0024 100644
--- a/libc/arch-mips/syscalls/prctl.S
+++ b/libc/arch-mips/syscalls/prctl.S
@@ -4,16 +4,16 @@
 
 ENTRY(prctl)
     .set noreorder
-    .cpload t9
-    li v0, __NR_prctl
+    .cpload $t9
+    li $v0, __NR_prctl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(prctl)
diff --git a/libc/arch-mips/syscalls/pread64.S b/libc/arch-mips/syscalls/pread64.S
index 9e7248b..0181595 100644
--- a/libc/arch-mips/syscalls/pread64.S
+++ b/libc/arch-mips/syscalls/pread64.S
@@ -4,16 +4,16 @@
 
 ENTRY(pread64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_pread64
+    .cpload $t9
+    li $v0, __NR_pread64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(pread64)
diff --git a/libc/arch-mips/syscalls/prlimit64.S b/libc/arch-mips/syscalls/prlimit64.S
index ca913df..c93af64 100644
--- a/libc/arch-mips/syscalls/prlimit64.S
+++ b/libc/arch-mips/syscalls/prlimit64.S
@@ -4,16 +4,16 @@
 
 ENTRY(prlimit64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_prlimit64
+    .cpload $t9
+    li $v0, __NR_prlimit64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(prlimit64)
diff --git a/libc/arch-mips/syscalls/process_vm_readv.S b/libc/arch-mips/syscalls/process_vm_readv.S
index 22b74f0..e571db0 100644
--- a/libc/arch-mips/syscalls/process_vm_readv.S
+++ b/libc/arch-mips/syscalls/process_vm_readv.S
@@ -4,16 +4,16 @@
 
 ENTRY(process_vm_readv)
     .set noreorder
-    .cpload t9
-    li v0, __NR_process_vm_readv
+    .cpload $t9
+    li $v0, __NR_process_vm_readv
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(process_vm_readv)
diff --git a/libc/arch-mips/syscalls/process_vm_writev.S b/libc/arch-mips/syscalls/process_vm_writev.S
index dd1dc4b..cab3b6d 100644
--- a/libc/arch-mips/syscalls/process_vm_writev.S
+++ b/libc/arch-mips/syscalls/process_vm_writev.S
@@ -4,16 +4,16 @@
 
 ENTRY(process_vm_writev)
     .set noreorder
-    .cpload t9
-    li v0, __NR_process_vm_writev
+    .cpload $t9
+    li $v0, __NR_process_vm_writev
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(process_vm_writev)
diff --git a/libc/arch-mips/syscalls/pwrite64.S b/libc/arch-mips/syscalls/pwrite64.S
index ac206aa..4f46f75 100644
--- a/libc/arch-mips/syscalls/pwrite64.S
+++ b/libc/arch-mips/syscalls/pwrite64.S
@@ -4,16 +4,16 @@
 
 ENTRY(pwrite64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_pwrite64
+    .cpload $t9
+    li $v0, __NR_pwrite64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(pwrite64)
diff --git a/libc/arch-mips/syscalls/quotactl.S b/libc/arch-mips/syscalls/quotactl.S
index fef336a..2c8044a 100644
--- a/libc/arch-mips/syscalls/quotactl.S
+++ b/libc/arch-mips/syscalls/quotactl.S
@@ -4,16 +4,16 @@
 
 ENTRY(quotactl)
     .set noreorder
-    .cpload t9
-    li v0, __NR_quotactl
+    .cpload $t9
+    li $v0, __NR_quotactl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(quotactl)
diff --git a/libc/arch-mips/syscalls/read.S b/libc/arch-mips/syscalls/read.S
index 1355b66..afc6199 100644
--- a/libc/arch-mips/syscalls/read.S
+++ b/libc/arch-mips/syscalls/read.S
@@ -4,16 +4,16 @@
 
 ENTRY(read)
     .set noreorder
-    .cpload t9
-    li v0, __NR_read
+    .cpload $t9
+    li $v0, __NR_read
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(read)
diff --git a/libc/arch-mips/syscalls/readahead.S b/libc/arch-mips/syscalls/readahead.S
index b28df08..1fe93d8 100644
--- a/libc/arch-mips/syscalls/readahead.S
+++ b/libc/arch-mips/syscalls/readahead.S
@@ -4,16 +4,16 @@
 
 ENTRY(readahead)
     .set noreorder
-    .cpload t9
-    li v0, __NR_readahead
+    .cpload $t9
+    li $v0, __NR_readahead
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(readahead)
diff --git a/libc/arch-mips/syscalls/readlinkat.S b/libc/arch-mips/syscalls/readlinkat.S
index 5cf84a2..927f86f 100644
--- a/libc/arch-mips/syscalls/readlinkat.S
+++ b/libc/arch-mips/syscalls/readlinkat.S
@@ -4,16 +4,16 @@
 
 ENTRY(readlinkat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_readlinkat
+    .cpload $t9
+    li $v0, __NR_readlinkat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(readlinkat)
diff --git a/libc/arch-mips/syscalls/readv.S b/libc/arch-mips/syscalls/readv.S
index 57952a0..6af3ac4 100644
--- a/libc/arch-mips/syscalls/readv.S
+++ b/libc/arch-mips/syscalls/readv.S
@@ -4,16 +4,16 @@
 
 ENTRY(readv)
     .set noreorder
-    .cpload t9
-    li v0, __NR_readv
+    .cpload $t9
+    li $v0, __NR_readv
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(readv)
diff --git a/libc/arch-mips/syscalls/recvfrom.S b/libc/arch-mips/syscalls/recvfrom.S
index 707ba4b..448d892 100644
--- a/libc/arch-mips/syscalls/recvfrom.S
+++ b/libc/arch-mips/syscalls/recvfrom.S
@@ -4,16 +4,16 @@
 
 ENTRY(recvfrom)
     .set noreorder
-    .cpload t9
-    li v0, __NR_recvfrom
+    .cpload $t9
+    li $v0, __NR_recvfrom
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(recvfrom)
diff --git a/libc/arch-mips/syscalls/recvmmsg.S b/libc/arch-mips/syscalls/recvmmsg.S
index 796d0d8..42660e2 100644
--- a/libc/arch-mips/syscalls/recvmmsg.S
+++ b/libc/arch-mips/syscalls/recvmmsg.S
@@ -4,16 +4,16 @@
 
 ENTRY(recvmmsg)
     .set noreorder
-    .cpload t9
-    li v0, __NR_recvmmsg
+    .cpload $t9
+    li $v0, __NR_recvmmsg
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(recvmmsg)
diff --git a/libc/arch-mips/syscalls/recvmsg.S b/libc/arch-mips/syscalls/recvmsg.S
index fdcac32..71c7990 100644
--- a/libc/arch-mips/syscalls/recvmsg.S
+++ b/libc/arch-mips/syscalls/recvmsg.S
@@ -4,16 +4,16 @@
 
 ENTRY(recvmsg)
     .set noreorder
-    .cpload t9
-    li v0, __NR_recvmsg
+    .cpload $t9
+    li $v0, __NR_recvmsg
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(recvmsg)
diff --git a/libc/arch-mips/syscalls/removexattr.S b/libc/arch-mips/syscalls/removexattr.S
index d99e1ae..4830373 100644
--- a/libc/arch-mips/syscalls/removexattr.S
+++ b/libc/arch-mips/syscalls/removexattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(removexattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_removexattr
+    .cpload $t9
+    li $v0, __NR_removexattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(removexattr)
diff --git a/libc/arch-mips/syscalls/renameat.S b/libc/arch-mips/syscalls/renameat.S
index c865d74..1486f95 100644
--- a/libc/arch-mips/syscalls/renameat.S
+++ b/libc/arch-mips/syscalls/renameat.S
@@ -4,16 +4,16 @@
 
 ENTRY(renameat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_renameat
+    .cpload $t9
+    li $v0, __NR_renameat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(renameat)
diff --git a/libc/arch-mips/syscalls/sched_get_priority_max.S b/libc/arch-mips/syscalls/sched_get_priority_max.S
index 1c73af6..f1d35c6 100644
--- a/libc/arch-mips/syscalls/sched_get_priority_max.S
+++ b/libc/arch-mips/syscalls/sched_get_priority_max.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_get_priority_max)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_get_priority_max
+    .cpload $t9
+    li $v0, __NR_sched_get_priority_max
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_get_priority_max)
diff --git a/libc/arch-mips/syscalls/sched_get_priority_min.S b/libc/arch-mips/syscalls/sched_get_priority_min.S
index b69b72b..cdb5539 100644
--- a/libc/arch-mips/syscalls/sched_get_priority_min.S
+++ b/libc/arch-mips/syscalls/sched_get_priority_min.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_get_priority_min)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_get_priority_min
+    .cpload $t9
+    li $v0, __NR_sched_get_priority_min
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_get_priority_min)
diff --git a/libc/arch-mips/syscalls/sched_getparam.S b/libc/arch-mips/syscalls/sched_getparam.S
index 387257a..71724bd 100644
--- a/libc/arch-mips/syscalls/sched_getparam.S
+++ b/libc/arch-mips/syscalls/sched_getparam.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_getparam)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_getparam
+    .cpload $t9
+    li $v0, __NR_sched_getparam
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_getparam)
diff --git a/libc/arch-mips/syscalls/sched_getscheduler.S b/libc/arch-mips/syscalls/sched_getscheduler.S
index 9b293db..8fae1c2 100644
--- a/libc/arch-mips/syscalls/sched_getscheduler.S
+++ b/libc/arch-mips/syscalls/sched_getscheduler.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_getscheduler)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_getscheduler
+    .cpload $t9
+    li $v0, __NR_sched_getscheduler
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_getscheduler)
diff --git a/libc/arch-mips/syscalls/sched_rr_get_interval.S b/libc/arch-mips/syscalls/sched_rr_get_interval.S
index 3d7b8a8..eb53d77 100644
--- a/libc/arch-mips/syscalls/sched_rr_get_interval.S
+++ b/libc/arch-mips/syscalls/sched_rr_get_interval.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_rr_get_interval)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_rr_get_interval
+    .cpload $t9
+    li $v0, __NR_sched_rr_get_interval
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_rr_get_interval)
diff --git a/libc/arch-mips/syscalls/sched_setaffinity.S b/libc/arch-mips/syscalls/sched_setaffinity.S
index a0e9f6c..a4837fa 100644
--- a/libc/arch-mips/syscalls/sched_setaffinity.S
+++ b/libc/arch-mips/syscalls/sched_setaffinity.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_setaffinity)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_setaffinity
+    .cpload $t9
+    li $v0, __NR_sched_setaffinity
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_setaffinity)
diff --git a/libc/arch-mips/syscalls/sched_setparam.S b/libc/arch-mips/syscalls/sched_setparam.S
index a8a8982..4b6d0a2 100644
--- a/libc/arch-mips/syscalls/sched_setparam.S
+++ b/libc/arch-mips/syscalls/sched_setparam.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_setparam)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_setparam
+    .cpload $t9
+    li $v0, __NR_sched_setparam
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_setparam)
diff --git a/libc/arch-mips/syscalls/sched_setscheduler.S b/libc/arch-mips/syscalls/sched_setscheduler.S
index a2cd7fa..69d7259 100644
--- a/libc/arch-mips/syscalls/sched_setscheduler.S
+++ b/libc/arch-mips/syscalls/sched_setscheduler.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_setscheduler)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_setscheduler
+    .cpload $t9
+    li $v0, __NR_sched_setscheduler
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_setscheduler)
diff --git a/libc/arch-mips/syscalls/sched_yield.S b/libc/arch-mips/syscalls/sched_yield.S
index 295266f..da6b531 100644
--- a/libc/arch-mips/syscalls/sched_yield.S
+++ b/libc/arch-mips/syscalls/sched_yield.S
@@ -4,16 +4,16 @@
 
 ENTRY(sched_yield)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sched_yield
+    .cpload $t9
+    li $v0, __NR_sched_yield
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sched_yield)
diff --git a/libc/arch-mips/syscalls/sendfile.S b/libc/arch-mips/syscalls/sendfile.S
index 5e5e887..9145cea 100644
--- a/libc/arch-mips/syscalls/sendfile.S
+++ b/libc/arch-mips/syscalls/sendfile.S
@@ -4,16 +4,16 @@
 
 ENTRY(sendfile)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sendfile
+    .cpload $t9
+    li $v0, __NR_sendfile
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sendfile)
diff --git a/libc/arch-mips/syscalls/sendfile64.S b/libc/arch-mips/syscalls/sendfile64.S
index 78f1908..0093917 100644
--- a/libc/arch-mips/syscalls/sendfile64.S
+++ b/libc/arch-mips/syscalls/sendfile64.S
@@ -4,16 +4,16 @@
 
 ENTRY(sendfile64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sendfile64
+    .cpload $t9
+    li $v0, __NR_sendfile64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sendfile64)
diff --git a/libc/arch-mips/syscalls/sendmmsg.S b/libc/arch-mips/syscalls/sendmmsg.S
index 1dc7576..d4e9806 100644
--- a/libc/arch-mips/syscalls/sendmmsg.S
+++ b/libc/arch-mips/syscalls/sendmmsg.S
@@ -4,16 +4,16 @@
 
 ENTRY(sendmmsg)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sendmmsg
+    .cpload $t9
+    li $v0, __NR_sendmmsg
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sendmmsg)
diff --git a/libc/arch-mips/syscalls/sendmsg.S b/libc/arch-mips/syscalls/sendmsg.S
index 88c653e..ec019d6 100644
--- a/libc/arch-mips/syscalls/sendmsg.S
+++ b/libc/arch-mips/syscalls/sendmsg.S
@@ -4,16 +4,16 @@
 
 ENTRY(sendmsg)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sendmsg
+    .cpload $t9
+    li $v0, __NR_sendmsg
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sendmsg)
diff --git a/libc/arch-mips/syscalls/sendto.S b/libc/arch-mips/syscalls/sendto.S
index ef3fa9f..884fd06 100644
--- a/libc/arch-mips/syscalls/sendto.S
+++ b/libc/arch-mips/syscalls/sendto.S
@@ -4,16 +4,16 @@
 
 ENTRY(sendto)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sendto
+    .cpload $t9
+    li $v0, __NR_sendto
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sendto)
diff --git a/libc/arch-mips/syscalls/setdomainname.S b/libc/arch-mips/syscalls/setdomainname.S
index ec0504c..9144a81 100644
--- a/libc/arch-mips/syscalls/setdomainname.S
+++ b/libc/arch-mips/syscalls/setdomainname.S
@@ -4,16 +4,16 @@
 
 ENTRY(setdomainname)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setdomainname
+    .cpload $t9
+    li $v0, __NR_setdomainname
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setdomainname)
diff --git a/libc/arch-mips/syscalls/setfsgid.S b/libc/arch-mips/syscalls/setfsgid.S
index 158d2c0..b927d23 100644
--- a/libc/arch-mips/syscalls/setfsgid.S
+++ b/libc/arch-mips/syscalls/setfsgid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setfsgid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setfsgid
+    .cpload $t9
+    li $v0, __NR_setfsgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setfsgid)
diff --git a/libc/arch-mips/syscalls/setfsuid.S b/libc/arch-mips/syscalls/setfsuid.S
index f76fd17..c95f30f 100644
--- a/libc/arch-mips/syscalls/setfsuid.S
+++ b/libc/arch-mips/syscalls/setfsuid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setfsuid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setfsuid
+    .cpload $t9
+    li $v0, __NR_setfsuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setfsuid)
diff --git a/libc/arch-mips/syscalls/setgid.S b/libc/arch-mips/syscalls/setgid.S
index 44127cd..a1665cc 100644
--- a/libc/arch-mips/syscalls/setgid.S
+++ b/libc/arch-mips/syscalls/setgid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setgid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setgid
+    .cpload $t9
+    li $v0, __NR_setgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setgid)
diff --git a/libc/arch-mips/syscalls/setgroups.S b/libc/arch-mips/syscalls/setgroups.S
index be4dc13..f8f4c52 100644
--- a/libc/arch-mips/syscalls/setgroups.S
+++ b/libc/arch-mips/syscalls/setgroups.S
@@ -4,16 +4,16 @@
 
 ENTRY(setgroups)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setgroups
+    .cpload $t9
+    li $v0, __NR_setgroups
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setgroups)
diff --git a/libc/arch-mips/syscalls/sethostname.S b/libc/arch-mips/syscalls/sethostname.S
index 2987b52..1a3e37b 100644
--- a/libc/arch-mips/syscalls/sethostname.S
+++ b/libc/arch-mips/syscalls/sethostname.S
@@ -4,16 +4,16 @@
 
 ENTRY(sethostname)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sethostname
+    .cpload $t9
+    li $v0, __NR_sethostname
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sethostname)
diff --git a/libc/arch-mips/syscalls/setitimer.S b/libc/arch-mips/syscalls/setitimer.S
index 968b453..1a32e97 100644
--- a/libc/arch-mips/syscalls/setitimer.S
+++ b/libc/arch-mips/syscalls/setitimer.S
@@ -4,16 +4,16 @@
 
 ENTRY(setitimer)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setitimer
+    .cpload $t9
+    li $v0, __NR_setitimer
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setitimer)
diff --git a/libc/arch-mips/syscalls/setns.S b/libc/arch-mips/syscalls/setns.S
index a9270ec..6021aa6 100644
--- a/libc/arch-mips/syscalls/setns.S
+++ b/libc/arch-mips/syscalls/setns.S
@@ -4,16 +4,16 @@
 
 ENTRY(setns)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setns
+    .cpload $t9
+    li $v0, __NR_setns
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setns)
diff --git a/libc/arch-mips/syscalls/setpgid.S b/libc/arch-mips/syscalls/setpgid.S
index d2db62f..449eabd 100644
--- a/libc/arch-mips/syscalls/setpgid.S
+++ b/libc/arch-mips/syscalls/setpgid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setpgid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setpgid
+    .cpload $t9
+    li $v0, __NR_setpgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setpgid)
diff --git a/libc/arch-mips/syscalls/setpriority.S b/libc/arch-mips/syscalls/setpriority.S
index 9b68335..53f500b 100644
--- a/libc/arch-mips/syscalls/setpriority.S
+++ b/libc/arch-mips/syscalls/setpriority.S
@@ -4,16 +4,16 @@
 
 ENTRY(setpriority)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setpriority
+    .cpload $t9
+    li $v0, __NR_setpriority
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setpriority)
diff --git a/libc/arch-mips/syscalls/setregid.S b/libc/arch-mips/syscalls/setregid.S
index 6b7474c..f251969 100644
--- a/libc/arch-mips/syscalls/setregid.S
+++ b/libc/arch-mips/syscalls/setregid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setregid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setregid
+    .cpload $t9
+    li $v0, __NR_setregid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setregid)
diff --git a/libc/arch-mips/syscalls/setresgid.S b/libc/arch-mips/syscalls/setresgid.S
index 223a0d0..78eb897 100644
--- a/libc/arch-mips/syscalls/setresgid.S
+++ b/libc/arch-mips/syscalls/setresgid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setresgid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setresgid
+    .cpload $t9
+    li $v0, __NR_setresgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setresgid)
diff --git a/libc/arch-mips/syscalls/setresuid.S b/libc/arch-mips/syscalls/setresuid.S
index 1f99682..c78a4db 100644
--- a/libc/arch-mips/syscalls/setresuid.S
+++ b/libc/arch-mips/syscalls/setresuid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setresuid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setresuid
+    .cpload $t9
+    li $v0, __NR_setresuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setresuid)
diff --git a/libc/arch-mips/syscalls/setreuid.S b/libc/arch-mips/syscalls/setreuid.S
index fa9c3d2..81e8551 100644
--- a/libc/arch-mips/syscalls/setreuid.S
+++ b/libc/arch-mips/syscalls/setreuid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setreuid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setreuid
+    .cpload $t9
+    li $v0, __NR_setreuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setreuid)
diff --git a/libc/arch-mips/syscalls/setrlimit.S b/libc/arch-mips/syscalls/setrlimit.S
index 016e24c..ad11caf 100644
--- a/libc/arch-mips/syscalls/setrlimit.S
+++ b/libc/arch-mips/syscalls/setrlimit.S
@@ -4,16 +4,16 @@
 
 ENTRY(setrlimit)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setrlimit
+    .cpload $t9
+    li $v0, __NR_setrlimit
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setrlimit)
diff --git a/libc/arch-mips/syscalls/setsid.S b/libc/arch-mips/syscalls/setsid.S
index 9f3cb48..c83d39f 100644
--- a/libc/arch-mips/syscalls/setsid.S
+++ b/libc/arch-mips/syscalls/setsid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setsid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setsid
+    .cpload $t9
+    li $v0, __NR_setsid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setsid)
diff --git a/libc/arch-mips/syscalls/setsockopt.S b/libc/arch-mips/syscalls/setsockopt.S
index b2368a1..2d398ef 100644
--- a/libc/arch-mips/syscalls/setsockopt.S
+++ b/libc/arch-mips/syscalls/setsockopt.S
@@ -4,16 +4,16 @@
 
 ENTRY(setsockopt)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setsockopt
+    .cpload $t9
+    li $v0, __NR_setsockopt
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setsockopt)
diff --git a/libc/arch-mips/syscalls/settimeofday.S b/libc/arch-mips/syscalls/settimeofday.S
index e3a5a06..4ae8057 100644
--- a/libc/arch-mips/syscalls/settimeofday.S
+++ b/libc/arch-mips/syscalls/settimeofday.S
@@ -4,16 +4,16 @@
 
 ENTRY(settimeofday)
     .set noreorder
-    .cpload t9
-    li v0, __NR_settimeofday
+    .cpload $t9
+    li $v0, __NR_settimeofday
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(settimeofday)
diff --git a/libc/arch-mips/syscalls/setuid.S b/libc/arch-mips/syscalls/setuid.S
index ff3da0a..732fb8a 100644
--- a/libc/arch-mips/syscalls/setuid.S
+++ b/libc/arch-mips/syscalls/setuid.S
@@ -4,16 +4,16 @@
 
 ENTRY(setuid)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setuid
+    .cpload $t9
+    li $v0, __NR_setuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setuid)
diff --git a/libc/arch-mips/syscalls/setxattr.S b/libc/arch-mips/syscalls/setxattr.S
index 5b3a241..36a5d47 100644
--- a/libc/arch-mips/syscalls/setxattr.S
+++ b/libc/arch-mips/syscalls/setxattr.S
@@ -4,16 +4,16 @@
 
 ENTRY(setxattr)
     .set noreorder
-    .cpload t9
-    li v0, __NR_setxattr
+    .cpload $t9
+    li $v0, __NR_setxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(setxattr)
diff --git a/libc/arch-mips/syscalls/shutdown.S b/libc/arch-mips/syscalls/shutdown.S
index 5db046f..885a501 100644
--- a/libc/arch-mips/syscalls/shutdown.S
+++ b/libc/arch-mips/syscalls/shutdown.S
@@ -4,16 +4,16 @@
 
 ENTRY(shutdown)
     .set noreorder
-    .cpload t9
-    li v0, __NR_shutdown
+    .cpload $t9
+    li $v0, __NR_shutdown
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(shutdown)
diff --git a/libc/arch-mips/syscalls/sigaltstack.S b/libc/arch-mips/syscalls/sigaltstack.S
index f543759..4276d71 100644
--- a/libc/arch-mips/syscalls/sigaltstack.S
+++ b/libc/arch-mips/syscalls/sigaltstack.S
@@ -4,16 +4,16 @@
 
 ENTRY(sigaltstack)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sigaltstack
+    .cpload $t9
+    li $v0, __NR_sigaltstack
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sigaltstack)
diff --git a/libc/arch-mips/syscalls/socketpair.S b/libc/arch-mips/syscalls/socketpair.S
index 7f85da3..ac66b34 100644
--- a/libc/arch-mips/syscalls/socketpair.S
+++ b/libc/arch-mips/syscalls/socketpair.S
@@ -4,16 +4,16 @@
 
 ENTRY(socketpair)
     .set noreorder
-    .cpload t9
-    li v0, __NR_socketpair
+    .cpload $t9
+    li $v0, __NR_socketpair
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(socketpair)
diff --git a/libc/arch-mips/syscalls/splice.S b/libc/arch-mips/syscalls/splice.S
index a55b7e8..afecd83 100644
--- a/libc/arch-mips/syscalls/splice.S
+++ b/libc/arch-mips/syscalls/splice.S
@@ -4,16 +4,16 @@
 
 ENTRY(splice)
     .set noreorder
-    .cpload t9
-    li v0, __NR_splice
+    .cpload $t9
+    li $v0, __NR_splice
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(splice)
diff --git a/libc/arch-mips/syscalls/swapoff.S b/libc/arch-mips/syscalls/swapoff.S
index ce782d0..dfe3a5c 100644
--- a/libc/arch-mips/syscalls/swapoff.S
+++ b/libc/arch-mips/syscalls/swapoff.S
@@ -4,16 +4,16 @@
 
 ENTRY(swapoff)
     .set noreorder
-    .cpload t9
-    li v0, __NR_swapoff
+    .cpload $t9
+    li $v0, __NR_swapoff
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(swapoff)
diff --git a/libc/arch-mips/syscalls/swapon.S b/libc/arch-mips/syscalls/swapon.S
index 127c3a8..12cfca1 100644
--- a/libc/arch-mips/syscalls/swapon.S
+++ b/libc/arch-mips/syscalls/swapon.S
@@ -4,16 +4,16 @@
 
 ENTRY(swapon)
     .set noreorder
-    .cpload t9
-    li v0, __NR_swapon
+    .cpload $t9
+    li $v0, __NR_swapon
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(swapon)
diff --git a/libc/arch-mips/syscalls/symlinkat.S b/libc/arch-mips/syscalls/symlinkat.S
index b0690a4..a349ede 100644
--- a/libc/arch-mips/syscalls/symlinkat.S
+++ b/libc/arch-mips/syscalls/symlinkat.S
@@ -4,16 +4,16 @@
 
 ENTRY(symlinkat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_symlinkat
+    .cpload $t9
+    li $v0, __NR_symlinkat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(symlinkat)
diff --git a/libc/arch-mips/syscalls/sync.S b/libc/arch-mips/syscalls/sync.S
index 8858e74..80667b3 100644
--- a/libc/arch-mips/syscalls/sync.S
+++ b/libc/arch-mips/syscalls/sync.S
@@ -4,16 +4,16 @@
 
 ENTRY(sync)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sync
+    .cpload $t9
+    li $v0, __NR_sync
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sync)
diff --git a/libc/arch-mips/syscalls/syncfs.S b/libc/arch-mips/syscalls/syncfs.S
index cd87a61..78ee0e7 100644
--- a/libc/arch-mips/syscalls/syncfs.S
+++ b/libc/arch-mips/syscalls/syncfs.S
@@ -4,16 +4,16 @@
 
 ENTRY(syncfs)
     .set noreorder
-    .cpload t9
-    li v0, __NR_syncfs
+    .cpload $t9
+    li $v0, __NR_syncfs
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(syncfs)
diff --git a/libc/arch-mips/syscalls/sysinfo.S b/libc/arch-mips/syscalls/sysinfo.S
index beefc0e..42fa57d 100644
--- a/libc/arch-mips/syscalls/sysinfo.S
+++ b/libc/arch-mips/syscalls/sysinfo.S
@@ -4,16 +4,16 @@
 
 ENTRY(sysinfo)
     .set noreorder
-    .cpload t9
-    li v0, __NR_sysinfo
+    .cpload $t9
+    li $v0, __NR_sysinfo
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(sysinfo)
diff --git a/libc/arch-mips/syscalls/tee.S b/libc/arch-mips/syscalls/tee.S
index 1115907..97867e3 100644
--- a/libc/arch-mips/syscalls/tee.S
+++ b/libc/arch-mips/syscalls/tee.S
@@ -4,16 +4,16 @@
 
 ENTRY(tee)
     .set noreorder
-    .cpload t9
-    li v0, __NR_tee
+    .cpload $t9
+    li $v0, __NR_tee
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(tee)
diff --git a/libc/arch-mips/syscalls/tgkill.S b/libc/arch-mips/syscalls/tgkill.S
index bea211d..cded9e5 100644
--- a/libc/arch-mips/syscalls/tgkill.S
+++ b/libc/arch-mips/syscalls/tgkill.S
@@ -4,16 +4,16 @@
 
 ENTRY(tgkill)
     .set noreorder
-    .cpload t9
-    li v0, __NR_tgkill
+    .cpload $t9
+    li $v0, __NR_tgkill
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(tgkill)
diff --git a/libc/arch-mips/syscalls/timerfd_create.S b/libc/arch-mips/syscalls/timerfd_create.S
index 116c628..840f7e2 100644
--- a/libc/arch-mips/syscalls/timerfd_create.S
+++ b/libc/arch-mips/syscalls/timerfd_create.S
@@ -4,16 +4,16 @@
 
 ENTRY(timerfd_create)
     .set noreorder
-    .cpload t9
-    li v0, __NR_timerfd_create
+    .cpload $t9
+    li $v0, __NR_timerfd_create
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(timerfd_create)
diff --git a/libc/arch-mips/syscalls/timerfd_gettime.S b/libc/arch-mips/syscalls/timerfd_gettime.S
index df7138c..7ddc25f 100644
--- a/libc/arch-mips/syscalls/timerfd_gettime.S
+++ b/libc/arch-mips/syscalls/timerfd_gettime.S
@@ -4,16 +4,16 @@
 
 ENTRY(timerfd_gettime)
     .set noreorder
-    .cpload t9
-    li v0, __NR_timerfd_gettime
+    .cpload $t9
+    li $v0, __NR_timerfd_gettime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(timerfd_gettime)
diff --git a/libc/arch-mips/syscalls/timerfd_settime.S b/libc/arch-mips/syscalls/timerfd_settime.S
index 2bfadb9..b4e7926 100644
--- a/libc/arch-mips/syscalls/timerfd_settime.S
+++ b/libc/arch-mips/syscalls/timerfd_settime.S
@@ -4,16 +4,16 @@
 
 ENTRY(timerfd_settime)
     .set noreorder
-    .cpload t9
-    li v0, __NR_timerfd_settime
+    .cpload $t9
+    li $v0, __NR_timerfd_settime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(timerfd_settime)
diff --git a/libc/arch-mips/syscalls/times.S b/libc/arch-mips/syscalls/times.S
index 90ce97f..ad4003b 100644
--- a/libc/arch-mips/syscalls/times.S
+++ b/libc/arch-mips/syscalls/times.S
@@ -4,16 +4,16 @@
 
 ENTRY(times)
     .set noreorder
-    .cpload t9
-    li v0, __NR_times
+    .cpload $t9
+    li $v0, __NR_times
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(times)
diff --git a/libc/arch-mips/syscalls/truncate.S b/libc/arch-mips/syscalls/truncate.S
index 6800705..cb077e9 100644
--- a/libc/arch-mips/syscalls/truncate.S
+++ b/libc/arch-mips/syscalls/truncate.S
@@ -4,16 +4,16 @@
 
 ENTRY(truncate)
     .set noreorder
-    .cpload t9
-    li v0, __NR_truncate
+    .cpload $t9
+    li $v0, __NR_truncate
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(truncate)
diff --git a/libc/arch-mips/syscalls/truncate64.S b/libc/arch-mips/syscalls/truncate64.S
index 870e735..4ccd2ad 100644
--- a/libc/arch-mips/syscalls/truncate64.S
+++ b/libc/arch-mips/syscalls/truncate64.S
@@ -4,16 +4,16 @@
 
 ENTRY(truncate64)
     .set noreorder
-    .cpload t9
-    li v0, __NR_truncate64
+    .cpload $t9
+    li $v0, __NR_truncate64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(truncate64)
diff --git a/libc/arch-mips/syscalls/umask.S b/libc/arch-mips/syscalls/umask.S
index ccf4292..196dc07 100644
--- a/libc/arch-mips/syscalls/umask.S
+++ b/libc/arch-mips/syscalls/umask.S
@@ -4,16 +4,16 @@
 
 ENTRY(umask)
     .set noreorder
-    .cpload t9
-    li v0, __NR_umask
+    .cpload $t9
+    li $v0, __NR_umask
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(umask)
diff --git a/libc/arch-mips/syscalls/umount2.S b/libc/arch-mips/syscalls/umount2.S
index 65a7129..f61e3e9 100644
--- a/libc/arch-mips/syscalls/umount2.S
+++ b/libc/arch-mips/syscalls/umount2.S
@@ -4,16 +4,16 @@
 
 ENTRY(umount2)
     .set noreorder
-    .cpload t9
-    li v0, __NR_umount2
+    .cpload $t9
+    li $v0, __NR_umount2
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(umount2)
diff --git a/libc/arch-mips/syscalls/uname.S b/libc/arch-mips/syscalls/uname.S
index f540b3a..c3408e0 100644
--- a/libc/arch-mips/syscalls/uname.S
+++ b/libc/arch-mips/syscalls/uname.S
@@ -4,16 +4,16 @@
 
 ENTRY(uname)
     .set noreorder
-    .cpload t9
-    li v0, __NR_uname
+    .cpload $t9
+    li $v0, __NR_uname
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(uname)
diff --git a/libc/arch-mips/syscalls/unlinkat.S b/libc/arch-mips/syscalls/unlinkat.S
index 001f9cf..400a0b6 100644
--- a/libc/arch-mips/syscalls/unlinkat.S
+++ b/libc/arch-mips/syscalls/unlinkat.S
@@ -4,16 +4,16 @@
 
 ENTRY(unlinkat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_unlinkat
+    .cpload $t9
+    li $v0, __NR_unlinkat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(unlinkat)
diff --git a/libc/arch-mips/syscalls/unshare.S b/libc/arch-mips/syscalls/unshare.S
index 13ca452..2e81abb 100644
--- a/libc/arch-mips/syscalls/unshare.S
+++ b/libc/arch-mips/syscalls/unshare.S
@@ -4,16 +4,16 @@
 
 ENTRY(unshare)
     .set noreorder
-    .cpload t9
-    li v0, __NR_unshare
+    .cpload $t9
+    li $v0, __NR_unshare
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(unshare)
diff --git a/libc/arch-mips/syscalls/utimensat.S b/libc/arch-mips/syscalls/utimensat.S
index 14e5a10..70d0bdd 100644
--- a/libc/arch-mips/syscalls/utimensat.S
+++ b/libc/arch-mips/syscalls/utimensat.S
@@ -4,16 +4,16 @@
 
 ENTRY(utimensat)
     .set noreorder
-    .cpload t9
-    li v0, __NR_utimensat
+    .cpload $t9
+    li $v0, __NR_utimensat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(utimensat)
diff --git a/libc/arch-mips/syscalls/vmsplice.S b/libc/arch-mips/syscalls/vmsplice.S
index 0191f53..e575962 100644
--- a/libc/arch-mips/syscalls/vmsplice.S
+++ b/libc/arch-mips/syscalls/vmsplice.S
@@ -4,16 +4,16 @@
 
 ENTRY(vmsplice)
     .set noreorder
-    .cpload t9
-    li v0, __NR_vmsplice
+    .cpload $t9
+    li $v0, __NR_vmsplice
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(vmsplice)
diff --git a/libc/arch-mips/syscalls/wait4.S b/libc/arch-mips/syscalls/wait4.S
index 8a12533..c9572da 100644
--- a/libc/arch-mips/syscalls/wait4.S
+++ b/libc/arch-mips/syscalls/wait4.S
@@ -4,16 +4,16 @@
 
 ENTRY(wait4)
     .set noreorder
-    .cpload t9
-    li v0, __NR_wait4
+    .cpload $t9
+    li $v0, __NR_wait4
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(wait4)
diff --git a/libc/arch-mips/syscalls/write.S b/libc/arch-mips/syscalls/write.S
index 62dc36f..501c211 100644
--- a/libc/arch-mips/syscalls/write.S
+++ b/libc/arch-mips/syscalls/write.S
@@ -4,16 +4,16 @@
 
 ENTRY(write)
     .set noreorder
-    .cpload t9
-    li v0, __NR_write
+    .cpload $t9
+    li $v0, __NR_write
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(write)
diff --git a/libc/arch-mips/syscalls/writev.S b/libc/arch-mips/syscalls/writev.S
index d8d6616..597d7fa 100644
--- a/libc/arch-mips/syscalls/writev.S
+++ b/libc/arch-mips/syscalls/writev.S
@@ -4,16 +4,16 @@
 
 ENTRY(writev)
     .set noreorder
-    .cpload t9
-    li v0, __NR_writev
+    .cpload $t9
+    li $v0, __NR_writev
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(writev)
diff --git a/libc/arch-mips64/bionic/__bionic_clone.S b/libc/arch-mips64/bionic/__bionic_clone.S
index 0d266ee..d725efc 100644
--- a/libc/arch-mips64/bionic/__bionic_clone.S
+++ b/libc/arch-mips64/bionic/__bionic_clone.S
@@ -43,59 +43,59 @@
 
 // pid_t __bionic_clone(int flags, void* child_stack, pid_t* parent_tid, void* tls, pid_t* child_tid, int (*fn)(void*), void* arg);
 LEAF(__bionic_clone, FRAMESZ)
-	PTR_SUBU sp, FRAMESZ			# allocate stack frame
+	PTR_SUBU $sp, FRAMESZ			# allocate stack frame
 	SETUP_GP64(FRAME_GP,__bionic_clone)
 	SAVE_GP(FRAME_GP)
 
 	# set up child stack
-	PTR_SUBU a1,FRAMESZ
+	PTR_SUBU $a1,FRAMESZ
 #if (_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32)
-	PTR_L	t0,FRAMESZ+5*REGSZ(sp)	# fn
-	PRL_L	t1,FRAMESZ+6*REGSZ(sp)	# arg
-	PTR_S	t0,FRAME_FN(a1)		# fn
-	PTR_S	t1,FRAME_ARG(a1)	# arg
+	PTR_L	$t0,FRAMESZ+5*REGSZ($sp)	# fn
+	PRL_L	$t1,FRAMESZ+6*REGSZ($sp)	# arg
+	PTR_S	$t0,FRAME_FN($a1)		# fn
+	PTR_S	$t1,FRAME_ARG($a1)	# arg
 #else
-	PTR_L	t0,FRAME_GP(sp)		# copy gp to child stack
-	PTR_S	t0,FRAME_GP(a1)
-	PTR_S	a5,FRAME_FN(a1)		# fn
-	PTR_S	a6,FRAME_ARG(a1)	# arg
+	PTR_L	$t0,FRAME_GP($sp)		# copy gp to child stack
+	PTR_S	$t0,FRAME_GP($a1)
+	PTR_S	$a5,FRAME_FN($a1)		# fn
+	PTR_S	$a6,FRAME_ARG($a1)	# arg
 # endif
 
 	# remainder of arguments are correct for clone system call
-	LI	v0,__NR_clone
+	LI	$v0,__NR_clone
 	syscall
 
-	move    a0,v0
-	bnez	a3,.L__error_bc
+	move    $a0,$v0
+	bnez	$a3,.L__error_bc
 
-	beqz	v0,.L__thread_start_bc
+	beqz	$v0,.L__thread_start_bc
 
 	RESTORE_GP64
-	PTR_ADDU sp,FRAMESZ
-	j	ra
+	PTR_ADDU $sp,FRAMESZ
+	j	$ra
 
 .L__thread_start_bc:
 	# Clear return address in child so we don't unwind further.
-	li	ra,0
+	li	$ra,0
 
 	# void __start_thread(int (*func)(void*), void *arg)
-	PTR_L	a0,FRAME_FN(sp)		#  fn
-	PTR_L	a1,FRAME_ARG(sp)	#  arg
-	LA	t9,__start_thread
+	PTR_L	$a0,FRAME_FN($sp)		#  fn
+	PTR_L	$a1,FRAME_ARG($sp)	#  arg
+	LA	$t9,__start_thread
 	RESTORE_GP64
 	/*
 	 * For O32 etc the child stack must have space for a0..a3 to be stored
 	 * For N64 etc, the child stack can be restored to the original value
 	 */
 #if !((_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32))
-	PTR_ADDU sp,FRAMESZ
+	PTR_ADDU $sp,FRAMESZ
 #endif
-	j	t9
+	j	$t9
 
 .L__error_bc:
-	LA	t9,__set_errno_internal
+	LA	$t9,__set_errno_internal
 	RESTORE_GP64
-	PTR_ADDU sp,FRAMESZ
-	j	t9
+	PTR_ADDU $sp,FRAMESZ
+	j	$t9
 	END(__bionic_clone)
 .hidden __bionic_clone
diff --git a/libc/arch-mips64/bionic/_exit_with_stack_teardown.S b/libc/arch-mips64/bionic/_exit_with_stack_teardown.S
index fcf8cc1..4f80801 100644
--- a/libc/arch-mips64/bionic/_exit_with_stack_teardown.S
+++ b/libc/arch-mips64/bionic/_exit_with_stack_teardown.S
@@ -30,12 +30,12 @@
 
 // void _exit_with_stack_teardown(void* stackBase, size_t stackSize)
 ENTRY_PRIVATE(_exit_with_stack_teardown)
-  li	v0, __NR_munmap
+  li	$v0, __NR_munmap
   syscall
   // If munmap failed, we ignore the failure and exit anyway.
 
-  li	a0, 0
-  li	v0, __NR_exit
+  li	$a0, 0
+  li	$v0, __NR_exit
   syscall
   // The exit syscall does not return.
 END(_exit_with_stack_teardown)
diff --git a/libc/arch-mips64/bionic/syscall.S b/libc/arch-mips64/bionic/syscall.S
index 4c739fd..ce5dfd3 100644
--- a/libc/arch-mips64/bionic/syscall.S
+++ b/libc/arch-mips64/bionic/syscall.S
@@ -36,33 +36,33 @@
 #endif
 
 LEAF(syscall,FRAMESZ)
-	PTR_SUBU sp, FRAMESZ	# allocate stack frame
+	PTR_SUBU $sp, FRAMESZ	# allocate stack frame
 	SETUP_GP64(FRAME_GP,syscall)
 	SAVE_GP(FRAME_GP)
-	move	v0, a0		# syscall number to v0
-	move	a0, a1		# shift args down
-	move	a1, a2
-	move	a2, a3
+	move	$v0, $a0		# syscall number to v0
+	move	$a0, $a1		# shift args down
+	move	$a1, $a2
+	move	$a2, $a3
 #if (_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32)
-	REG_L	a3, FRAMESZ+4*REGSZ(sp)
-	REG_L	t0, FRAMESZ+5*REGSZ(sp)
-	REG_L	t1, FRAMESZ+6*REGSZ(sp)
-	REG_S	t0, 4*REGSZ(sp)
-	REG_S	t1, 5*REGSZ(sp)
+	REG_L	$a3, FRAMESZ+4*REGSZ($sp)
+	REG_L	$t0, FRAMESZ+5*REGSZ($sp)
+	REG_L	$t1, FRAMESZ+6*REGSZ($sp)
+	REG_S	$t0, 4*REGSZ($sp)
+	REG_S	$t1, 5*REGSZ($sp)
 #else
-	move	a3, a4
-	move	a4, a5
-	move	a5, a6
+	move	$a3, $a4
+	move	$a4, $a5
+	move	$a5, $a6
 #endif
 	syscall
-	move	a0, v0
-	bnez	a3, 1f
+	move	$a0, $v0
+	bnez	$a3, 1f
 	RESTORE_GP64
-	PTR_ADDU sp, FRAMESZ
-	j	ra
+	PTR_ADDU $sp, FRAMESZ
+	j	$ra
 1:
-	LA	t9,__set_errno_internal
+	LA	$t9,__set_errno_internal
 	RESTORE_GP64
-	PTR_ADDU sp, FRAMESZ
-	j	t9
+	PTR_ADDU $sp, FRAMESZ
+	j	$t9
 	END(syscall)
diff --git a/libc/arch-mips64/bionic/vfork.S b/libc/arch-mips64/bionic/vfork.S
index e0a39ed..5d457a9 100644
--- a/libc/arch-mips64/bionic/vfork.S
+++ b/libc/arch-mips64/bionic/vfork.S
@@ -43,35 +43,35 @@
 
 LEAF(vfork,FRAMESZ)
 #if FRAMESZ!=0
-	PTR_SUBU sp, FRAMESZ
+	PTR_SUBU $sp, FRAMESZ
 #endif
-	SETUP_GP64(a5, vfork)
+	SETUP_GP64($a5, vfork)
 
 	// __get_tls()[TLS_SLOT_THREAD_ID]->cached_pid_ = 0
-	rdhwr	v0, $29			// v0 = tls
-	REG_L	v0, REGSZ*1(v0)		// v0 = v0[TLS_SLOT_THREAD_ID ie 1]
-	sw	$0, REGSZ*2+4(v0)	// v0->cached_pid_ = 0
+	rdhwr	$v0, $29			// v0 = tls
+	REG_L	$v0, REGSZ*1($v0)		// v0 = v0[TLS_SLOT_THREAD_ID ie 1]
+	sw	$0, REGSZ*2+4($v0)	// v0->cached_pid_ = 0
 
-	LI	a0, (CLONE_VM | CLONE_VFORK | SIGCHLD)
-	move	a1, $0
-	move	a2, $0
-	move	a3, $0
+	LI	$a0, (CLONE_VM | CLONE_VFORK | SIGCHLD)
+	move	$a1, $0
+	move	$a2, $0
+	move	$a3, $0
 #if (_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32)
 	REG_S	$0, 4*REGSZ(sp)
 #else
-	move	a4, $0
+	move	$a4, $0
 #endif
-	LI	v0, __NR_clone
+	LI	$v0, __NR_clone
 	syscall
 #if FRAMESZ!=0
-	PTR_ADDU sp,FRAMESZ
+	PTR_ADDU $sp,FRAMESZ
 #endif
-	move	a0, v0
-	bnez	a3, 1f
+	move	$a0, $v0
+	bnez	$a3, 1f
 	RESTORE_GP64
-	j	ra
+	j	$ra
 1:
-	LA	t9,__set_errno_internal
+	LA	$t9,__set_errno_internal
 	RESTORE_GP64
-	j	t9
+	j	$t9
 	END(vfork)
diff --git a/libc/arch-mips64/include b/libc/arch-mips64/include
deleted file mode 120000
index fabbe8a..0000000
--- a/libc/arch-mips64/include
+++ /dev/null
@@ -1 +0,0 @@
-../arch-mips/include
\ No newline at end of file
diff --git a/libc/arch-mips64/syscalls/___clock_nanosleep.S b/libc/arch-mips64/syscalls/___clock_nanosleep.S
index e9fb316..1633136 100644
--- a/libc/arch-mips64/syscalls/___clock_nanosleep.S
+++ b/libc/arch-mips64/syscalls/___clock_nanosleep.S
@@ -5,22 +5,22 @@
 ENTRY(___clock_nanosleep)
     .set push
     .set noreorder
-    li v0, __NR_clock_nanosleep
+    li $v0, __NR_clock_nanosleep
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___clock_nanosleep)
 .hidden ___clock_nanosleep
diff --git a/libc/arch-mips64/syscalls/___close.S b/libc/arch-mips64/syscalls/___close.S
index f1ce708..a8ab9a3 100644
--- a/libc/arch-mips64/syscalls/___close.S
+++ b/libc/arch-mips64/syscalls/___close.S
@@ -5,22 +5,22 @@
 ENTRY(___close)
     .set push
     .set noreorder
-    li v0, __NR_close
+    li $v0, __NR_close
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___close)
 .hidden ___close
diff --git a/libc/arch-mips64/syscalls/___faccessat.S b/libc/arch-mips64/syscalls/___faccessat.S
index 240625f..6e15b92 100644
--- a/libc/arch-mips64/syscalls/___faccessat.S
+++ b/libc/arch-mips64/syscalls/___faccessat.S
@@ -5,22 +5,22 @@
 ENTRY(___faccessat)
     .set push
     .set noreorder
-    li v0, __NR_faccessat
+    li $v0, __NR_faccessat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___faccessat)
 .hidden ___faccessat
diff --git a/libc/arch-mips64/syscalls/___fchmod.S b/libc/arch-mips64/syscalls/___fchmod.S
index 7c16c54..610c7f7 100644
--- a/libc/arch-mips64/syscalls/___fchmod.S
+++ b/libc/arch-mips64/syscalls/___fchmod.S
@@ -5,22 +5,22 @@
 ENTRY(___fchmod)
     .set push
     .set noreorder
-    li v0, __NR_fchmod
+    li $v0, __NR_fchmod
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___fchmod)
 .hidden ___fchmod
diff --git a/libc/arch-mips64/syscalls/___fchmodat.S b/libc/arch-mips64/syscalls/___fchmodat.S
index 50f108e..70ad465 100644
--- a/libc/arch-mips64/syscalls/___fchmodat.S
+++ b/libc/arch-mips64/syscalls/___fchmodat.S
@@ -5,22 +5,22 @@
 ENTRY(___fchmodat)
     .set push
     .set noreorder
-    li v0, __NR_fchmodat
+    li $v0, __NR_fchmodat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___fchmodat)
 .hidden ___fchmodat
diff --git a/libc/arch-mips64/syscalls/___fgetxattr.S b/libc/arch-mips64/syscalls/___fgetxattr.S
index 935b080..fefb416 100644
--- a/libc/arch-mips64/syscalls/___fgetxattr.S
+++ b/libc/arch-mips64/syscalls/___fgetxattr.S
@@ -5,22 +5,22 @@
 ENTRY(___fgetxattr)
     .set push
     .set noreorder
-    li v0, __NR_fgetxattr
+    li $v0, __NR_fgetxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___fgetxattr)
 .hidden ___fgetxattr
diff --git a/libc/arch-mips64/syscalls/___flistxattr.S b/libc/arch-mips64/syscalls/___flistxattr.S
index 586bcf7..ff1991d 100644
--- a/libc/arch-mips64/syscalls/___flistxattr.S
+++ b/libc/arch-mips64/syscalls/___flistxattr.S
@@ -5,22 +5,22 @@
 ENTRY(___flistxattr)
     .set push
     .set noreorder
-    li v0, __NR_flistxattr
+    li $v0, __NR_flistxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___flistxattr)
 .hidden ___flistxattr
diff --git a/libc/arch-mips64/syscalls/___fsetxattr.S b/libc/arch-mips64/syscalls/___fsetxattr.S
index c02f406..454be4b 100644
--- a/libc/arch-mips64/syscalls/___fsetxattr.S
+++ b/libc/arch-mips64/syscalls/___fsetxattr.S
@@ -5,22 +5,22 @@
 ENTRY(___fsetxattr)
     .set push
     .set noreorder
-    li v0, __NR_fsetxattr
+    li $v0, __NR_fsetxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___fsetxattr)
 .hidden ___fsetxattr
diff --git a/libc/arch-mips64/syscalls/___mremap.S b/libc/arch-mips64/syscalls/___mremap.S
index 5004d50..4c996a6 100644
--- a/libc/arch-mips64/syscalls/___mremap.S
+++ b/libc/arch-mips64/syscalls/___mremap.S
@@ -5,22 +5,22 @@
 ENTRY(___mremap)
     .set push
     .set noreorder
-    li v0, __NR_mremap
+    li $v0, __NR_mremap
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___mremap)
 .hidden ___mremap
diff --git a/libc/arch-mips64/syscalls/___rt_sigqueueinfo.S b/libc/arch-mips64/syscalls/___rt_sigqueueinfo.S
index 1503f51..5cb239a 100644
--- a/libc/arch-mips64/syscalls/___rt_sigqueueinfo.S
+++ b/libc/arch-mips64/syscalls/___rt_sigqueueinfo.S
@@ -5,22 +5,22 @@
 ENTRY(___rt_sigqueueinfo)
     .set push
     .set noreorder
-    li v0, __NR_rt_sigqueueinfo
+    li $v0, __NR_rt_sigqueueinfo
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(___rt_sigqueueinfo)
 .hidden ___rt_sigqueueinfo
diff --git a/libc/arch-mips64/syscalls/__accept4.S b/libc/arch-mips64/syscalls/__accept4.S
index ed9b6c7..d13222e 100644
--- a/libc/arch-mips64/syscalls/__accept4.S
+++ b/libc/arch-mips64/syscalls/__accept4.S
@@ -5,22 +5,22 @@
 ENTRY(__accept4)
     .set push
     .set noreorder
-    li v0, __NR_accept4
+    li $v0, __NR_accept4
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__accept4)
 .hidden __accept4
diff --git a/libc/arch-mips64/syscalls/__brk.S b/libc/arch-mips64/syscalls/__brk.S
index e1f89c7..a643a66 100644
--- a/libc/arch-mips64/syscalls/__brk.S
+++ b/libc/arch-mips64/syscalls/__brk.S
@@ -5,22 +5,22 @@
 ENTRY(__brk)
     .set push
     .set noreorder
-    li v0, __NR_brk
+    li $v0, __NR_brk
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__brk)
 .hidden __brk
diff --git a/libc/arch-mips64/syscalls/__clock_gettime.S b/libc/arch-mips64/syscalls/__clock_gettime.S
index 3407122..fb3486b 100644
--- a/libc/arch-mips64/syscalls/__clock_gettime.S
+++ b/libc/arch-mips64/syscalls/__clock_gettime.S
@@ -5,22 +5,22 @@
 ENTRY(__clock_gettime)
     .set push
     .set noreorder
-    li v0, __NR_clock_gettime
+    li $v0, __NR_clock_gettime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__clock_gettime)
 .hidden __clock_gettime
diff --git a/libc/arch-mips64/syscalls/__connect.S b/libc/arch-mips64/syscalls/__connect.S
index 8c44464..01f465f 100644
--- a/libc/arch-mips64/syscalls/__connect.S
+++ b/libc/arch-mips64/syscalls/__connect.S
@@ -5,22 +5,22 @@
 ENTRY(__connect)
     .set push
     .set noreorder
-    li v0, __NR_connect
+    li $v0, __NR_connect
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__connect)
 .hidden __connect
diff --git a/libc/arch-mips64/syscalls/__epoll_pwait.S b/libc/arch-mips64/syscalls/__epoll_pwait.S
index 5dfb380..7362583 100644
--- a/libc/arch-mips64/syscalls/__epoll_pwait.S
+++ b/libc/arch-mips64/syscalls/__epoll_pwait.S
@@ -5,22 +5,22 @@
 ENTRY(__epoll_pwait)
     .set push
     .set noreorder
-    li v0, __NR_epoll_pwait
+    li $v0, __NR_epoll_pwait
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__epoll_pwait)
 .hidden __epoll_pwait
diff --git a/libc/arch-mips64/syscalls/__exit.S b/libc/arch-mips64/syscalls/__exit.S
index 2d5e03d..d32746a 100644
--- a/libc/arch-mips64/syscalls/__exit.S
+++ b/libc/arch-mips64/syscalls/__exit.S
@@ -5,22 +5,22 @@
 ENTRY(__exit)
     .set push
     .set noreorder
-    li v0, __NR_exit
+    li $v0, __NR_exit
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__exit)
 .hidden __exit
diff --git a/libc/arch-mips64/syscalls/__fadvise64.S b/libc/arch-mips64/syscalls/__fadvise64.S
index 90aceb0..6170142 100644
--- a/libc/arch-mips64/syscalls/__fadvise64.S
+++ b/libc/arch-mips64/syscalls/__fadvise64.S
@@ -5,22 +5,22 @@
 ENTRY(__fadvise64)
     .set push
     .set noreorder
-    li v0, __NR_fadvise64
+    li $v0, __NR_fadvise64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__fadvise64)
 .hidden __fadvise64
diff --git a/libc/arch-mips64/syscalls/__fstatfs.S b/libc/arch-mips64/syscalls/__fstatfs.S
index 8766e22..bc57bb1 100644
--- a/libc/arch-mips64/syscalls/__fstatfs.S
+++ b/libc/arch-mips64/syscalls/__fstatfs.S
@@ -5,22 +5,22 @@
 ENTRY(__fstatfs)
     .set push
     .set noreorder
-    li v0, __NR_fstatfs
+    li $v0, __NR_fstatfs
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__fstatfs)
 .hidden __fstatfs
diff --git a/libc/arch-mips64/syscalls/__getcpu.S b/libc/arch-mips64/syscalls/__getcpu.S
index a16c21e..05acc44 100644
--- a/libc/arch-mips64/syscalls/__getcpu.S
+++ b/libc/arch-mips64/syscalls/__getcpu.S
@@ -5,22 +5,22 @@
 ENTRY(__getcpu)
     .set push
     .set noreorder
-    li v0, __NR_getcpu
+    li $v0, __NR_getcpu
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__getcpu)
 .hidden __getcpu
diff --git a/libc/arch-mips64/syscalls/__getcwd.S b/libc/arch-mips64/syscalls/__getcwd.S
index 53eeb68..572d52d 100644
--- a/libc/arch-mips64/syscalls/__getcwd.S
+++ b/libc/arch-mips64/syscalls/__getcwd.S
@@ -5,22 +5,22 @@
 ENTRY(__getcwd)
     .set push
     .set noreorder
-    li v0, __NR_getcwd
+    li $v0, __NR_getcwd
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__getcwd)
 .hidden __getcwd
diff --git a/libc/arch-mips64/syscalls/__getdents64.S b/libc/arch-mips64/syscalls/__getdents64.S
index 3720b8e..9166c5f 100644
--- a/libc/arch-mips64/syscalls/__getdents64.S
+++ b/libc/arch-mips64/syscalls/__getdents64.S
@@ -5,22 +5,22 @@
 ENTRY(__getdents64)
     .set push
     .set noreorder
-    li v0, __NR_getdents64
+    li $v0, __NR_getdents64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__getdents64)
 .hidden __getdents64
diff --git a/libc/arch-mips64/syscalls/__getpid.S b/libc/arch-mips64/syscalls/__getpid.S
index 6d5d926..7344062 100644
--- a/libc/arch-mips64/syscalls/__getpid.S
+++ b/libc/arch-mips64/syscalls/__getpid.S
@@ -5,22 +5,22 @@
 ENTRY(__getpid)
     .set push
     .set noreorder
-    li v0, __NR_getpid
+    li $v0, __NR_getpid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__getpid)
 .hidden __getpid
diff --git a/libc/arch-mips64/syscalls/__getpriority.S b/libc/arch-mips64/syscalls/__getpriority.S
index 19327ab..faa386a 100644
--- a/libc/arch-mips64/syscalls/__getpriority.S
+++ b/libc/arch-mips64/syscalls/__getpriority.S
@@ -5,22 +5,22 @@
 ENTRY(__getpriority)
     .set push
     .set noreorder
-    li v0, __NR_getpriority
+    li $v0, __NR_getpriority
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__getpriority)
 .hidden __getpriority
diff --git a/libc/arch-mips64/syscalls/__gettimeofday.S b/libc/arch-mips64/syscalls/__gettimeofday.S
index 2ac5e9b..2316491 100644
--- a/libc/arch-mips64/syscalls/__gettimeofday.S
+++ b/libc/arch-mips64/syscalls/__gettimeofday.S
@@ -5,22 +5,22 @@
 ENTRY(__gettimeofday)
     .set push
     .set noreorder
-    li v0, __NR_gettimeofday
+    li $v0, __NR_gettimeofday
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__gettimeofday)
 .hidden __gettimeofday
diff --git a/libc/arch-mips64/syscalls/__ioctl.S b/libc/arch-mips64/syscalls/__ioctl.S
index 7fad0d1..7193cc1 100644
--- a/libc/arch-mips64/syscalls/__ioctl.S
+++ b/libc/arch-mips64/syscalls/__ioctl.S
@@ -5,22 +5,22 @@
 ENTRY(__ioctl)
     .set push
     .set noreorder
-    li v0, __NR_ioctl
+    li $v0, __NR_ioctl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__ioctl)
 .hidden __ioctl
diff --git a/libc/arch-mips64/syscalls/__openat.S b/libc/arch-mips64/syscalls/__openat.S
index d3ac13a..a1d6d2f 100644
--- a/libc/arch-mips64/syscalls/__openat.S
+++ b/libc/arch-mips64/syscalls/__openat.S
@@ -5,22 +5,22 @@
 ENTRY(__openat)
     .set push
     .set noreorder
-    li v0, __NR_openat
+    li $v0, __NR_openat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__openat)
 .hidden __openat
diff --git a/libc/arch-mips64/syscalls/__ppoll.S b/libc/arch-mips64/syscalls/__ppoll.S
index 4e6fb8a..5992310 100644
--- a/libc/arch-mips64/syscalls/__ppoll.S
+++ b/libc/arch-mips64/syscalls/__ppoll.S
@@ -5,22 +5,22 @@
 ENTRY(__ppoll)
     .set push
     .set noreorder
-    li v0, __NR_ppoll
+    li $v0, __NR_ppoll
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__ppoll)
 .hidden __ppoll
diff --git a/libc/arch-mips64/syscalls/__pselect6.S b/libc/arch-mips64/syscalls/__pselect6.S
index 6d49d1c..e55eee7 100644
--- a/libc/arch-mips64/syscalls/__pselect6.S
+++ b/libc/arch-mips64/syscalls/__pselect6.S
@@ -5,22 +5,22 @@
 ENTRY(__pselect6)
     .set push
     .set noreorder
-    li v0, __NR_pselect6
+    li $v0, __NR_pselect6
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__pselect6)
 .hidden __pselect6
diff --git a/libc/arch-mips64/syscalls/__ptrace.S b/libc/arch-mips64/syscalls/__ptrace.S
index 5a3ce16..842d778 100644
--- a/libc/arch-mips64/syscalls/__ptrace.S
+++ b/libc/arch-mips64/syscalls/__ptrace.S
@@ -5,22 +5,22 @@
 ENTRY(__ptrace)
     .set push
     .set noreorder
-    li v0, __NR_ptrace
+    li $v0, __NR_ptrace
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__ptrace)
 .hidden __ptrace
diff --git a/libc/arch-mips64/syscalls/__reboot.S b/libc/arch-mips64/syscalls/__reboot.S
index 587310d..6b1ae9f 100644
--- a/libc/arch-mips64/syscalls/__reboot.S
+++ b/libc/arch-mips64/syscalls/__reboot.S
@@ -5,22 +5,22 @@
 ENTRY(__reboot)
     .set push
     .set noreorder
-    li v0, __NR_reboot
+    li $v0, __NR_reboot
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__reboot)
 .hidden __reboot
diff --git a/libc/arch-mips64/syscalls/__rt_sigaction.S b/libc/arch-mips64/syscalls/__rt_sigaction.S
index 7dd3cae..484b482 100644
--- a/libc/arch-mips64/syscalls/__rt_sigaction.S
+++ b/libc/arch-mips64/syscalls/__rt_sigaction.S
@@ -5,22 +5,22 @@
 ENTRY(__rt_sigaction)
     .set push
     .set noreorder
-    li v0, __NR_rt_sigaction
+    li $v0, __NR_rt_sigaction
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__rt_sigaction)
 .hidden __rt_sigaction
diff --git a/libc/arch-mips64/syscalls/__rt_sigpending.S b/libc/arch-mips64/syscalls/__rt_sigpending.S
index 68ae39a..5961578 100644
--- a/libc/arch-mips64/syscalls/__rt_sigpending.S
+++ b/libc/arch-mips64/syscalls/__rt_sigpending.S
@@ -5,22 +5,22 @@
 ENTRY(__rt_sigpending)
     .set push
     .set noreorder
-    li v0, __NR_rt_sigpending
+    li $v0, __NR_rt_sigpending
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__rt_sigpending)
 .hidden __rt_sigpending
diff --git a/libc/arch-mips64/syscalls/__rt_sigprocmask.S b/libc/arch-mips64/syscalls/__rt_sigprocmask.S
index 54620e9..c962f66 100644
--- a/libc/arch-mips64/syscalls/__rt_sigprocmask.S
+++ b/libc/arch-mips64/syscalls/__rt_sigprocmask.S
@@ -5,22 +5,22 @@
 ENTRY(__rt_sigprocmask)
     .set push
     .set noreorder
-    li v0, __NR_rt_sigprocmask
+    li $v0, __NR_rt_sigprocmask
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__rt_sigprocmask)
 .hidden __rt_sigprocmask
diff --git a/libc/arch-mips64/syscalls/__rt_sigsuspend.S b/libc/arch-mips64/syscalls/__rt_sigsuspend.S
index ea15def..7613af2 100644
--- a/libc/arch-mips64/syscalls/__rt_sigsuspend.S
+++ b/libc/arch-mips64/syscalls/__rt_sigsuspend.S
@@ -5,22 +5,22 @@
 ENTRY(__rt_sigsuspend)
     .set push
     .set noreorder
-    li v0, __NR_rt_sigsuspend
+    li $v0, __NR_rt_sigsuspend
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__rt_sigsuspend)
 .hidden __rt_sigsuspend
diff --git a/libc/arch-mips64/syscalls/__rt_sigtimedwait.S b/libc/arch-mips64/syscalls/__rt_sigtimedwait.S
index 177f17c..0c80a2e 100644
--- a/libc/arch-mips64/syscalls/__rt_sigtimedwait.S
+++ b/libc/arch-mips64/syscalls/__rt_sigtimedwait.S
@@ -5,22 +5,22 @@
 ENTRY(__rt_sigtimedwait)
     .set push
     .set noreorder
-    li v0, __NR_rt_sigtimedwait
+    li $v0, __NR_rt_sigtimedwait
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__rt_sigtimedwait)
 .hidden __rt_sigtimedwait
diff --git a/libc/arch-mips64/syscalls/__sched_getaffinity.S b/libc/arch-mips64/syscalls/__sched_getaffinity.S
index 2081706..5f5dae2 100644
--- a/libc/arch-mips64/syscalls/__sched_getaffinity.S
+++ b/libc/arch-mips64/syscalls/__sched_getaffinity.S
@@ -5,22 +5,22 @@
 ENTRY(__sched_getaffinity)
     .set push
     .set noreorder
-    li v0, __NR_sched_getaffinity
+    li $v0, __NR_sched_getaffinity
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__sched_getaffinity)
 .hidden __sched_getaffinity
diff --git a/libc/arch-mips64/syscalls/__set_tid_address.S b/libc/arch-mips64/syscalls/__set_tid_address.S
index cd966dd..a411701 100644
--- a/libc/arch-mips64/syscalls/__set_tid_address.S
+++ b/libc/arch-mips64/syscalls/__set_tid_address.S
@@ -5,22 +5,22 @@
 ENTRY(__set_tid_address)
     .set push
     .set noreorder
-    li v0, __NR_set_tid_address
+    li $v0, __NR_set_tid_address
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__set_tid_address)
 .hidden __set_tid_address
diff --git a/libc/arch-mips64/syscalls/__set_tls.S b/libc/arch-mips64/syscalls/__set_tls.S
index cc98150..a72c8e3 100644
--- a/libc/arch-mips64/syscalls/__set_tls.S
+++ b/libc/arch-mips64/syscalls/__set_tls.S
@@ -5,22 +5,22 @@
 ENTRY(__set_tls)
     .set push
     .set noreorder
-    li v0, __NR_set_thread_area
+    li $v0, __NR_set_thread_area
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__set_tls)
 .hidden __set_tls
diff --git a/libc/arch-mips64/syscalls/__signalfd4.S b/libc/arch-mips64/syscalls/__signalfd4.S
index ea6eef1..35e2a0a 100644
--- a/libc/arch-mips64/syscalls/__signalfd4.S
+++ b/libc/arch-mips64/syscalls/__signalfd4.S
@@ -5,22 +5,22 @@
 ENTRY(__signalfd4)
     .set push
     .set noreorder
-    li v0, __NR_signalfd4
+    li $v0, __NR_signalfd4
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__signalfd4)
 .hidden __signalfd4
diff --git a/libc/arch-mips64/syscalls/__socket.S b/libc/arch-mips64/syscalls/__socket.S
index a499359..dce2031 100644
--- a/libc/arch-mips64/syscalls/__socket.S
+++ b/libc/arch-mips64/syscalls/__socket.S
@@ -5,22 +5,22 @@
 ENTRY(__socket)
     .set push
     .set noreorder
-    li v0, __NR_socket
+    li $v0, __NR_socket
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__socket)
 .hidden __socket
diff --git a/libc/arch-mips64/syscalls/__statfs.S b/libc/arch-mips64/syscalls/__statfs.S
index 52db4e2..9960fc7 100644
--- a/libc/arch-mips64/syscalls/__statfs.S
+++ b/libc/arch-mips64/syscalls/__statfs.S
@@ -5,22 +5,22 @@
 ENTRY(__statfs)
     .set push
     .set noreorder
-    li v0, __NR_statfs
+    li $v0, __NR_statfs
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__statfs)
 .hidden __statfs
diff --git a/libc/arch-mips64/syscalls/__sync_file_range.S b/libc/arch-mips64/syscalls/__sync_file_range.S
index e22c36e..eeb470d 100644
--- a/libc/arch-mips64/syscalls/__sync_file_range.S
+++ b/libc/arch-mips64/syscalls/__sync_file_range.S
@@ -5,22 +5,22 @@
 ENTRY(__sync_file_range)
     .set push
     .set noreorder
-    li v0, __NR_sync_file_range
+    li $v0, __NR_sync_file_range
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__sync_file_range)
 .hidden __sync_file_range
diff --git a/libc/arch-mips64/syscalls/__timer_create.S b/libc/arch-mips64/syscalls/__timer_create.S
index c66d8f9..2fecc4d 100644
--- a/libc/arch-mips64/syscalls/__timer_create.S
+++ b/libc/arch-mips64/syscalls/__timer_create.S
@@ -5,22 +5,22 @@
 ENTRY(__timer_create)
     .set push
     .set noreorder
-    li v0, __NR_timer_create
+    li $v0, __NR_timer_create
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__timer_create)
 .hidden __timer_create
diff --git a/libc/arch-mips64/syscalls/__timer_delete.S b/libc/arch-mips64/syscalls/__timer_delete.S
index 45cf5e8..be6ac60 100644
--- a/libc/arch-mips64/syscalls/__timer_delete.S
+++ b/libc/arch-mips64/syscalls/__timer_delete.S
@@ -5,22 +5,22 @@
 ENTRY(__timer_delete)
     .set push
     .set noreorder
-    li v0, __NR_timer_delete
+    li $v0, __NR_timer_delete
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__timer_delete)
 .hidden __timer_delete
diff --git a/libc/arch-mips64/syscalls/__timer_getoverrun.S b/libc/arch-mips64/syscalls/__timer_getoverrun.S
index 8a73160..dfabba6 100644
--- a/libc/arch-mips64/syscalls/__timer_getoverrun.S
+++ b/libc/arch-mips64/syscalls/__timer_getoverrun.S
@@ -5,22 +5,22 @@
 ENTRY(__timer_getoverrun)
     .set push
     .set noreorder
-    li v0, __NR_timer_getoverrun
+    li $v0, __NR_timer_getoverrun
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__timer_getoverrun)
 .hidden __timer_getoverrun
diff --git a/libc/arch-mips64/syscalls/__timer_gettime.S b/libc/arch-mips64/syscalls/__timer_gettime.S
index 32ee5bf..49606c2 100644
--- a/libc/arch-mips64/syscalls/__timer_gettime.S
+++ b/libc/arch-mips64/syscalls/__timer_gettime.S
@@ -5,22 +5,22 @@
 ENTRY(__timer_gettime)
     .set push
     .set noreorder
-    li v0, __NR_timer_gettime
+    li $v0, __NR_timer_gettime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__timer_gettime)
 .hidden __timer_gettime
diff --git a/libc/arch-mips64/syscalls/__timer_settime.S b/libc/arch-mips64/syscalls/__timer_settime.S
index 59764d8..a61d92c 100644
--- a/libc/arch-mips64/syscalls/__timer_settime.S
+++ b/libc/arch-mips64/syscalls/__timer_settime.S
@@ -5,22 +5,22 @@
 ENTRY(__timer_settime)
     .set push
     .set noreorder
-    li v0, __NR_timer_settime
+    li $v0, __NR_timer_settime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__timer_settime)
 .hidden __timer_settime
diff --git a/libc/arch-mips64/syscalls/__waitid.S b/libc/arch-mips64/syscalls/__waitid.S
index 5ee090d..bc4810c 100644
--- a/libc/arch-mips64/syscalls/__waitid.S
+++ b/libc/arch-mips64/syscalls/__waitid.S
@@ -5,22 +5,22 @@
 ENTRY(__waitid)
     .set push
     .set noreorder
-    li v0, __NR_waitid
+    li $v0, __NR_waitid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(__waitid)
 .hidden __waitid
diff --git a/libc/arch-mips64/syscalls/_exit.S b/libc/arch-mips64/syscalls/_exit.S
index 37f8119..638fdb1 100644
--- a/libc/arch-mips64/syscalls/_exit.S
+++ b/libc/arch-mips64/syscalls/_exit.S
@@ -5,22 +5,22 @@
 ENTRY(_exit)
     .set push
     .set noreorder
-    li v0, __NR_exit_group
+    li $v0, __NR_exit_group
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(_exit)
 
diff --git a/libc/arch-mips64/syscalls/acct.S b/libc/arch-mips64/syscalls/acct.S
index ff728dc..abf4c26 100644
--- a/libc/arch-mips64/syscalls/acct.S
+++ b/libc/arch-mips64/syscalls/acct.S
@@ -5,21 +5,21 @@
 ENTRY(acct)
     .set push
     .set noreorder
-    li v0, __NR_acct
+    li $v0, __NR_acct
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(acct)
diff --git a/libc/arch-mips64/syscalls/adjtimex.S b/libc/arch-mips64/syscalls/adjtimex.S
index 57b012c..716f46f 100644
--- a/libc/arch-mips64/syscalls/adjtimex.S
+++ b/libc/arch-mips64/syscalls/adjtimex.S
@@ -5,21 +5,21 @@
 ENTRY(adjtimex)
     .set push
     .set noreorder
-    li v0, __NR_adjtimex
+    li $v0, __NR_adjtimex
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(adjtimex)
diff --git a/libc/arch-mips64/syscalls/bind.S b/libc/arch-mips64/syscalls/bind.S
index 9c2b5b8..a0b43ab 100644
--- a/libc/arch-mips64/syscalls/bind.S
+++ b/libc/arch-mips64/syscalls/bind.S
@@ -5,21 +5,21 @@
 ENTRY(bind)
     .set push
     .set noreorder
-    li v0, __NR_bind
+    li $v0, __NR_bind
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(bind)
diff --git a/libc/arch-mips64/syscalls/capget.S b/libc/arch-mips64/syscalls/capget.S
index 9d05438..1fd3b43 100644
--- a/libc/arch-mips64/syscalls/capget.S
+++ b/libc/arch-mips64/syscalls/capget.S
@@ -5,21 +5,21 @@
 ENTRY(capget)
     .set push
     .set noreorder
-    li v0, __NR_capget
+    li $v0, __NR_capget
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(capget)
diff --git a/libc/arch-mips64/syscalls/capset.S b/libc/arch-mips64/syscalls/capset.S
index e947028..e183202 100644
--- a/libc/arch-mips64/syscalls/capset.S
+++ b/libc/arch-mips64/syscalls/capset.S
@@ -5,21 +5,21 @@
 ENTRY(capset)
     .set push
     .set noreorder
-    li v0, __NR_capset
+    li $v0, __NR_capset
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(capset)
diff --git a/libc/arch-mips64/syscalls/chdir.S b/libc/arch-mips64/syscalls/chdir.S
index 14b22c9..c4dc3b7 100644
--- a/libc/arch-mips64/syscalls/chdir.S
+++ b/libc/arch-mips64/syscalls/chdir.S
@@ -5,21 +5,21 @@
 ENTRY(chdir)
     .set push
     .set noreorder
-    li v0, __NR_chdir
+    li $v0, __NR_chdir
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(chdir)
diff --git a/libc/arch-mips64/syscalls/chroot.S b/libc/arch-mips64/syscalls/chroot.S
index e805f51..7880087 100644
--- a/libc/arch-mips64/syscalls/chroot.S
+++ b/libc/arch-mips64/syscalls/chroot.S
@@ -5,21 +5,21 @@
 ENTRY(chroot)
     .set push
     .set noreorder
-    li v0, __NR_chroot
+    li $v0, __NR_chroot
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(chroot)
diff --git a/libc/arch-mips64/syscalls/clock_adjtime.S b/libc/arch-mips64/syscalls/clock_adjtime.S
index 206e9fd..3650647 100644
--- a/libc/arch-mips64/syscalls/clock_adjtime.S
+++ b/libc/arch-mips64/syscalls/clock_adjtime.S
@@ -5,21 +5,21 @@
 ENTRY(clock_adjtime)
     .set push
     .set noreorder
-    li v0, __NR_clock_adjtime
+    li $v0, __NR_clock_adjtime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(clock_adjtime)
diff --git a/libc/arch-mips64/syscalls/clock_getres.S b/libc/arch-mips64/syscalls/clock_getres.S
index 41003a0..32fac1a 100644
--- a/libc/arch-mips64/syscalls/clock_getres.S
+++ b/libc/arch-mips64/syscalls/clock_getres.S
@@ -5,21 +5,21 @@
 ENTRY(clock_getres)
     .set push
     .set noreorder
-    li v0, __NR_clock_getres
+    li $v0, __NR_clock_getres
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(clock_getres)
diff --git a/libc/arch-mips64/syscalls/clock_settime.S b/libc/arch-mips64/syscalls/clock_settime.S
index 77b6ae4..fa63bad 100644
--- a/libc/arch-mips64/syscalls/clock_settime.S
+++ b/libc/arch-mips64/syscalls/clock_settime.S
@@ -5,21 +5,21 @@
 ENTRY(clock_settime)
     .set push
     .set noreorder
-    li v0, __NR_clock_settime
+    li $v0, __NR_clock_settime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(clock_settime)
diff --git a/libc/arch-mips64/syscalls/delete_module.S b/libc/arch-mips64/syscalls/delete_module.S
index 8396537..41f0333 100644
--- a/libc/arch-mips64/syscalls/delete_module.S
+++ b/libc/arch-mips64/syscalls/delete_module.S
@@ -5,21 +5,21 @@
 ENTRY(delete_module)
     .set push
     .set noreorder
-    li v0, __NR_delete_module
+    li $v0, __NR_delete_module
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(delete_module)
diff --git a/libc/arch-mips64/syscalls/dup.S b/libc/arch-mips64/syscalls/dup.S
index d1ca5e7..b916cd5 100644
--- a/libc/arch-mips64/syscalls/dup.S
+++ b/libc/arch-mips64/syscalls/dup.S
@@ -5,21 +5,21 @@
 ENTRY(dup)
     .set push
     .set noreorder
-    li v0, __NR_dup
+    li $v0, __NR_dup
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(dup)
diff --git a/libc/arch-mips64/syscalls/dup3.S b/libc/arch-mips64/syscalls/dup3.S
index 5601f31..975e768 100644
--- a/libc/arch-mips64/syscalls/dup3.S
+++ b/libc/arch-mips64/syscalls/dup3.S
@@ -5,21 +5,21 @@
 ENTRY(dup3)
     .set push
     .set noreorder
-    li v0, __NR_dup3
+    li $v0, __NR_dup3
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(dup3)
diff --git a/libc/arch-mips64/syscalls/epoll_create1.S b/libc/arch-mips64/syscalls/epoll_create1.S
index 11f1ceb..2cb913a 100644
--- a/libc/arch-mips64/syscalls/epoll_create1.S
+++ b/libc/arch-mips64/syscalls/epoll_create1.S
@@ -5,21 +5,21 @@
 ENTRY(epoll_create1)
     .set push
     .set noreorder
-    li v0, __NR_epoll_create1
+    li $v0, __NR_epoll_create1
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(epoll_create1)
diff --git a/libc/arch-mips64/syscalls/epoll_ctl.S b/libc/arch-mips64/syscalls/epoll_ctl.S
index 9eba605..2a8f731 100644
--- a/libc/arch-mips64/syscalls/epoll_ctl.S
+++ b/libc/arch-mips64/syscalls/epoll_ctl.S
@@ -5,21 +5,21 @@
 ENTRY(epoll_ctl)
     .set push
     .set noreorder
-    li v0, __NR_epoll_ctl
+    li $v0, __NR_epoll_ctl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(epoll_ctl)
diff --git a/libc/arch-mips64/syscalls/eventfd.S b/libc/arch-mips64/syscalls/eventfd.S
index 5cd63e4..f8eaee7 100644
--- a/libc/arch-mips64/syscalls/eventfd.S
+++ b/libc/arch-mips64/syscalls/eventfd.S
@@ -5,21 +5,21 @@
 ENTRY(eventfd)
     .set push
     .set noreorder
-    li v0, __NR_eventfd2
+    li $v0, __NR_eventfd2
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(eventfd)
diff --git a/libc/arch-mips64/syscalls/execve.S b/libc/arch-mips64/syscalls/execve.S
index bcd5d60..6f7d1d7 100644
--- a/libc/arch-mips64/syscalls/execve.S
+++ b/libc/arch-mips64/syscalls/execve.S
@@ -5,21 +5,21 @@
 ENTRY(execve)
     .set push
     .set noreorder
-    li v0, __NR_execve
+    li $v0, __NR_execve
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(execve)
diff --git a/libc/arch-mips64/syscalls/fallocate.S b/libc/arch-mips64/syscalls/fallocate.S
index 14e25a0..6685475 100644
--- a/libc/arch-mips64/syscalls/fallocate.S
+++ b/libc/arch-mips64/syscalls/fallocate.S
@@ -5,22 +5,22 @@
 ENTRY(fallocate)
     .set push
     .set noreorder
-    li v0, __NR_fallocate
+    li $v0, __NR_fallocate
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(fallocate)
 
diff --git a/libc/arch-mips64/syscalls/fchdir.S b/libc/arch-mips64/syscalls/fchdir.S
index e05625c..ba76746 100644
--- a/libc/arch-mips64/syscalls/fchdir.S
+++ b/libc/arch-mips64/syscalls/fchdir.S
@@ -5,21 +5,21 @@
 ENTRY(fchdir)
     .set push
     .set noreorder
-    li v0, __NR_fchdir
+    li $v0, __NR_fchdir
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(fchdir)
diff --git a/libc/arch-mips64/syscalls/fchown.S b/libc/arch-mips64/syscalls/fchown.S
index 5dc33c0..edbc1f1 100644
--- a/libc/arch-mips64/syscalls/fchown.S
+++ b/libc/arch-mips64/syscalls/fchown.S
@@ -5,21 +5,21 @@
 ENTRY(fchown)
     .set push
     .set noreorder
-    li v0, __NR_fchown
+    li $v0, __NR_fchown
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(fchown)
diff --git a/libc/arch-mips64/syscalls/fchownat.S b/libc/arch-mips64/syscalls/fchownat.S
index f4cefe0..219a32e 100644
--- a/libc/arch-mips64/syscalls/fchownat.S
+++ b/libc/arch-mips64/syscalls/fchownat.S
@@ -5,21 +5,21 @@
 ENTRY(fchownat)
     .set push
     .set noreorder
-    li v0, __NR_fchownat
+    li $v0, __NR_fchownat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(fchownat)
diff --git a/libc/arch-mips64/syscalls/fcntl.S b/libc/arch-mips64/syscalls/fcntl.S
index dabc65b..25571f9 100644
--- a/libc/arch-mips64/syscalls/fcntl.S
+++ b/libc/arch-mips64/syscalls/fcntl.S
@@ -5,21 +5,21 @@
 ENTRY(fcntl)
     .set push
     .set noreorder
-    li v0, __NR_fcntl
+    li $v0, __NR_fcntl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(fcntl)
diff --git a/libc/arch-mips64/syscalls/fdatasync.S b/libc/arch-mips64/syscalls/fdatasync.S
index 52be110..b8f21c7 100644
--- a/libc/arch-mips64/syscalls/fdatasync.S
+++ b/libc/arch-mips64/syscalls/fdatasync.S
@@ -5,21 +5,21 @@
 ENTRY(fdatasync)
     .set push
     .set noreorder
-    li v0, __NR_fdatasync
+    li $v0, __NR_fdatasync
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(fdatasync)
diff --git a/libc/arch-mips64/syscalls/flock.S b/libc/arch-mips64/syscalls/flock.S
index d74a5db..0242f98 100644
--- a/libc/arch-mips64/syscalls/flock.S
+++ b/libc/arch-mips64/syscalls/flock.S
@@ -5,21 +5,21 @@
 ENTRY(flock)
     .set push
     .set noreorder
-    li v0, __NR_flock
+    li $v0, __NR_flock
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(flock)
diff --git a/libc/arch-mips64/syscalls/fremovexattr.S b/libc/arch-mips64/syscalls/fremovexattr.S
index 417be4a..b328c67 100644
--- a/libc/arch-mips64/syscalls/fremovexattr.S
+++ b/libc/arch-mips64/syscalls/fremovexattr.S
@@ -5,21 +5,21 @@
 ENTRY(fremovexattr)
     .set push
     .set noreorder
-    li v0, __NR_fremovexattr
+    li $v0, __NR_fremovexattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(fremovexattr)
diff --git a/libc/arch-mips64/syscalls/fsync.S b/libc/arch-mips64/syscalls/fsync.S
index 7056e36..197159f 100644
--- a/libc/arch-mips64/syscalls/fsync.S
+++ b/libc/arch-mips64/syscalls/fsync.S
@@ -5,21 +5,21 @@
 ENTRY(fsync)
     .set push
     .set noreorder
-    li v0, __NR_fsync
+    li $v0, __NR_fsync
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(fsync)
diff --git a/libc/arch-mips64/syscalls/ftruncate.S b/libc/arch-mips64/syscalls/ftruncate.S
index 063e8f3..09b06fa 100644
--- a/libc/arch-mips64/syscalls/ftruncate.S
+++ b/libc/arch-mips64/syscalls/ftruncate.S
@@ -5,22 +5,22 @@
 ENTRY(ftruncate)
     .set push
     .set noreorder
-    li v0, __NR_ftruncate
+    li $v0, __NR_ftruncate
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(ftruncate)
 
diff --git a/libc/arch-mips64/syscalls/getegid.S b/libc/arch-mips64/syscalls/getegid.S
index 439c6f0..9192835 100644
--- a/libc/arch-mips64/syscalls/getegid.S
+++ b/libc/arch-mips64/syscalls/getegid.S
@@ -5,21 +5,21 @@
 ENTRY(getegid)
     .set push
     .set noreorder
-    li v0, __NR_getegid
+    li $v0, __NR_getegid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getegid)
diff --git a/libc/arch-mips64/syscalls/geteuid.S b/libc/arch-mips64/syscalls/geteuid.S
index 5619dc6..5a5cbf9 100644
--- a/libc/arch-mips64/syscalls/geteuid.S
+++ b/libc/arch-mips64/syscalls/geteuid.S
@@ -5,21 +5,21 @@
 ENTRY(geteuid)
     .set push
     .set noreorder
-    li v0, __NR_geteuid
+    li $v0, __NR_geteuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(geteuid)
diff --git a/libc/arch-mips64/syscalls/getgid.S b/libc/arch-mips64/syscalls/getgid.S
index 777be1a..c434419 100644
--- a/libc/arch-mips64/syscalls/getgid.S
+++ b/libc/arch-mips64/syscalls/getgid.S
@@ -5,21 +5,21 @@
 ENTRY(getgid)
     .set push
     .set noreorder
-    li v0, __NR_getgid
+    li $v0, __NR_getgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getgid)
diff --git a/libc/arch-mips64/syscalls/getgroups.S b/libc/arch-mips64/syscalls/getgroups.S
index 93c4fa1..29ac854 100644
--- a/libc/arch-mips64/syscalls/getgroups.S
+++ b/libc/arch-mips64/syscalls/getgroups.S
@@ -5,21 +5,21 @@
 ENTRY(getgroups)
     .set push
     .set noreorder
-    li v0, __NR_getgroups
+    li $v0, __NR_getgroups
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getgroups)
diff --git a/libc/arch-mips64/syscalls/getitimer.S b/libc/arch-mips64/syscalls/getitimer.S
index fe78a97..445fb1d 100644
--- a/libc/arch-mips64/syscalls/getitimer.S
+++ b/libc/arch-mips64/syscalls/getitimer.S
@@ -5,21 +5,21 @@
 ENTRY(getitimer)
     .set push
     .set noreorder
-    li v0, __NR_getitimer
+    li $v0, __NR_getitimer
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getitimer)
diff --git a/libc/arch-mips64/syscalls/getpeername.S b/libc/arch-mips64/syscalls/getpeername.S
index 121f1a6..0f081c8 100644
--- a/libc/arch-mips64/syscalls/getpeername.S
+++ b/libc/arch-mips64/syscalls/getpeername.S
@@ -5,21 +5,21 @@
 ENTRY(getpeername)
     .set push
     .set noreorder
-    li v0, __NR_getpeername
+    li $v0, __NR_getpeername
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getpeername)
diff --git a/libc/arch-mips64/syscalls/getpgid.S b/libc/arch-mips64/syscalls/getpgid.S
index 19dc77f..7859ad4 100644
--- a/libc/arch-mips64/syscalls/getpgid.S
+++ b/libc/arch-mips64/syscalls/getpgid.S
@@ -5,21 +5,21 @@
 ENTRY(getpgid)
     .set push
     .set noreorder
-    li v0, __NR_getpgid
+    li $v0, __NR_getpgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getpgid)
diff --git a/libc/arch-mips64/syscalls/getppid.S b/libc/arch-mips64/syscalls/getppid.S
index d00f309..c67ed1f 100644
--- a/libc/arch-mips64/syscalls/getppid.S
+++ b/libc/arch-mips64/syscalls/getppid.S
@@ -5,21 +5,21 @@
 ENTRY(getppid)
     .set push
     .set noreorder
-    li v0, __NR_getppid
+    li $v0, __NR_getppid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getppid)
diff --git a/libc/arch-mips64/syscalls/getrandom.S b/libc/arch-mips64/syscalls/getrandom.S
index 3c5b467..b4f5ea8 100644
--- a/libc/arch-mips64/syscalls/getrandom.S
+++ b/libc/arch-mips64/syscalls/getrandom.S
@@ -5,21 +5,21 @@
 ENTRY(getrandom)
     .set push
     .set noreorder
-    li v0, __NR_getrandom
+    li $v0, __NR_getrandom
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getrandom)
diff --git a/libc/arch-mips64/syscalls/getresgid.S b/libc/arch-mips64/syscalls/getresgid.S
index 18cb5a1..ba1aafe 100644
--- a/libc/arch-mips64/syscalls/getresgid.S
+++ b/libc/arch-mips64/syscalls/getresgid.S
@@ -5,21 +5,21 @@
 ENTRY(getresgid)
     .set push
     .set noreorder
-    li v0, __NR_getresgid
+    li $v0, __NR_getresgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getresgid)
diff --git a/libc/arch-mips64/syscalls/getresuid.S b/libc/arch-mips64/syscalls/getresuid.S
index c217bf7..d9c40f9 100644
--- a/libc/arch-mips64/syscalls/getresuid.S
+++ b/libc/arch-mips64/syscalls/getresuid.S
@@ -5,21 +5,21 @@
 ENTRY(getresuid)
     .set push
     .set noreorder
-    li v0, __NR_getresuid
+    li $v0, __NR_getresuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getresuid)
diff --git a/libc/arch-mips64/syscalls/getrlimit.S b/libc/arch-mips64/syscalls/getrlimit.S
index 5e2a82a..ae1cc86 100644
--- a/libc/arch-mips64/syscalls/getrlimit.S
+++ b/libc/arch-mips64/syscalls/getrlimit.S
@@ -5,22 +5,22 @@
 ENTRY(getrlimit)
     .set push
     .set noreorder
-    li v0, __NR_getrlimit
+    li $v0, __NR_getrlimit
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getrlimit)
 
diff --git a/libc/arch-mips64/syscalls/getrusage.S b/libc/arch-mips64/syscalls/getrusage.S
index 4bf557e..4c6d3f1 100644
--- a/libc/arch-mips64/syscalls/getrusage.S
+++ b/libc/arch-mips64/syscalls/getrusage.S
@@ -5,21 +5,21 @@
 ENTRY(getrusage)
     .set push
     .set noreorder
-    li v0, __NR_getrusage
+    li $v0, __NR_getrusage
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getrusage)
diff --git a/libc/arch-mips64/syscalls/getsid.S b/libc/arch-mips64/syscalls/getsid.S
index 030c91d..6a7b844 100644
--- a/libc/arch-mips64/syscalls/getsid.S
+++ b/libc/arch-mips64/syscalls/getsid.S
@@ -5,21 +5,21 @@
 ENTRY(getsid)
     .set push
     .set noreorder
-    li v0, __NR_getsid
+    li $v0, __NR_getsid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getsid)
diff --git a/libc/arch-mips64/syscalls/getsockname.S b/libc/arch-mips64/syscalls/getsockname.S
index 88a9426..742c496 100644
--- a/libc/arch-mips64/syscalls/getsockname.S
+++ b/libc/arch-mips64/syscalls/getsockname.S
@@ -5,21 +5,21 @@
 ENTRY(getsockname)
     .set push
     .set noreorder
-    li v0, __NR_getsockname
+    li $v0, __NR_getsockname
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getsockname)
diff --git a/libc/arch-mips64/syscalls/getsockopt.S b/libc/arch-mips64/syscalls/getsockopt.S
index 08ee634..451006e 100644
--- a/libc/arch-mips64/syscalls/getsockopt.S
+++ b/libc/arch-mips64/syscalls/getsockopt.S
@@ -5,21 +5,21 @@
 ENTRY(getsockopt)
     .set push
     .set noreorder
-    li v0, __NR_getsockopt
+    li $v0, __NR_getsockopt
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getsockopt)
diff --git a/libc/arch-mips64/syscalls/getuid.S b/libc/arch-mips64/syscalls/getuid.S
index 3d5f940..964d5a6 100644
--- a/libc/arch-mips64/syscalls/getuid.S
+++ b/libc/arch-mips64/syscalls/getuid.S
@@ -5,21 +5,21 @@
 ENTRY(getuid)
     .set push
     .set noreorder
-    li v0, __NR_getuid
+    li $v0, __NR_getuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getuid)
diff --git a/libc/arch-mips64/syscalls/getxattr.S b/libc/arch-mips64/syscalls/getxattr.S
index 1c443f2..23fc3d1 100644
--- a/libc/arch-mips64/syscalls/getxattr.S
+++ b/libc/arch-mips64/syscalls/getxattr.S
@@ -5,21 +5,21 @@
 ENTRY(getxattr)
     .set push
     .set noreorder
-    li v0, __NR_getxattr
+    li $v0, __NR_getxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(getxattr)
diff --git a/libc/arch-mips64/syscalls/init_module.S b/libc/arch-mips64/syscalls/init_module.S
index 3e2f074..3b02055 100644
--- a/libc/arch-mips64/syscalls/init_module.S
+++ b/libc/arch-mips64/syscalls/init_module.S
@@ -5,21 +5,21 @@
 ENTRY(init_module)
     .set push
     .set noreorder
-    li v0, __NR_init_module
+    li $v0, __NR_init_module
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(init_module)
diff --git a/libc/arch-mips64/syscalls/inotify_add_watch.S b/libc/arch-mips64/syscalls/inotify_add_watch.S
index bffdad8..583b8bb 100644
--- a/libc/arch-mips64/syscalls/inotify_add_watch.S
+++ b/libc/arch-mips64/syscalls/inotify_add_watch.S
@@ -5,21 +5,21 @@
 ENTRY(inotify_add_watch)
     .set push
     .set noreorder
-    li v0, __NR_inotify_add_watch
+    li $v0, __NR_inotify_add_watch
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(inotify_add_watch)
diff --git a/libc/arch-mips64/syscalls/inotify_init1.S b/libc/arch-mips64/syscalls/inotify_init1.S
index c70d101..5ccb9af 100644
--- a/libc/arch-mips64/syscalls/inotify_init1.S
+++ b/libc/arch-mips64/syscalls/inotify_init1.S
@@ -5,21 +5,21 @@
 ENTRY(inotify_init1)
     .set push
     .set noreorder
-    li v0, __NR_inotify_init1
+    li $v0, __NR_inotify_init1
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(inotify_init1)
diff --git a/libc/arch-mips64/syscalls/inotify_rm_watch.S b/libc/arch-mips64/syscalls/inotify_rm_watch.S
index d893787..7f18c0f 100644
--- a/libc/arch-mips64/syscalls/inotify_rm_watch.S
+++ b/libc/arch-mips64/syscalls/inotify_rm_watch.S
@@ -5,21 +5,21 @@
 ENTRY(inotify_rm_watch)
     .set push
     .set noreorder
-    li v0, __NR_inotify_rm_watch
+    li $v0, __NR_inotify_rm_watch
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(inotify_rm_watch)
diff --git a/libc/arch-mips64/syscalls/kill.S b/libc/arch-mips64/syscalls/kill.S
index 475b615..dcc440b 100644
--- a/libc/arch-mips64/syscalls/kill.S
+++ b/libc/arch-mips64/syscalls/kill.S
@@ -5,21 +5,21 @@
 ENTRY(kill)
     .set push
     .set noreorder
-    li v0, __NR_kill
+    li $v0, __NR_kill
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(kill)
diff --git a/libc/arch-mips64/syscalls/klogctl.S b/libc/arch-mips64/syscalls/klogctl.S
index 98b9f0b..62af663 100644
--- a/libc/arch-mips64/syscalls/klogctl.S
+++ b/libc/arch-mips64/syscalls/klogctl.S
@@ -5,21 +5,21 @@
 ENTRY(klogctl)
     .set push
     .set noreorder
-    li v0, __NR_syslog
+    li $v0, __NR_syslog
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(klogctl)
diff --git a/libc/arch-mips64/syscalls/lgetxattr.S b/libc/arch-mips64/syscalls/lgetxattr.S
index 55d7c42..20e3134 100644
--- a/libc/arch-mips64/syscalls/lgetxattr.S
+++ b/libc/arch-mips64/syscalls/lgetxattr.S
@@ -5,21 +5,21 @@
 ENTRY(lgetxattr)
     .set push
     .set noreorder
-    li v0, __NR_lgetxattr
+    li $v0, __NR_lgetxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(lgetxattr)
diff --git a/libc/arch-mips64/syscalls/linkat.S b/libc/arch-mips64/syscalls/linkat.S
index df749eb..425c417 100644
--- a/libc/arch-mips64/syscalls/linkat.S
+++ b/libc/arch-mips64/syscalls/linkat.S
@@ -5,21 +5,21 @@
 ENTRY(linkat)
     .set push
     .set noreorder
-    li v0, __NR_linkat
+    li $v0, __NR_linkat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(linkat)
diff --git a/libc/arch-mips64/syscalls/listen.S b/libc/arch-mips64/syscalls/listen.S
index 195cade..8263ec3 100644
--- a/libc/arch-mips64/syscalls/listen.S
+++ b/libc/arch-mips64/syscalls/listen.S
@@ -5,21 +5,21 @@
 ENTRY(listen)
     .set push
     .set noreorder
-    li v0, __NR_listen
+    li $v0, __NR_listen
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(listen)
diff --git a/libc/arch-mips64/syscalls/listxattr.S b/libc/arch-mips64/syscalls/listxattr.S
index 30b0f2b..5f04ffc 100644
--- a/libc/arch-mips64/syscalls/listxattr.S
+++ b/libc/arch-mips64/syscalls/listxattr.S
@@ -5,21 +5,21 @@
 ENTRY(listxattr)
     .set push
     .set noreorder
-    li v0, __NR_listxattr
+    li $v0, __NR_listxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(listxattr)
diff --git a/libc/arch-mips64/syscalls/llistxattr.S b/libc/arch-mips64/syscalls/llistxattr.S
index d349116..9663fd9 100644
--- a/libc/arch-mips64/syscalls/llistxattr.S
+++ b/libc/arch-mips64/syscalls/llistxattr.S
@@ -5,21 +5,21 @@
 ENTRY(llistxattr)
     .set push
     .set noreorder
-    li v0, __NR_llistxattr
+    li $v0, __NR_llistxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(llistxattr)
diff --git a/libc/arch-mips64/syscalls/lremovexattr.S b/libc/arch-mips64/syscalls/lremovexattr.S
index db4e4d3..905548a 100644
--- a/libc/arch-mips64/syscalls/lremovexattr.S
+++ b/libc/arch-mips64/syscalls/lremovexattr.S
@@ -5,21 +5,21 @@
 ENTRY(lremovexattr)
     .set push
     .set noreorder
-    li v0, __NR_lremovexattr
+    li $v0, __NR_lremovexattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(lremovexattr)
diff --git a/libc/arch-mips64/syscalls/lseek.S b/libc/arch-mips64/syscalls/lseek.S
index 3bfc29d..1eee1fa 100644
--- a/libc/arch-mips64/syscalls/lseek.S
+++ b/libc/arch-mips64/syscalls/lseek.S
@@ -5,22 +5,22 @@
 ENTRY(lseek)
     .set push
     .set noreorder
-    li v0, __NR_lseek
+    li $v0, __NR_lseek
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(lseek)
 
diff --git a/libc/arch-mips64/syscalls/lsetxattr.S b/libc/arch-mips64/syscalls/lsetxattr.S
index c161eb3..38e3523 100644
--- a/libc/arch-mips64/syscalls/lsetxattr.S
+++ b/libc/arch-mips64/syscalls/lsetxattr.S
@@ -5,21 +5,21 @@
 ENTRY(lsetxattr)
     .set push
     .set noreorder
-    li v0, __NR_lsetxattr
+    li $v0, __NR_lsetxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(lsetxattr)
diff --git a/libc/arch-mips64/syscalls/madvise.S b/libc/arch-mips64/syscalls/madvise.S
index 88f3830..5283700 100644
--- a/libc/arch-mips64/syscalls/madvise.S
+++ b/libc/arch-mips64/syscalls/madvise.S
@@ -5,21 +5,21 @@
 ENTRY(madvise)
     .set push
     .set noreorder
-    li v0, __NR_madvise
+    li $v0, __NR_madvise
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(madvise)
diff --git a/libc/arch-mips64/syscalls/mincore.S b/libc/arch-mips64/syscalls/mincore.S
index 695c9b2..c7f419a 100644
--- a/libc/arch-mips64/syscalls/mincore.S
+++ b/libc/arch-mips64/syscalls/mincore.S
@@ -5,21 +5,21 @@
 ENTRY(mincore)
     .set push
     .set noreorder
-    li v0, __NR_mincore
+    li $v0, __NR_mincore
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(mincore)
diff --git a/libc/arch-mips64/syscalls/mkdirat.S b/libc/arch-mips64/syscalls/mkdirat.S
index 71cdfd1..2e1a45b 100644
--- a/libc/arch-mips64/syscalls/mkdirat.S
+++ b/libc/arch-mips64/syscalls/mkdirat.S
@@ -5,21 +5,21 @@
 ENTRY(mkdirat)
     .set push
     .set noreorder
-    li v0, __NR_mkdirat
+    li $v0, __NR_mkdirat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(mkdirat)
diff --git a/libc/arch-mips64/syscalls/mknodat.S b/libc/arch-mips64/syscalls/mknodat.S
index 9943e49..42d73c4 100644
--- a/libc/arch-mips64/syscalls/mknodat.S
+++ b/libc/arch-mips64/syscalls/mknodat.S
@@ -5,21 +5,21 @@
 ENTRY(mknodat)
     .set push
     .set noreorder
-    li v0, __NR_mknodat
+    li $v0, __NR_mknodat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(mknodat)
diff --git a/libc/arch-mips64/syscalls/mlock.S b/libc/arch-mips64/syscalls/mlock.S
index 081f12b..dd6b784 100644
--- a/libc/arch-mips64/syscalls/mlock.S
+++ b/libc/arch-mips64/syscalls/mlock.S
@@ -5,21 +5,21 @@
 ENTRY(mlock)
     .set push
     .set noreorder
-    li v0, __NR_mlock
+    li $v0, __NR_mlock
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(mlock)
diff --git a/libc/arch-mips64/syscalls/mlockall.S b/libc/arch-mips64/syscalls/mlockall.S
index 0e158f4..a4debce 100644
--- a/libc/arch-mips64/syscalls/mlockall.S
+++ b/libc/arch-mips64/syscalls/mlockall.S
@@ -5,21 +5,21 @@
 ENTRY(mlockall)
     .set push
     .set noreorder
-    li v0, __NR_mlockall
+    li $v0, __NR_mlockall
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(mlockall)
diff --git a/libc/arch-mips64/syscalls/mmap.S b/libc/arch-mips64/syscalls/mmap.S
index cc53eb2..e380c72 100644
--- a/libc/arch-mips64/syscalls/mmap.S
+++ b/libc/arch-mips64/syscalls/mmap.S
@@ -5,22 +5,22 @@
 ENTRY(mmap)
     .set push
     .set noreorder
-    li v0, __NR_mmap
+    li $v0, __NR_mmap
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(mmap)
 
diff --git a/libc/arch-mips64/syscalls/mount.S b/libc/arch-mips64/syscalls/mount.S
index 50c7541..4d2bca1 100644
--- a/libc/arch-mips64/syscalls/mount.S
+++ b/libc/arch-mips64/syscalls/mount.S
@@ -5,21 +5,21 @@
 ENTRY(mount)
     .set push
     .set noreorder
-    li v0, __NR_mount
+    li $v0, __NR_mount
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(mount)
diff --git a/libc/arch-mips64/syscalls/mprotect.S b/libc/arch-mips64/syscalls/mprotect.S
index d755489..e1f3ab0 100644
--- a/libc/arch-mips64/syscalls/mprotect.S
+++ b/libc/arch-mips64/syscalls/mprotect.S
@@ -5,21 +5,21 @@
 ENTRY(mprotect)
     .set push
     .set noreorder
-    li v0, __NR_mprotect
+    li $v0, __NR_mprotect
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(mprotect)
diff --git a/libc/arch-mips64/syscalls/msync.S b/libc/arch-mips64/syscalls/msync.S
index efe31c1..ec2d175 100644
--- a/libc/arch-mips64/syscalls/msync.S
+++ b/libc/arch-mips64/syscalls/msync.S
@@ -5,21 +5,21 @@
 ENTRY(msync)
     .set push
     .set noreorder
-    li v0, __NR_msync
+    li $v0, __NR_msync
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(msync)
diff --git a/libc/arch-mips64/syscalls/munlock.S b/libc/arch-mips64/syscalls/munlock.S
index 44b930a..95c4df1 100644
--- a/libc/arch-mips64/syscalls/munlock.S
+++ b/libc/arch-mips64/syscalls/munlock.S
@@ -5,21 +5,21 @@
 ENTRY(munlock)
     .set push
     .set noreorder
-    li v0, __NR_munlock
+    li $v0, __NR_munlock
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(munlock)
diff --git a/libc/arch-mips64/syscalls/munlockall.S b/libc/arch-mips64/syscalls/munlockall.S
index ffeb5e1..9862461 100644
--- a/libc/arch-mips64/syscalls/munlockall.S
+++ b/libc/arch-mips64/syscalls/munlockall.S
@@ -5,21 +5,21 @@
 ENTRY(munlockall)
     .set push
     .set noreorder
-    li v0, __NR_munlockall
+    li $v0, __NR_munlockall
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(munlockall)
diff --git a/libc/arch-mips64/syscalls/munmap.S b/libc/arch-mips64/syscalls/munmap.S
index cd0c05c..2ca802d 100644
--- a/libc/arch-mips64/syscalls/munmap.S
+++ b/libc/arch-mips64/syscalls/munmap.S
@@ -5,21 +5,21 @@
 ENTRY(munmap)
     .set push
     .set noreorder
-    li v0, __NR_munmap
+    li $v0, __NR_munmap
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(munmap)
diff --git a/libc/arch-mips64/syscalls/nanosleep.S b/libc/arch-mips64/syscalls/nanosleep.S
index bdaf256..291bb00 100644
--- a/libc/arch-mips64/syscalls/nanosleep.S
+++ b/libc/arch-mips64/syscalls/nanosleep.S
@@ -5,21 +5,21 @@
 ENTRY(nanosleep)
     .set push
     .set noreorder
-    li v0, __NR_nanosleep
+    li $v0, __NR_nanosleep
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(nanosleep)
diff --git a/libc/arch-mips64/syscalls/personality.S b/libc/arch-mips64/syscalls/personality.S
index 6a12c95..a85cd76 100644
--- a/libc/arch-mips64/syscalls/personality.S
+++ b/libc/arch-mips64/syscalls/personality.S
@@ -5,21 +5,21 @@
 ENTRY(personality)
     .set push
     .set noreorder
-    li v0, __NR_personality
+    li $v0, __NR_personality
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(personality)
diff --git a/libc/arch-mips64/syscalls/pipe2.S b/libc/arch-mips64/syscalls/pipe2.S
index 1b08a45..96e25e2 100644
--- a/libc/arch-mips64/syscalls/pipe2.S
+++ b/libc/arch-mips64/syscalls/pipe2.S
@@ -5,21 +5,21 @@
 ENTRY(pipe2)
     .set push
     .set noreorder
-    li v0, __NR_pipe2
+    li $v0, __NR_pipe2
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(pipe2)
diff --git a/libc/arch-mips64/syscalls/prctl.S b/libc/arch-mips64/syscalls/prctl.S
index 61bb7c2..14b7155 100644
--- a/libc/arch-mips64/syscalls/prctl.S
+++ b/libc/arch-mips64/syscalls/prctl.S
@@ -5,21 +5,21 @@
 ENTRY(prctl)
     .set push
     .set noreorder
-    li v0, __NR_prctl
+    li $v0, __NR_prctl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(prctl)
diff --git a/libc/arch-mips64/syscalls/pread64.S b/libc/arch-mips64/syscalls/pread64.S
index 7965ba9..74dada3 100644
--- a/libc/arch-mips64/syscalls/pread64.S
+++ b/libc/arch-mips64/syscalls/pread64.S
@@ -5,22 +5,22 @@
 ENTRY(pread64)
     .set push
     .set noreorder
-    li v0, __NR_pread64
+    li $v0, __NR_pread64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(pread64)
 
diff --git a/libc/arch-mips64/syscalls/preadv.S b/libc/arch-mips64/syscalls/preadv.S
index df43a8d..744b06c 100644
--- a/libc/arch-mips64/syscalls/preadv.S
+++ b/libc/arch-mips64/syscalls/preadv.S
@@ -5,22 +5,22 @@
 ENTRY(preadv)
     .set push
     .set noreorder
-    li v0, __NR_preadv
+    li $v0, __NR_preadv
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(preadv)
 
diff --git a/libc/arch-mips64/syscalls/prlimit64.S b/libc/arch-mips64/syscalls/prlimit64.S
index e04a5b6..c60cf8e 100644
--- a/libc/arch-mips64/syscalls/prlimit64.S
+++ b/libc/arch-mips64/syscalls/prlimit64.S
@@ -5,22 +5,22 @@
 ENTRY(prlimit64)
     .set push
     .set noreorder
-    li v0, __NR_prlimit64
+    li $v0, __NR_prlimit64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(prlimit64)
 
diff --git a/libc/arch-mips64/syscalls/process_vm_readv.S b/libc/arch-mips64/syscalls/process_vm_readv.S
index f3c7372..38ff7eb 100644
--- a/libc/arch-mips64/syscalls/process_vm_readv.S
+++ b/libc/arch-mips64/syscalls/process_vm_readv.S
@@ -5,21 +5,21 @@
 ENTRY(process_vm_readv)
     .set push
     .set noreorder
-    li v0, __NR_process_vm_readv
+    li $v0, __NR_process_vm_readv
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(process_vm_readv)
diff --git a/libc/arch-mips64/syscalls/process_vm_writev.S b/libc/arch-mips64/syscalls/process_vm_writev.S
index 0e8140b..c317cae 100644
--- a/libc/arch-mips64/syscalls/process_vm_writev.S
+++ b/libc/arch-mips64/syscalls/process_vm_writev.S
@@ -5,21 +5,21 @@
 ENTRY(process_vm_writev)
     .set push
     .set noreorder
-    li v0, __NR_process_vm_writev
+    li $v0, __NR_process_vm_writev
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(process_vm_writev)
diff --git a/libc/arch-mips64/syscalls/pwrite64.S b/libc/arch-mips64/syscalls/pwrite64.S
index 97e0183..1d6ac69 100644
--- a/libc/arch-mips64/syscalls/pwrite64.S
+++ b/libc/arch-mips64/syscalls/pwrite64.S
@@ -5,22 +5,22 @@
 ENTRY(pwrite64)
     .set push
     .set noreorder
-    li v0, __NR_pwrite64
+    li $v0, __NR_pwrite64
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(pwrite64)
 
diff --git a/libc/arch-mips64/syscalls/pwritev.S b/libc/arch-mips64/syscalls/pwritev.S
index f55cec0..f3044f9 100644
--- a/libc/arch-mips64/syscalls/pwritev.S
+++ b/libc/arch-mips64/syscalls/pwritev.S
@@ -5,22 +5,22 @@
 ENTRY(pwritev)
     .set push
     .set noreorder
-    li v0, __NR_pwritev
+    li $v0, __NR_pwritev
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(pwritev)
 
diff --git a/libc/arch-mips64/syscalls/quotactl.S b/libc/arch-mips64/syscalls/quotactl.S
index 861947c..83735ac 100644
--- a/libc/arch-mips64/syscalls/quotactl.S
+++ b/libc/arch-mips64/syscalls/quotactl.S
@@ -5,21 +5,21 @@
 ENTRY(quotactl)
     .set push
     .set noreorder
-    li v0, __NR_quotactl
+    li $v0, __NR_quotactl
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(quotactl)
diff --git a/libc/arch-mips64/syscalls/read.S b/libc/arch-mips64/syscalls/read.S
index 74d39df..b44e6af 100644
--- a/libc/arch-mips64/syscalls/read.S
+++ b/libc/arch-mips64/syscalls/read.S
@@ -5,21 +5,21 @@
 ENTRY(read)
     .set push
     .set noreorder
-    li v0, __NR_read
+    li $v0, __NR_read
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(read)
diff --git a/libc/arch-mips64/syscalls/readahead.S b/libc/arch-mips64/syscalls/readahead.S
index ae511d9..f111ac4 100644
--- a/libc/arch-mips64/syscalls/readahead.S
+++ b/libc/arch-mips64/syscalls/readahead.S
@@ -5,21 +5,21 @@
 ENTRY(readahead)
     .set push
     .set noreorder
-    li v0, __NR_readahead
+    li $v0, __NR_readahead
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(readahead)
diff --git a/libc/arch-mips64/syscalls/readlinkat.S b/libc/arch-mips64/syscalls/readlinkat.S
index 473a946..987943b 100644
--- a/libc/arch-mips64/syscalls/readlinkat.S
+++ b/libc/arch-mips64/syscalls/readlinkat.S
@@ -5,21 +5,21 @@
 ENTRY(readlinkat)
     .set push
     .set noreorder
-    li v0, __NR_readlinkat
+    li $v0, __NR_readlinkat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(readlinkat)
diff --git a/libc/arch-mips64/syscalls/readv.S b/libc/arch-mips64/syscalls/readv.S
index daa800c..04bf55c 100644
--- a/libc/arch-mips64/syscalls/readv.S
+++ b/libc/arch-mips64/syscalls/readv.S
@@ -5,21 +5,21 @@
 ENTRY(readv)
     .set push
     .set noreorder
-    li v0, __NR_readv
+    li $v0, __NR_readv
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(readv)
diff --git a/libc/arch-mips64/syscalls/recvfrom.S b/libc/arch-mips64/syscalls/recvfrom.S
index 4c9b5fa..7c906ac 100644
--- a/libc/arch-mips64/syscalls/recvfrom.S
+++ b/libc/arch-mips64/syscalls/recvfrom.S
@@ -5,21 +5,21 @@
 ENTRY(recvfrom)
     .set push
     .set noreorder
-    li v0, __NR_recvfrom
+    li $v0, __NR_recvfrom
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(recvfrom)
diff --git a/libc/arch-mips64/syscalls/recvmmsg.S b/libc/arch-mips64/syscalls/recvmmsg.S
index 817250c..0c022cb 100644
--- a/libc/arch-mips64/syscalls/recvmmsg.S
+++ b/libc/arch-mips64/syscalls/recvmmsg.S
@@ -5,21 +5,21 @@
 ENTRY(recvmmsg)
     .set push
     .set noreorder
-    li v0, __NR_recvmmsg
+    li $v0, __NR_recvmmsg
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(recvmmsg)
diff --git a/libc/arch-mips64/syscalls/recvmsg.S b/libc/arch-mips64/syscalls/recvmsg.S
index 877899d..a06bcdd 100644
--- a/libc/arch-mips64/syscalls/recvmsg.S
+++ b/libc/arch-mips64/syscalls/recvmsg.S
@@ -5,21 +5,21 @@
 ENTRY(recvmsg)
     .set push
     .set noreorder
-    li v0, __NR_recvmsg
+    li $v0, __NR_recvmsg
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(recvmsg)
diff --git a/libc/arch-mips64/syscalls/removexattr.S b/libc/arch-mips64/syscalls/removexattr.S
index c9d8a0e..fb5d8de 100644
--- a/libc/arch-mips64/syscalls/removexattr.S
+++ b/libc/arch-mips64/syscalls/removexattr.S
@@ -5,21 +5,21 @@
 ENTRY(removexattr)
     .set push
     .set noreorder
-    li v0, __NR_removexattr
+    li $v0, __NR_removexattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(removexattr)
diff --git a/libc/arch-mips64/syscalls/renameat.S b/libc/arch-mips64/syscalls/renameat.S
index 16b9333..9a8ab45 100644
--- a/libc/arch-mips64/syscalls/renameat.S
+++ b/libc/arch-mips64/syscalls/renameat.S
@@ -5,21 +5,21 @@
 ENTRY(renameat)
     .set push
     .set noreorder
-    li v0, __NR_renameat
+    li $v0, __NR_renameat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(renameat)
diff --git a/libc/arch-mips64/syscalls/sched_get_priority_max.S b/libc/arch-mips64/syscalls/sched_get_priority_max.S
index 67e2675..89b3649 100644
--- a/libc/arch-mips64/syscalls/sched_get_priority_max.S
+++ b/libc/arch-mips64/syscalls/sched_get_priority_max.S
@@ -5,21 +5,21 @@
 ENTRY(sched_get_priority_max)
     .set push
     .set noreorder
-    li v0, __NR_sched_get_priority_max
+    li $v0, __NR_sched_get_priority_max
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_get_priority_max)
diff --git a/libc/arch-mips64/syscalls/sched_get_priority_min.S b/libc/arch-mips64/syscalls/sched_get_priority_min.S
index 957f523..31c162d 100644
--- a/libc/arch-mips64/syscalls/sched_get_priority_min.S
+++ b/libc/arch-mips64/syscalls/sched_get_priority_min.S
@@ -5,21 +5,21 @@
 ENTRY(sched_get_priority_min)
     .set push
     .set noreorder
-    li v0, __NR_sched_get_priority_min
+    li $v0, __NR_sched_get_priority_min
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_get_priority_min)
diff --git a/libc/arch-mips64/syscalls/sched_getparam.S b/libc/arch-mips64/syscalls/sched_getparam.S
index 77bb4eb..a15aaf5 100644
--- a/libc/arch-mips64/syscalls/sched_getparam.S
+++ b/libc/arch-mips64/syscalls/sched_getparam.S
@@ -5,21 +5,21 @@
 ENTRY(sched_getparam)
     .set push
     .set noreorder
-    li v0, __NR_sched_getparam
+    li $v0, __NR_sched_getparam
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_getparam)
diff --git a/libc/arch-mips64/syscalls/sched_getscheduler.S b/libc/arch-mips64/syscalls/sched_getscheduler.S
index 324fa21..0e48a16 100644
--- a/libc/arch-mips64/syscalls/sched_getscheduler.S
+++ b/libc/arch-mips64/syscalls/sched_getscheduler.S
@@ -5,21 +5,21 @@
 ENTRY(sched_getscheduler)
     .set push
     .set noreorder
-    li v0, __NR_sched_getscheduler
+    li $v0, __NR_sched_getscheduler
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_getscheduler)
diff --git a/libc/arch-mips64/syscalls/sched_rr_get_interval.S b/libc/arch-mips64/syscalls/sched_rr_get_interval.S
index 3019554..8ee4fe7 100644
--- a/libc/arch-mips64/syscalls/sched_rr_get_interval.S
+++ b/libc/arch-mips64/syscalls/sched_rr_get_interval.S
@@ -5,21 +5,21 @@
 ENTRY(sched_rr_get_interval)
     .set push
     .set noreorder
-    li v0, __NR_sched_rr_get_interval
+    li $v0, __NR_sched_rr_get_interval
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_rr_get_interval)
diff --git a/libc/arch-mips64/syscalls/sched_setaffinity.S b/libc/arch-mips64/syscalls/sched_setaffinity.S
index 1520902..a5056b4 100644
--- a/libc/arch-mips64/syscalls/sched_setaffinity.S
+++ b/libc/arch-mips64/syscalls/sched_setaffinity.S
@@ -5,21 +5,21 @@
 ENTRY(sched_setaffinity)
     .set push
     .set noreorder
-    li v0, __NR_sched_setaffinity
+    li $v0, __NR_sched_setaffinity
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_setaffinity)
diff --git a/libc/arch-mips64/syscalls/sched_setparam.S b/libc/arch-mips64/syscalls/sched_setparam.S
index a37b15c..def1e4e 100644
--- a/libc/arch-mips64/syscalls/sched_setparam.S
+++ b/libc/arch-mips64/syscalls/sched_setparam.S
@@ -5,21 +5,21 @@
 ENTRY(sched_setparam)
     .set push
     .set noreorder
-    li v0, __NR_sched_setparam
+    li $v0, __NR_sched_setparam
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_setparam)
diff --git a/libc/arch-mips64/syscalls/sched_setscheduler.S b/libc/arch-mips64/syscalls/sched_setscheduler.S
index ea4c6c4..0178541 100644
--- a/libc/arch-mips64/syscalls/sched_setscheduler.S
+++ b/libc/arch-mips64/syscalls/sched_setscheduler.S
@@ -5,21 +5,21 @@
 ENTRY(sched_setscheduler)
     .set push
     .set noreorder
-    li v0, __NR_sched_setscheduler
+    li $v0, __NR_sched_setscheduler
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_setscheduler)
diff --git a/libc/arch-mips64/syscalls/sched_yield.S b/libc/arch-mips64/syscalls/sched_yield.S
index 5d86ea5..f69ac3c 100644
--- a/libc/arch-mips64/syscalls/sched_yield.S
+++ b/libc/arch-mips64/syscalls/sched_yield.S
@@ -5,21 +5,21 @@
 ENTRY(sched_yield)
     .set push
     .set noreorder
-    li v0, __NR_sched_yield
+    li $v0, __NR_sched_yield
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sched_yield)
diff --git a/libc/arch-mips64/syscalls/sendfile.S b/libc/arch-mips64/syscalls/sendfile.S
index a50459e..b4d3994 100644
--- a/libc/arch-mips64/syscalls/sendfile.S
+++ b/libc/arch-mips64/syscalls/sendfile.S
@@ -5,22 +5,22 @@
 ENTRY(sendfile)
     .set push
     .set noreorder
-    li v0, __NR_sendfile
+    li $v0, __NR_sendfile
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sendfile)
 
diff --git a/libc/arch-mips64/syscalls/sendmmsg.S b/libc/arch-mips64/syscalls/sendmmsg.S
index 4a8d855..2ecd7ef 100644
--- a/libc/arch-mips64/syscalls/sendmmsg.S
+++ b/libc/arch-mips64/syscalls/sendmmsg.S
@@ -5,21 +5,21 @@
 ENTRY(sendmmsg)
     .set push
     .set noreorder
-    li v0, __NR_sendmmsg
+    li $v0, __NR_sendmmsg
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sendmmsg)
diff --git a/libc/arch-mips64/syscalls/sendmsg.S b/libc/arch-mips64/syscalls/sendmsg.S
index 519dce4..d4f9735 100644
--- a/libc/arch-mips64/syscalls/sendmsg.S
+++ b/libc/arch-mips64/syscalls/sendmsg.S
@@ -5,21 +5,21 @@
 ENTRY(sendmsg)
     .set push
     .set noreorder
-    li v0, __NR_sendmsg
+    li $v0, __NR_sendmsg
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sendmsg)
diff --git a/libc/arch-mips64/syscalls/sendto.S b/libc/arch-mips64/syscalls/sendto.S
index 84efc09..e10abd5 100644
--- a/libc/arch-mips64/syscalls/sendto.S
+++ b/libc/arch-mips64/syscalls/sendto.S
@@ -5,21 +5,21 @@
 ENTRY(sendto)
     .set push
     .set noreorder
-    li v0, __NR_sendto
+    li $v0, __NR_sendto
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sendto)
diff --git a/libc/arch-mips64/syscalls/setdomainname.S b/libc/arch-mips64/syscalls/setdomainname.S
index 6cee88e..5e6b7c0 100644
--- a/libc/arch-mips64/syscalls/setdomainname.S
+++ b/libc/arch-mips64/syscalls/setdomainname.S
@@ -5,21 +5,21 @@
 ENTRY(setdomainname)
     .set push
     .set noreorder
-    li v0, __NR_setdomainname
+    li $v0, __NR_setdomainname
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setdomainname)
diff --git a/libc/arch-mips64/syscalls/setfsgid.S b/libc/arch-mips64/syscalls/setfsgid.S
index db1bd7f..05d9681 100644
--- a/libc/arch-mips64/syscalls/setfsgid.S
+++ b/libc/arch-mips64/syscalls/setfsgid.S
@@ -5,21 +5,21 @@
 ENTRY(setfsgid)
     .set push
     .set noreorder
-    li v0, __NR_setfsgid
+    li $v0, __NR_setfsgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setfsgid)
diff --git a/libc/arch-mips64/syscalls/setfsuid.S b/libc/arch-mips64/syscalls/setfsuid.S
index 4254b18..8097b77 100644
--- a/libc/arch-mips64/syscalls/setfsuid.S
+++ b/libc/arch-mips64/syscalls/setfsuid.S
@@ -5,21 +5,21 @@
 ENTRY(setfsuid)
     .set push
     .set noreorder
-    li v0, __NR_setfsuid
+    li $v0, __NR_setfsuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setfsuid)
diff --git a/libc/arch-mips64/syscalls/setgid.S b/libc/arch-mips64/syscalls/setgid.S
index 166a6d6..7ba4874 100644
--- a/libc/arch-mips64/syscalls/setgid.S
+++ b/libc/arch-mips64/syscalls/setgid.S
@@ -5,21 +5,21 @@
 ENTRY(setgid)
     .set push
     .set noreorder
-    li v0, __NR_setgid
+    li $v0, __NR_setgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setgid)
diff --git a/libc/arch-mips64/syscalls/setgroups.S b/libc/arch-mips64/syscalls/setgroups.S
index 24649f7..f482d0d 100644
--- a/libc/arch-mips64/syscalls/setgroups.S
+++ b/libc/arch-mips64/syscalls/setgroups.S
@@ -5,21 +5,21 @@
 ENTRY(setgroups)
     .set push
     .set noreorder
-    li v0, __NR_setgroups
+    li $v0, __NR_setgroups
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setgroups)
diff --git a/libc/arch-mips64/syscalls/sethostname.S b/libc/arch-mips64/syscalls/sethostname.S
index 2f132a2..651df0e 100644
--- a/libc/arch-mips64/syscalls/sethostname.S
+++ b/libc/arch-mips64/syscalls/sethostname.S
@@ -5,21 +5,21 @@
 ENTRY(sethostname)
     .set push
     .set noreorder
-    li v0, __NR_sethostname
+    li $v0, __NR_sethostname
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sethostname)
diff --git a/libc/arch-mips64/syscalls/setitimer.S b/libc/arch-mips64/syscalls/setitimer.S
index 5764573..35c2bda 100644
--- a/libc/arch-mips64/syscalls/setitimer.S
+++ b/libc/arch-mips64/syscalls/setitimer.S
@@ -5,21 +5,21 @@
 ENTRY(setitimer)
     .set push
     .set noreorder
-    li v0, __NR_setitimer
+    li $v0, __NR_setitimer
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setitimer)
diff --git a/libc/arch-mips64/syscalls/setns.S b/libc/arch-mips64/syscalls/setns.S
index 6b6178f..d640545 100644
--- a/libc/arch-mips64/syscalls/setns.S
+++ b/libc/arch-mips64/syscalls/setns.S
@@ -5,21 +5,21 @@
 ENTRY(setns)
     .set push
     .set noreorder
-    li v0, __NR_setns
+    li $v0, __NR_setns
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setns)
diff --git a/libc/arch-mips64/syscalls/setpgid.S b/libc/arch-mips64/syscalls/setpgid.S
index 233f784..8c5f71e 100644
--- a/libc/arch-mips64/syscalls/setpgid.S
+++ b/libc/arch-mips64/syscalls/setpgid.S
@@ -5,21 +5,21 @@
 ENTRY(setpgid)
     .set push
     .set noreorder
-    li v0, __NR_setpgid
+    li $v0, __NR_setpgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setpgid)
diff --git a/libc/arch-mips64/syscalls/setpriority.S b/libc/arch-mips64/syscalls/setpriority.S
index d88a2ff..5777a0c 100644
--- a/libc/arch-mips64/syscalls/setpriority.S
+++ b/libc/arch-mips64/syscalls/setpriority.S
@@ -5,21 +5,21 @@
 ENTRY(setpriority)
     .set push
     .set noreorder
-    li v0, __NR_setpriority
+    li $v0, __NR_setpriority
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setpriority)
diff --git a/libc/arch-mips64/syscalls/setregid.S b/libc/arch-mips64/syscalls/setregid.S
index c82b4fd..03be155 100644
--- a/libc/arch-mips64/syscalls/setregid.S
+++ b/libc/arch-mips64/syscalls/setregid.S
@@ -5,21 +5,21 @@
 ENTRY(setregid)
     .set push
     .set noreorder
-    li v0, __NR_setregid
+    li $v0, __NR_setregid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setregid)
diff --git a/libc/arch-mips64/syscalls/setresgid.S b/libc/arch-mips64/syscalls/setresgid.S
index 90b2939..555e925 100644
--- a/libc/arch-mips64/syscalls/setresgid.S
+++ b/libc/arch-mips64/syscalls/setresgid.S
@@ -5,21 +5,21 @@
 ENTRY(setresgid)
     .set push
     .set noreorder
-    li v0, __NR_setresgid
+    li $v0, __NR_setresgid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setresgid)
diff --git a/libc/arch-mips64/syscalls/setresuid.S b/libc/arch-mips64/syscalls/setresuid.S
index 501ac5d..6884f38 100644
--- a/libc/arch-mips64/syscalls/setresuid.S
+++ b/libc/arch-mips64/syscalls/setresuid.S
@@ -5,21 +5,21 @@
 ENTRY(setresuid)
     .set push
     .set noreorder
-    li v0, __NR_setresuid
+    li $v0, __NR_setresuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setresuid)
diff --git a/libc/arch-mips64/syscalls/setreuid.S b/libc/arch-mips64/syscalls/setreuid.S
index 1b3203c..4163765 100644
--- a/libc/arch-mips64/syscalls/setreuid.S
+++ b/libc/arch-mips64/syscalls/setreuid.S
@@ -5,21 +5,21 @@
 ENTRY(setreuid)
     .set push
     .set noreorder
-    li v0, __NR_setreuid
+    li $v0, __NR_setreuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setreuid)
diff --git a/libc/arch-mips64/syscalls/setrlimit.S b/libc/arch-mips64/syscalls/setrlimit.S
index be6fdc3..5cc8a52 100644
--- a/libc/arch-mips64/syscalls/setrlimit.S
+++ b/libc/arch-mips64/syscalls/setrlimit.S
@@ -5,22 +5,22 @@
 ENTRY(setrlimit)
     .set push
     .set noreorder
-    li v0, __NR_setrlimit
+    li $v0, __NR_setrlimit
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setrlimit)
 
diff --git a/libc/arch-mips64/syscalls/setsid.S b/libc/arch-mips64/syscalls/setsid.S
index 6d872d3..5422096 100644
--- a/libc/arch-mips64/syscalls/setsid.S
+++ b/libc/arch-mips64/syscalls/setsid.S
@@ -5,21 +5,21 @@
 ENTRY(setsid)
     .set push
     .set noreorder
-    li v0, __NR_setsid
+    li $v0, __NR_setsid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setsid)
diff --git a/libc/arch-mips64/syscalls/setsockopt.S b/libc/arch-mips64/syscalls/setsockopt.S
index b2fc736..8c3ce62 100644
--- a/libc/arch-mips64/syscalls/setsockopt.S
+++ b/libc/arch-mips64/syscalls/setsockopt.S
@@ -5,21 +5,21 @@
 ENTRY(setsockopt)
     .set push
     .set noreorder
-    li v0, __NR_setsockopt
+    li $v0, __NR_setsockopt
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setsockopt)
diff --git a/libc/arch-mips64/syscalls/settimeofday.S b/libc/arch-mips64/syscalls/settimeofday.S
index 9f1acfe..9723dee 100644
--- a/libc/arch-mips64/syscalls/settimeofday.S
+++ b/libc/arch-mips64/syscalls/settimeofday.S
@@ -5,21 +5,21 @@
 ENTRY(settimeofday)
     .set push
     .set noreorder
-    li v0, __NR_settimeofday
+    li $v0, __NR_settimeofday
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(settimeofday)
diff --git a/libc/arch-mips64/syscalls/setuid.S b/libc/arch-mips64/syscalls/setuid.S
index dcd39ff..4ed7a7c 100644
--- a/libc/arch-mips64/syscalls/setuid.S
+++ b/libc/arch-mips64/syscalls/setuid.S
@@ -5,21 +5,21 @@
 ENTRY(setuid)
     .set push
     .set noreorder
-    li v0, __NR_setuid
+    li $v0, __NR_setuid
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setuid)
diff --git a/libc/arch-mips64/syscalls/setxattr.S b/libc/arch-mips64/syscalls/setxattr.S
index 4a1b87a..d837b5e 100644
--- a/libc/arch-mips64/syscalls/setxattr.S
+++ b/libc/arch-mips64/syscalls/setxattr.S
@@ -5,21 +5,21 @@
 ENTRY(setxattr)
     .set push
     .set noreorder
-    li v0, __NR_setxattr
+    li $v0, __NR_setxattr
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(setxattr)
diff --git a/libc/arch-mips64/syscalls/shutdown.S b/libc/arch-mips64/syscalls/shutdown.S
index d654288..3a616bd 100644
--- a/libc/arch-mips64/syscalls/shutdown.S
+++ b/libc/arch-mips64/syscalls/shutdown.S
@@ -5,21 +5,21 @@
 ENTRY(shutdown)
     .set push
     .set noreorder
-    li v0, __NR_shutdown
+    li $v0, __NR_shutdown
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(shutdown)
diff --git a/libc/arch-mips64/syscalls/sigaltstack.S b/libc/arch-mips64/syscalls/sigaltstack.S
index 92778c1..13b539b 100644
--- a/libc/arch-mips64/syscalls/sigaltstack.S
+++ b/libc/arch-mips64/syscalls/sigaltstack.S
@@ -5,21 +5,21 @@
 ENTRY(sigaltstack)
     .set push
     .set noreorder
-    li v0, __NR_sigaltstack
+    li $v0, __NR_sigaltstack
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sigaltstack)
diff --git a/libc/arch-mips64/syscalls/socketpair.S b/libc/arch-mips64/syscalls/socketpair.S
index 8fbf7a8..b95dabd 100644
--- a/libc/arch-mips64/syscalls/socketpair.S
+++ b/libc/arch-mips64/syscalls/socketpair.S
@@ -5,21 +5,21 @@
 ENTRY(socketpair)
     .set push
     .set noreorder
-    li v0, __NR_socketpair
+    li $v0, __NR_socketpair
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(socketpair)
diff --git a/libc/arch-mips64/syscalls/splice.S b/libc/arch-mips64/syscalls/splice.S
index ea745cf..9eae4d0 100644
--- a/libc/arch-mips64/syscalls/splice.S
+++ b/libc/arch-mips64/syscalls/splice.S
@@ -5,21 +5,21 @@
 ENTRY(splice)
     .set push
     .set noreorder
-    li v0, __NR_splice
+    li $v0, __NR_splice
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(splice)
diff --git a/libc/arch-mips64/syscalls/swapoff.S b/libc/arch-mips64/syscalls/swapoff.S
index 8c0048d..c70d1bc 100644
--- a/libc/arch-mips64/syscalls/swapoff.S
+++ b/libc/arch-mips64/syscalls/swapoff.S
@@ -5,21 +5,21 @@
 ENTRY(swapoff)
     .set push
     .set noreorder
-    li v0, __NR_swapoff
+    li $v0, __NR_swapoff
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(swapoff)
diff --git a/libc/arch-mips64/syscalls/swapon.S b/libc/arch-mips64/syscalls/swapon.S
index e8f6ff2..879c68e 100644
--- a/libc/arch-mips64/syscalls/swapon.S
+++ b/libc/arch-mips64/syscalls/swapon.S
@@ -5,21 +5,21 @@
 ENTRY(swapon)
     .set push
     .set noreorder
-    li v0, __NR_swapon
+    li $v0, __NR_swapon
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(swapon)
diff --git a/libc/arch-mips64/syscalls/symlinkat.S b/libc/arch-mips64/syscalls/symlinkat.S
index 592b8e2..2483993 100644
--- a/libc/arch-mips64/syscalls/symlinkat.S
+++ b/libc/arch-mips64/syscalls/symlinkat.S
@@ -5,21 +5,21 @@
 ENTRY(symlinkat)
     .set push
     .set noreorder
-    li v0, __NR_symlinkat
+    li $v0, __NR_symlinkat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(symlinkat)
diff --git a/libc/arch-mips64/syscalls/sync.S b/libc/arch-mips64/syscalls/sync.S
index 8997c1b..61cc1a3 100644
--- a/libc/arch-mips64/syscalls/sync.S
+++ b/libc/arch-mips64/syscalls/sync.S
@@ -5,21 +5,21 @@
 ENTRY(sync)
     .set push
     .set noreorder
-    li v0, __NR_sync
+    li $v0, __NR_sync
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sync)
diff --git a/libc/arch-mips64/syscalls/syncfs.S b/libc/arch-mips64/syscalls/syncfs.S
index 504ca4a..8eb2501 100644
--- a/libc/arch-mips64/syscalls/syncfs.S
+++ b/libc/arch-mips64/syscalls/syncfs.S
@@ -5,21 +5,21 @@
 ENTRY(syncfs)
     .set push
     .set noreorder
-    li v0, __NR_syncfs
+    li $v0, __NR_syncfs
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(syncfs)
diff --git a/libc/arch-mips64/syscalls/sysinfo.S b/libc/arch-mips64/syscalls/sysinfo.S
index a54e158..2c7acc7 100644
--- a/libc/arch-mips64/syscalls/sysinfo.S
+++ b/libc/arch-mips64/syscalls/sysinfo.S
@@ -5,21 +5,21 @@
 ENTRY(sysinfo)
     .set push
     .set noreorder
-    li v0, __NR_sysinfo
+    li $v0, __NR_sysinfo
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(sysinfo)
diff --git a/libc/arch-mips64/syscalls/tee.S b/libc/arch-mips64/syscalls/tee.S
index 99cf84b..cd60f0b 100644
--- a/libc/arch-mips64/syscalls/tee.S
+++ b/libc/arch-mips64/syscalls/tee.S
@@ -5,21 +5,21 @@
 ENTRY(tee)
     .set push
     .set noreorder
-    li v0, __NR_tee
+    li $v0, __NR_tee
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(tee)
diff --git a/libc/arch-mips64/syscalls/tgkill.S b/libc/arch-mips64/syscalls/tgkill.S
index f37f792..86d7d4b 100644
--- a/libc/arch-mips64/syscalls/tgkill.S
+++ b/libc/arch-mips64/syscalls/tgkill.S
@@ -5,21 +5,21 @@
 ENTRY(tgkill)
     .set push
     .set noreorder
-    li v0, __NR_tgkill
+    li $v0, __NR_tgkill
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(tgkill)
diff --git a/libc/arch-mips64/syscalls/timerfd_create.S b/libc/arch-mips64/syscalls/timerfd_create.S
index 0e53a15..8086217 100644
--- a/libc/arch-mips64/syscalls/timerfd_create.S
+++ b/libc/arch-mips64/syscalls/timerfd_create.S
@@ -5,21 +5,21 @@
 ENTRY(timerfd_create)
     .set push
     .set noreorder
-    li v0, __NR_timerfd_create
+    li $v0, __NR_timerfd_create
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(timerfd_create)
diff --git a/libc/arch-mips64/syscalls/timerfd_gettime.S b/libc/arch-mips64/syscalls/timerfd_gettime.S
index 26d6832..4b17e12 100644
--- a/libc/arch-mips64/syscalls/timerfd_gettime.S
+++ b/libc/arch-mips64/syscalls/timerfd_gettime.S
@@ -5,21 +5,21 @@
 ENTRY(timerfd_gettime)
     .set push
     .set noreorder
-    li v0, __NR_timerfd_gettime
+    li $v0, __NR_timerfd_gettime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(timerfd_gettime)
diff --git a/libc/arch-mips64/syscalls/timerfd_settime.S b/libc/arch-mips64/syscalls/timerfd_settime.S
index b06290e..51c8cd7 100644
--- a/libc/arch-mips64/syscalls/timerfd_settime.S
+++ b/libc/arch-mips64/syscalls/timerfd_settime.S
@@ -5,21 +5,21 @@
 ENTRY(timerfd_settime)
     .set push
     .set noreorder
-    li v0, __NR_timerfd_settime
+    li $v0, __NR_timerfd_settime
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(timerfd_settime)
diff --git a/libc/arch-mips64/syscalls/times.S b/libc/arch-mips64/syscalls/times.S
index fa7f64f..5922b67 100644
--- a/libc/arch-mips64/syscalls/times.S
+++ b/libc/arch-mips64/syscalls/times.S
@@ -5,21 +5,21 @@
 ENTRY(times)
     .set push
     .set noreorder
-    li v0, __NR_times
+    li $v0, __NR_times
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(times)
diff --git a/libc/arch-mips64/syscalls/truncate.S b/libc/arch-mips64/syscalls/truncate.S
index b832796..a23223b 100644
--- a/libc/arch-mips64/syscalls/truncate.S
+++ b/libc/arch-mips64/syscalls/truncate.S
@@ -5,22 +5,22 @@
 ENTRY(truncate)
     .set push
     .set noreorder
-    li v0, __NR_truncate
+    li $v0, __NR_truncate
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(truncate)
 
diff --git a/libc/arch-mips64/syscalls/umask.S b/libc/arch-mips64/syscalls/umask.S
index 9349030..ca0ab49 100644
--- a/libc/arch-mips64/syscalls/umask.S
+++ b/libc/arch-mips64/syscalls/umask.S
@@ -5,21 +5,21 @@
 ENTRY(umask)
     .set push
     .set noreorder
-    li v0, __NR_umask
+    li $v0, __NR_umask
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(umask)
diff --git a/libc/arch-mips64/syscalls/umount2.S b/libc/arch-mips64/syscalls/umount2.S
index cc9ad16..45d5c2e 100644
--- a/libc/arch-mips64/syscalls/umount2.S
+++ b/libc/arch-mips64/syscalls/umount2.S
@@ -5,21 +5,21 @@
 ENTRY(umount2)
     .set push
     .set noreorder
-    li v0, __NR_umount2
+    li $v0, __NR_umount2
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(umount2)
diff --git a/libc/arch-mips64/syscalls/uname.S b/libc/arch-mips64/syscalls/uname.S
index 16157da..3385cfa 100644
--- a/libc/arch-mips64/syscalls/uname.S
+++ b/libc/arch-mips64/syscalls/uname.S
@@ -5,21 +5,21 @@
 ENTRY(uname)
     .set push
     .set noreorder
-    li v0, __NR_uname
+    li $v0, __NR_uname
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(uname)
diff --git a/libc/arch-mips64/syscalls/unlinkat.S b/libc/arch-mips64/syscalls/unlinkat.S
index 4b11679..030f643 100644
--- a/libc/arch-mips64/syscalls/unlinkat.S
+++ b/libc/arch-mips64/syscalls/unlinkat.S
@@ -5,21 +5,21 @@
 ENTRY(unlinkat)
     .set push
     .set noreorder
-    li v0, __NR_unlinkat
+    li $v0, __NR_unlinkat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(unlinkat)
diff --git a/libc/arch-mips64/syscalls/unshare.S b/libc/arch-mips64/syscalls/unshare.S
index 2c82fea..e58a7fc 100644
--- a/libc/arch-mips64/syscalls/unshare.S
+++ b/libc/arch-mips64/syscalls/unshare.S
@@ -5,21 +5,21 @@
 ENTRY(unshare)
     .set push
     .set noreorder
-    li v0, __NR_unshare
+    li $v0, __NR_unshare
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(unshare)
diff --git a/libc/arch-mips64/syscalls/utimensat.S b/libc/arch-mips64/syscalls/utimensat.S
index 48da938..a524baa 100644
--- a/libc/arch-mips64/syscalls/utimensat.S
+++ b/libc/arch-mips64/syscalls/utimensat.S
@@ -5,21 +5,21 @@
 ENTRY(utimensat)
     .set push
     .set noreorder
-    li v0, __NR_utimensat
+    li $v0, __NR_utimensat
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(utimensat)
diff --git a/libc/arch-mips64/syscalls/vmsplice.S b/libc/arch-mips64/syscalls/vmsplice.S
index 3bcae74..5e97d86 100644
--- a/libc/arch-mips64/syscalls/vmsplice.S
+++ b/libc/arch-mips64/syscalls/vmsplice.S
@@ -5,21 +5,21 @@
 ENTRY(vmsplice)
     .set push
     .set noreorder
-    li v0, __NR_vmsplice
+    li $v0, __NR_vmsplice
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(vmsplice)
diff --git a/libc/arch-mips64/syscalls/wait4.S b/libc/arch-mips64/syscalls/wait4.S
index f9c3974..33b0e61 100644
--- a/libc/arch-mips64/syscalls/wait4.S
+++ b/libc/arch-mips64/syscalls/wait4.S
@@ -5,21 +5,21 @@
 ENTRY(wait4)
     .set push
     .set noreorder
-    li v0, __NR_wait4
+    li $v0, __NR_wait4
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(wait4)
diff --git a/libc/arch-mips64/syscalls/write.S b/libc/arch-mips64/syscalls/write.S
index ef9b19e..0499094 100644
--- a/libc/arch-mips64/syscalls/write.S
+++ b/libc/arch-mips64/syscalls/write.S
@@ -5,21 +5,21 @@
 ENTRY(write)
     .set push
     .set noreorder
-    li v0, __NR_write
+    li $v0, __NR_write
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(write)
diff --git a/libc/arch-mips64/syscalls/writev.S b/libc/arch-mips64/syscalls/writev.S
index d103d71..5054af3 100644
--- a/libc/arch-mips64/syscalls/writev.S
+++ b/libc/arch-mips64/syscalls/writev.S
@@ -5,21 +5,21 @@
 ENTRY(writev)
     .set push
     .set noreorder
-    li v0, __NR_writev
+    li $v0, __NR_writev
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(writev)
diff --git a/libc/arch-x86/include/machine/setjmp.h b/libc/arch-x86/include/machine/setjmp.h
deleted file mode 100644
index ded095d..0000000
--- a/libc/arch-x86/include/machine/setjmp.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/*	$OpenBSD: setjmp.h,v 1.2 2000/08/05 22:07:32 niklas Exp $	*/
-/*	$NetBSD: setjmp.h,v 1.1 1994/12/20 10:36:43 cgd Exp $	*/
-
-/*
- * machine/setjmp.h: machine dependent setjmp-related information.
- */
-
-#define	_JBLEN	10		/* size, in longs, of a jmp_buf */
diff --git a/libc/arch-x86_64/include/machine/setjmp.h b/libc/arch-x86_64/include/machine/setjmp.h
deleted file mode 100644
index 46ddd4b..0000000
--- a/libc/arch-x86_64/include/machine/setjmp.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/*	$OpenBSD: setjmp.h,v 1.1 2004/01/28 01:39:39 mickey Exp $	*/
-/*	$NetBSD: setjmp.h,v 1.1 2003/04/26 18:39:47 fvdl Exp $	*/
-
-#define	_JBLEN	11		/* size, in longs, of a jmp_buf */
diff --git a/libc/async_safe/include/async_safe/log.h b/libc/async_safe/include/async_safe/log.h
index 2f54742..10833e4 100644
--- a/libc/async_safe/include/async_safe/log.h
+++ b/libc/async_safe/include/async_safe/log.h
@@ -92,7 +92,7 @@
 
 int async_safe_format_fd(int fd, const char* format , ...) __printflike(2, 3);
 int async_safe_format_log(int pri, const char* tag, const char* fmt, ...) __printflike(3, 4);
-int async_safe_format_log_va_list( int pri, const char* tag, const char* fmt, va_list ap);
+int async_safe_format_log_va_list(int pri, const char* tag, const char* fmt, va_list ap);
 int async_safe_write_log(int pri, const char* tag, const char* msg);
 
 #define CHECK(predicate) \
diff --git a/libc/bionic/icu_static.cpp b/libc/bionic/icu_static.cpp
index cf24a38..e81e291 100644
--- a/libc/bionic/icu_static.cpp
+++ b/libc/bionic/icu_static.cpp
@@ -29,6 +29,6 @@
 #include "private/icu.h"
 
 // We don't have dlopen/dlsym for static binaries yet.
-void* __find_icu_symbol(const char*) {
+__attribute__((weak)) void* __find_icu_symbol(const char*) {
   return nullptr;
 }
diff --git a/libc/bionic/netdb.cpp b/libc/bionic/netdb.cpp
index da61f98..dc2a037 100644
--- a/libc/bionic/netdb.cpp
+++ b/libc/bionic/netdb.cpp
@@ -28,22 +28,40 @@
 
 #include <netdb.h>
 
-// We don't have an /etc/networks, so all inputs return NULL.
-netent* getnetbyname(const char* /*name*/) {
-  return NULL;
+// We don't have an /etc/networks or /etc/protocols, so these are just dummies.
+
+void endnetent() {
 }
 
-// We don't have an /etc/networks, so all inputs return NULL.
+void endprotoent() {
+}
+
 netent* getnetbyaddr(uint32_t /*net*/, int /*type*/) {
-  return NULL;
+  return nullptr;
 }
 
-// We don't have an /etc/protocols, so all inputs return NULL.
+netent* getnetbyname(const char* /*name*/) {
+  return nullptr;
+}
+
+netent* getnetent() {
+  return nullptr;
+}
+
 protoent* getprotobyname(const char* /*name*/) {
-  return NULL;
+  return nullptr;
 }
 
-// We don't have an /etc/protocols, so all inputs return NULL.
 protoent* getprotobynumber(int /*proto*/) {
-  return NULL;
+  return nullptr;
+}
+
+protoent* getprotoent() {
+  return nullptr;
+}
+
+void setnetent(int /*stayopen*/) {
+}
+
+void setprotoent(int /*stayopen*/) {
 }
diff --git a/libc/bionic/pthread_setschedparam.cpp b/libc/bionic/pthread_setschedparam.cpp
index 3e80959..10826d1 100644
--- a/libc/bionic/pthread_setschedparam.cpp
+++ b/libc/bionic/pthread_setschedparam.cpp
@@ -27,9 +27,10 @@
  */
 
 #include <errno.h>
+#include <pthread.h>
+#include <sched.h>
 
 #include "private/ErrnoRestorer.h"
-#include "pthread_internal.h"
 
 int pthread_setschedparam(pthread_t t, int policy, const sched_param* param) {
   ErrnoRestorer errno_restorer;
@@ -39,3 +40,13 @@
 
   return (sched_setscheduler(tid, policy, param) == -1) ? errno : 0;
 }
+
+int pthread_setschedprio(pthread_t t, int priority) {
+  ErrnoRestorer errno_restorer;
+
+  pid_t tid = pthread_gettid_np(t);
+  if (tid == -1) return ESRCH;
+
+  sched_param param = { .sched_priority = priority };
+  return (sched_setparam(tid, &param) == -1) ? errno : 0;
+}
diff --git a/libc/bionic/spawn.cpp b/libc/bionic/spawn.cpp
new file mode 100644
index 0000000..3588d02
--- /dev/null
+++ b/libc/bionic/spawn.cpp
@@ -0,0 +1,318 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <spawn.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "private/ScopedSignalBlocker.h"
+
+enum Action {
+  kOpen,
+  kClose,
+  kDup2
+};
+
+struct __posix_spawn_file_action {
+  __posix_spawn_file_action* next;
+
+  Action what;
+  int fd;
+  int new_fd;
+  char* path;
+  int flags;
+  mode_t mode;
+
+  void Do() {
+    if (what == kOpen) {
+      fd = open(path, flags, mode);
+      if (fd == -1) _exit(127);
+      // If it didn't land where we wanted it, move it.
+      if (fd != new_fd) {
+        if (dup2(fd, new_fd) == -1) _exit(127);
+        close(fd);
+      }
+    } else if (what == kClose) {
+      // Failure to close is ignored.
+      close(fd);
+    } else {
+      if (dup2(fd, new_fd) == -1) _exit(127);
+    }
+  }
+};
+
+struct __posix_spawn_file_actions {
+  __posix_spawn_file_action* head;
+  __posix_spawn_file_action* last;
+
+  void Do() {
+    for (__posix_spawn_file_action* action = head; action != nullptr; action = action->next) {
+      action->Do();
+    }
+  }
+};
+
+struct __posix_spawnattr {
+  short flags;
+  pid_t pgroup;
+  sched_param schedparam;
+  int schedpolicy;
+  sigset_t sigmask;
+  sigset_t sigdefault;
+
+  void Do() {
+    bool use_sigdefault = ((flags & POSIX_SPAWN_SETSIGDEF) != 0);
+
+    for (int s = 1; s < _NSIG; ++s) {
+      struct sigaction sa;
+      if (sigaction(s, nullptr, &sa) == -1) _exit(127);
+      if (sa.sa_handler == SIG_DFL) continue;
+      // POSIX: "Signals set to be caught by the calling process shall be set to the default
+      // action in the child process."
+      // POSIX: "If POSIX_SPAWN_SETSIGDEF is set ... signals in sigdefault ... shall be set to
+      // their default actions in the child process."
+      if (sa.sa_handler != SIG_IGN || (use_sigdefault && sigismember(&sigdefault, s))) {
+        sa.sa_handler = SIG_DFL;
+        if (sigaction(s, &sa, nullptr) == -1) _exit(127);
+      }
+    }
+
+    if ((flags & POSIX_SPAWN_SETPGROUP) != 0 && setpgid(0, pgroup) == -1) _exit(127);
+    if ((flags & POSIX_SPAWN_SETSID) != 0 && setsid() == -1) _exit(127);
+
+    // POSIX_SPAWN_SETSCHEDULER overrides POSIX_SPAWN_SETSCHEDPARAM, but it is not an error
+    // to set both.
+    if ((flags & POSIX_SPAWN_SETSCHEDULER) != 0) {
+      if (sched_setscheduler(0, schedpolicy, &schedparam) == -1) _exit(127);
+    } else if ((flags & POSIX_SPAWN_SETSCHEDPARAM) != 0) {
+      if (sched_setparam(0, &schedparam) == -1) _exit(127);
+    }
+
+    if ((flags & POSIX_SPAWN_RESETIDS) != 0) {
+      if (seteuid(getuid()) == -1 || setegid(getgid()) == -1) _exit(127);
+    }
+
+    if ((flags & POSIX_SPAWN_SETSIGMASK) != 0) {
+      if (sigprocmask(SIG_SETMASK, &sigmask, nullptr)) _exit(127);
+    }
+  }
+};
+
+static int posix_spawn(pid_t* pid_ptr,
+                       const char* path,
+                       const posix_spawn_file_actions_t* actions,
+                       const posix_spawnattr_t* attr,
+                       char* const argv[],
+                       char* const env[],
+                       int exec_fn(const char* path, char* const argv[], char* const env[])) {
+  // See http://man7.org/linux/man-pages/man3/posix_spawn.3.html
+  // and http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html
+
+  ScopedSignalBlocker ssb;
+
+  short flags = attr ? (*attr)->flags : 0;
+  bool use_vfork = ((flags & POSIX_SPAWN_USEVFORK) != 0) || (actions == nullptr && flags == 0);
+
+  pid_t pid = use_vfork ? vfork() : fork();
+  if (pid == -1) return errno;
+
+  if (pid == 0) {
+    // Child.
+    if (attr) (*attr)->Do();
+    if (actions) (*actions)->Do();
+    if ((flags & POSIX_SPAWN_SETSIGMASK) == 0) ssb.reset();
+    exec_fn(path, argv, env ? env : environ);
+    _exit(127);
+  }
+
+  // Parent.
+  if (pid_ptr) *pid_ptr = pid;
+  return 0;
+}
+
+int posix_spawn(pid_t* pid, const char* path, const posix_spawn_file_actions_t* actions,
+                const posix_spawnattr_t* attr, char* const argv[], char* const env[]) {
+  return posix_spawn(pid, path, actions, attr, argv, env, execve);
+}
+
+int posix_spawnp(pid_t* pid, const char* file, const posix_spawn_file_actions_t* actions,
+                 const posix_spawnattr_t* attr, char* const argv[], char* const env[]) {
+  return posix_spawn(pid, file, actions, attr, argv, env, execvpe);
+}
+
+int posix_spawnattr_init(posix_spawnattr_t* attr) {
+  *attr = reinterpret_cast<__posix_spawnattr*>(calloc(1, sizeof(__posix_spawnattr)));
+  return (*attr == nullptr) ? errno : 0;
+}
+
+int posix_spawnattr_destroy(posix_spawnattr_t* attr) {
+  free(*attr);
+  *attr = nullptr;
+  return 0;
+}
+
+int posix_spawnattr_setflags(posix_spawnattr_t* attr, short flags) {
+  if ((flags & ~(POSIX_SPAWN_RESETIDS | POSIX_SPAWN_SETPGROUP | POSIX_SPAWN_SETSIGDEF |
+                 POSIX_SPAWN_SETSIGMASK | POSIX_SPAWN_SETSCHEDPARAM | POSIX_SPAWN_SETSCHEDULER |
+                 POSIX_SPAWN_USEVFORK | POSIX_SPAWN_SETSID)) != 0) {
+    return EINVAL;
+  }
+  (*attr)->flags = flags;
+  return 0;
+}
+
+int posix_spawnattr_getflags(const posix_spawnattr_t* attr, short* flags) {
+  *flags = (*attr)->flags;
+  return 0;
+}
+
+int posix_spawnattr_setpgroup(posix_spawnattr_t* attr, pid_t pgroup) {
+  (*attr)->pgroup = pgroup;
+  return 0;
+}
+
+int posix_spawnattr_getpgroup(const posix_spawnattr_t* attr, pid_t* pgroup) {
+  *pgroup = (*attr)->pgroup;
+  return 0;
+}
+
+int posix_spawnattr_setsigmask(posix_spawnattr_t* attr, const sigset_t* mask) {
+  (*attr)->sigmask = *mask;
+  return 0;
+}
+
+int posix_spawnattr_getsigmask(const posix_spawnattr_t* attr, sigset_t* mask) {
+  *mask = (*attr)->sigmask;
+  return 0;
+}
+
+int posix_spawnattr_setsigdefault(posix_spawnattr_t* attr, const sigset_t* mask) {
+  (*attr)->sigdefault = *mask;
+  return 0;
+}
+
+int posix_spawnattr_getsigdefault(const posix_spawnattr_t* attr, sigset_t* mask) {
+  *mask = (*attr)->sigdefault;
+  return 0;
+}
+
+int posix_spawnattr_setschedparam(posix_spawnattr_t* attr, const struct sched_param* param) {
+  (*attr)->schedparam = *param;
+  return 0;
+}
+
+int posix_spawnattr_getschedparam(const posix_spawnattr_t* attr, struct sched_param* param) {
+  *param = (*attr)->schedparam;
+  return 0;
+}
+
+int posix_spawnattr_setschedpolicy(posix_spawnattr_t* attr, int policy) {
+  (*attr)->schedpolicy = policy;
+  return 0;
+}
+
+int posix_spawnattr_getschedpolicy(const posix_spawnattr_t* attr, int* policy) {
+  *policy = (*attr)->schedpolicy;
+  return 0;
+}
+
+int posix_spawn_file_actions_init(posix_spawn_file_actions_t* actions) {
+  *actions = reinterpret_cast<__posix_spawn_file_actions*>(calloc(1, sizeof(**actions)));
+  return (*actions == nullptr) ? errno : 0;
+}
+
+int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t* actions) {
+  __posix_spawn_file_action* a = (*actions)->head;
+  while (a) {
+    __posix_spawn_file_action* last = a;
+    a = a->next;
+    free(last->path);
+    free(last);
+  }
+  free(*actions);
+  *actions = nullptr;
+  return 0;
+}
+
+static int posix_spawn_add_file_action(posix_spawn_file_actions_t* actions,
+                                       Action what,
+                                       int fd,
+                                       int new_fd,
+                                       const char* path,
+                                       int flags,
+                                       mode_t mode) {
+  __posix_spawn_file_action* action =
+      reinterpret_cast<__posix_spawn_file_action*>(malloc(sizeof(*action)));
+  if (action == nullptr) return errno;
+
+  action->next = nullptr;
+  if (path != nullptr) {
+    action->path = strdup(path);
+    if (action->path == nullptr) {
+      free(action);
+      return errno;
+    }
+  } else {
+    action->path = nullptr;
+  }
+  action->what = what;
+  action->fd = fd;
+  action->new_fd = new_fd;
+  action->flags = flags;
+  action->mode = mode;
+
+  if ((*actions)->head == nullptr) {
+    (*actions)->head = (*actions)->last = action;
+  } else {
+    (*actions)->last->next = action;
+    (*actions)->last = action;
+  }
+
+  return 0;
+}
+
+int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t* actions,
+                                     int fd, const char* path, int flags, mode_t mode) {
+  if (fd < 0) return EBADF;
+  return posix_spawn_add_file_action(actions, kOpen, -1, fd, path, flags, mode);
+}
+
+int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t* actions, int fd) {
+  if (fd < 0) return EBADF;
+  return posix_spawn_add_file_action(actions, kClose, fd, -1, nullptr, 0, 0);
+}
+
+int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t* actions, int fd, int new_fd) {
+  if (fd < 0 || new_fd < 0) return EBADF;
+  return posix_spawn_add_file_action(actions, kDup2, fd, new_fd, nullptr, 0, 0);
+}
diff --git a/libc/bionic/tmpfile.cpp b/libc/bionic/tmpfile.cpp
index dc142a9..bda3566 100644
--- a/libc/bionic/tmpfile.cpp
+++ b/libc/bionic/tmpfile.cpp
@@ -39,22 +39,7 @@
 #include <unistd.h>
 
 #include "private/ErrnoRestorer.h"
-
-class ScopedSignalBlocker {
- public:
-  ScopedSignalBlocker() {
-    sigset_t set;
-    sigfillset(&set);
-    sigprocmask(SIG_BLOCK, &set, &old_set_);
-  }
-
-  ~ScopedSignalBlocker() {
-    sigprocmask(SIG_SETMASK, &old_set_, NULL);
-  }
-
- private:
-  sigset_t old_set_;
-};
+#include "private/ScopedSignalBlocker.h"
 
 static FILE* __tmpfile_dir(const char* tmp_dir) {
   char* path = NULL;
diff --git a/libc/dns/net/getservbyname.c b/libc/dns/net/getservbyname.c
deleted file mode 100644
index c32416c..0000000
--- a/libc/dns/net/getservbyname.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <netdb.h>
-
-#include "servent.h"
-
-struct servent* getservbyname(const char* name, const char* proto) {
-  res_static rs = __res_get_static();
-  rs->servent_ptr = NULL;
-  struct servent* s;
-  while ((s = getservent_r(rs)) != NULL) {
-    if (strcmp(s->s_name, name) == 0 && (proto == NULL || strcmp(s->s_proto, proto) == 0)) {
-      return s;
-    }
-  }
-  return NULL;
-}
diff --git a/libc/dns/net/getservbyport.c b/libc/dns/net/getservbyport.c
deleted file mode 100644
index 7dcaafb..0000000
--- a/libc/dns/net/getservbyport.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include <sys/cdefs.h>
-#include <netdb.h>
-#include "servent.h"
-
-struct servent *
-getservbyport(int port, const char *proto)
-{
-    res_static       rs = __res_get_static();
-
-    if (rs == NULL || proto == NULL) {
-        errno = EINVAL;
-        return NULL;
-    }
-
-    rs->servent_ptr = NULL;
-    while (1) {
-        struct servent*  s = getservent_r(rs);
-        if (s == NULL)
-            break;
-        if ( s->s_port == port && !strcmp( s->s_proto, proto ) )
-            return s;
-    }
-
-    return NULL;
-}
diff --git a/libc/dns/net/getservent.c b/libc/dns/net/getservent.c
index 0a727c7..03add59 100644
--- a/libc/dns/net/getservent.c
+++ b/libc/dns/net/getservent.c
@@ -25,32 +25,17 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <endian.h>
-#include <malloc.h>
+
 #include <netdb.h>
-#include "servent.h"
+
+#include <endian.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "resolv_static.h"
 #include "services.h"
 
-void
-setservent(int f)
-{
-    res_static  rs = __res_get_static();
-    if (rs) {
-        rs->servent_ptr = NULL;
-    }
-}
-
-void
-endservent(void)
-{
-    /* nothing to do */
-}
-
-struct servent *
-getservent_r( res_static  rs )
-{
+struct servent* getservent_r(res_static rs) {
     const char*  p;
     const char*  q;
     int          namelen;
@@ -119,12 +104,48 @@
     return &rs->servent;
 }
 
-struct servent *
-getservent(void)
-{
-    res_static   rs = __res_get_static();
+void setservent(int stayopen) {
+  endservent();
+}
 
-    if (rs == NULL) return NULL;
+void endservent(void) {
+  res_static rs = __res_get_static();
+  if (rs) rs->servent_ptr = NULL;
+}
 
-    return getservent_r(rs);
+struct servent* getservent(void) {
+  res_static rs = __res_get_static();
+  return rs ? getservent_r(rs) : NULL;
+}
+
+struct servent* getservbyname(const char* name, const char* proto) {
+  res_static rs = __res_get_static();
+  if (rs == NULL) return NULL;
+
+  const char* old_servent_ptr = rs->servent_ptr;
+  rs->servent_ptr = NULL;
+  struct servent* s;
+  while ((s = getservent_r(rs)) != NULL) {
+    if (strcmp(s->s_name, name) == 0 && (proto == NULL || strcmp(s->s_proto, proto) == 0)) {
+      break;
+    }
+  }
+  rs->servent_ptr = old_servent_ptr;
+  return s;
+}
+
+struct servent* getservbyport(int port, const char* proto) {
+  res_static rs = __res_get_static();
+  if (rs == NULL) return NULL;
+
+  const char* old_servent_ptr = rs->servent_ptr;
+  rs->servent_ptr = NULL;
+  struct servent* s;
+  while ((s = getservent_r(rs)) != NULL) {
+    if (s->s_port == port && (proto == NULL || strcmp(s->s_proto, proto) == 0)) {
+      break;
+    }
+  }
+  rs->servent_ptr = old_servent_ptr;
+  return s;
 }
diff --git a/libc/dns/net/servent.h b/libc/dns/net/servent.h
deleted file mode 100644
index 822b375..0000000
--- a/libc/dns/net/servent.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*	$NetBSD: servent.h,v 1.1 2005/04/18 19:39:45 kleink Exp $	*/
-
-/*-
- * Copyright (c) 2004 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Christos Zoulas.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *        This product includes software developed by the NetBSD
- *        Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#include "resolv_static.h"
-
-struct servent*  getservent_r(res_static rs);
diff --git a/libc/dns/net/sethostent.c b/libc/dns/net/sethostent.c
index 916421e..66c305f 100644
--- a/libc/dns/net/sethostent.c
+++ b/libc/dns/net/sethostent.c
@@ -64,13 +64,26 @@
 
 static struct hostent *_hf_gethtbyname2(const char *, int, struct getnamaddr *);
 
-static const char *_h_hosts = _PATH_HOSTS;
+void
+/*ARGSUSED*/
+sethostent(int stayopen)
+{
+	res_static rs = __res_get_static();
+	if (rs) sethostent_r(&rs->hostf);
+}
+
+void
+endhostent(void)
+{
+	res_static rs = __res_get_static();
+	if (rs) endhostent_r(&rs->hostf);
+}
 
 void
 sethostent_r(FILE **hf)
 {
 	if (!*hf)
-		*hf = fopen(_h_hosts, "re");
+		*hf = fopen(_PATH_HOSTS, "re");
 	else
 		rewind(*hf);
 }
@@ -116,15 +129,13 @@
 	hp = _hf_gethtbyname2(name, af, info);
 #endif
 	if (hp == NULL) {
-		if (*info->he == NETDB_INTERNAL && errno == ENOSPC) {
-			return NS_UNAVAIL;
-		}
+		*info->he = HOST_NOT_FOUND;
 		return NS_NOTFOUND;
 	}
 	return NS_SUCCESS;
 }
 
-static struct hostent *
+struct hostent *
 _hf_gethtbyname2(const char *name, int af, struct getnamaddr *info)
 {
 	struct hostent *hp, hent;
@@ -145,7 +156,6 @@
 	}
 
 	if ((ptr = buf = malloc(len = info->buflen)) == NULL) {
-		endhostent_r(&hf);
 		*info->he = NETDB_INTERNAL;
 		return NULL;
 	}
@@ -161,12 +171,8 @@
 
 		hp = netbsd_gethostent_r(hf, info->hp, info->buf, info->buflen,
 		    info->he);
-		if (hp == NULL) {
-			if (*info->he == NETDB_INTERNAL && errno == ENOSPC) {
-				goto nospc;
-			}
+		if (hp == NULL)
 			break;
-		}
 
 		if (strcasecmp(hp->h_name, name) != 0) {
 			char **cp;
@@ -230,7 +236,6 @@
 	free(buf);
 	return hp;
 nospc:
-	endhostent_r(&hf);
 	*info->he = NETDB_INTERNAL;
 	free(buf);
 	errno = ENOSPC;
@@ -265,9 +270,6 @@
 	endhostent_r(&hf);
 
 	if (hp == NULL) {
-		if (errno == ENOSPC) {
-			return NS_UNAVAIL;
-		}
 		*info->he = HOST_NOT_FOUND;
 		return NS_NOTFOUND;
 	}
diff --git a/libc/arch-arm/include/machine/fenv.h b/libc/include/bits/fenv_arm.h
similarity index 96%
rename from libc/arch-arm/include/machine/fenv.h
rename to libc/include/bits/fenv_arm.h
index 0e483e3..542ddbe 100644
--- a/libc/arch-arm/include/machine/fenv.h
+++ b/libc/include/bits/fenv_arm.h
@@ -33,8 +33,8 @@
  * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344b/Chdfafia.html
  */
 
-#ifndef _ARM_FENV_H_
-#define _ARM_FENV_H_
+#ifndef _BITS_FENV_ARM_H_
+#define _BITS_FENV_ARM_H_
 
 #include <sys/types.h>
 
@@ -60,4 +60,4 @@
 
 __END_DECLS
 
-#endif /* !_ARM_FENV_H_ */
+#endif
diff --git a/libc/arch-arm64/include/machine/fenv.h b/libc/include/bits/fenv_arm64.h
similarity index 97%
rename from libc/arch-arm64/include/machine/fenv.h
rename to libc/include/bits/fenv_arm64.h
index a8568b8..67f0fb4 100644
--- a/libc/arch-arm64/include/machine/fenv.h
+++ b/libc/include/bits/fenv_arm64.h
@@ -67,8 +67,8 @@
  *      * [0]     - IOC, Invalid Operation cumulative exception.
  */
 
-#ifndef _ARM64_FENV_H_
-#define _ARM64_FENV_H_
+#ifndef _BITS_FENV_ARM64_H_
+#define _BITS_FENV_ARM64_H_
 
 #include <sys/types.h>
 
@@ -99,4 +99,4 @@
 
 __END_DECLS
 
-#endif /* !_ARM64_FENV_H_ */
+#endif
diff --git a/libc/arch-mips/include/machine/fenv.h b/libc/include/bits/fenv_mips.h
similarity index 97%
rename from libc/arch-mips/include/machine/fenv.h
rename to libc/include/bits/fenv_mips.h
index 689e1cb..9298e86 100644
--- a/libc/arch-mips/include/machine/fenv.h
+++ b/libc/include/bits/fenv_mips.h
@@ -68,8 +68,8 @@
  * 11 - rounding (down)toward minus infinity (RM)
  */
 
-#ifndef _MIPS_FENV_H_
-#define _MIPS_FENV_H_
+#ifndef _BITS_FENV_MIPS_H_
+#define _BITS_FENV_MIPS_H_
 
 #include <sys/types.h>
 
@@ -95,4 +95,4 @@
 
 __END_DECLS
 
-#endif /* !_MIPS_FENV_H_ */
+#endif
diff --git a/libc/arch-x86/include/machine/fenv.h b/libc/include/bits/fenv_x86.h
similarity index 96%
rename from libc/arch-x86/include/machine/fenv.h
rename to libc/include/bits/fenv_x86.h
index de45add..75b109b 100644
--- a/libc/arch-x86/include/machine/fenv.h
+++ b/libc/include/bits/fenv_x86.h
@@ -26,8 +26,8 @@
  * $FreeBSD: src/lib/msun/i387/fenv.h,v 1.4 2005/03/17 22:21:46 das Exp $
  */
 
-#ifndef _I387_FENV_H_
-#define _I387_FENV_H_
+#ifndef _BITS_FENV_X86_H_
+#define _BITS_FENV_X86_H_
 
 #include <sys/types.h>
 
@@ -66,4 +66,4 @@
 
 __END_DECLS
 
-#endif /* !I387_FENV_H_ */
+#endif
diff --git a/libc/arch-x86_64/include/machine/fenv.h b/libc/include/bits/fenv_x86_64.h
similarity index 97%
rename from libc/arch-x86_64/include/machine/fenv.h
rename to libc/include/bits/fenv_x86_64.h
index c2b25ed..006d19e 100644
--- a/libc/arch-x86_64/include/machine/fenv.h
+++ b/libc/include/bits/fenv_x86_64.h
@@ -24,8 +24,8 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _AMD64_FENV_H_
-#define _AMD64_FENV_H_
+#ifndef _BITS_FENV_X86_64_H_
+#define _BITS_FENV_X86_64_H_
 
 #include <sys/types.h>
 
@@ -92,4 +92,4 @@
 
 __END_DECLS
 
-#endif /* !_AMD64_FENV_H_ */
+#endif
diff --git a/libc/include/bits/posix_limits.h b/libc/include/bits/posix_limits.h
index 4038c3a..2688cc5 100644
--- a/libc/include/bits/posix_limits.h
+++ b/libc/include/bits/posix_limits.h
@@ -68,9 +68,9 @@
 #define _POSIX_SEMAPHORES _POSIX_VERSION /* sem_*. */
 #define _POSIX_SHARED_MEMORY_OBJECTS __BIONIC_POSIX_FEATURE_MISSING /* mmap/munmap are implemented, but shm_open/shm_unlink are not. */
 #define _POSIX_SHELL 1 /* system. */
-#define _POSIX_SPAWN __BIONIC_POSIX_FEATURE_MISSING /* <spawn.h> */
+#define _POSIX_SPAWN __BIONIC_POSIX_FEATURE_SINCE(28) /* <spawn.h> */
 #define _POSIX_SPIN_LOCKS __BIONIC_POSIX_FEATURE_SINCE(24) /* pthread_spin_*. */
-#define _POSIX_SPORADIC_SERVER _POSIX_VERSION /* sched_setparam/sched_setscheduler. */
+#define _POSIX_SPORADIC_SERVER __BIONIC_POSIX_FEATURE_MISSING /* No SCHED_SPORADIC. */
 #define _POSIX_SYNCHRONIZED_IO _POSIX_VERSION
 #define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION /* Strictly, we're missing the deprecated pthread_attr_getstackaddr/pthread_attr_setstackaddr, but we do have pthread_attr_getstack/pthread_attr_setstack. */
 #define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION /* pthread_attr_getstack/pthread_attr_getstacksize/pthread_attr_setstack/pthread_attr_setstacksize. */
@@ -82,7 +82,7 @@
 #define _POSIX_THREAD_ROBUST_PRIO_INHERIT __BIONIC_POSIX_FEATURE_MISSING
 #define _POSIX_THREAD_ROBUST_PRIO_PROTECT __BIONIC_POSIX_FEATURE_MISSING
 #define _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_VERSION
-#define _POSIX_THREAD_SPORADIC_SERVER _POSIX_VERSION /* sched_setparam/sched_setscheduler. */
+#define _POSIX_THREAD_SPORADIC_SERVER __BIONIC_POSIX_FEATURE_MISSING /* No SCHED_SPORADIC. */
 #define _POSIX_THREADS _POSIX_VERSION /* Strictly, pthread_cancel/pthread_testcancel are missing. */
 #define _POSIX_TIMEOUTS __BIONIC_POSIX_FEATURE_SINCE(21) /* pthread_mutex_timedlock arrived late. */
 #define _POSIX_TIMERS _POSIX_VERSION /* clock_getres/clock_gettime/clock_settime/nanosleep/timer_create/timer_delete/timer_gettime/timer_getoverrun/timer_settime. */
@@ -94,6 +94,15 @@
 
 #define _POSIX_VDISABLE             '\0'
 
+#define _POSIX2_C_BIND              _POSIX_VERSION
+#define _POSIX2_C_DEV               __BIONIC_POSIX_FEATURE_MISSING
+#define _POSIX2_CHAR_TERM           _POSIX_VERSION
+#define _POSIX2_FORT_DEV            __BIONIC_POSIX_FEATURE_MISSING
+#define _POSIX2_FORT_RUN            __BIONIC_POSIX_FEATURE_MISSING
+#define _POSIX2_LOCALEDEF           __BIONIC_POSIX_FEATURE_MISSING
+#define _POSIX2_SW_DEV              __BIONIC_POSIX_FEATURE_MISSING
+#define _POSIX2_UPE                 __BIONIC_POSIX_FEATURE_MISSING
+
 #if defined(__LP64__)
 #define _POSIX_V7_ILP32_OFF32       -1
 #define _POSIX_V7_ILP32_OFFBIG      -1
@@ -106,16 +115,26 @@
 #define _POSIX_V7_LPBIG_OFFBIG      -1
 #endif
 
+#define _XOPEN_CRYPT                __BIONIC_POSIX_FEATURE_MISSING
+#define _XOPEN_ENH_I18N             1
+#define _XOPEN_LEGACY               __BIONIC_POSIX_FEATURE_MISSING
+#define _XOPEN_REALTIME             1
+#define _XOPEN_REALTIME_THREADS     1
+#define _XOPEN_SHM                  1
+#define _XOPEN_STREAMS              __BIONIC_POSIX_FEATURE_MISSING
+#define _XOPEN_UNIX                 1
+
 /* Minimum values for other maxima. These numbers are simply lower bounds mandated by POSIX. */
-/* Any constant values here other than -1 or 200809L are explicitly specified by POSIX.1-2008. */
+/* The constant values here are explicitly specified by POSIX, not implementation dependent. */
 #define _POSIX_AIO_LISTIO_MAX       2
 #define _POSIX_AIO_MAX              1
 #define _POSIX_ARG_MAX              4096
 #define _POSIX_CHILD_MAX            25
+#define _POSIX_CLOCKRES_MIN         20000000
 #define _POSIX_DELAYTIMER_MAX       32
 #define _POSIX_HOST_NAME_MAX        255
 #define _POSIX_LINK_MAX             8
-#define _POSIX_LOGIN_NAME_MAX       9  /* includes trailing NUL */
+#define _POSIX_LOGIN_NAME_MAX       9
 #define _POSIX_MAX_CANON            255
 #define _POSIX_MAX_INPUT            255
 #define _POSIX_MQ_OPEN_MAX          8
@@ -126,45 +145,36 @@
 #define _POSIX_PATH_MAX             256
 #define _POSIX_PIPE_BUF             512
 #define _POSIX_RE_DUP_MAX           255
+#define _POSIX_RTSIG_MAX            8
 #define _POSIX_SEM_NSEMS_MAX        256
 #define _POSIX_SEM_VALUE_MAX        32767
 #define _POSIX_SIGQUEUE_MAX         32
 #define _POSIX_SSIZE_MAX            32767
 #define _POSIX_STREAM_MAX           8
+#define _POSIX_SS_REPL_MAX          4
 #define _POSIX_SYMLINK_MAX          255
 #define _POSIX_SYMLOOP_MAX          8
 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
 #define _POSIX_THREAD_KEYS_MAX      128
 #define _POSIX_THREAD_THREADS_MAX   64
 #define _POSIX_TIMER_MAX            32
+#define _POSIX_TRACE_EVENT_NAME_MAX 30
 #define _POSIX_TRACE_NAME_MAX       8
 #define _POSIX_TRACE_SYS_MAX        8
 #define _POSIX_TRACE_USER_EVENT_MAX 32
-#define _POSIX_TTY_NAME_MAX         9  /* includes trailing NUL */
+#define _POSIX_TTY_NAME_MAX         9
 #define _POSIX_TZNAME_MAX           6
 #define _POSIX2_BC_BASE_MAX         99
 #define _POSIX2_BC_DIM_MAX          2048
 #define _POSIX2_BC_SCALE_MAX        99
 #define _POSIX2_BC_STRING_MAX       1000
 #define _POSIX2_CHARCLASS_NAME_MAX  14
-#define _POSIX2_CHAR_TERM           -1  /* not implemented */
 #define _POSIX2_COLL_WEIGHTS_MAX    2
-#define _POSIX2_C_BIND              _POSIX_VERSION
-#define _POSIX2_C_DEV               -1  /* c dev utilities not implemented */
 #define _POSIX2_EXPR_NEST_MAX       32
 #define _POSIX2_LINE_MAX            2048
-#define _POSIX2_LOCALEDEF           -1  /* localedef utilitiy not implemented */
-#define _POSIX2_RE_DUP_MAX          _POSIX_RE_DUP_MAX
-#define _POSIX2_SW_DEV              -1  /* software dev utilities not implemented */
-#define _POSIX2_UPE                 -1  /* user portability utilities not implemented */
-
-#define _XOPEN_ENH_I18N             -1  /* we don't support internationalization in the C library */
-#define _XOPEN_CRYPT                -1  /* don't support X/Open Encryption */
+#define _POSIX2_RE_DUP_MAX          255
 #define _XOPEN_IOV_MAX              16
-#define _XOPEN_LEGACY               -1  /* not support all */
-#define _XOPEN_REALTIME             -1 /* we don't support all these functions */
-#define _XOPEN_REALTIME_THREADS     -1  /* same here */
-#define _XOPEN_SHM                  -1
-#define _XOPEN_UNIX                 1
+#define _XOPEN_NAME_MAX             255
+#define _XOPEN_PATH_MAX             1024
 
 #endif
diff --git a/libc/include/fenv.h b/libc/include/fenv.h
index ae35ae3..4276e87 100644
--- a/libc/include/fenv.h
+++ b/libc/include/fenv.h
@@ -31,7 +31,18 @@
 #define _FENV_H_
 
 #include <sys/cdefs.h>
-#include <machine/fenv.h>
+
+#if defined(__aarch64__)
+#include <bits/fenv_arm64.h>
+#elif defined(__arm__)
+#include <bits/fenv_arm.h>
+#elif defined(__i386__)
+#include <bits/fenv_x86.h>
+#elif defined(__mips__)
+#include <bits/fenv_mips.h>
+#elif defined(__x86_64__)
+#include <bits/fenv_x86_64.h>
+#endif
 
 __BEGIN_DECLS
 
diff --git a/libc/include/limits.h b/libc/include/limits.h
index 4384f6f..48e7ea9 100644
--- a/libc/include/limits.h
+++ b/libc/include/limits.h
@@ -61,6 +61,7 @@
 #else
 # define LONG_BIT 32
 #endif
+#define WORD_BIT 32
 
 #define	SCHAR_MAX	0x7f		/* max value for a signed char */
 #define SCHAR_MIN	(-0x7f-1)	/* min value for a signed char */
@@ -130,6 +131,8 @@
 
 #define MB_LEN_MAX 4
 
+#define NZERO 20
+
 #define IOV_MAX 1024
 #define SEM_VALUE_MAX 0x3fffffff
 
diff --git a/libc/include/netdb.h b/libc/include/netdb.h
index 66ec8e3..4ee0ce2 100644
--- a/libc/include/netdb.h
+++ b/libc/include/netdb.h
@@ -196,31 +196,47 @@
 
 __BEGIN_DECLS
 
+int getaddrinfo(const char* __node, const char* __service, const struct addrinfo* __hints, struct addrinfo** __result);
+void freeaddrinfo(struct addrinfo* __ptr);
+
+/* Android ABI error: POSIX getnameinfo(3) uses socklen_t rather than size_t. */
+int getnameinfo(const struct sockaddr* __sa, socklen_t __sa_length, char* __host, size_t __host_length, char* __service, size_t __service_length, int __flags);
+const char* gai_strerror(int __error);
+
+/* These functions are obsolete. Use getaddrinfo/getnameinfo instead. */
 #define h_errno (*__get_h_errno())
 int* __get_h_errno(void);
-void endservent(void);
+void herror(const char* __s);
+const char* hstrerror(int __error);
 struct hostent* gethostbyaddr(const void* __addr, socklen_t __length, int __type);
 int gethostbyaddr_r(const void* __addr, socklen_t __length, int __type, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr) __INTRODUCED_IN(23);
 struct hostent* gethostbyname(const char* __name);
 int gethostbyname_r(const char* __name, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr);
 struct hostent* gethostbyname2(const char* __name, int __af);
 int gethostbyname2_r(const char* __name, int __af, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr) __INTRODUCED_IN(23);
+void endhostent(void) __INTRODUCED_IN_FUTURE;
 struct hostent* gethostent(void);
+void sethostent(int __stay_open) __INTRODUCED_IN_FUTURE;
+
+/* These functions are obsolete. None of these functions return anything but nullptr. */
+void endnetent(void) __INTRODUCED_IN_FUTURE;
 struct netent* getnetbyaddr(uint32_t __net, int __type);
 struct netent* getnetbyname(const char* __name);
+struct netent* getnetent(void) __INTRODUCED_IN_FUTURE;
+void setnetent(int __stay_open) __INTRODUCED_IN_FUTURE;
+
+/* None of these functions return anything but nullptr. */
+void endprotoent(void) __INTRODUCED_IN_FUTURE;
 struct protoent* getprotobyname(const char* __name);
 struct protoent* getprotobynumber(int __proto);
-struct servent* getservbyname(const char* __name, const char* __proto);
-struct servent* getservbyport(int __port, const char* __proto);
-struct servent* getservent(void);
-void herror(const char* __s);
-const char* hstrerror(int __error);
+struct protoent* getprotoent(void) __INTRODUCED_IN_FUTURE;
+void setprotoent(int __stay_open) __INTRODUCED_IN_FUTURE;
 
-int getaddrinfo(const char* __node, const char* __service, const struct addrinfo* __hints, struct addrinfo** __result);
-/* POSIX getnameinfo uses socklen_t, not size_t, but LP64 sizeof(socklen_t) != sizeof(size_t). */
-int getnameinfo(const struct sockaddr* __sa, socklen_t __sa_length, char* __host, size_t __host_length, char* __service, size_t __service_length, int __flags);
-void freeaddrinfo(struct addrinfo* __ptr);
-const char* gai_strerror(int __error);
+/* These functions return entries from a built-in database. */
+void endservent(void);
+struct servent* getservbyname(const char* __name, const char* __proto);
+struct servent* getservbyport(int __port_in_network_order, const char* __proto);
+struct servent* getservent(void);
 void setservent(int __stay_open);
 
 __END_DECLS
diff --git a/libc/include/pthread.h b/libc/include/pthread.h
index 32315fe..2253e0d 100644
--- a/libc/include/pthread.h
+++ b/libc/include/pthread.h
@@ -220,6 +220,7 @@
 int pthread_setname_np(pthread_t __pthread, const char* __name);
 
 int pthread_setschedparam(pthread_t __pthread, int __policy, const struct sched_param* __param);
+int pthread_setschedprio(pthread_t __pthread, int __priority) __INTRODUCED_IN_FUTURE;
 
 int pthread_setspecific(pthread_key_t __key, const void* __value);
 
diff --git a/libc/include/setjmp.h b/libc/include/setjmp.h
index 12a3083..d44946f 100644
--- a/libc/include/setjmp.h
+++ b/libc/include/setjmp.h
@@ -41,11 +41,28 @@
 #define _SETJMP_H_
 
 #include <sys/cdefs.h>
-#include <machine/setjmp.h>
+
+#if defined(__aarch64__)
+#define _JBLEN 32
+#elif defined(__arm__)
+#define _JBLEN 64
+#elif defined(__i386__)
+#define _JBLEN 10
+#elif defined(__mips__)
+  #if defined(__LP64__)
+  #define _JBLEN 25
+  #else
+  #define _JBLEN 157
+  #endif
+#elif defined(__x86_64__)
+#define _JBLEN 11
+#endif
 
 typedef long sigjmp_buf[_JBLEN + 1];
 typedef long jmp_buf[_JBLEN];
 
+#undef _JBLEN
+
 __BEGIN_DECLS
 
 int _setjmp(jmp_buf __env);
diff --git a/libc/include/spawn.h b/libc/include/spawn.h
new file mode 100644
index 0000000..ea4bb19
--- /dev/null
+++ b/libc/include/spawn.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _SPAWN_H_
+#define _SPAWN_H_
+
+#include <sys/cdefs.h>
+#include <sys/types.h>
+#include <sched.h>
+#include <signal.h>
+
+__BEGIN_DECLS
+
+#define POSIX_SPAWN_RESETIDS 1
+#define POSIX_SPAWN_SETPGROUP 2
+#define POSIX_SPAWN_SETSIGDEF 4
+#define POSIX_SPAWN_SETSIGMASK 8
+#define POSIX_SPAWN_SETSCHEDPARAM 16
+#define POSIX_SPAWN_SETSCHEDULER 32
+#if defined(__USE_GNU)
+#define POSIX_SPAWN_USEVFORK 64
+#define POSIX_SPAWN_SETSID 128
+#endif
+
+typedef struct __posix_spawnattr* posix_spawnattr_t;
+typedef struct __posix_spawn_file_actions* posix_spawn_file_actions_t;
+
+int posix_spawn(pid_t* __pid, const char* __path, const posix_spawn_file_actions_t* __actions, const posix_spawnattr_t* __attr, char* const __argv[], char* const __env[]) __INTRODUCED_IN_FUTURE;
+int posix_spawnp(pid_t* __pid, const char* __file, const posix_spawn_file_actions_t* __actions, const posix_spawnattr_t* __attr, char* const __argv[], char* const __env[]) __INTRODUCED_IN_FUTURE;
+
+int posix_spawnattr_init(posix_spawnattr_t* __attr) __INTRODUCED_IN_FUTURE;
+int posix_spawnattr_destroy(posix_spawnattr_t* __attr) __INTRODUCED_IN_FUTURE;
+
+int posix_spawnattr_setflags(posix_spawnattr_t* __attr, short __flags) __INTRODUCED_IN_FUTURE;
+int posix_spawnattr_getflags(const posix_spawnattr_t* __attr, short* __flags) __INTRODUCED_IN_FUTURE;
+
+int posix_spawnattr_setpgroup(posix_spawnattr_t* __attr, pid_t __pgroup) __INTRODUCED_IN_FUTURE;
+int posix_spawnattr_getpgroup(const posix_spawnattr_t* __attr, pid_t* __pgroup) __INTRODUCED_IN_FUTURE;
+
+int posix_spawnattr_setsigmask(posix_spawnattr_t* __attr, const sigset_t* __mask) __INTRODUCED_IN_FUTURE;
+int posix_spawnattr_getsigmask(const posix_spawnattr_t* __attr, sigset_t* __mask) __INTRODUCED_IN_FUTURE;
+
+int posix_spawnattr_setsigdefault(posix_spawnattr_t* __attr, const sigset_t* __mask) __INTRODUCED_IN_FUTURE;
+int posix_spawnattr_getsigdefault(const posix_spawnattr_t* __attr, sigset_t* __mask) __INTRODUCED_IN_FUTURE;
+
+int posix_spawnattr_setschedparam(posix_spawnattr_t* __attr, const struct sched_param* __param) __INTRODUCED_IN_FUTURE;
+int posix_spawnattr_getschedparam(const posix_spawnattr_t* __attr, struct sched_param* __param) __INTRODUCED_IN_FUTURE;
+
+int posix_spawnattr_setschedpolicy(posix_spawnattr_t* __attr, int __policy) __INTRODUCED_IN_FUTURE;
+int posix_spawnattr_getschedpolicy(const posix_spawnattr_t* __attr, int* __policy) __INTRODUCED_IN_FUTURE;
+
+int posix_spawn_file_actions_init(posix_spawn_file_actions_t* __actions) __INTRODUCED_IN_FUTURE;
+int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t* __actions) __INTRODUCED_IN_FUTURE;
+
+int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t* __actions, int __fd, const char* __path, int __flags, mode_t __mode) __INTRODUCED_IN_FUTURE;
+int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t* __actions, int __fd) __INTRODUCED_IN_FUTURE;
+int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t* __actions, int __fd, int __new_fd) __INTRODUCED_IN_FUTURE;
+
+__END_DECLS
+
+#endif
diff --git a/libc/libc.arm.map b/libc/libc.arm.map
index 13c267a..981dd59 100644
--- a/libc/libc.arm.map
+++ b/libc/libc.arm.map
@@ -1322,7 +1322,12 @@
   global:
     __freading;
     __fwriting;
+    endhostent;
+    endnetent;
+    endprotoent;
     getentropy;
+    getnetent;
+    getprotoent;
     getrandom;
     getlogin_r;
     glob;
@@ -1336,6 +1341,31 @@
     iconv;
     iconv_close;
     iconv_open;
+    posix_spawn;
+    posix_spawnattr_destroy;
+    posix_spawnattr_getflags;
+    posix_spawnattr_getpgroup;
+    posix_spawnattr_getschedparam;
+    posix_spawnattr_getschedpolicy;
+    posix_spawnattr_getsigdefault;
+    posix_spawnattr_getsigmask;
+    posix_spawnattr_init;
+    posix_spawnattr_setflags;
+    posix_spawnattr_setpgroup;
+    posix_spawnattr_setschedparam;
+    posix_spawnattr_setschedpolicy;
+    posix_spawnattr_setsigdefault;
+    posix_spawnattr_setsigmask;
+    posix_spawn_file_actions_addclose;
+    posix_spawn_file_actions_adddup2;
+    posix_spawn_file_actions_addopen;
+    posix_spawn_file_actions_destroy;
+    posix_spawn_file_actions_init;
+    posix_spawnp;
+    pthread_setschedprio;
+    sethostent;
+    setnetent;
+    setprotoent;
     syncfs;
 } LIBC_O;
 
diff --git a/libc/libc.arm64.map b/libc/libc.arm64.map
index 9d8c1b7..29c5235 100644
--- a/libc/libc.arm64.map
+++ b/libc/libc.arm64.map
@@ -1242,7 +1242,12 @@
   global:
     __freading;
     __fwriting;
+    endhostent;
+    endnetent;
+    endprotoent;
     getentropy;
+    getnetent;
+    getprotoent;
     getrandom;
     getlogin_r;
     glob;
@@ -1256,6 +1261,31 @@
     iconv;
     iconv_close;
     iconv_open;
+    posix_spawn;
+    posix_spawnattr_destroy;
+    posix_spawnattr_getflags;
+    posix_spawnattr_getpgroup;
+    posix_spawnattr_getschedparam;
+    posix_spawnattr_getschedpolicy;
+    posix_spawnattr_getsigdefault;
+    posix_spawnattr_getsigmask;
+    posix_spawnattr_init;
+    posix_spawnattr_setflags;
+    posix_spawnattr_setpgroup;
+    posix_spawnattr_setschedparam;
+    posix_spawnattr_setschedpolicy;
+    posix_spawnattr_setsigdefault;
+    posix_spawnattr_setsigmask;
+    posix_spawn_file_actions_addclose;
+    posix_spawn_file_actions_adddup2;
+    posix_spawn_file_actions_addopen;
+    posix_spawn_file_actions_destroy;
+    posix_spawn_file_actions_init;
+    posix_spawnp;
+    pthread_setschedprio;
+    sethostent;
+    setnetent;
+    setprotoent;
     syncfs;
 } LIBC_O;
 
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index da462d3..eafbbd7 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -1347,7 +1347,12 @@
   global:
     __freading;
     __fwriting;
+    endhostent;
+    endnetent;
+    endprotoent;
     getentropy;
+    getnetent;
+    getprotoent;
     getrandom;
     getlogin_r;
     glob;
@@ -1361,6 +1366,31 @@
     iconv;
     iconv_close;
     iconv_open;
+    posix_spawn;
+    posix_spawnattr_destroy;
+    posix_spawnattr_getflags;
+    posix_spawnattr_getpgroup;
+    posix_spawnattr_getschedparam;
+    posix_spawnattr_getschedpolicy;
+    posix_spawnattr_getsigdefault;
+    posix_spawnattr_getsigmask;
+    posix_spawnattr_init;
+    posix_spawnattr_setflags;
+    posix_spawnattr_setpgroup;
+    posix_spawnattr_setschedparam;
+    posix_spawnattr_setschedpolicy;
+    posix_spawnattr_setsigdefault;
+    posix_spawnattr_setsigmask;
+    posix_spawn_file_actions_addclose;
+    posix_spawn_file_actions_adddup2;
+    posix_spawn_file_actions_addopen;
+    posix_spawn_file_actions_destroy;
+    posix_spawn_file_actions_init;
+    posix_spawnp;
+    pthread_setschedprio;
+    sethostent;
+    setnetent;
+    setprotoent;
     syncfs;
 } LIBC_O;
 
diff --git a/libc/libc.mips.map b/libc/libc.mips.map
index 3e41f95..a32131f 100644
--- a/libc/libc.mips.map
+++ b/libc/libc.mips.map
@@ -1306,7 +1306,12 @@
   global:
     __freading;
     __fwriting;
+    endhostent;
+    endnetent;
+    endprotoent;
     getentropy;
+    getnetent;
+    getprotoent;
     getrandom;
     getlogin_r;
     glob;
@@ -1320,6 +1325,31 @@
     iconv;
     iconv_close;
     iconv_open;
+    posix_spawn;
+    posix_spawnattr_destroy;
+    posix_spawnattr_getflags;
+    posix_spawnattr_getpgroup;
+    posix_spawnattr_getschedparam;
+    posix_spawnattr_getschedpolicy;
+    posix_spawnattr_getsigdefault;
+    posix_spawnattr_getsigmask;
+    posix_spawnattr_init;
+    posix_spawnattr_setflags;
+    posix_spawnattr_setpgroup;
+    posix_spawnattr_setschedparam;
+    posix_spawnattr_setschedpolicy;
+    posix_spawnattr_setsigdefault;
+    posix_spawnattr_setsigmask;
+    posix_spawn_file_actions_addclose;
+    posix_spawn_file_actions_adddup2;
+    posix_spawn_file_actions_addopen;
+    posix_spawn_file_actions_destroy;
+    posix_spawn_file_actions_init;
+    posix_spawnp;
+    pthread_setschedprio;
+    sethostent;
+    setnetent;
+    setprotoent;
     syncfs;
 } LIBC_O;
 
diff --git a/libc/libc.mips64.map b/libc/libc.mips64.map
index 9d8c1b7..29c5235 100644
--- a/libc/libc.mips64.map
+++ b/libc/libc.mips64.map
@@ -1242,7 +1242,12 @@
   global:
     __freading;
     __fwriting;
+    endhostent;
+    endnetent;
+    endprotoent;
     getentropy;
+    getnetent;
+    getprotoent;
     getrandom;
     getlogin_r;
     glob;
@@ -1256,6 +1261,31 @@
     iconv;
     iconv_close;
     iconv_open;
+    posix_spawn;
+    posix_spawnattr_destroy;
+    posix_spawnattr_getflags;
+    posix_spawnattr_getpgroup;
+    posix_spawnattr_getschedparam;
+    posix_spawnattr_getschedpolicy;
+    posix_spawnattr_getsigdefault;
+    posix_spawnattr_getsigmask;
+    posix_spawnattr_init;
+    posix_spawnattr_setflags;
+    posix_spawnattr_setpgroup;
+    posix_spawnattr_setschedparam;
+    posix_spawnattr_setschedpolicy;
+    posix_spawnattr_setsigdefault;
+    posix_spawnattr_setsigmask;
+    posix_spawn_file_actions_addclose;
+    posix_spawn_file_actions_adddup2;
+    posix_spawn_file_actions_addopen;
+    posix_spawn_file_actions_destroy;
+    posix_spawn_file_actions_init;
+    posix_spawnp;
+    pthread_setschedprio;
+    sethostent;
+    setnetent;
+    setprotoent;
     syncfs;
 } LIBC_O;
 
diff --git a/libc/libc.x86.map b/libc/libc.x86.map
index c3d678c..f1308ea 100644
--- a/libc/libc.x86.map
+++ b/libc/libc.x86.map
@@ -1304,7 +1304,12 @@
   global:
     __freading;
     __fwriting;
+    endhostent;
+    endnetent;
+    endprotoent;
     getentropy;
+    getnetent;
+    getprotoent;
     getrandom;
     getlogin_r;
     glob;
@@ -1318,6 +1323,31 @@
     iconv;
     iconv_close;
     iconv_open;
+    posix_spawn;
+    posix_spawnattr_destroy;
+    posix_spawnattr_getflags;
+    posix_spawnattr_getpgroup;
+    posix_spawnattr_getschedparam;
+    posix_spawnattr_getschedpolicy;
+    posix_spawnattr_getsigdefault;
+    posix_spawnattr_getsigmask;
+    posix_spawnattr_init;
+    posix_spawnattr_setflags;
+    posix_spawnattr_setpgroup;
+    posix_spawnattr_setschedparam;
+    posix_spawnattr_setschedpolicy;
+    posix_spawnattr_setsigdefault;
+    posix_spawnattr_setsigmask;
+    posix_spawn_file_actions_addclose;
+    posix_spawn_file_actions_adddup2;
+    posix_spawn_file_actions_addopen;
+    posix_spawn_file_actions_destroy;
+    posix_spawn_file_actions_init;
+    posix_spawnp;
+    pthread_setschedprio;
+    sethostent;
+    setnetent;
+    setprotoent;
     syncfs;
 } LIBC_O;
 
diff --git a/libc/libc.x86_64.map b/libc/libc.x86_64.map
index 9d8c1b7..29c5235 100644
--- a/libc/libc.x86_64.map
+++ b/libc/libc.x86_64.map
@@ -1242,7 +1242,12 @@
   global:
     __freading;
     __fwriting;
+    endhostent;
+    endnetent;
+    endprotoent;
     getentropy;
+    getnetent;
+    getprotoent;
     getrandom;
     getlogin_r;
     glob;
@@ -1256,6 +1261,31 @@
     iconv;
     iconv_close;
     iconv_open;
+    posix_spawn;
+    posix_spawnattr_destroy;
+    posix_spawnattr_getflags;
+    posix_spawnattr_getpgroup;
+    posix_spawnattr_getschedparam;
+    posix_spawnattr_getschedpolicy;
+    posix_spawnattr_getsigdefault;
+    posix_spawnattr_getsigmask;
+    posix_spawnattr_init;
+    posix_spawnattr_setflags;
+    posix_spawnattr_setpgroup;
+    posix_spawnattr_setschedparam;
+    posix_spawnattr_setschedpolicy;
+    posix_spawnattr_setsigdefault;
+    posix_spawnattr_setsigmask;
+    posix_spawn_file_actions_addclose;
+    posix_spawn_file_actions_adddup2;
+    posix_spawn_file_actions_addopen;
+    posix_spawn_file_actions_destroy;
+    posix_spawn_file_actions_init;
+    posix_spawnp;
+    pthread_setschedprio;
+    sethostent;
+    setnetent;
+    setprotoent;
     syncfs;
 } LIBC_O;
 
diff --git a/libc/private/CachedProperty.h b/libc/private/CachedProperty.h
index 417a855..84ead01 100644
--- a/libc/private/CachedProperty.h
+++ b/libc/private/CachedProperty.h
@@ -42,7 +42,9 @@
     : property_name_(property_name),
       prop_info_(nullptr),
       cached_area_serial_(0),
-      cached_property_serial_(0) {
+      cached_property_serial_(0),
+      is_read_only_(strncmp(property_name, "ro.", 3) == 0),
+      read_only_property_(nullptr) {
     cached_value_[0] = '\0';
   }
 
@@ -76,7 +78,9 @@
         __system_property_read_callback(prop_info_, &CachedProperty::Callback, this);
       }
     }
-
+    if (is_read_only_ && read_only_property_ != nullptr) {
+      return read_only_property_;
+    }
     return cached_value_;
   }
 
@@ -86,10 +90,18 @@
   uint32_t cached_area_serial_;
   uint32_t cached_property_serial_;
   char cached_value_[PROP_VALUE_MAX];
+  bool is_read_only_;
+  const char* read_only_property_;
 
   static void Callback(void* data, const char*, const char* value, uint32_t serial) {
     CachedProperty* instance = reinterpret_cast<CachedProperty*>(data);
     instance->cached_property_serial_ = serial;
-    strcpy(instance->cached_value_, value);
+    // Read only properties can be larger than PROP_VALUE_MAX, but also never change value or
+    // location, thus we return the pointer from the shared memory directly.
+    if (instance->is_read_only_) {
+      instance->read_only_property_ = value;
+    } else {
+      strlcpy(instance->cached_value_, value, PROP_VALUE_MAX);
+    }
   }
 };
diff --git a/libc/private/ScopedSignalBlocker.h b/libc/private/ScopedSignalBlocker.h
new file mode 100644
index 0000000..35d1c58
--- /dev/null
+++ b/libc/private/ScopedSignalBlocker.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SCOPED_SIGNAL_BLOCKER_H
+#define SCOPED_SIGNAL_BLOCKER_H
+
+#include <signal.h>
+
+#include "bionic_macros.h"
+
+class ScopedSignalBlocker {
+ public:
+  explicit ScopedSignalBlocker() {
+    sigset_t set;
+    sigfillset(&set);
+    sigprocmask(SIG_BLOCK, &set, &old_set_);
+  }
+
+  ~ScopedSignalBlocker() {
+    reset();
+  }
+
+  void reset() {
+    sigprocmask(SIG_SETMASK, &old_set_, nullptr);
+  }
+
+ private:
+  sigset_t old_set_;
+
+  DISALLOW_COPY_AND_ASSIGN(ScopedSignalBlocker);
+};
+
+#endif
diff --git a/libc/private/bionic_asm.h b/libc/private/bionic_asm.h
index c1fab1f..92f38aa 100644
--- a/libc/private/bionic_asm.h
+++ b/libc/private/bionic_asm.h
@@ -36,7 +36,17 @@
 #define __bionic_asm_custom_end(f)
 #define __bionic_asm_function_type @function
 
-#include <machine/asm.h>
+#if defined(__aarch64__)
+#include <private/bionic_asm_arm64.h>
+#elif defined(__arm__)
+#include <private/bionic_asm_arm.h>
+#elif defined(__i386__)
+#include <private/bionic_asm_x86.h>
+#elif defined(__mips__)
+#include <private/bionic_asm_mips.h>
+#elif defined(__x86_64__)
+#include <private/bionic_asm_x86_64.h>
+#endif
 
 #define ENTRY_NO_DWARF(f) \
     .text; \
@@ -72,4 +82,4 @@
     .globl alias; \
     .equ alias, original
 
-#endif /* _PRIVATE_BIONIC_ASM_H_ */
+#endif
diff --git a/libc/arch-arm/include/machine/asm.h b/libc/private/bionic_asm_arm.h
similarity index 95%
rename from libc/arch-arm/include/machine/asm.h
rename to libc/private/bionic_asm_arm.h
index 70dbe67..d8381d3 100644
--- a/libc/arch-arm/include/machine/asm.h
+++ b/libc/private/bionic_asm_arm.h
@@ -35,8 +35,7 @@
  *	from: @(#)asm.h	5.5 (Berkeley) 5/7/91
  */
 
-#ifndef _ARM32_ASM_H_
-#define _ARM32_ASM_H_
+#pragma once
 
 #define __bionic_asm_align 0
 
@@ -47,5 +46,3 @@
 
 #undef __bionic_asm_function_type
 #define __bionic_asm_function_type #function
-
-#endif /* !_ARM_ASM_H_ */
diff --git a/libc/arch-arm64/include/machine/asm.h b/libc/private/bionic_asm_arm64.h
similarity index 95%
rename from libc/arch-arm64/include/machine/asm.h
rename to libc/private/bionic_asm_arm64.h
index 2bea043..43ecaf3 100644
--- a/libc/arch-arm64/include/machine/asm.h
+++ b/libc/private/bionic_asm_arm64.h
@@ -35,12 +35,9 @@
  *	from: @(#)asm.h	5.5 (Berkeley) 5/7/91
  */
 
-#ifndef _AARCH64_ASM_H_
-#define _AARCH64_ASM_H_
+#pragma once
 
 #define __bionic_asm_align 0
 
 #undef __bionic_asm_function_type
 #define __bionic_asm_function_type %function
-
-#endif /* _AARCH64_ASM_H_ */
diff --git a/libc/arch-mips/include/machine/asm.h b/libc/private/bionic_asm_mips.h
similarity index 95%
rename from libc/arch-mips/include/machine/asm.h
rename to libc/private/bionic_asm_mips.h
index dc83088..99dcfb1 100644
--- a/libc/arch-mips/include/machine/asm.h
+++ b/libc/private/bionic_asm_mips.h
@@ -25,8 +25,8 @@
  * SUCH DAMAGE.
  *
  */
-#ifndef _MIPS64_ASM_H
-#define _MIPS64_ASM_H
+
+#pragma once
 
 #define __bionic_asm_align 16
 
@@ -35,8 +35,6 @@
 #define __bionic_asm_custom_entry(f) .ent f
 #define __bionic_asm_custom_end(f) .end f
 
-#include <machine/regdef.h>
-
 #define	_MIPS_ISA_MIPS1	1	/* R2000/R3000 */
 #define	_MIPS_ISA_MIPS2	2	/* R4000/R6000 */
 #define	_MIPS_ISA_MIPS3	3	/* R4000 */
@@ -75,7 +73,7 @@
 
 #define	SETUP_GP		\
 	.set	noreorder;	\
-	.cpload	t9;		\
+	.cpload	$t9;		\
 	.set	reorder;
 
 #define	SAVE_GP(x)		\
@@ -91,7 +89,7 @@
 #define	SETUP_GP
 #define	SAVE_GP(x)
 #define	SETUP_GP64(gpoff, name)	\
-	.cpsetup t9, gpoff, name
+	.cpsetup $t9, gpoff, name
 #define	RESTORE_GP64		\
 	.cpreturn
 #endif
@@ -171,7 +169,7 @@
 	.ent x, 0;		\
 x: ;				\
 	.cfi_startproc; \
-	.frame sp, fsize, ra;	\
+	.frame $sp, fsize, $ra;	\
 	SETUP_GP		\
 
 /*
@@ -185,7 +183,5 @@
 	.ent x, 0;		\
 x: ;				\
 	.cfi_startproc; \
-	.frame sp, fsize, retpc; \
+	.frame $sp, fsize, retpc; \
 	SETUP_GP		\
-
-#endif /* !_MIPS_ASM_H */
diff --git a/libc/arch-x86/include/machine/asm.h b/libc/private/bionic_asm_x86.h
similarity index 95%
rename from libc/arch-x86/include/machine/asm.h
rename to libc/private/bionic_asm_x86.h
index 943f9dd..fcec40b 100644
--- a/libc/arch-x86/include/machine/asm.h
+++ b/libc/private/bionic_asm_x86.h
@@ -34,8 +34,7 @@
  *	@(#)asm.h	5.5 (Berkeley) 5/7/91
  */
 
-#ifndef _I386_ASM_H_
-#define _I386_ASM_H_
+#pragma once
 
 #define PIC_PROLOGUE	\
 	pushl	%ebx;	\
@@ -50,5 +49,3 @@
 #define PIC_GOTOFF(x)	x@GOTOFF(%ebx)
 
 #define __bionic_asm_align 16
-
-#endif /* !_I386_ASM_H_ */
diff --git a/libc/arch-x86_64/include/machine/asm.h b/libc/private/bionic_asm_x86_64.h
similarity index 95%
rename from libc/arch-x86_64/include/machine/asm.h
rename to libc/private/bionic_asm_x86_64.h
index 28cd08f..c553b0c 100644
--- a/libc/arch-x86_64/include/machine/asm.h
+++ b/libc/private/bionic_asm_x86_64.h
@@ -34,12 +34,9 @@
  *	@(#)asm.h	5.5 (Berkeley) 5/7/91
  */
 
-#ifndef _AMD64_ASM_H_
-#define _AMD64_ASM_H_
+#pragma once
 
 #define PIC_PLT(x)	x@PLT
 #define PIC_GOT(x)	x@GOTPCREL(%rip)
 
 #define __bionic_asm_align 16
-
-#endif /* !_AMD64_ASM_H_ */
diff --git a/libc/private/bionic_macros.h b/libc/private/bionic_macros.h
index c0df917..a3a3ece 100644
--- a/libc/private/bionic_macros.h
+++ b/libc/private/bionic_macros.h
@@ -74,6 +74,8 @@
 #define BIONIC_STOP_UNWIND asm volatile(".cfi_undefined \%eip")
 #elif defined(__x86_64__)
 #define BIONIC_STOP_UNWIND asm volatile(".cfi_undefined \%rip")
+#elif defined (__mips__)
+#define BIONIC_STOP_UNWIND asm volatile(".cfi_undefined $ra")
 #endif
 
 #endif // _BIONIC_MACROS_H_
diff --git a/libc/tools/check-symbols-glibc.py b/libc/tools/check-symbols-glibc.py
index 9aba2e2..7657925 100755
--- a/libc/tools/check-symbols-glibc.py
+++ b/libc/tools/check-symbols-glibc.py
@@ -188,6 +188,7 @@
 in_posix_and_glibc_but_dead_or_useless = set([
   'a64l', # obsolete
   'confstr', # obsolete
+  'endutxent', # no utmp on Android
   'fattach', # obsolete
   'fdetach', # obsolete
   'gethostid', # obsolete
@@ -208,6 +209,8 @@
   'mq_timedreceive', # disallowed by SELinux
   'mq_timedsend', # disallowed by SELinux
   'mq_unlink', # disallowed by SELinux
+  'pthread_getconcurrency', # marked obsolescent
+  'pthread_setconcurrency', # marked obsolescent
   'putmsg', # obsolete
   'putpmsg', # obsolete
   'pututxline', # no utmp on Android
diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py
index 46affb7..2fa4e0f 100755
--- a/libc/tools/gensyscalls.py
+++ b/libc/tools/gensyscalls.py
@@ -118,16 +118,16 @@
 
 mips_call = syscall_stub_header + """\
     .set noreorder
-    .cpload t9
-    li v0, %(__NR_name)s
+    .cpload $t9
+    li $v0, %(__NR_name)s
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    la t9,__set_errno_internal
-    j t9
+    la $t9,__set_errno_internal
+    j $t9
     nop
     .set reorder
 END(%(func)s)
@@ -141,22 +141,22 @@
 mips64_call = syscall_stub_header + """\
     .set push
     .set noreorder
-    li v0, %(__NR_name)s
+    li $v0, %(__NR_name)s
     syscall
-    bnez a3, 1f
-    move a0, v0
-    j ra
+    bnez $a3, 1f
+    move $a0, $v0
+    j $ra
     nop
 1:
-    move t0, ra
-    bal     2f
+    move $t0, $ra
+    bal 2f
     nop
 2:
-    .cpsetup ra, t1, 2b
-    LA t9,__set_errno_internal
+    .cpsetup $ra, $t1, 2b
+    LA $t9, __set_errno_internal
     .cpreturn
-    j t9
-    move ra, t0
+    j $t9
+    move $ra, $t0
     .set pop
 END(%(func)s)
 """
diff --git a/libc/versioner-dependencies/arm/arch-arm b/libc/versioner-dependencies/arm/arch-arm
deleted file mode 120000
index cc94225..0000000
--- a/libc/versioner-dependencies/arm/arch-arm
+++ /dev/null
@@ -1 +0,0 @@
-../../arch-arm/include/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/arm64/arch-arm64 b/libc/versioner-dependencies/arm64/arch-arm64
deleted file mode 120000
index 2d9128a..0000000
--- a/libc/versioner-dependencies/arm64/arch-arm64
+++ /dev/null
@@ -1 +0,0 @@
-../../arch-arm64/include/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/mips/arch-mips b/libc/versioner-dependencies/mips/arch-mips
deleted file mode 120000
index 56ed021..0000000
--- a/libc/versioner-dependencies/mips/arch-mips
+++ /dev/null
@@ -1 +0,0 @@
-../../arch-mips/include/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/mips64/arch-mips64 b/libc/versioner-dependencies/mips64/arch-mips64
deleted file mode 120000
index 4893b57..0000000
--- a/libc/versioner-dependencies/mips64/arch-mips64
+++ /dev/null
@@ -1 +0,0 @@
-../../arch-mips64/include/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/x86/arch-x86 b/libc/versioner-dependencies/x86/arch-x86
deleted file mode 120000
index 6426384..0000000
--- a/libc/versioner-dependencies/x86/arch-x86
+++ /dev/null
@@ -1 +0,0 @@
-../../arch-x86/include/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/x86_64/arch-x86_64 b/libc/versioner-dependencies/x86_64/arch-x86_64
deleted file mode 120000
index 684d74e..0000000
--- a/libc/versioner-dependencies/x86_64/arch-x86_64
+++ /dev/null
@@ -1 +0,0 @@
-../../arch-x86_64/include/
\ No newline at end of file
diff --git a/libdl/Android.bp b/libdl/Android.bp
index b0bbe99..44daaec 100644
--- a/libdl/Android.bp
+++ b/libdl/Android.bp
@@ -4,7 +4,7 @@
 cc_library_static {
     name: "libdl_static",
 
-    srcs: ["libdl.c", "libdl_cfi.cpp"],
+    srcs: ["libdl.cpp", "libdl_cfi.cpp"],
 
     cflags: [
         "-Wall",
diff --git a/libdl/libdl.c b/libdl/libdl.cpp
similarity index 98%
rename from libdl/libdl.c
rename to libdl/libdl.cpp
index b747c22..97cdeb4 100644
--- a/libdl/libdl.c
+++ b/libdl/libdl.cpp
@@ -23,11 +23,13 @@
 // These functions are exported by the loader
 // TODO(dimitry): replace these with reference to libc.so
 
+extern "C" {
+
 __attribute__((__weak__, visibility("default")))
 void* __loader_dlopen(const char* filename, int flags, const void* caller_addr);
 
 __attribute__((__weak__, visibility("default")))
-void* __loader_dlerror();
+char* __loader_dlerror();
 
 __attribute__((__weak__, visibility("default")))
 void* __loader_dlsym(void* handle, const char* symbol, const void* caller_addr);
@@ -212,3 +214,5 @@
 struct android_namespace_t* android_get_exported_namespace(const char* name) {
   return __loader_android_get_exported_namespace(name);
 }
+
+} // extern "C"
diff --git a/linker/arch/arm/begin.S b/linker/arch/arm/begin.S
index 480047a..80d9fe1 100644
--- a/linker/arch/arm/begin.S
+++ b/linker/arch/arm/begin.S
@@ -29,6 +29,9 @@
 #include <private/bionic_asm.h>
 
 ENTRY(_start)
+  // Force unwinds to end in this function.
+  .cfi_undefined r14
+
   mov r0, sp
   bl __linker_init
 
diff --git a/linker/arch/arm64/begin.S b/linker/arch/arm64/begin.S
index a6ea583..a947475 100644
--- a/linker/arch/arm64/begin.S
+++ b/linker/arch/arm64/begin.S
@@ -29,6 +29,9 @@
 #include <private/bionic_asm.h>
 
 ENTRY(_start)
+  // Force unwinds to end in this function.
+  .cfi_undefined x30
+
   mov x0, sp
   bl __linker_init
 
diff --git a/linker/arch/mips64/begin.S b/linker/arch/mips64/begin.S
index b9637e7..60169b4 100644
--- a/linker/arch/mips64/begin.S
+++ b/linker/arch/mips64/begin.S
@@ -54,38 +54,38 @@
      nop
 1:
 #if (_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32)
-    .cpload	ra
+    .cpload	$ra
 #else
-    .cpsetup	ra, $0, 1b
+    .cpsetup	$ra, $0, 1b
 #endif
     .set	reorder
 
     /* Discover the load address */
-    LA		t0, 1b
-    PTR_SUBU	t0, ra, t0
+    LA		$t0, 1b
+    PTR_SUBU	$t0, $ra, $t0
 
 #define DT_PLTGOT 3
 #define DT_MIPS_LOCAL_GOTNO 0x7000000a
 
     /* Search dynamic table for DT_MIPS_LOCAL_GOTNO and DT_PLTGOT values */
-    LA		t1, _DYNAMIC
-    PTR_ADDU	t1, t0
-    LI		t3, DT_PLTGOT
-    LI		ta0, DT_MIPS_LOCAL_GOTNO
+    LA		$t1, _DYNAMIC
+    PTR_ADDU	$t1, $t0
+    LI		$t3, DT_PLTGOT
+    LI		$ta0, DT_MIPS_LOCAL_GOTNO
 0:
-    REG_L	t2, ELF_DYN_TAG(t1)
-    beqz	t2, .Lrelocate_local_got
+    REG_L	$t2, ELF_DYN_TAG($t1)
+    beqz	$t2, .Lrelocate_local_got
 
-    bne		t2, t3, 1f	/* DT_PLTGOT? */
-    REG_L	s0, ELF_DYN_VAL(t1)
-    PTR_ADDU	s0, t0
+    bne		$t2, $t3, 1f	/* DT_PLTGOT? */
+    REG_L	$s0, ELF_DYN_VAL($t1)
+    PTR_ADDU	$s0, $t0
     b		2f
 
 1:
-    bne		t2, ta0, 2f    /* DT_MIPS_LOCAL_GOTNO? */
-    REG_L	s1, ELF_DYN_VAL(t1)
+    bne		$t2, $ta0, 2f    /* DT_MIPS_LOCAL_GOTNO? */
+    REG_L	$s1, ELF_DYN_VAL($t1)
 
-2:  PTR_ADDU    t1, ELF_DYNSZ
+2:  PTR_ADDU    $t1, ELF_DYNSZ
     b		0b
 
 .Lrelocate_local_got:
@@ -95,30 +95,30 @@
      * got[1] may be used for a GNU extension
      */
 
-    PTR_ADDU	s0, GOTENT_SZ
-    SUBU	s1, 1
-    PTR_L	t1, (s0)
-    bgez	t1, 9f
-    PTR_ADDU	s0, GOTENT_SZ
-    SUBU	s1, 1
+    PTR_ADDU	$s0, GOTENT_SZ
+    SUBU	$s1, 1
+    PTR_L	$t1, ($s0)
+    bgez	$t1, 9f
+    PTR_ADDU	$s0, GOTENT_SZ
+    SUBU	$s1, 1
     b		9f
 
-1:  PTR_L	t1, (s0)
-    PTR_ADDU	t1, t0
-    PTR_S	t1, (s0)
-    PTR_ADDU	s0, GOTENT_SZ
-9:  SUBU	s1, 1
-    bgez	s1, 1b
+1:  PTR_L	$t1, ($s0)
+    PTR_ADDU	$t1, $t0
+    PTR_S	$t1, ($s0)
+    PTR_ADDU	$s0, GOTENT_SZ
+9:  SUBU	$s1, 1
+    bgez	$s1, 1b
 
     /* call linker_init */
-    move	a0, sp
+    move	$a0, $sp
 #if (_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32)
-    PTR_SUBU	sp, 4*REGSZ       /* space for arg saves in linker_init */
+    PTR_SUBU	$sp, 4*REGSZ       /* space for arg saves in linker_init */
 #endif
     jal		__linker_init
 #if (_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32)
-    PTR_ADDU	sp, 4*REGSZ        /* restore sp */
+    PTR_ADDU	$sp, 4*REGSZ        /* restore sp */
 #endif
-    move	t9, v0
-    j		t9
+    move	$t9, $v0
+    j		$t9
     .end    __start
diff --git a/linker/arch/x86/begin.c b/linker/arch/x86/begin.c
index a734f25..331b79e 100644
--- a/linker/arch/x86/begin.c
+++ b/linker/arch/x86/begin.c
@@ -32,6 +32,9 @@
 extern unsigned __linker_init(void* raw_args);
 
 __LIBC_HIDDEN__ void _start() {
+  // Force unwinds to end in this function.
+  asm volatile(".cfi_undefined \%eip");
+
   void (*start)(void);
 
   void* raw_args = (void*) ((uintptr_t) __builtin_frame_address(0) + sizeof(void*));
diff --git a/linker/arch/x86_64/begin.S b/linker/arch/x86_64/begin.S
index 7945a31..4722301 100644
--- a/linker/arch/x86_64/begin.S
+++ b/linker/arch/x86_64/begin.S
@@ -29,6 +29,9 @@
 #include <private/bionic_asm.h>
 
 ENTRY(_start)
+  // Force unwinds to end in this function.
+  .cfi_undefined %rip
+
   mov %rsp, %rdi
   call __linker_init
 
diff --git a/linker/linker_mips.cpp b/linker/linker_mips.cpp
index cd392dc..71a96e6 100644
--- a/linker/linker_mips.cpp
+++ b/linker/linker_mips.cpp
@@ -142,13 +142,12 @@
 
   // got[0] is the address of the lazy resolver function.
   // got[1] may be used for a GNU extension.
-  // Set it to a recognizable address in case someone calls it (should be _rtld_bind_start).
   // FIXME: maybe this should be in a separate routine?
   if ((flags_ & FLAG_LINKER) == 0) {
-    size_t g = 0;
-    got[g++] = reinterpret_cast<ElfW(Addr)*>(0xdeadbeef);
+    size_t g = 1;
+    // Check for the high bit to determine whether to skip got[1]
     if (reinterpret_cast<intptr_t>(got[g]) < 0) {
-      got[g++] = reinterpret_cast<ElfW(Addr)*>(0xdeadfeed);
+      g++;
     }
     // Relocate the local GOT entries.
     for (; g < mips_local_gotno_; g++) {
@@ -231,6 +230,7 @@
 #define MIPS_AFL_FLAGS1_ODDSPREG 1  // Uses odd-numbered single-prec fp regs
 
 // Some values of fp_abi:        via compiler flag:
+#define MIPS_ABI_FP_ANY    0  // Not tagged or not using any ABIs affected by the differences.
 #define MIPS_ABI_FP_DOUBLE 1  // -mdouble-float
 #define MIPS_ABI_FP_XX     5  // -mfpxx
 #define MIPS_ABI_FP_64A    7  // -mips32r* -mfp64 -mno-odd-spreg
@@ -277,6 +277,7 @@
 #if __mips_isa_rev >= 5
         mips_fpabi == MIPS_ABI_FP_64A    ||
 #endif
+        mips_fpabi == MIPS_ABI_FP_ANY    ||
         mips_fpabi == MIPS_ABI_FP_XX       )) {
     DL_ERR("Unsupported MIPS32 FloatPt ABI %d found in \"%s\"",
            mips_fpabi, get_realpath());
diff --git a/tests/Android.bp b/tests/Android.bp
index fb8b886..7094d77 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -105,6 +105,7 @@
         "semaphore_test.cpp",
         "setjmp_test.cpp",
         "signal_test.cpp",
+        "spawn_test.cpp",
         "stack_protector_test.cpp",
         "stack_protector_test_helper.cpp",
         "stack_unwinding_test.cpp",
diff --git a/tests/BionicDeathTest.h b/tests/BionicDeathTest.h
index 31d2d6e..3e8d7b2 100644
--- a/tests/BionicDeathTest.h
+++ b/tests/BionicDeathTest.h
@@ -17,25 +17,29 @@
 #ifndef BIONIC_TESTS_BIONIC_DEATH_TEST_H_
 #define BIONIC_TESTS_BIONIC_DEATH_TEST_H_
 
-#include <gtest/gtest.h>
+#include <signal.h>
 
-#include <sys/prctl.h>
+#include <gtest/gtest.h>
 
 class BionicDeathTest : public testing::Test {
  protected:
   virtual void SetUp() {
     // Suppress debuggerd stack traces. Too slow.
-    old_dumpable_ = prctl(PR_GET_DUMPABLE, 0, 0, 0, 0);
-    prctl(PR_SET_DUMPABLE, 0, 0, 0, 0);
-    ::testing::FLAGS_gtest_death_test_style = "threadsafe";
+    for (int signo : { SIGABRT, SIGBUS, SIGSEGV, SIGSYS }) {
+      struct sigaction action = {};
+      action.sa_handler = SIG_DFL;
+      sigaction(signo, &action, &previous_);
+    }
   }
 
   virtual void TearDown() {
-    prctl(PR_SET_DUMPABLE, old_dumpable_, 0, 0, 0, 0);
+    for (int signo : { SIGABRT, SIGBUS, SIGSEGV, SIGSYS }) {
+      sigaction(signo, &previous_, nullptr);
+    }
   }
 
  private:
-  int old_dumpable_;
+  struct sigaction previous_;
 };
 
 #endif // BIONIC_TESTS_BIONIC_DEATH_TEST_H_
diff --git a/tests/dlext_test.cpp b/tests/dlext_test.cpp
index 0dc54d0..7028ca7 100644
--- a/tests/dlext_test.cpp
+++ b/tests/dlext_test.cpp
@@ -1635,6 +1635,7 @@
 
   uintptr_t addr_start = 0;
   uintptr_t addr_end = 0;
+  bool has_executable_segment = false;
   std::vector<map_record> maps_to_copy;
 
   for (const auto& rec : maps) {
@@ -1643,6 +1644,7 @@
         addr_start = rec.addr_start;
       }
       addr_end = rec.addr_end;
+      has_executable_segment = has_executable_segment || (rec.perms & PROT_EXEC) != 0;
 
       maps_to_copy.push_back(rec);
     }
@@ -1655,6 +1657,16 @@
   ASSERT_TRUE(ns_get_dlopened_string_addr > addr_start);
   ASSERT_TRUE(ns_get_dlopened_string_addr < addr_end);
 
+  if (!has_executable_segment) {
+    // For some natively bridged environments this code might be missing
+    // the executable flag. This is because the guest code is not supposed
+    // to be executed directly and making it non-executable is more secure.
+    // If this is the case we assume that the first segment is the one that
+    // has this flag.
+    ASSERT_TRUE((maps_to_copy[0].perms & PROT_WRITE) == 0);
+    maps_to_copy[0].perms |= PROT_EXEC;
+  }
+
   // copy
   uintptr_t reserved_addr = reinterpret_cast<uintptr_t>(mmap(nullptr, addr_end - addr_start,
                                                              PROT_NONE, MAP_ANON | MAP_PRIVATE,
diff --git a/tests/limits_test.cpp b/tests/limits_test.cpp
index 1d48ffe..ed42dbb 100644
--- a/tests/limits_test.cpp
+++ b/tests/limits_test.cpp
@@ -19,9 +19,9 @@
 #include <limits.h>
 
 TEST(limits, macros) {
-#if CHAR_BIT != 8
-#error Insane CHAR_BIT
-#endif
+  ASSERT_EQ(8, CHAR_BIT);
+  ASSERT_EQ(static_cast<int>(sizeof(int)), WORD_BIT);
+  ASSERT_EQ(20, NZERO);
 #if !defined(MB_LEN_MAX)
 #error MB_LEN_MAX
 #endif
diff --git a/tests/netdb_test.cpp b/tests/netdb_test.cpp
index a35f703..e699701 100644
--- a/tests/netdb_test.cpp
+++ b/tests/netdb_test.cpp
@@ -298,24 +298,152 @@
 
 TEST(netdb, getservbyname) {
   // smtp is TCP-only, so we know we'll get 25/tcp back.
-  servent* s = getservbyname("smtp", NULL);
-  ASSERT_TRUE(s != NULL);
+  servent* s = getservbyname("smtp", nullptr);
+  ASSERT_TRUE(s != nullptr);
+  ASSERT_STREQ("smtp", s->s_name);
   ASSERT_EQ(25, ntohs(s->s_port));
   ASSERT_STREQ("tcp", s->s_proto);
 
   // We get the same result by explicitly asking for tcp.
   s = getservbyname("smtp", "tcp");
-  ASSERT_TRUE(s != NULL);
+  ASSERT_TRUE(s != nullptr);
+  ASSERT_STREQ("smtp", s->s_name);
   ASSERT_EQ(25, ntohs(s->s_port));
   ASSERT_STREQ("tcp", s->s_proto);
 
   // And we get a failure if we explicitly ask for udp.
   s = getservbyname("smtp", "udp");
-  ASSERT_TRUE(s == NULL);
+  ASSERT_TRUE(s == nullptr);
 
   // But there are actually udp services.
   s = getservbyname("echo", "udp");
-  ASSERT_TRUE(s != NULL);
+  ASSERT_TRUE(s != nullptr);
+  ASSERT_STREQ("echo", s->s_name);
   ASSERT_EQ(7, ntohs(s->s_port));
   ASSERT_STREQ("udp", s->s_proto);
 }
+
+TEST(netdb, getservbyport) {
+  // smtp is TCP-only, so we know we'll get 25/tcp back.
+  servent* s = getservbyport(htons(25), nullptr);
+  ASSERT_TRUE(s != nullptr);
+  ASSERT_STREQ("smtp", s->s_name);
+  ASSERT_EQ(25, ntohs(s->s_port));
+  ASSERT_STREQ("tcp", s->s_proto);
+
+  // We get the same result by explicitly asking for tcp.
+  s = getservbyport(htons(25), "tcp");
+  ASSERT_TRUE(s != nullptr);
+  ASSERT_STREQ("smtp", s->s_name);
+  ASSERT_EQ(25, ntohs(s->s_port));
+  ASSERT_STREQ("tcp", s->s_proto);
+
+  // And we get a failure if we explicitly ask for udp.
+  s = getservbyport(htons(25), "udp");
+  ASSERT_TRUE(s == nullptr);
+
+  // But there are actually udp services.
+  s = getservbyport(htons(7), "udp");
+  ASSERT_TRUE(s != nullptr);
+  ASSERT_STREQ("echo", s->s_name);
+  ASSERT_EQ(7, ntohs(s->s_port));
+  ASSERT_STREQ("udp", s->s_proto);
+}
+
+TEST(netdb, endnetent_getnetent_setnetent) {
+  setnetent(0);
+  setnetent(1);
+  endnetent();
+  while (getnetent() != nullptr) {
+  }
+}
+
+TEST(netdb, getnetbyaddr) {
+  getnetbyaddr(0, 0);
+}
+
+TEST(netdb, getnetbyname) {
+  getnetbyname("x");
+}
+
+TEST(netdb, endprotoent_getprotoent_setprotoent) {
+  setprotoent(0);
+  setprotoent(1);
+  endprotoent();
+  while (getprotoent() != nullptr) {
+  }
+}
+
+TEST(netdb, getprotobyname) {
+  getprotobyname("tcp");
+}
+
+TEST(netdb, getprotobynumber) {
+  getprotobynumber(6);
+}
+
+TEST(netdb, endservent_getservent_setservent) {
+  setservent(0);
+  setservent(1);
+  endservent();
+  size_t service_count = 0;
+  while (getservent() != nullptr) {
+    ++service_count;
+  }
+  ASSERT_GT(service_count, 0U);
+}
+
+TEST(netdb, getservbyname_getservent_conflicts) {
+  // Calling getservbyname shouldn't affect getservent's iteration order.
+  endservent();
+  while (getservent() != nullptr) {
+    ASSERT_TRUE(getservbyname("smtp", "tcp") != nullptr);
+  }
+}
+
+TEST(netdb, getservbyport_getservent_conflicts) {
+  // Calling getservbyport shouldn't affect getservent's iteration order.
+  endservent();
+  while (getservent() != nullptr) {
+    ASSERT_TRUE(getservbyport(htons(25), "tcp") != nullptr);
+  }
+}
+
+TEST(netdb, endservent_resets) {
+  endservent();
+  std::string first_service(getservent()->s_name);
+  endservent();
+  ASSERT_EQ(first_service, std::string(getservent()->s_name));
+}
+
+TEST(netdb, setservent_resets) {
+  endservent();
+  std::string first_service(getservent()->s_name);
+  setservent(0);
+  ASSERT_EQ(first_service, std::string(getservent()->s_name));
+}
+
+TEST(netdb, endhostent_gethostent_sethostent) {
+  sethostent(0);
+  sethostent(1);
+  endhostent();
+  size_t host_count = 0;
+  while (gethostent() != nullptr) {
+    ++host_count;
+  }
+  ASSERT_GT(host_count, 0U);
+}
+
+TEST(netdb, endhostent_resets) {
+  endhostent();
+  std::string first_host(gethostent()->h_name);
+  endhostent();
+  ASSERT_EQ(first_host, std::string(gethostent()->h_name));
+}
+
+TEST(netdb, sethostent_resets) {
+  endhostent();
+  std::string first_host(gethostent()->h_name);
+  sethostent(0);
+  ASSERT_EQ(first_host, std::string(gethostent()->h_name));
+}
diff --git a/tests/pthread_test.cpp b/tests/pthread_test.cpp
index f342577..85978bd 100755
--- a/tests/pthread_test.cpp
+++ b/tests/pthread_test.cpp
@@ -566,6 +566,18 @@
   EXPECT_EQ(ESRCH, pthread_setschedparam(null_thread, policy, &param));
 }
 
+TEST_F(pthread_DeathTest, pthread_setschedprio__no_such_thread) {
+  pthread_t dead_thread;
+  MakeDeadThread(dead_thread);
+
+  EXPECT_DEATH(pthread_setschedprio(dead_thread, 123), "invalid pthread_t");
+}
+
+TEST_F(pthread_DeathTest, pthread_setschedprio__null_thread) {
+  pthread_t null_thread = 0;
+  EXPECT_EQ(ESRCH, pthread_setschedprio(null_thread, 123));
+}
+
 TEST_F(pthread_DeathTest, pthread_join__no_such_thread) {
   pthread_t dead_thread;
   MakeDeadThread(dead_thread);
@@ -2147,3 +2159,12 @@
     ASSERT_EQ(0, munmap(pages[i], kPageSize));
   }
 }
+
+TEST(pthread, pthread_setschedparam) {
+  sched_param p = { .sched_priority = INT_MIN };
+  ASSERT_EQ(EINVAL, pthread_setschedparam(pthread_self(), INT_MIN, &p));
+}
+
+TEST(pthread, pthread_setschedprio) {
+  ASSERT_EQ(EINVAL, pthread_setschedprio(pthread_self(), INT_MIN));
+}
diff --git a/tests/spawn_test.cpp b/tests/spawn_test.cpp
new file mode 100644
index 0000000..6a3920e
--- /dev/null
+++ b/tests/spawn_test.cpp
@@ -0,0 +1,388 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <spawn.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <gtest/gtest.h>
+
+#include "utils.h"
+
+#include <android-base/file.h>
+#include <android-base/strings.h>
+
+// Old versions of glibc didn't have POSIX_SPAWN_SETSID.
+#if __GLIBC__
+# if !defined(POSIX_SPAWN_SETSID)
+#  define POSIX_SPAWN_SETSID 0
+# endif
+#endif
+
+TEST(spawn, posix_spawnattr_init_posix_spawnattr_destroy) {
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawnattr_setflags_EINVAL) {
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+  ASSERT_EQ(EINVAL, posix_spawnattr_setflags(&sa, ~0));
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawnattr_setflags_posix_spawnattr_getflags) {
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+
+  ASSERT_EQ(0, posix_spawnattr_setflags(&sa, POSIX_SPAWN_RESETIDS));
+  short flags;
+  ASSERT_EQ(0, posix_spawnattr_getflags(&sa, &flags));
+  ASSERT_EQ(POSIX_SPAWN_RESETIDS, flags);
+
+  constexpr short all_flags = POSIX_SPAWN_RESETIDS | POSIX_SPAWN_SETPGROUP | POSIX_SPAWN_SETSIGDEF |
+                              POSIX_SPAWN_SETSIGMASK | POSIX_SPAWN_SETSCHEDPARAM |
+                              POSIX_SPAWN_SETSCHEDULER | POSIX_SPAWN_USEVFORK | POSIX_SPAWN_SETSID;
+  ASSERT_EQ(0, posix_spawnattr_setflags(&sa, all_flags));
+  ASSERT_EQ(0, posix_spawnattr_getflags(&sa, &flags));
+  ASSERT_EQ(all_flags, flags);
+
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawnattr_setpgroup_posix_spawnattr_getpgroup) {
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+
+  ASSERT_EQ(0, posix_spawnattr_setpgroup(&sa, 123));
+  pid_t g;
+  ASSERT_EQ(0, posix_spawnattr_getpgroup(&sa, &g));
+  ASSERT_EQ(123, g);
+
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawnattr_setsigmask_posix_spawnattr_getsigmask) {
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+
+  sigset_t sigs;
+  ASSERT_EQ(0, posix_spawnattr_getsigmask(&sa, &sigs));
+  ASSERT_FALSE(sigismember(&sigs, SIGALRM));
+
+  sigset_t just_SIGALRM;
+  sigemptyset(&just_SIGALRM);
+  sigaddset(&just_SIGALRM, SIGALRM);
+  ASSERT_EQ(0, posix_spawnattr_setsigmask(&sa, &just_SIGALRM));
+
+  ASSERT_EQ(0, posix_spawnattr_getsigmask(&sa, &sigs));
+  ASSERT_TRUE(sigismember(&sigs, SIGALRM));
+
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawnattr_setsigdefault_posix_spawnattr_getsigdefault) {
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+
+  sigset_t sigs;
+  ASSERT_EQ(0, posix_spawnattr_getsigdefault(&sa, &sigs));
+  ASSERT_FALSE(sigismember(&sigs, SIGALRM));
+
+  sigset_t just_SIGALRM;
+  sigemptyset(&just_SIGALRM);
+  sigaddset(&just_SIGALRM, SIGALRM);
+  ASSERT_EQ(0, posix_spawnattr_setsigdefault(&sa, &just_SIGALRM));
+
+  ASSERT_EQ(0, posix_spawnattr_getsigdefault(&sa, &sigs));
+  ASSERT_TRUE(sigismember(&sigs, SIGALRM));
+
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawnattr_setsschedparam_posix_spawnattr_getsschedparam) {
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+
+  sched_param sp;
+  ASSERT_EQ(0, posix_spawnattr_getschedparam(&sa, &sp));
+  ASSERT_EQ(0, sp.sched_priority);
+
+  sched_param sp123 = { .sched_priority = 123 };
+  ASSERT_EQ(0, posix_spawnattr_setschedparam(&sa, &sp123));
+
+  ASSERT_EQ(0, posix_spawnattr_getschedparam(&sa, &sp));
+  ASSERT_EQ(123, sp.sched_priority);
+
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawnattr_setschedpolicy_posix_spawnattr_getschedpolicy) {
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+
+  int p;
+  ASSERT_EQ(0, posix_spawnattr_getschedpolicy(&sa, &p));
+  ASSERT_EQ(0, p);
+
+  ASSERT_EQ(0, posix_spawnattr_setschedpolicy(&sa, SCHED_FIFO));
+
+  ASSERT_EQ(0, posix_spawnattr_getschedpolicy(&sa, &p));
+  ASSERT_EQ(SCHED_FIFO, p);
+
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawn) {
+  ExecTestHelper eth;
+  eth.SetArgs({BIN_DIR "true", nullptr});
+  pid_t pid;
+  ASSERT_EQ(0, posix_spawn(&pid, eth.GetArg0(), nullptr, nullptr, eth.GetArgs(), nullptr));
+  AssertChildExited(pid, 0);
+}
+
+TEST(spawn, posix_spawn_not_found) {
+  ExecTestHelper eth;
+  eth.SetArgs({"true", nullptr});
+  pid_t pid;
+  ASSERT_EQ(0, posix_spawn(&pid, eth.GetArg0(), nullptr, nullptr, eth.GetArgs(), nullptr));
+  AssertChildExited(pid, 127);
+}
+
+TEST(spawn, posix_spawnp) {
+  ExecTestHelper eth;
+  eth.SetArgs({"true", nullptr});
+  pid_t pid;
+  ASSERT_EQ(0, posix_spawnp(&pid, eth.GetArg0(), nullptr, nullptr, eth.GetArgs(), nullptr));
+  AssertChildExited(pid, 0);
+}
+
+TEST(spawn, posix_spawnp_not_found) {
+  ExecTestHelper eth;
+  eth.SetArgs({"does-not-exist", nullptr});
+  pid_t pid;
+  ASSERT_EQ(0, posix_spawnp(&pid, eth.GetArg0(), nullptr, nullptr, eth.GetArgs(), nullptr));
+  AssertChildExited(pid, 127);
+}
+
+TEST(spawn, posix_spawn_environment) {
+  ExecTestHelper eth;
+  eth.SetArgs({"sh", "-c", "exit $posix_spawn_environment_test", nullptr});
+  eth.SetEnv({"posix_spawn_environment_test=66", nullptr});
+  pid_t pid;
+  ASSERT_EQ(0, posix_spawnp(&pid, eth.GetArg0(), nullptr, nullptr, eth.GetArgs(), eth.GetEnv()));
+  AssertChildExited(pid, 66);
+}
+
+TEST(spawn, posix_spawn_file_actions) {
+  int fds[2];
+  ASSERT_NE(-1, pipe(fds));
+
+  posix_spawn_file_actions_t fa;
+  ASSERT_EQ(0, posix_spawn_file_actions_init(&fa));
+
+  ASSERT_EQ(0, posix_spawn_file_actions_addclose(&fa, fds[0]));
+  ASSERT_EQ(0, posix_spawn_file_actions_adddup2(&fa, fds[1], 1));
+  ASSERT_EQ(0, posix_spawn_file_actions_addclose(&fa, fds[1]));
+  // Check that close(2) failures are ignored by closing the same fd again.
+  ASSERT_EQ(0, posix_spawn_file_actions_addclose(&fa, fds[1]));
+  ASSERT_EQ(0, posix_spawn_file_actions_addopen(&fa, 56, "/proc/version", O_RDONLY, 0));
+
+  ExecTestHelper eth;
+  eth.SetArgs({"ls", "-l", "/proc/self/fd", nullptr});
+  pid_t pid;
+  ASSERT_EQ(0, posix_spawnp(&pid, eth.GetArg0(), &fa, nullptr, eth.GetArgs(), eth.GetEnv()));
+  ASSERT_EQ(0, posix_spawn_file_actions_destroy(&fa));
+
+  ASSERT_EQ(0, close(fds[1]));
+  std::string content;
+  ASSERT_TRUE(android::base::ReadFdToString(fds[0], &content));
+  ASSERT_EQ(0, close(fds[0]));
+
+  AssertChildExited(pid, 0);
+
+  // We'll know the dup2 worked if we see any ls(1) output in our pipe.
+  // The open we can check manually...
+  bool open_to_fd_56_worked = false;
+  for (const auto& line : android::base::Split(content, "\n")) {
+    if (line.find(" 56 -> /proc/version") != std::string::npos) open_to_fd_56_worked = true;
+  }
+  ASSERT_TRUE(open_to_fd_56_worked);
+}
+
+static void CatFileToString(posix_spawnattr_t* sa, const char* path, std::string* content) {
+  int fds[2];
+  ASSERT_NE(-1, pipe(fds));
+
+  posix_spawn_file_actions_t fa;
+  ASSERT_EQ(0, posix_spawn_file_actions_init(&fa));
+  ASSERT_EQ(0, posix_spawn_file_actions_addclose(&fa, fds[0]));
+  ASSERT_EQ(0, posix_spawn_file_actions_adddup2(&fa, fds[1], 1));
+  ASSERT_EQ(0, posix_spawn_file_actions_addclose(&fa, fds[1]));
+
+  ExecTestHelper eth;
+  eth.SetArgs({"cat", path, nullptr});
+  pid_t pid;
+  ASSERT_EQ(0, posix_spawnp(&pid, eth.GetArg0(), &fa, sa, eth.GetArgs(), nullptr));
+  ASSERT_EQ(0, posix_spawn_file_actions_destroy(&fa));
+
+  ASSERT_EQ(0, close(fds[1]));
+  ASSERT_TRUE(android::base::ReadFdToString(fds[0], content));
+  ASSERT_EQ(0, close(fds[0]));
+  AssertChildExited(pid, 0);
+}
+
+struct ProcStat {
+  pid_t pid;
+  pid_t ppid;
+  pid_t pgrp;
+  pid_t sid;
+};
+
+static void GetChildStat(posix_spawnattr_t* sa, ProcStat* ps) {
+  std::string content;
+  CatFileToString(sa, "/proc/self/stat", &content);
+
+  ASSERT_EQ(4, sscanf(content.c_str(), "%d (cat) %*c %d %d %d", &ps->pid, &ps->ppid, &ps->pgrp,
+                      &ps->sid));
+
+  ASSERT_EQ(getpid(), ps->ppid);
+}
+
+struct ProcStatus {
+  uint64_t sigblk;
+  uint64_t sigign;
+};
+
+static void GetChildStatus(posix_spawnattr_t* sa, ProcStatus* ps) {
+  std::string content;
+  CatFileToString(sa, "/proc/self/status", &content);
+
+  bool saw_blk = false;
+  bool saw_ign = false;
+  for (const auto& line : android::base::Split(content, "\n")) {
+    if (sscanf(line.c_str(), "SigBlk: %" SCNx64, &ps->sigblk) == 1) saw_blk = true;
+    if (sscanf(line.c_str(), "SigIgn: %" SCNx64, &ps->sigign) == 1) saw_ign = true;
+  }
+  ASSERT_TRUE(saw_blk);
+  ASSERT_TRUE(saw_ign);
+}
+
+TEST(spawn, posix_spawn_POSIX_SPAWN_SETSID_clear) {
+  pid_t parent_sid = getsid(0);
+
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+  ASSERT_EQ(0, posix_spawnattr_setflags(&sa, 0));
+
+  ProcStat ps = {};
+  GetChildStat(&sa, &ps);
+  ASSERT_EQ(parent_sid, ps.sid);
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawn_POSIX_SPAWN_SETSID_set) {
+  pid_t parent_sid = getsid(0);
+
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+  ASSERT_EQ(0, posix_spawnattr_setflags(&sa, POSIX_SPAWN_SETSID));
+
+  ProcStat ps = {};
+  GetChildStat(&sa, &ps);
+  ASSERT_NE(parent_sid, ps.sid);
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawn_POSIX_SPAWN_SETPGROUP_clear) {
+  pid_t parent_pgrp = getpgrp();
+
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+  ASSERT_EQ(0, posix_spawnattr_setflags(&sa, 0));
+
+  ProcStat ps = {};
+  GetChildStat(&sa, &ps);
+  ASSERT_EQ(parent_pgrp, ps.pgrp);
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawn_POSIX_SPAWN_SETPGROUP_set) {
+  pid_t parent_pgrp = getpgrp();
+
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+  ASSERT_EQ(0, posix_spawnattr_setpgroup(&sa, 0));
+  ASSERT_EQ(0, posix_spawnattr_setflags(&sa, POSIX_SPAWN_SETPGROUP));
+
+  ProcStat ps = {};
+  GetChildStat(&sa, &ps);
+  ASSERT_NE(parent_pgrp, ps.pgrp);
+  // Setting pgid 0 means "the same as the caller's pid".
+  ASSERT_EQ(ps.pid, ps.pgrp);
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawn_POSIX_SPAWN_SETSIGMASK) {
+  // Block SIGBUS in the parent...
+  sigset_t just_SIGBUS;
+  sigemptyset(&just_SIGBUS);
+  sigaddset(&just_SIGBUS, SIGBUS);
+  ASSERT_EQ(0, sigprocmask(SIG_BLOCK, &just_SIGBUS, nullptr));
+
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+
+  // Ask for only SIGALRM to be blocked in the child...
+  sigset_t just_SIGALRM;
+  sigemptyset(&just_SIGALRM);
+  sigaddset(&just_SIGALRM, SIGALRM);
+  ASSERT_EQ(0, posix_spawnattr_setsigmask(&sa, &just_SIGALRM));
+  ASSERT_EQ(0, posix_spawnattr_setflags(&sa, POSIX_SPAWN_SETSIGMASK));
+
+  // Check that's what happens...
+  ProcStatus ps = {};
+  GetChildStatus(&sa, &ps);
+  EXPECT_EQ(static_cast<uint64_t>(1 << (SIGALRM - 1)), ps.sigblk);
+  EXPECT_EQ(static_cast<uint64_t>(0), ps.sigign);
+
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
+
+TEST(spawn, posix_spawn_POSIX_SPAWN_SETSIGDEF) {
+  // Ignore SIGALRM and SIGCONT in the parent...
+  ASSERT_NE(SIG_ERR, signal(SIGALRM, SIG_IGN));
+  ASSERT_NE(SIG_ERR, signal(SIGCONT, SIG_IGN));
+
+  posix_spawnattr_t sa;
+  ASSERT_EQ(0, posix_spawnattr_init(&sa));
+
+  // Ask for SIGALRM to be defaulted in the child...
+  sigset_t just_SIGALRM;
+  sigemptyset(&just_SIGALRM);
+  sigaddset(&just_SIGALRM, SIGALRM);
+  ASSERT_EQ(0, posix_spawnattr_setsigdefault(&sa, &just_SIGALRM));
+  ASSERT_EQ(0, posix_spawnattr_setflags(&sa, POSIX_SPAWN_SETSIGDEF));
+
+  // Check that's what happens...
+  ProcStatus ps = {};
+  GetChildStatus(&sa, &ps);
+  EXPECT_EQ(static_cast<uint64_t>(0), ps.sigblk);
+  EXPECT_EQ(static_cast<uint64_t>(1 << (SIGCONT - 1)), ps.sigign);
+
+  ASSERT_EQ(0, posix_spawnattr_destroy(&sa));
+}
diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp
index 9203215..81c6d92 100644
--- a/tests/unistd_test.cpp
+++ b/tests/unistd_test.cpp
@@ -686,103 +686,131 @@
   ASSERT_TRUE(rc > 0 && powerof2(rc));
 }
 
-
-TEST(UNISTD_TEST, _POSIX_macros_smoke) {
+TEST(UNISTD_TEST, _POSIX_constants) {
   // Make a tight verification of _POSIX_* / _POSIX2_* / _XOPEN_* macros, to prevent change by mistake.
   // Verify according to POSIX.1-2008.
   EXPECT_EQ(200809L, _POSIX_VERSION);
 
+  EXPECT_EQ(2, _POSIX_AIO_LISTIO_MAX);
+  EXPECT_EQ(1, _POSIX_AIO_MAX);
+  EXPECT_EQ(4096, _POSIX_ARG_MAX);
+  EXPECT_EQ(25, _POSIX_CHILD_MAX);
+  EXPECT_EQ(20000000, _POSIX_CLOCKRES_MIN);
+  EXPECT_EQ(32, _POSIX_DELAYTIMER_MAX);
+  EXPECT_EQ(255, _POSIX_HOST_NAME_MAX);
+  EXPECT_EQ(8, _POSIX_LINK_MAX);
+  EXPECT_EQ(9, _POSIX_LOGIN_NAME_MAX);
+  EXPECT_EQ(255, _POSIX_MAX_CANON);
+  EXPECT_EQ(255, _POSIX_MAX_INPUT);
+  EXPECT_EQ(8, _POSIX_MQ_OPEN_MAX);
+  EXPECT_EQ(32, _POSIX_MQ_PRIO_MAX);
+  EXPECT_EQ(14, _POSIX_NAME_MAX);
+  EXPECT_EQ(8, _POSIX_NGROUPS_MAX);
+  EXPECT_EQ(20, _POSIX_OPEN_MAX);
+  EXPECT_EQ(256, _POSIX_PATH_MAX);
+  EXPECT_EQ(512, _POSIX_PIPE_BUF);
+  EXPECT_EQ(255, _POSIX_RE_DUP_MAX);
+  EXPECT_EQ(8, _POSIX_RTSIG_MAX);
+  EXPECT_EQ(256, _POSIX_SEM_NSEMS_MAX);
+  EXPECT_EQ(32767, _POSIX_SEM_VALUE_MAX);
+  EXPECT_EQ(32, _POSIX_SIGQUEUE_MAX);
+  EXPECT_EQ(32767, _POSIX_SSIZE_MAX);
+  EXPECT_EQ(8, _POSIX_STREAM_MAX);
+#if !defined(__GLIBC__)
+  EXPECT_EQ(4, _POSIX_SS_REPL_MAX);
+#endif
+  EXPECT_EQ(255, _POSIX_SYMLINK_MAX);
+  EXPECT_EQ(8, _POSIX_SYMLOOP_MAX);
+  EXPECT_EQ(4, _POSIX_THREAD_DESTRUCTOR_ITERATIONS);
+  EXPECT_EQ(128, _POSIX_THREAD_KEYS_MAX);
+  EXPECT_EQ(64, _POSIX_THREAD_THREADS_MAX);
+  EXPECT_EQ(32, _POSIX_TIMER_MAX);
+#if !defined(__GLIBC__)
+  EXPECT_EQ(30, _POSIX_TRACE_EVENT_NAME_MAX);
+  EXPECT_EQ(8, _POSIX_TRACE_NAME_MAX);
+  EXPECT_EQ(8, _POSIX_TRACE_SYS_MAX);
+  EXPECT_EQ(32, _POSIX_TRACE_USER_EVENT_MAX);
+#endif
+  EXPECT_EQ(9, _POSIX_TTY_NAME_MAX);
+  EXPECT_EQ(6, _POSIX_TZNAME_MAX);
+  EXPECT_EQ(99, _POSIX2_BC_BASE_MAX);
+  EXPECT_EQ(2048, _POSIX2_BC_DIM_MAX);
+  EXPECT_EQ(99, _POSIX2_BC_SCALE_MAX);
+  EXPECT_EQ(1000, _POSIX2_BC_STRING_MAX);
+  EXPECT_EQ(14, _POSIX2_CHARCLASS_NAME_MAX);
+  EXPECT_EQ(2, _POSIX2_COLL_WEIGHTS_MAX);
+  EXPECT_EQ(32, _POSIX2_EXPR_NEST_MAX);
+  EXPECT_EQ(2048, _POSIX2_LINE_MAX);
+  EXPECT_EQ(255, _POSIX2_RE_DUP_MAX);
+
+  EXPECT_EQ(16, _XOPEN_IOV_MAX);
+#if !defined(__GLIBC__)
+  EXPECT_EQ(255, _XOPEN_NAME_MAX);
+  EXPECT_EQ(1024, _XOPEN_PATH_MAX);
+#endif
+}
+
+TEST(UNISTD_TEST, _POSIX_options) {
   EXPECT_EQ(_POSIX_VERSION, _POSIX_ADVISORY_INFO);
-  EXPECT_GT(_POSIX_AIO_LISTIO_MAX, 0);
-  EXPECT_GT(_POSIX_AIO_MAX, 0);
-  EXPECT_GT(_POSIX_ARG_MAX, 0);
   EXPECT_GT(_POSIX_BARRIERS, 0);
   EXPECT_GT(_POSIX_SPIN_LOCKS, 0);
-  EXPECT_GT(_POSIX_CHILD_MAX, 0);
   EXPECT_NE(_POSIX_CHOWN_RESTRICTED, -1);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_CLOCK_SELECTION);
+#if !defined(__GLIBC__) // glibc supports ancient kernels.
   EXPECT_EQ(_POSIX_VERSION, _POSIX_CPUTIME);
-  EXPECT_GT(_POSIX_DELAYTIMER_MAX, 0);
+#endif
   EXPECT_EQ(_POSIX_VERSION, _POSIX_FSYNC);
-  EXPECT_GT(_POSIX_HOST_NAME_MAX, 0);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_IPV6);
   EXPECT_GT(_POSIX_JOB_CONTROL, 0);
-  EXPECT_GT(_POSIX_LINK_MAX, 0);
-  EXPECT_GT(_POSIX_LOGIN_NAME_MAX, 0);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_MAPPED_FILES);
-  EXPECT_GT(_POSIX_MAX_CANON, 0);
-  EXPECT_GT(_POSIX_MAX_INPUT, 0);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_MEMLOCK);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_MEMLOCK_RANGE);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_MEMORY_PROTECTION);
+#if !defined(__GLIBC__) // glibc supports ancient kernels.
   EXPECT_EQ(_POSIX_VERSION, _POSIX_MONOTONIC_CLOCK);
-  EXPECT_GT(_POSIX_MQ_OPEN_MAX, 0);
-  EXPECT_GT(_POSIX_MQ_PRIO_MAX, 0);
-  EXPECT_GT(_POSIX_NAME_MAX, 0);
-  EXPECT_GT(_POSIX_NGROUPS_MAX, 0);
+#endif
   EXPECT_GT(_POSIX_NO_TRUNC, 0);
-  EXPECT_GT(_POSIX_OPEN_MAX, 0);
-  EXPECT_GT(_POSIX_PATH_MAX, 0);
-  EXPECT_GT(_POSIX_PIPE_BUF, 0);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_PRIORITY_SCHEDULING);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_RAW_SOCKETS);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_READER_WRITER_LOCKS);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_REALTIME_SIGNALS);
   EXPECT_GT(_POSIX_REGEXP, 0);
-  EXPECT_GT(_POSIX_RE_DUP_MAX, 0);
   EXPECT_GT(_POSIX_SAVED_IDS, 0);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_SEMAPHORES);
-  EXPECT_GT(_POSIX_SEM_NSEMS_MAX, 0);
-  EXPECT_GT(_POSIX_SEM_VALUE_MAX, 0);
   EXPECT_GT(_POSIX_SHELL, 0);
-  EXPECT_GT(_POSIX_SIGQUEUE_MAX, 0);
-  EXPECT_EQ(_POSIX_VERSION, _POSIX_SPORADIC_SERVER);
-  EXPECT_GT(_POSIX_SSIZE_MAX, 0);
-  EXPECT_GT(_POSIX_STREAM_MAX, 0);
-  EXPECT_GT(_POSIX_SYMLINK_MAX, 0);
-  EXPECT_GT(_POSIX_SYMLOOP_MAX, 0);
+  EXPECT_EQ(_POSIX_VERSION, _POSIX_SPAWN);
+  EXPECT_EQ(-1, _POSIX_SPORADIC_SERVER);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_SYNCHRONIZED_IO);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_THREADS);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_ATTR_STACKADDR);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_ATTR_STACKSIZE);
+#if !defined(__GLIBC__) // glibc supports ancient kernels.
   EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_CPUTIME);
-  EXPECT_GT(_POSIX_THREAD_DESTRUCTOR_ITERATIONS, 0);
-  EXPECT_EQ(_POSIX_THREAD_KEYS_MAX, 128);
+#endif
   EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_PRIORITY_SCHEDULING);
-  EXPECT_EQ(-1, _POSIX_THREAD_PRIO_INHERIT);
-  EXPECT_EQ(-1, _POSIX_THREAD_PRIO_PROTECT);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_PROCESS_SHARED);
   EXPECT_EQ(-1, _POSIX_THREAD_ROBUST_PRIO_PROTECT);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_SAFE_FUNCTIONS);
-  EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_SPORADIC_SERVER);
-  EXPECT_GT(_POSIX_THREAD_THREADS_MAX, 0);
+  EXPECT_EQ(-1, _POSIX_THREAD_SPORADIC_SERVER);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_TIMEOUTS);
   EXPECT_EQ(_POSIX_VERSION, _POSIX_TIMERS);
-  EXPECT_GT(_POSIX_TIMER_MAX, 0);
   EXPECT_EQ(-1, _POSIX_TRACE);
   EXPECT_EQ(-1, _POSIX_TRACE_EVENT_FILTER);
   EXPECT_EQ(-1, _POSIX_TRACE_INHERIT);
   EXPECT_EQ(-1, _POSIX_TRACE_LOG);
-  EXPECT_GT(_POSIX_TTY_NAME_MAX, 0);
   EXPECT_EQ(-1, _POSIX_TYPED_MEMORY_OBJECTS);
-  EXPECT_GT(_POSIX_TZNAME_MAX, 0);
   EXPECT_NE(-1, _POSIX_VDISABLE);
 
   EXPECT_EQ(_POSIX_VERSION, _POSIX2_VERSION);
-  EXPECT_GT(_POSIX2_BC_BASE_MAX, 0);
-  EXPECT_GT(_POSIX2_BC_DIM_MAX, 0);
-  EXPECT_GT(_POSIX2_BC_SCALE_MAX, 0);
-  EXPECT_GT(_POSIX2_BC_STRING_MAX, 0);
-  EXPECT_GT(_POSIX2_CHARCLASS_NAME_MAX, 0);
-  EXPECT_GT(_POSIX2_COLL_WEIGHTS_MAX, 0);
   EXPECT_EQ(_POSIX_VERSION, _POSIX2_C_BIND);
-  EXPECT_GT(_POSIX2_EXPR_NEST_MAX, 0);
-  EXPECT_GT(_POSIX2_LINE_MAX, 0);
-  EXPECT_GT(_POSIX2_RE_DUP_MAX, 0);
+  EXPECT_EQ(_POSIX_VERSION, _POSIX2_CHAR_TERM);
 
   EXPECT_EQ(700, _XOPEN_VERSION);
-  EXPECT_GT(_XOPEN_IOV_MAX, 0);
-  EXPECT_GT(_XOPEN_UNIX, 0);
+  EXPECT_EQ(1, _XOPEN_ENH_I18N);
+  EXPECT_EQ(1, _XOPEN_REALTIME);
+  EXPECT_EQ(1, _XOPEN_REALTIME_THREADS);
+  EXPECT_EQ(1, _XOPEN_SHM);
+  EXPECT_EQ(1, _XOPEN_UNIX);
 
 #if defined(__BIONIC__)
   // These tests only pass on bionic, as bionic and glibc has different support on these macros.
@@ -791,22 +819,20 @@
   EXPECT_EQ(-1, _POSIX_MESSAGE_PASSING);
   EXPECT_EQ(-1, _POSIX_PRIORITIZED_IO);
   EXPECT_EQ(-1, _POSIX_SHARED_MEMORY_OBJECTS);
-  EXPECT_EQ(-1, _POSIX_SPAWN);
+  EXPECT_EQ(-1, _POSIX_THREAD_PRIO_INHERIT);
+  EXPECT_EQ(-1, _POSIX_THREAD_PRIO_PROTECT);
   EXPECT_EQ(-1, _POSIX_THREAD_ROBUST_PRIO_INHERIT);
 
-  EXPECT_EQ(-1, _POSIX2_CHAR_TERM);
   EXPECT_EQ(-1, _POSIX2_C_DEV);
+  EXPECT_EQ(-1, _POSIX2_FORT_DEV);
+  EXPECT_EQ(-1, _POSIX2_FORT_RUN);
   EXPECT_EQ(-1, _POSIX2_LOCALEDEF);
   EXPECT_EQ(-1, _POSIX2_SW_DEV);
   EXPECT_EQ(-1, _POSIX2_UPE);
 
-  EXPECT_EQ(-1, _XOPEN_ENH_I18N);
   EXPECT_EQ(-1, _XOPEN_CRYPT);
   EXPECT_EQ(-1, _XOPEN_LEGACY);
-  EXPECT_EQ(-1, _XOPEN_REALTIME);
-  EXPECT_EQ(-1, _XOPEN_REALTIME_THREADS);
-  EXPECT_EQ(-1, _XOPEN_SHM);
-
+  EXPECT_EQ(-1, _XOPEN_STREAMS);
 #endif // defined(__BIONIC__)
 }
 
@@ -915,11 +941,12 @@
   VERIFY_SYSCONF_POSIX_VERSION(_SC_READER_WRITER_LOCKS);
   VERIFY_SYSCONF_POSITIVE(_SC_REGEXP);
   VERIFY_SYSCONF_POSITIVE(_SC_SHELL);
-  VERIFY_SYSCONF_POSIX_VERSION(_SC_SPORADIC_SERVER);
+  VERIFY_SYSCONF_POSIX_VERSION(_SC_SPAWN);
+  VERIFY_SYSCONF_UNSUPPORTED(_SC_SPORADIC_SERVER);
   VERIFY_SYSCONF_POSITIVE(_SC_SYMLOOP_MAX);
   VERIFY_SYSCONF_POSIX_VERSION(_SC_THREAD_CPUTIME);
   VERIFY_SYSCONF_POSIX_VERSION(_SC_THREAD_PROCESS_SHARED);
-  VERIFY_SYSCONF_POSIX_VERSION(_SC_THREAD_SPORADIC_SERVER);
+  VERIFY_SYSCONF_UNSUPPORTED(_SC_THREAD_SPORADIC_SERVER);
   VERIFY_SYSCONF_POSIX_VERSION(_SC_TIMEOUTS);
   VERIFY_SYSCONF_UNSUPPORTED(_SC_TRACE);
   VERIFY_SYSCONF_UNSUPPORTED(_SC_TRACE_EVENT_FILTER);
@@ -954,7 +981,6 @@
   VERIFY_SYSCONF_UNSUPPORTED(_SC_MESSAGE_PASSING);
   VERIFY_SYSCONF_UNSUPPORTED(_SC_PRIORITIZED_IO);
   VERIFY_SYSCONF_UNSUPPORTED(_SC_SHARED_MEMORY_OBJECTS);
-  VERIFY_SYSCONF_UNSUPPORTED(_SC_SPAWN);
   VERIFY_SYSCONF_UNSUPPORTED(_SC_THREAD_ROBUST_PRIO_INHERIT);
   VERIFY_SYSCONF_UNSUPPORTED(_SC_THREAD_ROBUST_PRIO_PROTECT);
 
@@ -1212,12 +1238,6 @@
   }
 }
 
-#if defined(__GLIBC__)
-#define BIN_DIR "/bin/"
-#else
-#define BIN_DIR "/system/bin/"
-#endif
-
 TEST(UNISTD_TEST, execve_failure) {
   ExecTestHelper eth;
   errno = 0;
diff --git a/tests/utils.h b/tests/utils.h
index daf382e..ba006f1 100644
--- a/tests/utils.h
+++ b/tests/utils.h
@@ -38,6 +38,12 @@
 #define PATH_TO_SYSTEM_LIB "/system/lib/"
 #endif
 
+#if defined(__GLIBC__)
+#define BIN_DIR "/bin/"
+#else
+#define BIN_DIR "/system/bin/"
+#endif
+
 #if defined(__BIONIC__)
 #define KNOWN_FAILURE_ON_BIONIC(x) xfail_ ## x
 #else
@@ -159,6 +165,9 @@
   char** GetArgs() {
     return const_cast<char**>(args_.data());
   }
+  const char* GetArg0() {
+    return args_[0];
+  }
   char** GetEnv() {
     return const_cast<char**>(env_.data());
   }