Merge changes I8c481c89,I791406f8,I5f09cef8

* changes:
  libc: ARM: update syscalls with new script
  libc: ARM: add size info to gensyscalls
  Add function marks and size indications
diff --git a/libc/arch-arm/bionic/_exit_with_stack_teardown.S b/libc/arch-arm/bionic/_exit_with_stack_teardown.S
index 89f6c90..c2d7758 100644
--- a/libc/arch-arm/bionic/_exit_with_stack_teardown.S
+++ b/libc/arch-arm/bionic/_exit_with_stack_teardown.S
@@ -26,15 +26,10 @@
  * SUCH DAMAGE.
  */
 #include <asm/unistd.h>
-
-.text
-.type _exit_with_stack_teardown, #function
-.globl _exit_with_stack_teardown
-.align 4
+#include <machine/asm.h>
 
 @ void _exit_with_stack_teardown(void * stackBase, int stackSize, int retCode)
-
-_exit_with_stack_teardown:
+ENTRY(_exit_with_stack_teardown)
 
 #if __ARM_EABI__
     mov     lr, r2
@@ -53,3 +48,4 @@
     @ exit() should never return, cause a crash if it does
     mov		r0, #0
     ldr		r0, [r0]
+END(_exit_with_stack_teardown)
diff --git a/libc/arch-arm/bionic/_setjmp.S b/libc/arch-arm/bionic/_setjmp.S
index 5626219..6b8aa50 100644
--- a/libc/arch-arm/bionic/_setjmp.S
+++ b/libc/arch-arm/bionic/_setjmp.S
@@ -70,6 +70,7 @@
 
         mov	r0, #0x00000000
         bx      lr
+END(_setjmp)
 
 .L_setjmp_magic:
 	.word	_JB_MAGIC__SETJMP
@@ -109,3 +110,4 @@
 	bl	PIC_SYM(_C_LABEL(longjmperror), PLT)
 	bl	PIC_SYM(_C_LABEL(abort), PLT)
 	b	. - 8		/* Cannot get here */
+END(_longjmp)
diff --git a/libc/arch-arm/bionic/atomics_arm.S b/libc/arch-arm/bionic/atomics_arm.S
index d94f6b1..4d9cbcf 100644
--- a/libc/arch-arm/bionic/atomics_arm.S
+++ b/libc/arch-arm/bionic/atomics_arm.S
@@ -26,17 +26,9 @@
  * SUCH DAMAGE.
  */
 #include <sys/linux-syscalls.h>
+#include <machine/asm.h>
 #include <machine/cpu-features.h>
 
-.global __atomic_cmpxchg
-.type __atomic_cmpxchg, %function
-.global __atomic_swap
-.type __atomic_swap, %function
-.global __atomic_dec
-.type __atomic_dec, %function
-.global __atomic_inc
-.type __atomic_inc, %function
-
 #define FUTEX_WAIT 0
 #define FUTEX_WAKE 1
 
@@ -48,8 +40,7 @@
  */
 
 /* r0(addr) -> r0(old) */
-__atomic_dec:
-    .fnstart
+ENTRY(__atomic_dec)
     mov     r1, r0                      @ copy addr so we don't clobber it
 1:  ldrex   r0, [r1]                    @ load current value into r0
     sub     r2, r0, #1                  @ generate new value into r2
@@ -57,11 +48,10 @@
     cmp     r3, #0                      @ success?
     bxeq    lr                          @ yes, return
     b       1b                          @ no, retry
-    .fnend
+END(__atomic_dec)
 
 /* r0(addr) -> r0(old) */
-__atomic_inc:
-    .fnstart
+ENTRY(__atomic_inc)
     mov     r1, r0
 1:  ldrex   r0, [r1]
     add     r2, r0, #1
@@ -69,11 +59,10 @@
     cmp     r3, #0
     bxeq    lr
     b       1b
-    .fnend
+END(__atomic_inc)
 
 /* r0(old) r1(new) r2(addr) -> r0(zero_if_succeeded) */
-__atomic_cmpxchg:
-    .fnstart
+ENTRY(__atomic_cmpxchg)
 1:  mov     ip, #2                      @ ip=2 means "new != old"
     ldrex   r3, [r2]                    @ load current value into r3
     teq     r0, r3                      @ new == old?
@@ -82,18 +71,17 @@
     beq     1b                          @ yes, retry
     mov     r0, ip                      @ return 0 on success, 2 on failure
     bx      lr
-    .fnend
+END(__atomic_cmpxchg)
 
 /* r0(new) r1(addr) -> r0(old) */
-__atomic_swap:
-    .fnstart
+ENTRY(__atomic_swap)
 1:  ldrex   r2, [r1]
     strex   r3, r0, [r1]
     teq     r3, #0
     bne     1b
     mov     r0, r2
     bx      lr
-    .fnend
+END(__atomic_swap)
 
 #else /*not defined __ARM_HAVE_LDREX_STREX*/
 /*
@@ -107,8 +95,7 @@
     .equ    kernel_atomic_base, 0xFFFF0FFF
 
 /* r0(addr) -> r0(old) */
-__atomic_dec:
-    .fnstart
+ENTRY(__atomic_dec)
     .save {r4, lr}
     stmdb   sp!, {r4, lr}
     mov     r2, r0
@@ -122,11 +109,10 @@
     add     r0, r1, #1
     ldmia   sp!, {r4, lr}
     bx      lr
-    .fnend
+END(__atomic_dec)
 
 /* r0(addr) -> r0(old) */
-__atomic_inc:
-    .fnstart
+ENTRY(__atomic_inc)
     .save {r4, lr}
     stmdb   sp!, {r4, lr}
     mov     r2, r0
@@ -140,11 +126,10 @@
     sub     r0, r1, #1
     ldmia   sp!, {r4, lr}
     bx      lr
-    .fnend
+END(__atomic_inc)
 
 /* r0(old) r1(new) r2(addr) -> r0(zero_if_succeeded) */
-__atomic_cmpxchg:
-    .fnstart
+ENTRY(__atomic_cmpxchg)
     .save {r4, lr}
     stmdb   sp!, {r4, lr}
     mov     r4, r0          /* r4 = save oldvalue */
@@ -160,14 +145,13 @@
 2: @ atomic_cmpxchg
     ldmia   sp!, {r4, lr}
     bx      lr
-    .fnend
+END(__atomic_cmpxchg)
 
 /* r0(new) r1(addr) -> r0(old) */
-__atomic_swap:
-    .fnstart
+ENTRY(__atomic_swap)
     swp     r0, r0, [r1]
     bx      lr
-    .fnend
+END(__atomic_swap)
 
 #endif /*not defined __ARM_HAVE_LDREX_STREX*/
 
@@ -191,18 +175,16 @@
 
 #if __ARM_EABI__
 
-__futex_syscall3:
-    .fnstart
+ENTRY(__futex_syscall3)
     stmdb   sp!, {r4, r7}
     .save   {r4, r7}
     ldr     r7, =__NR_futex
     swi     #0
     ldmia   sp!, {r4, r7}
     bx      lr
-    .fnend
+END(__futex_syscall3)
 
-__futex_wait:
-    .fnstart
+ENTRY(__futex_wait)
     stmdb   sp!, {r4, r7}
     .save   {r4, r7}
     mov     r3, r2
@@ -212,10 +194,9 @@
     swi     #0
     ldmia   sp!, {r4, r7}
     bx      lr
-    .fnend
+END(__futex_wait)
 
-__futex_wake:
-    .fnstart
+ENTRY(__futex_wake)
     .save   {r4, r7}
     stmdb   sp!, {r4, r7}
     mov     r2, r1
@@ -224,28 +205,32 @@
     swi     #0
     ldmia   sp!, {r4, r7}
     bx      lr
-    .fnend
+END(__futex_wake)
 
 #else
 
-__futex_syscall3:
+ENTRY(__futex_syscall3)
     swi     #__NR_futex
     bx      lr
+END(__futex_syscall3)
 
-__futex_wait:
+ENTRY(__futex_wait)
     mov     r3, r2
     mov     r2, r1
     mov     r1, #FUTEX_WAIT
     swi     #__NR_futex
     bx      lr
+END(__futex_wait)
 
-__futex_wake:
+ENTRY(__futex_wake)
     mov     r2, r1
     mov     r1, #FUTEX_WAKE
     swi     #__NR_futex
     bx      lr
+END(__futex_wake)
 
 #endif
 
-__futex_syscall4:
+ENTRY(__futex_syscall4)
     b __futex_syscall3
+END(__futex_syscall4)
diff --git a/libc/arch-arm/bionic/clone.S b/libc/arch-arm/bionic/clone.S
index 9c25053..a95d2d6 100644
--- a/libc/arch-arm/bionic/clone.S
+++ b/libc/arch-arm/bionic/clone.S
@@ -26,14 +26,9 @@
  * SUCH DAMAGE.
  */
 #include <sys/linux-syscalls.h>
+#include <machine/asm.h>
 
-    .text
-    .type __pthread_clone, #function
-    .global __pthread_clone
-    .align 4
-    .fnstart
-
-__pthread_clone:
+ENTRY(__pthread_clone)
     @ insert the args onto the new stack
     str     r0, [r1, #-4]
     str     r3, [r1, #-8]
@@ -73,7 +68,7 @@
 __error:
     mov     r0, #-1
     bx      lr
-    .fnend
+END(__pthread_clone)
 
 
     #
@@ -88,12 +83,8 @@
     #       at the end of the parameter list makes the
     #       implementation much simpler.
     #
-    .type __bionic_clone, #function
-    .globl __bionic_clone
-    .align 4
-    .fnstart
 
-__bionic_clone:
+ENTRY(__bionic_clone)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
 
@@ -124,5 +115,4 @@
     ldr    r0, [sp, #-4]
     ldr    r1, [sp, #-8]
     b      __bionic_clone_entry
-
-    .fnend
+END(__bionic_clone)
diff --git a/libc/arch-arm/bionic/ffs.S b/libc/arch-arm/bionic/ffs.S
index a3a1ea1..c59091f 100644
--- a/libc/arch-arm/bionic/ffs.S
+++ b/libc/arch-arm/bionic/ffs.S
@@ -62,6 +62,7 @@
 	ldrneb  r0, [ r2, r0, lsr #26 ]
 
 	bx		lr
+END(ffs)
 
 .text;
 .type .L_ffs_table, _ASM_TYPE_OBJECT;
@@ -79,5 +80,6 @@
 	clzne	r0, r0
 	rsbne	r0, r0, #32
 	bx		lr
+END(ffs)
 #endif /* !defined(__ARM_HAVE_CLZ) */
 
diff --git a/libc/arch-arm/bionic/kill.S b/libc/arch-arm/bionic/kill.S
index 2954091..33dfc2b 100644
--- a/libc/arch-arm/bionic/kill.S
+++ b/libc/arch-arm/bionic/kill.S
@@ -33,17 +33,13 @@
    of a corrupted malloc heap).
 */
 #include <sys/linux-syscalls.h>
+#include <machine/asm.h>
 
 #ifndef __NR_kill
 #define __NR_kill   37
 #endif
 
-    .text
-    .type kill, #function
-    .globl kill
-    .align 4
-
-kill:
+ENTRY(kill)
     stmfd   sp!, {r4-r7, ip, lr}
     ldr     r7, =__NR_kill
     swi     #0
@@ -51,3 +47,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
+END(kill)
diff --git a/libc/arch-arm/bionic/memcmp.S b/libc/arch-arm/bionic/memcmp.S
index 67dcddc..c872a51 100644
--- a/libc/arch-arm/bionic/memcmp.S
+++ b/libc/arch-arm/bionic/memcmp.S
@@ -27,12 +27,7 @@
  */
 
 #include <machine/cpu-features.h>
-
-    .text
-
-    .global memcmp
-    .type memcmp, %function
-    .align 4
+#include <machine/asm.h>
 
 /*
  * Optimized memcmp() for ARM9.
@@ -43,8 +38,7 @@
  * (2) The loads are scheduled in a way they won't stall
  */
 
-memcmp:
-        .fnstart
+ENTRY(memcmp)
         PLD         (r0, #0)
         PLD         (r1, #0)
 
@@ -176,7 +170,7 @@
 9:      /* restore registers and return */
         ldmfd       sp!, {r4, lr}
         bx          lr
-        .fnend
+END(memcmp)
 
 
 
diff --git a/libc/arch-arm/bionic/memcmp16.S b/libc/arch-arm/bionic/memcmp16.S
index f398588..99c9b88 100644
--- a/libc/arch-arm/bionic/memcmp16.S
+++ b/libc/arch-arm/bionic/memcmp16.S
@@ -27,12 +27,7 @@
  */
 
 #include <machine/cpu-features.h>
-
-    .text
-
-    .global __memcmp16
-    .type __memcmp16, %function
-    .align 4
+#include <machine/asm.h>
 
 /*
  * Optimized memcmp16() for ARM9.
@@ -43,8 +38,7 @@
  * (2) The loads are scheduled in a way they won't stall
  */
 
-__memcmp16:
-        .fnstart
+ENTRY(__memcmp16)
         PLD         (r0, #0)
         PLD         (r1, #0)
 
@@ -95,8 +89,6 @@
         /* restore registers and return */
         ldmnefd     sp!, {r4, lr}
         bxne        lr
-        .fnend
-
 
 
 0:      /* here the first pointer is aligned, and we have at least 3 words
@@ -237,3 +229,4 @@
 7:      /* fix up the 2 pointers and fallthrough... */
         sub         r1, r1, #2
         b           2b
+END(__memcmp16)
diff --git a/libc/arch-arm/bionic/memcpy.S b/libc/arch-arm/bionic/memcpy.S
index ba55996..04ba848 100644
--- a/libc/arch-arm/bionic/memcpy.S
+++ b/libc/arch-arm/bionic/memcpy.S
@@ -27,6 +27,7 @@
  */
 
 #include <machine/cpu-features.h>
+#include <machine/asm.h>
 
 #if defined(__ARM_NEON__)
 
@@ -143,18 +144,12 @@
 
         ldmfd       sp!, {r0, lr}
         bx          lr
-        .fnend
+END(memcpy)
 
 
 #else   /* __ARM_ARCH__ < 7 */
 
 
-	.text
-
-    .global memcpy
-    .type memcpy, %function
-    .align 4
-
 		/*
 		 * Optimized memcpy() for ARM.
          *
@@ -162,12 +157,11 @@
 		 * so we have to preserve R0.
 		 */
 
-memcpy:
+ENTRY(memcpy)
 		/* The stack must always be 64-bits aligned to be compliant with the
 		 * ARM ABI. Since we have to save R0, we might as well save R4
 		 * which we can use for better pipelining of the reads below
 		 */
-        .fnstart
         .save       {r0, r4, lr}
         stmfd       sp!, {r0, r4, lr}
         /* Making room for r5-r11 which will be spilled later */
@@ -504,7 +498,7 @@
         add         sp,  sp, #28
 		ldmfd		sp!, {r0, r4, lr}
 		bx			lr
-        .fnend
+END(memcpy)
 
 
 #endif    /* __ARM_ARCH__ < 7 */
diff --git a/libc/arch-arm/bionic/memset.S b/libc/arch-arm/bionic/memset.S
index 93abe15..273b9e3 100644
--- a/libc/arch-arm/bionic/memset.S
+++ b/libc/arch-arm/bionic/memset.S
@@ -25,15 +25,8 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-	.text
 
-    .global memset
-    .type memset, %function
-
-    .global bzero
-    .type bzero, %function
-
-    .align
+#include <machine/asm.h>
 	
 		/*
 		 * Optimized memset() for ARM.
@@ -41,15 +34,15 @@
          * memset() returns its first argument.
 		 */
 	
-bzero:
+ENTRY(bzero)
         mov     r2, r1
         mov     r1, #0
+END(bzero)
 
-memset:	
+ENTRY(memset)
 		/* compute the offset to align the destination
 		 * offset = (4-(src&3))&3 = -src & 3
 		 */
-        .fnstart
         .save       {r0, r4-r7, lr}
 		stmfd		sp!, {r0, r4-r7, lr}
 		rsb			r3, r0, #0
@@ -113,5 +106,4 @@
 		strcsb		r1, [r0]
         ldmfd		sp!, {r0, r4-r7, lr}
         bx          lr
-        .fnend
-    
+END(memset)
diff --git a/libc/arch-arm/bionic/setjmp.S b/libc/arch-arm/bionic/setjmp.S
index 59aff66..996e55e 100644
--- a/libc/arch-arm/bionic/setjmp.S
+++ b/libc/arch-arm/bionic/setjmp.S
@@ -79,6 +79,7 @@
 
 	mov	r0, #0x00000000
 	bx      lr
+END(setjmp)
 
 .Lsetjmp_magic:
 	.word	_JB_MAGIC_SETJMP
@@ -138,3 +139,4 @@
 	bl	PIC_SYM(_C_LABEL(longjmperror), PLT)
 	bl	PIC_SYM(_C_LABEL(abort), PLT)
 	b	. - 8		/* Cannot get here */
+END(longjmp)
diff --git a/libc/arch-arm/bionic/sigsetjmp.S b/libc/arch-arm/bionic/sigsetjmp.S
index 50e6429..12311e5 100644
--- a/libc/arch-arm/bionic/sigsetjmp.S
+++ b/libc/arch-arm/bionic/sigsetjmp.S
@@ -33,6 +33,8 @@
  * SUCH DAMAGE.
  */
 
+#define _ALIGN_TEXT .align 0
+
 #include <machine/asm.h>
 #include <machine/setjmp.h>
 
@@ -50,6 +52,7 @@
 	teq	r1, #0
 	beq	PIC_SYM(_C_LABEL(_setjmp), PLT)
 	b	PIC_SYM(_C_LABEL(setjmp), PLT)
+END(sigsetjmp)
 
 .L_setjmp_magic:
 	.word	_JB_MAGIC__SETJMP
@@ -60,3 +63,4 @@
 	teq	r2, r3
 	beq	PIC_SYM(_C_LABEL(_longjmp), PLT)
 	b	PIC_SYM(_C_LABEL(longjmp), PLT)
+END(siglongjmp)
diff --git a/libc/arch-arm/bionic/strcpy.S b/libc/arch-arm/bionic/strcpy.S
index 70c353f..21dafda 100644
--- a/libc/arch-arm/bionic/strcpy.S
+++ b/libc/arch-arm/bionic/strcpy.S
@@ -30,15 +30,9 @@
  */
 
 #include <machine/cpu-features.h>
+#include <machine/asm.h>
 
-	.text
-
-	.global strcpy
-	.type strcpy, %function
-	.align 4
-
-strcpy:
-	.fnstart
+ENTRY(strcpy)
 	PLD(r1, #0)
 	eor	r2, r0, r1
 	mov	ip, r0
@@ -136,3 +130,4 @@
 	cmp	r2, #0
 	bne	4b
 	bx	lr
+END(strcpy)
diff --git a/libc/arch-arm/bionic/tkill.S b/libc/arch-arm/bionic/tkill.S
index 7b3301a..fdc5ed4 100644
--- a/libc/arch-arm/bionic/tkill.S
+++ b/libc/arch-arm/bionic/tkill.S
@@ -32,18 +32,15 @@
    abort due to a fatal runtime error (e.g. detection
    of a corrupted malloc heap).
 */
+
 #include <sys/linux-syscalls.h>
+#include <machine/asm.h>
 
 #ifndef __NR_tkill
 #define __NR_tkill  238
 #endif
 
-    .text
-    .type tkill, #function
-    .globl tkill
-    .align 4
-
-tkill:
+ENTRY(tkill)
     stmfd   sp!, {r4-r7, ip, lr}
     ldr     r7, =__NR_tkill
     swi     #0
@@ -51,3 +48,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
+END(tkill)
diff --git a/libc/arch-arm/include/machine/asm.h b/libc/arch-arm/include/machine/asm.h
index c7bd017..7b8f053 100644
--- a/libc/arch-arm/include/machine/asm.h
+++ b/libc/arch-arm/include/machine/asm.h
@@ -70,7 +70,13 @@
 #define _ASM_TYPE_FUNCTION	#function
 #define _ASM_TYPE_OBJECT	#object
 #define _ENTRY(x) \
-	.text; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; x:
+	.text; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; x: .fnstart
+
+#define _ASM_SIZE(x)	.size x, .-x;
+
+#define _END(x) \
+	.fnend; \
+	_ASM_SIZE(x)
 
 #ifdef GPROF
 # ifdef __ELF__
@@ -86,8 +92,10 @@
 
 #define	ENTRY(y)	_ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
 #define	ENTRY_NP(y)	_ENTRY(_C_LABEL(y))
+#define	END(y)		_END(_C_LABEL(y))
 #define	ASENTRY(y)	_ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
 #define	ASENTRY_NP(y)	_ENTRY(_ASM_LABEL(y))
+#define	ASEND(y)	_END(_ASM_LABEL(y))
 
 #define	ASMSTR		.asciz
 
diff --git a/libc/arch-arm/syscalls/__brk.S b/libc/arch-arm/syscalls/__brk.S
index 99ad2e3..a0854a0 100644
--- a/libc/arch-arm/syscalls/__brk.S
+++ b/libc/arch-arm/syscalls/__brk.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __brk, #function
-    .globl __brk
-    .align 4
-    .fnstart
-
-__brk:
+ENTRY(__brk)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_brk
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__brk)
diff --git a/libc/arch-arm/syscalls/__fcntl.S b/libc/arch-arm/syscalls/__fcntl.S
index 1b7b92f..067ee9a 100644
--- a/libc/arch-arm/syscalls/__fcntl.S
+++ b/libc/arch-arm/syscalls/__fcntl.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __fcntl, #function
-    .globl __fcntl
-    .align 4
-    .fnstart
-
-__fcntl:
+ENTRY(__fcntl)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fcntl
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__fcntl)
diff --git a/libc/arch-arm/syscalls/__fcntl64.S b/libc/arch-arm/syscalls/__fcntl64.S
index d1a6fc8..3d39567 100644
--- a/libc/arch-arm/syscalls/__fcntl64.S
+++ b/libc/arch-arm/syscalls/__fcntl64.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __fcntl64, #function
-    .globl __fcntl64
-    .align 4
-    .fnstart
-
-__fcntl64:
+ENTRY(__fcntl64)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fcntl64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__fcntl64)
diff --git a/libc/arch-arm/syscalls/__fork.S b/libc/arch-arm/syscalls/__fork.S
index fddd276..6cf08ad 100644
--- a/libc/arch-arm/syscalls/__fork.S
+++ b/libc/arch-arm/syscalls/__fork.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __fork, #function
-    .globl __fork
-    .align 4
-    .fnstart
-
-__fork:
+ENTRY(__fork)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fork
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__fork)
diff --git a/libc/arch-arm/syscalls/__fstatfs64.S b/libc/arch-arm/syscalls/__fstatfs64.S
index 00b4e41..e8aa2f4 100644
--- a/libc/arch-arm/syscalls/__fstatfs64.S
+++ b/libc/arch-arm/syscalls/__fstatfs64.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __fstatfs64, #function
-    .globl __fstatfs64
-    .align 4
-    .fnstart
-
-__fstatfs64:
+ENTRY(__fstatfs64)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fstatfs64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__fstatfs64)
diff --git a/libc/arch-arm/syscalls/__getcpu.S b/libc/arch-arm/syscalls/__getcpu.S
index ed6927a..78271eb 100644
--- a/libc/arch-arm/syscalls/__getcpu.S
+++ b/libc/arch-arm/syscalls/__getcpu.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __getcpu, #function
-    .globl __getcpu
-    .align 4
-    .fnstart
-
-__getcpu:
+ENTRY(__getcpu)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getcpu
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__getcpu)
diff --git a/libc/arch-arm/syscalls/__getcwd.S b/libc/arch-arm/syscalls/__getcwd.S
index 6098d09..e09a484 100644
--- a/libc/arch-arm/syscalls/__getcwd.S
+++ b/libc/arch-arm/syscalls/__getcwd.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __getcwd, #function
-    .globl __getcwd
-    .align 4
-    .fnstart
-
-__getcwd:
+ENTRY(__getcwd)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getcwd
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__getcwd)
diff --git a/libc/arch-arm/syscalls/__getpriority.S b/libc/arch-arm/syscalls/__getpriority.S
index 2b652ef..30e335c 100644
--- a/libc/arch-arm/syscalls/__getpriority.S
+++ b/libc/arch-arm/syscalls/__getpriority.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __getpriority, #function
-    .globl __getpriority
-    .align 4
-    .fnstart
-
-__getpriority:
+ENTRY(__getpriority)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getpriority
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__getpriority)
diff --git a/libc/arch-arm/syscalls/__ioctl.S b/libc/arch-arm/syscalls/__ioctl.S
index 2fad231..554809f 100644
--- a/libc/arch-arm/syscalls/__ioctl.S
+++ b/libc/arch-arm/syscalls/__ioctl.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __ioctl, #function
-    .globl __ioctl
-    .align 4
-    .fnstart
-
-__ioctl:
+ENTRY(__ioctl)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ioctl
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__ioctl)
diff --git a/libc/arch-arm/syscalls/__llseek.S b/libc/arch-arm/syscalls/__llseek.S
index 8325e2d..9893886 100644
--- a/libc/arch-arm/syscalls/__llseek.S
+++ b/libc/arch-arm/syscalls/__llseek.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __llseek, #function
-    .globl __llseek
-    .align 4
-    .fnstart
-
-__llseek:
+ENTRY(__llseek)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__llseek)
diff --git a/libc/arch-arm/syscalls/__mmap2.S b/libc/arch-arm/syscalls/__mmap2.S
index d57020a..542b3e0 100644
--- a/libc/arch-arm/syscalls/__mmap2.S
+++ b/libc/arch-arm/syscalls/__mmap2.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __mmap2, #function
-    .globl __mmap2
-    .align 4
-    .fnstart
-
-__mmap2:
+ENTRY(__mmap2)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__mmap2)
diff --git a/libc/arch-arm/syscalls/__open.S b/libc/arch-arm/syscalls/__open.S
index 7e3fb7a..be2f4bf 100644
--- a/libc/arch-arm/syscalls/__open.S
+++ b/libc/arch-arm/syscalls/__open.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __open, #function
-    .globl __open
-    .align 4
-    .fnstart
-
-__open:
+ENTRY(__open)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_open
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__open)
diff --git a/libc/arch-arm/syscalls/__openat.S b/libc/arch-arm/syscalls/__openat.S
index ae92b9d..4d91780 100644
--- a/libc/arch-arm/syscalls/__openat.S
+++ b/libc/arch-arm/syscalls/__openat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __openat, #function
-    .globl __openat
-    .align 4
-    .fnstart
-
-__openat:
+ENTRY(__openat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_openat
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__openat)
diff --git a/libc/arch-arm/syscalls/__ptrace.S b/libc/arch-arm/syscalls/__ptrace.S
index 329a5af..04e0a30 100644
--- a/libc/arch-arm/syscalls/__ptrace.S
+++ b/libc/arch-arm/syscalls/__ptrace.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __ptrace, #function
-    .globl __ptrace
-    .align 4
-    .fnstart
-
-__ptrace:
+ENTRY(__ptrace)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ptrace
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__ptrace)
diff --git a/libc/arch-arm/syscalls/__reboot.S b/libc/arch-arm/syscalls/__reboot.S
index 770e9f8..e75df45 100644
--- a/libc/arch-arm/syscalls/__reboot.S
+++ b/libc/arch-arm/syscalls/__reboot.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __reboot, #function
-    .globl __reboot
-    .align 4
-    .fnstart
-
-__reboot:
+ENTRY(__reboot)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_reboot
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__reboot)
diff --git a/libc/arch-arm/syscalls/__rt_sigaction.S b/libc/arch-arm/syscalls/__rt_sigaction.S
index 29abd55..57a3149 100644
--- a/libc/arch-arm/syscalls/__rt_sigaction.S
+++ b/libc/arch-arm/syscalls/__rt_sigaction.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __rt_sigaction, #function
-    .globl __rt_sigaction
-    .align 4
-    .fnstart
-
-__rt_sigaction:
+ENTRY(__rt_sigaction)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_rt_sigaction
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__rt_sigaction)
diff --git a/libc/arch-arm/syscalls/__rt_sigprocmask.S b/libc/arch-arm/syscalls/__rt_sigprocmask.S
index c3acb54..8220825 100644
--- a/libc/arch-arm/syscalls/__rt_sigprocmask.S
+++ b/libc/arch-arm/syscalls/__rt_sigprocmask.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __rt_sigprocmask, #function
-    .globl __rt_sigprocmask
-    .align 4
-    .fnstart
-
-__rt_sigprocmask:
+ENTRY(__rt_sigprocmask)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_rt_sigprocmask
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__rt_sigprocmask)
diff --git a/libc/arch-arm/syscalls/__rt_sigtimedwait.S b/libc/arch-arm/syscalls/__rt_sigtimedwait.S
index 0fb1573..bce63ed 100644
--- a/libc/arch-arm/syscalls/__rt_sigtimedwait.S
+++ b/libc/arch-arm/syscalls/__rt_sigtimedwait.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __rt_sigtimedwait, #function
-    .globl __rt_sigtimedwait
-    .align 4
-    .fnstart
-
-__rt_sigtimedwait:
+ENTRY(__rt_sigtimedwait)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_rt_sigtimedwait
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__rt_sigtimedwait)
diff --git a/libc/arch-arm/syscalls/__sched_getaffinity.S b/libc/arch-arm/syscalls/__sched_getaffinity.S
index 71f2b1d..bdd4517 100644
--- a/libc/arch-arm/syscalls/__sched_getaffinity.S
+++ b/libc/arch-arm/syscalls/__sched_getaffinity.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __sched_getaffinity, #function
-    .globl __sched_getaffinity
-    .align 4
-    .fnstart
-
-__sched_getaffinity:
+ENTRY(__sched_getaffinity)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_getaffinity
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__sched_getaffinity)
diff --git a/libc/arch-arm/syscalls/__set_tls.S b/libc/arch-arm/syscalls/__set_tls.S
index f6a097f..cf5d6b6 100644
--- a/libc/arch-arm/syscalls/__set_tls.S
+++ b/libc/arch-arm/syscalls/__set_tls.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __set_tls, #function
-    .globl __set_tls
-    .align 4
-    .fnstart
-
-__set_tls:
+ENTRY(__set_tls)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ARM_set_tls
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__set_tls)
diff --git a/libc/arch-arm/syscalls/__setresuid.S b/libc/arch-arm/syscalls/__setresuid.S
index 7710772..d5053ba 100644
--- a/libc/arch-arm/syscalls/__setresuid.S
+++ b/libc/arch-arm/syscalls/__setresuid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __setresuid, #function
-    .globl __setresuid
-    .align 4
-    .fnstart
-
-__setresuid:
+ENTRY(__setresuid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setresuid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__setresuid)
diff --git a/libc/arch-arm/syscalls/__setreuid.S b/libc/arch-arm/syscalls/__setreuid.S
index 0c68866..9cd51f6 100644
--- a/libc/arch-arm/syscalls/__setreuid.S
+++ b/libc/arch-arm/syscalls/__setreuid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __setreuid, #function
-    .globl __setreuid
-    .align 4
-    .fnstart
-
-__setreuid:
+ENTRY(__setreuid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setreuid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__setreuid)
diff --git a/libc/arch-arm/syscalls/__setuid.S b/libc/arch-arm/syscalls/__setuid.S
index efc6e56..88dc58e 100644
--- a/libc/arch-arm/syscalls/__setuid.S
+++ b/libc/arch-arm/syscalls/__setuid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __setuid, #function
-    .globl __setuid
-    .align 4
-    .fnstart
-
-__setuid:
+ENTRY(__setuid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setuid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__setuid)
diff --git a/libc/arch-arm/syscalls/__sigsuspend.S b/libc/arch-arm/syscalls/__sigsuspend.S
index 39416f1..1ececb7 100644
--- a/libc/arch-arm/syscalls/__sigsuspend.S
+++ b/libc/arch-arm/syscalls/__sigsuspend.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __sigsuspend, #function
-    .globl __sigsuspend
-    .align 4
-    .fnstart
-
-__sigsuspend:
+ENTRY(__sigsuspend)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sigsuspend
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__sigsuspend)
diff --git a/libc/arch-arm/syscalls/__statfs64.S b/libc/arch-arm/syscalls/__statfs64.S
index f602637..4afef71 100644
--- a/libc/arch-arm/syscalls/__statfs64.S
+++ b/libc/arch-arm/syscalls/__statfs64.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __statfs64, #function
-    .globl __statfs64
-    .align 4
-    .fnstart
-
-__statfs64:
+ENTRY(__statfs64)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_statfs64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__statfs64)
diff --git a/libc/arch-arm/syscalls/__sys_clone.S b/libc/arch-arm/syscalls/__sys_clone.S
index 9fe2641..48046bc 100644
--- a/libc/arch-arm/syscalls/__sys_clone.S
+++ b/libc/arch-arm/syscalls/__sys_clone.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __sys_clone, #function
-    .globl __sys_clone
-    .align 4
-    .fnstart
-
-__sys_clone:
+ENTRY(__sys_clone)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__sys_clone)
diff --git a/libc/arch-arm/syscalls/__syslog.S b/libc/arch-arm/syscalls/__syslog.S
index 3318d76..6dbe745 100644
--- a/libc/arch-arm/syscalls/__syslog.S
+++ b/libc/arch-arm/syscalls/__syslog.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __syslog, #function
-    .globl __syslog
-    .align 4
-    .fnstart
-
-__syslog:
+ENTRY(__syslog)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_syslog
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__syslog)
diff --git a/libc/arch-arm/syscalls/__timer_create.S b/libc/arch-arm/syscalls/__timer_create.S
index 5bc3966..c547137 100644
--- a/libc/arch-arm/syscalls/__timer_create.S
+++ b/libc/arch-arm/syscalls/__timer_create.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __timer_create, #function
-    .globl __timer_create
-    .align 4
-    .fnstart
-
-__timer_create:
+ENTRY(__timer_create)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_timer_create
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__timer_create)
diff --git a/libc/arch-arm/syscalls/__timer_delete.S b/libc/arch-arm/syscalls/__timer_delete.S
index 4ddee01..ca2e0a3 100644
--- a/libc/arch-arm/syscalls/__timer_delete.S
+++ b/libc/arch-arm/syscalls/__timer_delete.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __timer_delete, #function
-    .globl __timer_delete
-    .align 4
-    .fnstart
-
-__timer_delete:
+ENTRY(__timer_delete)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_timer_delete
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__timer_delete)
diff --git a/libc/arch-arm/syscalls/__timer_getoverrun.S b/libc/arch-arm/syscalls/__timer_getoverrun.S
index fb0c87d..b0f18e7 100644
--- a/libc/arch-arm/syscalls/__timer_getoverrun.S
+++ b/libc/arch-arm/syscalls/__timer_getoverrun.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __timer_getoverrun, #function
-    .globl __timer_getoverrun
-    .align 4
-    .fnstart
-
-__timer_getoverrun:
+ENTRY(__timer_getoverrun)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_timer_getoverrun
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__timer_getoverrun)
diff --git a/libc/arch-arm/syscalls/__timer_gettime.S b/libc/arch-arm/syscalls/__timer_gettime.S
index 9d6e446..c172602 100644
--- a/libc/arch-arm/syscalls/__timer_gettime.S
+++ b/libc/arch-arm/syscalls/__timer_gettime.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __timer_gettime, #function
-    .globl __timer_gettime
-    .align 4
-    .fnstart
-
-__timer_gettime:
+ENTRY(__timer_gettime)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_timer_gettime
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__timer_gettime)
diff --git a/libc/arch-arm/syscalls/__timer_settime.S b/libc/arch-arm/syscalls/__timer_settime.S
index a7be132..8220440 100644
--- a/libc/arch-arm/syscalls/__timer_settime.S
+++ b/libc/arch-arm/syscalls/__timer_settime.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __timer_settime, #function
-    .globl __timer_settime
-    .align 4
-    .fnstart
-
-__timer_settime:
+ENTRY(__timer_settime)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_timer_settime
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__timer_settime)
diff --git a/libc/arch-arm/syscalls/__wait4.S b/libc/arch-arm/syscalls/__wait4.S
index 9670177..fa34502 100644
--- a/libc/arch-arm/syscalls/__wait4.S
+++ b/libc/arch-arm/syscalls/__wait4.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __wait4, #function
-    .globl __wait4
-    .align 4
-    .fnstart
-
-__wait4:
+ENTRY(__wait4)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_wait4
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__wait4)
diff --git a/libc/arch-arm/syscalls/__waitid.S b/libc/arch-arm/syscalls/__waitid.S
index fdd0da3..9950e9c 100644
--- a/libc/arch-arm/syscalls/__waitid.S
+++ b/libc/arch-arm/syscalls/__waitid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type __waitid, #function
-    .globl __waitid
-    .align 4
-    .fnstart
-
-__waitid:
+ENTRY(__waitid)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(__waitid)
diff --git a/libc/arch-arm/syscalls/_exit.S b/libc/arch-arm/syscalls/_exit.S
index e750ca3..77487b5 100644
--- a/libc/arch-arm/syscalls/_exit.S
+++ b/libc/arch-arm/syscalls/_exit.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type _exit, #function
-    .globl _exit
-    .align 4
-    .fnstart
-
-_exit:
+ENTRY(_exit)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_exit_group
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(_exit)
diff --git a/libc/arch-arm/syscalls/_exit_thread.S b/libc/arch-arm/syscalls/_exit_thread.S
index c6f868f..bd16ff1 100644
--- a/libc/arch-arm/syscalls/_exit_thread.S
+++ b/libc/arch-arm/syscalls/_exit_thread.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type _exit_thread, #function
-    .globl _exit_thread
-    .align 4
-    .fnstart
-
-_exit_thread:
+ENTRY(_exit_thread)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_exit
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(_exit_thread)
diff --git a/libc/arch-arm/syscalls/accept.S b/libc/arch-arm/syscalls/accept.S
index 6c32f24..0dcfb0c 100644
--- a/libc/arch-arm/syscalls/accept.S
+++ b/libc/arch-arm/syscalls/accept.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type accept, #function
-    .globl accept
-    .align 4
-    .fnstart
-
-accept:
+ENTRY(accept)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_accept
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(accept)
diff --git a/libc/arch-arm/syscalls/access.S b/libc/arch-arm/syscalls/access.S
index 3639106..cf585a3 100644
--- a/libc/arch-arm/syscalls/access.S
+++ b/libc/arch-arm/syscalls/access.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type access, #function
-    .globl access
-    .align 4
-    .fnstart
-
-access:
+ENTRY(access)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_access
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(access)
diff --git a/libc/arch-arm/syscalls/acct.S b/libc/arch-arm/syscalls/acct.S
index d7d8781..85346e4 100644
--- a/libc/arch-arm/syscalls/acct.S
+++ b/libc/arch-arm/syscalls/acct.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type acct, #function
-    .globl acct
-    .align 4
-    .fnstart
-
-acct:
+ENTRY(acct)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_acct
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(acct)
diff --git a/libc/arch-arm/syscalls/bind.S b/libc/arch-arm/syscalls/bind.S
index 66cc667..85d0471 100644
--- a/libc/arch-arm/syscalls/bind.S
+++ b/libc/arch-arm/syscalls/bind.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type bind, #function
-    .globl bind
-    .align 4
-    .fnstart
-
-bind:
+ENTRY(bind)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_bind
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(bind)
diff --git a/libc/arch-arm/syscalls/cacheflush.S b/libc/arch-arm/syscalls/cacheflush.S
index d7fba90..05b2411 100644
--- a/libc/arch-arm/syscalls/cacheflush.S
+++ b/libc/arch-arm/syscalls/cacheflush.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type cacheflush, #function
-    .globl cacheflush
-    .align 4
-    .fnstart
-
-cacheflush:
+ENTRY(cacheflush)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ARM_cacheflush
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(cacheflush)
diff --git a/libc/arch-arm/syscalls/capget.S b/libc/arch-arm/syscalls/capget.S
index 92082a1..0f3ba31 100644
--- a/libc/arch-arm/syscalls/capget.S
+++ b/libc/arch-arm/syscalls/capget.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type capget, #function
-    .globl capget
-    .align 4
-    .fnstart
-
-capget:
+ENTRY(capget)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_capget
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(capget)
diff --git a/libc/arch-arm/syscalls/capset.S b/libc/arch-arm/syscalls/capset.S
index 8a169ed..2254db2 100644
--- a/libc/arch-arm/syscalls/capset.S
+++ b/libc/arch-arm/syscalls/capset.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type capset, #function
-    .globl capset
-    .align 4
-    .fnstart
-
-capset:
+ENTRY(capset)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_capset
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(capset)
diff --git a/libc/arch-arm/syscalls/chdir.S b/libc/arch-arm/syscalls/chdir.S
index ff4ec68..57d6b13 100644
--- a/libc/arch-arm/syscalls/chdir.S
+++ b/libc/arch-arm/syscalls/chdir.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type chdir, #function
-    .globl chdir
-    .align 4
-    .fnstart
-
-chdir:
+ENTRY(chdir)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_chdir
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(chdir)
diff --git a/libc/arch-arm/syscalls/chmod.S b/libc/arch-arm/syscalls/chmod.S
index 56e43c5..8909c6f 100644
--- a/libc/arch-arm/syscalls/chmod.S
+++ b/libc/arch-arm/syscalls/chmod.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type chmod, #function
-    .globl chmod
-    .align 4
-    .fnstart
-
-chmod:
+ENTRY(chmod)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_chmod
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(chmod)
diff --git a/libc/arch-arm/syscalls/chown.S b/libc/arch-arm/syscalls/chown.S
index 1d3032f..cbbd8a8 100644
--- a/libc/arch-arm/syscalls/chown.S
+++ b/libc/arch-arm/syscalls/chown.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type chown, #function
-    .globl chown
-    .align 4
-    .fnstart
-
-chown:
+ENTRY(chown)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_chown32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(chown)
diff --git a/libc/arch-arm/syscalls/chroot.S b/libc/arch-arm/syscalls/chroot.S
index c063d8b..a679172 100644
--- a/libc/arch-arm/syscalls/chroot.S
+++ b/libc/arch-arm/syscalls/chroot.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type chroot, #function
-    .globl chroot
-    .align 4
-    .fnstart
-
-chroot:
+ENTRY(chroot)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_chroot
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(chroot)
diff --git a/libc/arch-arm/syscalls/clock_getres.S b/libc/arch-arm/syscalls/clock_getres.S
index 6fdbe37..705f296 100644
--- a/libc/arch-arm/syscalls/clock_getres.S
+++ b/libc/arch-arm/syscalls/clock_getres.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type clock_getres, #function
-    .globl clock_getres
-    .align 4
-    .fnstart
-
-clock_getres:
+ENTRY(clock_getres)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_clock_getres
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(clock_getres)
diff --git a/libc/arch-arm/syscalls/clock_gettime.S b/libc/arch-arm/syscalls/clock_gettime.S
index 8941b23..a9ab41f 100644
--- a/libc/arch-arm/syscalls/clock_gettime.S
+++ b/libc/arch-arm/syscalls/clock_gettime.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type clock_gettime, #function
-    .globl clock_gettime
-    .align 4
-    .fnstart
-
-clock_gettime:
+ENTRY(clock_gettime)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_clock_gettime
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(clock_gettime)
diff --git a/libc/arch-arm/syscalls/clock_nanosleep.S b/libc/arch-arm/syscalls/clock_nanosleep.S
index 2c10151..f8e7f73 100644
--- a/libc/arch-arm/syscalls/clock_nanosleep.S
+++ b/libc/arch-arm/syscalls/clock_nanosleep.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type clock_nanosleep, #function
-    .globl clock_nanosleep
-    .align 4
-    .fnstart
-
-clock_nanosleep:
+ENTRY(clock_nanosleep)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_clock_nanosleep
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(clock_nanosleep)
diff --git a/libc/arch-arm/syscalls/clock_settime.S b/libc/arch-arm/syscalls/clock_settime.S
index 94614f2..a996441 100644
--- a/libc/arch-arm/syscalls/clock_settime.S
+++ b/libc/arch-arm/syscalls/clock_settime.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type clock_settime, #function
-    .globl clock_settime
-    .align 4
-    .fnstart
-
-clock_settime:
+ENTRY(clock_settime)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_clock_settime
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(clock_settime)
diff --git a/libc/arch-arm/syscalls/close.S b/libc/arch-arm/syscalls/close.S
index e54b100..36d78a4 100644
--- a/libc/arch-arm/syscalls/close.S
+++ b/libc/arch-arm/syscalls/close.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type close, #function
-    .globl close
-    .align 4
-    .fnstart
-
-close:
+ENTRY(close)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_close
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(close)
diff --git a/libc/arch-arm/syscalls/connect.S b/libc/arch-arm/syscalls/connect.S
index b05d6a2..ea14c17 100644
--- a/libc/arch-arm/syscalls/connect.S
+++ b/libc/arch-arm/syscalls/connect.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type connect, #function
-    .globl connect
-    .align 4
-    .fnstart
-
-connect:
+ENTRY(connect)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_connect
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(connect)
diff --git a/libc/arch-arm/syscalls/delete_module.S b/libc/arch-arm/syscalls/delete_module.S
index 69d5966..df8aae0 100644
--- a/libc/arch-arm/syscalls/delete_module.S
+++ b/libc/arch-arm/syscalls/delete_module.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type delete_module, #function
-    .globl delete_module
-    .align 4
-    .fnstart
-
-delete_module:
+ENTRY(delete_module)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_delete_module
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(delete_module)
diff --git a/libc/arch-arm/syscalls/dup.S b/libc/arch-arm/syscalls/dup.S
index 5a5d050..b0c1cda 100644
--- a/libc/arch-arm/syscalls/dup.S
+++ b/libc/arch-arm/syscalls/dup.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type dup, #function
-    .globl dup
-    .align 4
-    .fnstart
-
-dup:
+ENTRY(dup)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_dup
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(dup)
diff --git a/libc/arch-arm/syscalls/dup2.S b/libc/arch-arm/syscalls/dup2.S
index 1ced458..ed346d9 100644
--- a/libc/arch-arm/syscalls/dup2.S
+++ b/libc/arch-arm/syscalls/dup2.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type dup2, #function
-    .globl dup2
-    .align 4
-    .fnstart
-
-dup2:
+ENTRY(dup2)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_dup2
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(dup2)
diff --git a/libc/arch-arm/syscalls/epoll_create.S b/libc/arch-arm/syscalls/epoll_create.S
index 389d4ba..1aab606 100644
--- a/libc/arch-arm/syscalls/epoll_create.S
+++ b/libc/arch-arm/syscalls/epoll_create.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type epoll_create, #function
-    .globl epoll_create
-    .align 4
-    .fnstart
-
-epoll_create:
+ENTRY(epoll_create)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_epoll_create
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(epoll_create)
diff --git a/libc/arch-arm/syscalls/epoll_ctl.S b/libc/arch-arm/syscalls/epoll_ctl.S
index 906d80d..c0ecf06 100644
--- a/libc/arch-arm/syscalls/epoll_ctl.S
+++ b/libc/arch-arm/syscalls/epoll_ctl.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type epoll_ctl, #function
-    .globl epoll_ctl
-    .align 4
-    .fnstart
-
-epoll_ctl:
+ENTRY(epoll_ctl)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_epoll_ctl
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(epoll_ctl)
diff --git a/libc/arch-arm/syscalls/epoll_wait.S b/libc/arch-arm/syscalls/epoll_wait.S
index af74878..3535001 100644
--- a/libc/arch-arm/syscalls/epoll_wait.S
+++ b/libc/arch-arm/syscalls/epoll_wait.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type epoll_wait, #function
-    .globl epoll_wait
-    .align 4
-    .fnstart
-
-epoll_wait:
+ENTRY(epoll_wait)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_epoll_wait
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(epoll_wait)
diff --git a/libc/arch-arm/syscalls/eventfd.S b/libc/arch-arm/syscalls/eventfd.S
index 8d2cce9..857b6c0 100644
--- a/libc/arch-arm/syscalls/eventfd.S
+++ b/libc/arch-arm/syscalls/eventfd.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type eventfd, #function
-    .globl eventfd
-    .align 4
-    .fnstart
-
-eventfd:
+ENTRY(eventfd)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_eventfd2
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(eventfd)
diff --git a/libc/arch-arm/syscalls/execve.S b/libc/arch-arm/syscalls/execve.S
index 2309a1b..1a66167 100644
--- a/libc/arch-arm/syscalls/execve.S
+++ b/libc/arch-arm/syscalls/execve.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type execve, #function
-    .globl execve
-    .align 4
-    .fnstart
-
-execve:
+ENTRY(execve)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_execve
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(execve)
diff --git a/libc/arch-arm/syscalls/fchdir.S b/libc/arch-arm/syscalls/fchdir.S
index 441f3e2..7d80cf0 100644
--- a/libc/arch-arm/syscalls/fchdir.S
+++ b/libc/arch-arm/syscalls/fchdir.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fchdir, #function
-    .globl fchdir
-    .align 4
-    .fnstart
-
-fchdir:
+ENTRY(fchdir)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fchdir
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fchdir)
diff --git a/libc/arch-arm/syscalls/fchmod.S b/libc/arch-arm/syscalls/fchmod.S
index b5f1983..bc8e643 100644
--- a/libc/arch-arm/syscalls/fchmod.S
+++ b/libc/arch-arm/syscalls/fchmod.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fchmod, #function
-    .globl fchmod
-    .align 4
-    .fnstart
-
-fchmod:
+ENTRY(fchmod)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fchmod
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fchmod)
diff --git a/libc/arch-arm/syscalls/fchmodat.S b/libc/arch-arm/syscalls/fchmodat.S
index d6e3916..ac782e5 100644
--- a/libc/arch-arm/syscalls/fchmodat.S
+++ b/libc/arch-arm/syscalls/fchmodat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fchmodat, #function
-    .globl fchmodat
-    .align 4
-    .fnstart
-
-fchmodat:
+ENTRY(fchmodat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fchmodat
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fchmodat)
diff --git a/libc/arch-arm/syscalls/fchown.S b/libc/arch-arm/syscalls/fchown.S
index 7887296..22d7fd2 100644
--- a/libc/arch-arm/syscalls/fchown.S
+++ b/libc/arch-arm/syscalls/fchown.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fchown, #function
-    .globl fchown
-    .align 4
-    .fnstart
-
-fchown:
+ENTRY(fchown)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fchown32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fchown)
diff --git a/libc/arch-arm/syscalls/fchownat.S b/libc/arch-arm/syscalls/fchownat.S
index 2279d2c..1482832 100644
--- a/libc/arch-arm/syscalls/fchownat.S
+++ b/libc/arch-arm/syscalls/fchownat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fchownat, #function
-    .globl fchownat
-    .align 4
-    .fnstart
-
-fchownat:
+ENTRY(fchownat)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fchownat)
diff --git a/libc/arch-arm/syscalls/fdatasync.S b/libc/arch-arm/syscalls/fdatasync.S
index 5981a80..d41e823 100644
--- a/libc/arch-arm/syscalls/fdatasync.S
+++ b/libc/arch-arm/syscalls/fdatasync.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fdatasync, #function
-    .globl fdatasync
-    .align 4
-    .fnstart
-
-fdatasync:
+ENTRY(fdatasync)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fdatasync
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fdatasync)
diff --git a/libc/arch-arm/syscalls/flock.S b/libc/arch-arm/syscalls/flock.S
index 22e391c..c0d2844 100644
--- a/libc/arch-arm/syscalls/flock.S
+++ b/libc/arch-arm/syscalls/flock.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type flock, #function
-    .globl flock
-    .align 4
-    .fnstart
-
-flock:
+ENTRY(flock)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_flock
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(flock)
diff --git a/libc/arch-arm/syscalls/fstat.S b/libc/arch-arm/syscalls/fstat.S
index ef1752f..e75649f 100644
--- a/libc/arch-arm/syscalls/fstat.S
+++ b/libc/arch-arm/syscalls/fstat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fstat, #function
-    .globl fstat
-    .align 4
-    .fnstart
-
-fstat:
+ENTRY(fstat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fstat64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fstat)
diff --git a/libc/arch-arm/syscalls/fstatat.S b/libc/arch-arm/syscalls/fstatat.S
index a3dd74a..065ef9f 100644
--- a/libc/arch-arm/syscalls/fstatat.S
+++ b/libc/arch-arm/syscalls/fstatat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fstatat, #function
-    .globl fstatat
-    .align 4
-    .fnstart
-
-fstatat:
+ENTRY(fstatat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fstatat64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fstatat)
diff --git a/libc/arch-arm/syscalls/fsync.S b/libc/arch-arm/syscalls/fsync.S
index 588dfa3..f0de9ca 100644
--- a/libc/arch-arm/syscalls/fsync.S
+++ b/libc/arch-arm/syscalls/fsync.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type fsync, #function
-    .globl fsync
-    .align 4
-    .fnstart
-
-fsync:
+ENTRY(fsync)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_fsync
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(fsync)
diff --git a/libc/arch-arm/syscalls/ftruncate.S b/libc/arch-arm/syscalls/ftruncate.S
index 2d60b41..2e4a308 100644
--- a/libc/arch-arm/syscalls/ftruncate.S
+++ b/libc/arch-arm/syscalls/ftruncate.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type ftruncate, #function
-    .globl ftruncate
-    .align 4
-    .fnstart
-
-ftruncate:
+ENTRY(ftruncate)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ftruncate
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(ftruncate)
diff --git a/libc/arch-arm/syscalls/ftruncate64.S b/libc/arch-arm/syscalls/ftruncate64.S
index 37b4744..7c7b80b 100644
--- a/libc/arch-arm/syscalls/ftruncate64.S
+++ b/libc/arch-arm/syscalls/ftruncate64.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type ftruncate64, #function
-    .globl ftruncate64
-    .align 4
-    .fnstart
-
-ftruncate64:
+ENTRY(ftruncate64)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ftruncate64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(ftruncate64)
diff --git a/libc/arch-arm/syscalls/futex.S b/libc/arch-arm/syscalls/futex.S
index c2d4b7e..47219e3 100644
--- a/libc/arch-arm/syscalls/futex.S
+++ b/libc/arch-arm/syscalls/futex.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type futex, #function
-    .globl futex
-    .align 4
-    .fnstart
-
-futex:
+ENTRY(futex)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(futex)
diff --git a/libc/arch-arm/syscalls/getdents.S b/libc/arch-arm/syscalls/getdents.S
index 312aa0d..82b6e4c 100644
--- a/libc/arch-arm/syscalls/getdents.S
+++ b/libc/arch-arm/syscalls/getdents.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getdents, #function
-    .globl getdents
-    .align 4
-    .fnstart
-
-getdents:
+ENTRY(getdents)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getdents64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getdents)
diff --git a/libc/arch-arm/syscalls/getegid.S b/libc/arch-arm/syscalls/getegid.S
index 26723bf..27ea272 100644
--- a/libc/arch-arm/syscalls/getegid.S
+++ b/libc/arch-arm/syscalls/getegid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getegid, #function
-    .globl getegid
-    .align 4
-    .fnstart
-
-getegid:
+ENTRY(getegid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getegid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getegid)
diff --git a/libc/arch-arm/syscalls/geteuid.S b/libc/arch-arm/syscalls/geteuid.S
index d86959f..d4c9cd1 100644
--- a/libc/arch-arm/syscalls/geteuid.S
+++ b/libc/arch-arm/syscalls/geteuid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type geteuid, #function
-    .globl geteuid
-    .align 4
-    .fnstart
-
-geteuid:
+ENTRY(geteuid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_geteuid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(geteuid)
diff --git a/libc/arch-arm/syscalls/getgid.S b/libc/arch-arm/syscalls/getgid.S
index 1502fdf..9a40fe6 100644
--- a/libc/arch-arm/syscalls/getgid.S
+++ b/libc/arch-arm/syscalls/getgid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getgid, #function
-    .globl getgid
-    .align 4
-    .fnstart
-
-getgid:
+ENTRY(getgid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getgid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getgid)
diff --git a/libc/arch-arm/syscalls/getgroups.S b/libc/arch-arm/syscalls/getgroups.S
index e68fe05..2995cc8 100644
--- a/libc/arch-arm/syscalls/getgroups.S
+++ b/libc/arch-arm/syscalls/getgroups.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getgroups, #function
-    .globl getgroups
-    .align 4
-    .fnstart
-
-getgroups:
+ENTRY(getgroups)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getgroups32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getgroups)
diff --git a/libc/arch-arm/syscalls/getitimer.S b/libc/arch-arm/syscalls/getitimer.S
index 404c2fc..a3f1423 100644
--- a/libc/arch-arm/syscalls/getitimer.S
+++ b/libc/arch-arm/syscalls/getitimer.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getitimer, #function
-    .globl getitimer
-    .align 4
-    .fnstart
-
-getitimer:
+ENTRY(getitimer)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getitimer
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getitimer)
diff --git a/libc/arch-arm/syscalls/getpeername.S b/libc/arch-arm/syscalls/getpeername.S
index f04ec32..f90c344 100644
--- a/libc/arch-arm/syscalls/getpeername.S
+++ b/libc/arch-arm/syscalls/getpeername.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getpeername, #function
-    .globl getpeername
-    .align 4
-    .fnstart
-
-getpeername:
+ENTRY(getpeername)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getpeername
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getpeername)
diff --git a/libc/arch-arm/syscalls/getpgid.S b/libc/arch-arm/syscalls/getpgid.S
index 9397458..0fc57a4 100644
--- a/libc/arch-arm/syscalls/getpgid.S
+++ b/libc/arch-arm/syscalls/getpgid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getpgid, #function
-    .globl getpgid
-    .align 4
-    .fnstart
-
-getpgid:
+ENTRY(getpgid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getpgid
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getpgid)
diff --git a/libc/arch-arm/syscalls/getpid.S b/libc/arch-arm/syscalls/getpid.S
index 1be793a..440ae9b 100644
--- a/libc/arch-arm/syscalls/getpid.S
+++ b/libc/arch-arm/syscalls/getpid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getpid, #function
-    .globl getpid
-    .align 4
-    .fnstart
-
-getpid:
+ENTRY(getpid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getpid
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getpid)
diff --git a/libc/arch-arm/syscalls/getppid.S b/libc/arch-arm/syscalls/getppid.S
index 14185b9..3eb1b86 100644
--- a/libc/arch-arm/syscalls/getppid.S
+++ b/libc/arch-arm/syscalls/getppid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getppid, #function
-    .globl getppid
-    .align 4
-    .fnstart
-
-getppid:
+ENTRY(getppid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getppid
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getppid)
diff --git a/libc/arch-arm/syscalls/getresgid.S b/libc/arch-arm/syscalls/getresgid.S
index 90c90df..a022341 100644
--- a/libc/arch-arm/syscalls/getresgid.S
+++ b/libc/arch-arm/syscalls/getresgid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getresgid, #function
-    .globl getresgid
-    .align 4
-    .fnstart
-
-getresgid:
+ENTRY(getresgid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getresgid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getresgid)
diff --git a/libc/arch-arm/syscalls/getresuid.S b/libc/arch-arm/syscalls/getresuid.S
index e067ac0..23112a6 100644
--- a/libc/arch-arm/syscalls/getresuid.S
+++ b/libc/arch-arm/syscalls/getresuid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getresuid, #function
-    .globl getresuid
-    .align 4
-    .fnstart
-
-getresuid:
+ENTRY(getresuid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getresuid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getresuid)
diff --git a/libc/arch-arm/syscalls/getrlimit.S b/libc/arch-arm/syscalls/getrlimit.S
index 79c1357..8b1c089 100644
--- a/libc/arch-arm/syscalls/getrlimit.S
+++ b/libc/arch-arm/syscalls/getrlimit.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getrlimit, #function
-    .globl getrlimit
-    .align 4
-    .fnstart
-
-getrlimit:
+ENTRY(getrlimit)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ugetrlimit
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getrlimit)
diff --git a/libc/arch-arm/syscalls/getrusage.S b/libc/arch-arm/syscalls/getrusage.S
index 81db153..74fa20b 100644
--- a/libc/arch-arm/syscalls/getrusage.S
+++ b/libc/arch-arm/syscalls/getrusage.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getrusage, #function
-    .globl getrusage
-    .align 4
-    .fnstart
-
-getrusage:
+ENTRY(getrusage)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getrusage
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getrusage)
diff --git a/libc/arch-arm/syscalls/getsockname.S b/libc/arch-arm/syscalls/getsockname.S
index 2ae0876..99470e2 100644
--- a/libc/arch-arm/syscalls/getsockname.S
+++ b/libc/arch-arm/syscalls/getsockname.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getsockname, #function
-    .globl getsockname
-    .align 4
-    .fnstart
-
-getsockname:
+ENTRY(getsockname)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getsockname
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getsockname)
diff --git a/libc/arch-arm/syscalls/getsockopt.S b/libc/arch-arm/syscalls/getsockopt.S
index 76e1b11..d52f441 100644
--- a/libc/arch-arm/syscalls/getsockopt.S
+++ b/libc/arch-arm/syscalls/getsockopt.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getsockopt, #function
-    .globl getsockopt
-    .align 4
-    .fnstart
-
-getsockopt:
+ENTRY(getsockopt)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getsockopt)
diff --git a/libc/arch-arm/syscalls/gettid.S b/libc/arch-arm/syscalls/gettid.S
index e5da45d..f5b15be 100644
--- a/libc/arch-arm/syscalls/gettid.S
+++ b/libc/arch-arm/syscalls/gettid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type gettid, #function
-    .globl gettid
-    .align 4
-    .fnstart
-
-gettid:
+ENTRY(gettid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_gettid
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(gettid)
diff --git a/libc/arch-arm/syscalls/gettimeofday.S b/libc/arch-arm/syscalls/gettimeofday.S
index ba759f2..9b47daf 100644
--- a/libc/arch-arm/syscalls/gettimeofday.S
+++ b/libc/arch-arm/syscalls/gettimeofday.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type gettimeofday, #function
-    .globl gettimeofday
-    .align 4
-    .fnstart
-
-gettimeofday:
+ENTRY(gettimeofday)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_gettimeofday
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(gettimeofday)
diff --git a/libc/arch-arm/syscalls/getuid.S b/libc/arch-arm/syscalls/getuid.S
index 68c3057..053dc31 100644
--- a/libc/arch-arm/syscalls/getuid.S
+++ b/libc/arch-arm/syscalls/getuid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type getuid, #function
-    .globl getuid
-    .align 4
-    .fnstart
-
-getuid:
+ENTRY(getuid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_getuid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(getuid)
diff --git a/libc/arch-arm/syscalls/init_module.S b/libc/arch-arm/syscalls/init_module.S
index 4e9cd1f..73beb46 100644
--- a/libc/arch-arm/syscalls/init_module.S
+++ b/libc/arch-arm/syscalls/init_module.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type init_module, #function
-    .globl init_module
-    .align 4
-    .fnstart
-
-init_module:
+ENTRY(init_module)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_init_module
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(init_module)
diff --git a/libc/arch-arm/syscalls/inotify_add_watch.S b/libc/arch-arm/syscalls/inotify_add_watch.S
index 823f321..da4a296 100644
--- a/libc/arch-arm/syscalls/inotify_add_watch.S
+++ b/libc/arch-arm/syscalls/inotify_add_watch.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type inotify_add_watch, #function
-    .globl inotify_add_watch
-    .align 4
-    .fnstart
-
-inotify_add_watch:
+ENTRY(inotify_add_watch)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_inotify_add_watch
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(inotify_add_watch)
diff --git a/libc/arch-arm/syscalls/inotify_init.S b/libc/arch-arm/syscalls/inotify_init.S
index c612b83..bac124c 100644
--- a/libc/arch-arm/syscalls/inotify_init.S
+++ b/libc/arch-arm/syscalls/inotify_init.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type inotify_init, #function
-    .globl inotify_init
-    .align 4
-    .fnstart
-
-inotify_init:
+ENTRY(inotify_init)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_inotify_init
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(inotify_init)
diff --git a/libc/arch-arm/syscalls/inotify_rm_watch.S b/libc/arch-arm/syscalls/inotify_rm_watch.S
index 6c416d6..f576480 100644
--- a/libc/arch-arm/syscalls/inotify_rm_watch.S
+++ b/libc/arch-arm/syscalls/inotify_rm_watch.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type inotify_rm_watch, #function
-    .globl inotify_rm_watch
-    .align 4
-    .fnstart
-
-inotify_rm_watch:
+ENTRY(inotify_rm_watch)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_inotify_rm_watch
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(inotify_rm_watch)
diff --git a/libc/arch-arm/syscalls/ioprio_get.S b/libc/arch-arm/syscalls/ioprio_get.S
index d686e98..13739dc 100644
--- a/libc/arch-arm/syscalls/ioprio_get.S
+++ b/libc/arch-arm/syscalls/ioprio_get.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type ioprio_get, #function
-    .globl ioprio_get
-    .align 4
-    .fnstart
-
-ioprio_get:
+ENTRY(ioprio_get)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ioprio_get
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(ioprio_get)
diff --git a/libc/arch-arm/syscalls/ioprio_set.S b/libc/arch-arm/syscalls/ioprio_set.S
index a812557..7e40ee5 100644
--- a/libc/arch-arm/syscalls/ioprio_set.S
+++ b/libc/arch-arm/syscalls/ioprio_set.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type ioprio_set, #function
-    .globl ioprio_set
-    .align 4
-    .fnstart
-
-ioprio_set:
+ENTRY(ioprio_set)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_ioprio_set
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(ioprio_set)
diff --git a/libc/arch-arm/syscalls/klogctl.S b/libc/arch-arm/syscalls/klogctl.S
index aee3474..5434b30 100644
--- a/libc/arch-arm/syscalls/klogctl.S
+++ b/libc/arch-arm/syscalls/klogctl.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type klogctl, #function
-    .globl klogctl
-    .align 4
-    .fnstart
-
-klogctl:
+ENTRY(klogctl)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_syslog
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(klogctl)
diff --git a/libc/arch-arm/syscalls/lchown.S b/libc/arch-arm/syscalls/lchown.S
index f8ee793..789e5af 100644
--- a/libc/arch-arm/syscalls/lchown.S
+++ b/libc/arch-arm/syscalls/lchown.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type lchown, #function
-    .globl lchown
-    .align 4
-    .fnstart
-
-lchown:
+ENTRY(lchown)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_lchown32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(lchown)
diff --git a/libc/arch-arm/syscalls/link.S b/libc/arch-arm/syscalls/link.S
index f368595..ccf0a1d 100644
--- a/libc/arch-arm/syscalls/link.S
+++ b/libc/arch-arm/syscalls/link.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type link, #function
-    .globl link
-    .align 4
-    .fnstart
-
-link:
+ENTRY(link)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_link
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(link)
diff --git a/libc/arch-arm/syscalls/listen.S b/libc/arch-arm/syscalls/listen.S
index d1a8a6e..bb7f7a4 100644
--- a/libc/arch-arm/syscalls/listen.S
+++ b/libc/arch-arm/syscalls/listen.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type listen, #function
-    .globl listen
-    .align 4
-    .fnstart
-
-listen:
+ENTRY(listen)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_listen
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(listen)
diff --git a/libc/arch-arm/syscalls/lseek.S b/libc/arch-arm/syscalls/lseek.S
index 47bf06a..2cd0853 100644
--- a/libc/arch-arm/syscalls/lseek.S
+++ b/libc/arch-arm/syscalls/lseek.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type lseek, #function
-    .globl lseek
-    .align 4
-    .fnstart
-
-lseek:
+ENTRY(lseek)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_lseek
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(lseek)
diff --git a/libc/arch-arm/syscalls/lstat.S b/libc/arch-arm/syscalls/lstat.S
index f19d12f..dbecefe 100644
--- a/libc/arch-arm/syscalls/lstat.S
+++ b/libc/arch-arm/syscalls/lstat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type lstat, #function
-    .globl lstat
-    .align 4
-    .fnstart
-
-lstat:
+ENTRY(lstat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_lstat64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(lstat)
diff --git a/libc/arch-arm/syscalls/madvise.S b/libc/arch-arm/syscalls/madvise.S
index a992f46..024476f 100644
--- a/libc/arch-arm/syscalls/madvise.S
+++ b/libc/arch-arm/syscalls/madvise.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type madvise, #function
-    .globl madvise
-    .align 4
-    .fnstart
-
-madvise:
+ENTRY(madvise)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_madvise
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(madvise)
diff --git a/libc/arch-arm/syscalls/mincore.S b/libc/arch-arm/syscalls/mincore.S
index c2b5432..7a2a378 100644
--- a/libc/arch-arm/syscalls/mincore.S
+++ b/libc/arch-arm/syscalls/mincore.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type mincore, #function
-    .globl mincore
-    .align 4
-    .fnstart
-
-mincore:
+ENTRY(mincore)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_mincore
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(mincore)
diff --git a/libc/arch-arm/syscalls/mkdir.S b/libc/arch-arm/syscalls/mkdir.S
index ec8372d..e51beab 100644
--- a/libc/arch-arm/syscalls/mkdir.S
+++ b/libc/arch-arm/syscalls/mkdir.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type mkdir, #function
-    .globl mkdir
-    .align 4
-    .fnstart
-
-mkdir:
+ENTRY(mkdir)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_mkdir
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(mkdir)
diff --git a/libc/arch-arm/syscalls/mkdirat.S b/libc/arch-arm/syscalls/mkdirat.S
index e377c66..52f0be3 100644
--- a/libc/arch-arm/syscalls/mkdirat.S
+++ b/libc/arch-arm/syscalls/mkdirat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type mkdirat, #function
-    .globl mkdirat
-    .align 4
-    .fnstart
-
-mkdirat:
+ENTRY(mkdirat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_mkdirat
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(mkdirat)
diff --git a/libc/arch-arm/syscalls/mknod.S b/libc/arch-arm/syscalls/mknod.S
index 0a8b6fa..ac6d976 100644
--- a/libc/arch-arm/syscalls/mknod.S
+++ b/libc/arch-arm/syscalls/mknod.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type mknod, #function
-    .globl mknod
-    .align 4
-    .fnstart
-
-mknod:
+ENTRY(mknod)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_mknod
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(mknod)
diff --git a/libc/arch-arm/syscalls/mlock.S b/libc/arch-arm/syscalls/mlock.S
index 4eff70b..ad140d1 100644
--- a/libc/arch-arm/syscalls/mlock.S
+++ b/libc/arch-arm/syscalls/mlock.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type mlock, #function
-    .globl mlock
-    .align 4
-    .fnstart
-
-mlock:
+ENTRY(mlock)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_mlock
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(mlock)
diff --git a/libc/arch-arm/syscalls/mount.S b/libc/arch-arm/syscalls/mount.S
index a2b9f1d..eb1624c 100644
--- a/libc/arch-arm/syscalls/mount.S
+++ b/libc/arch-arm/syscalls/mount.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type mount, #function
-    .globl mount
-    .align 4
-    .fnstart
-
-mount:
+ENTRY(mount)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(mount)
diff --git a/libc/arch-arm/syscalls/mprotect.S b/libc/arch-arm/syscalls/mprotect.S
index b10291e..39ae353 100644
--- a/libc/arch-arm/syscalls/mprotect.S
+++ b/libc/arch-arm/syscalls/mprotect.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type mprotect, #function
-    .globl mprotect
-    .align 4
-    .fnstart
-
-mprotect:
+ENTRY(mprotect)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_mprotect
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(mprotect)
diff --git a/libc/arch-arm/syscalls/mremap.S b/libc/arch-arm/syscalls/mremap.S
index 397844a..918f3b7 100644
--- a/libc/arch-arm/syscalls/mremap.S
+++ b/libc/arch-arm/syscalls/mremap.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type mremap, #function
-    .globl mremap
-    .align 4
-    .fnstart
-
-mremap:
+ENTRY(mremap)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_mremap
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(mremap)
diff --git a/libc/arch-arm/syscalls/msync.S b/libc/arch-arm/syscalls/msync.S
index 7ac7cd2..2a5922c 100644
--- a/libc/arch-arm/syscalls/msync.S
+++ b/libc/arch-arm/syscalls/msync.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type msync, #function
-    .globl msync
-    .align 4
-    .fnstart
-
-msync:
+ENTRY(msync)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_msync
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(msync)
diff --git a/libc/arch-arm/syscalls/munlock.S b/libc/arch-arm/syscalls/munlock.S
index 21ee4d2..5a02aaf 100644
--- a/libc/arch-arm/syscalls/munlock.S
+++ b/libc/arch-arm/syscalls/munlock.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type munlock, #function
-    .globl munlock
-    .align 4
-    .fnstart
-
-munlock:
+ENTRY(munlock)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_munlock
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(munlock)
diff --git a/libc/arch-arm/syscalls/munmap.S b/libc/arch-arm/syscalls/munmap.S
index 7765b00..6bb8dd8 100644
--- a/libc/arch-arm/syscalls/munmap.S
+++ b/libc/arch-arm/syscalls/munmap.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type munmap, #function
-    .globl munmap
-    .align 4
-    .fnstart
-
-munmap:
+ENTRY(munmap)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_munmap
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(munmap)
diff --git a/libc/arch-arm/syscalls/nanosleep.S b/libc/arch-arm/syscalls/nanosleep.S
index 1f9b181..af36ced 100644
--- a/libc/arch-arm/syscalls/nanosleep.S
+++ b/libc/arch-arm/syscalls/nanosleep.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type nanosleep, #function
-    .globl nanosleep
-    .align 4
-    .fnstart
-
-nanosleep:
+ENTRY(nanosleep)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_nanosleep
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(nanosleep)
diff --git a/libc/arch-arm/syscalls/pause.S b/libc/arch-arm/syscalls/pause.S
index 3a16ec3..e64f4f3 100644
--- a/libc/arch-arm/syscalls/pause.S
+++ b/libc/arch-arm/syscalls/pause.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type pause, #function
-    .globl pause
-    .align 4
-    .fnstart
-
-pause:
+ENTRY(pause)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_pause
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(pause)
diff --git a/libc/arch-arm/syscalls/pipe.S b/libc/arch-arm/syscalls/pipe.S
index 4edc75e..3968703 100644
--- a/libc/arch-arm/syscalls/pipe.S
+++ b/libc/arch-arm/syscalls/pipe.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type pipe, #function
-    .globl pipe
-    .align 4
-    .fnstart
-
-pipe:
+ENTRY(pipe)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_pipe
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(pipe)
diff --git a/libc/arch-arm/syscalls/pipe2.S b/libc/arch-arm/syscalls/pipe2.S
index df77094..da2ecba 100644
--- a/libc/arch-arm/syscalls/pipe2.S
+++ b/libc/arch-arm/syscalls/pipe2.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type pipe2, #function
-    .globl pipe2
-    .align 4
-    .fnstart
-
-pipe2:
+ENTRY(pipe2)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_pipe2
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(pipe2)
diff --git a/libc/arch-arm/syscalls/poll.S b/libc/arch-arm/syscalls/poll.S
index 14b18e3..4d345ea 100644
--- a/libc/arch-arm/syscalls/poll.S
+++ b/libc/arch-arm/syscalls/poll.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type poll, #function
-    .globl poll
-    .align 4
-    .fnstart
-
-poll:
+ENTRY(poll)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_poll
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(poll)
diff --git a/libc/arch-arm/syscalls/prctl.S b/libc/arch-arm/syscalls/prctl.S
index 0dd417b..009dc54 100644
--- a/libc/arch-arm/syscalls/prctl.S
+++ b/libc/arch-arm/syscalls/prctl.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type prctl, #function
-    .globl prctl
-    .align 4
-    .fnstart
-
-prctl:
+ENTRY(prctl)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(prctl)
diff --git a/libc/arch-arm/syscalls/pread64.S b/libc/arch-arm/syscalls/pread64.S
index a54084c..0090fd3 100644
--- a/libc/arch-arm/syscalls/pread64.S
+++ b/libc/arch-arm/syscalls/pread64.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type pread64, #function
-    .globl pread64
-    .align 4
-    .fnstart
-
-pread64:
+ENTRY(pread64)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(pread64)
diff --git a/libc/arch-arm/syscalls/pwrite64.S b/libc/arch-arm/syscalls/pwrite64.S
index f9d56b2..444d78f 100644
--- a/libc/arch-arm/syscalls/pwrite64.S
+++ b/libc/arch-arm/syscalls/pwrite64.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type pwrite64, #function
-    .globl pwrite64
-    .align 4
-    .fnstart
-
-pwrite64:
+ENTRY(pwrite64)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(pwrite64)
diff --git a/libc/arch-arm/syscalls/read.S b/libc/arch-arm/syscalls/read.S
index da9d81c..c062388 100644
--- a/libc/arch-arm/syscalls/read.S
+++ b/libc/arch-arm/syscalls/read.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type read, #function
-    .globl read
-    .align 4
-    .fnstart
-
-read:
+ENTRY(read)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_read
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(read)
diff --git a/libc/arch-arm/syscalls/readlink.S b/libc/arch-arm/syscalls/readlink.S
index eb8ae8b..7602e61 100644
--- a/libc/arch-arm/syscalls/readlink.S
+++ b/libc/arch-arm/syscalls/readlink.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type readlink, #function
-    .globl readlink
-    .align 4
-    .fnstart
-
-readlink:
+ENTRY(readlink)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_readlink
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(readlink)
diff --git a/libc/arch-arm/syscalls/readv.S b/libc/arch-arm/syscalls/readv.S
index 045648f..e717e61 100644
--- a/libc/arch-arm/syscalls/readv.S
+++ b/libc/arch-arm/syscalls/readv.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type readv, #function
-    .globl readv
-    .align 4
-    .fnstart
-
-readv:
+ENTRY(readv)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_readv
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(readv)
diff --git a/libc/arch-arm/syscalls/recvfrom.S b/libc/arch-arm/syscalls/recvfrom.S
index 344b60d..df6302f 100644
--- a/libc/arch-arm/syscalls/recvfrom.S
+++ b/libc/arch-arm/syscalls/recvfrom.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type recvfrom, #function
-    .globl recvfrom
-    .align 4
-    .fnstart
-
-recvfrom:
+ENTRY(recvfrom)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(recvfrom)
diff --git a/libc/arch-arm/syscalls/recvmsg.S b/libc/arch-arm/syscalls/recvmsg.S
index 0b4b1be..5c168dc 100644
--- a/libc/arch-arm/syscalls/recvmsg.S
+++ b/libc/arch-arm/syscalls/recvmsg.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type recvmsg, #function
-    .globl recvmsg
-    .align 4
-    .fnstart
-
-recvmsg:
+ENTRY(recvmsg)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_recvmsg
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(recvmsg)
diff --git a/libc/arch-arm/syscalls/rename.S b/libc/arch-arm/syscalls/rename.S
index 89f23b4..930ddb6 100644
--- a/libc/arch-arm/syscalls/rename.S
+++ b/libc/arch-arm/syscalls/rename.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type rename, #function
-    .globl rename
-    .align 4
-    .fnstart
-
-rename:
+ENTRY(rename)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_rename
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(rename)
diff --git a/libc/arch-arm/syscalls/renameat.S b/libc/arch-arm/syscalls/renameat.S
index 1807de7..a13c4ee 100644
--- a/libc/arch-arm/syscalls/renameat.S
+++ b/libc/arch-arm/syscalls/renameat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type renameat, #function
-    .globl renameat
-    .align 4
-    .fnstart
-
-renameat:
+ENTRY(renameat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_renameat
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(renameat)
diff --git a/libc/arch-arm/syscalls/rmdir.S b/libc/arch-arm/syscalls/rmdir.S
index ac2f4b7..09a956f 100644
--- a/libc/arch-arm/syscalls/rmdir.S
+++ b/libc/arch-arm/syscalls/rmdir.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type rmdir, #function
-    .globl rmdir
-    .align 4
-    .fnstart
-
-rmdir:
+ENTRY(rmdir)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_rmdir
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(rmdir)
diff --git a/libc/arch-arm/syscalls/sched_get_priority_max.S b/libc/arch-arm/syscalls/sched_get_priority_max.S
index e94ec93..2dea3b7 100644
--- a/libc/arch-arm/syscalls/sched_get_priority_max.S
+++ b/libc/arch-arm/syscalls/sched_get_priority_max.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_get_priority_max, #function
-    .globl sched_get_priority_max
-    .align 4
-    .fnstart
-
-sched_get_priority_max:
+ENTRY(sched_get_priority_max)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_get_priority_max
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_get_priority_max)
diff --git a/libc/arch-arm/syscalls/sched_get_priority_min.S b/libc/arch-arm/syscalls/sched_get_priority_min.S
index e2ae87e..de8b878 100644
--- a/libc/arch-arm/syscalls/sched_get_priority_min.S
+++ b/libc/arch-arm/syscalls/sched_get_priority_min.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_get_priority_min, #function
-    .globl sched_get_priority_min
-    .align 4
-    .fnstart
-
-sched_get_priority_min:
+ENTRY(sched_get_priority_min)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_get_priority_min
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_get_priority_min)
diff --git a/libc/arch-arm/syscalls/sched_getparam.S b/libc/arch-arm/syscalls/sched_getparam.S
index d9adddc..6434217 100644
--- a/libc/arch-arm/syscalls/sched_getparam.S
+++ b/libc/arch-arm/syscalls/sched_getparam.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_getparam, #function
-    .globl sched_getparam
-    .align 4
-    .fnstart
-
-sched_getparam:
+ENTRY(sched_getparam)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_getparam
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_getparam)
diff --git a/libc/arch-arm/syscalls/sched_getscheduler.S b/libc/arch-arm/syscalls/sched_getscheduler.S
index 2a070c1..8e45ce6 100644
--- a/libc/arch-arm/syscalls/sched_getscheduler.S
+++ b/libc/arch-arm/syscalls/sched_getscheduler.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_getscheduler, #function
-    .globl sched_getscheduler
-    .align 4
-    .fnstart
-
-sched_getscheduler:
+ENTRY(sched_getscheduler)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_getscheduler
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_getscheduler)
diff --git a/libc/arch-arm/syscalls/sched_rr_get_interval.S b/libc/arch-arm/syscalls/sched_rr_get_interval.S
index 7438953..e88d26e 100644
--- a/libc/arch-arm/syscalls/sched_rr_get_interval.S
+++ b/libc/arch-arm/syscalls/sched_rr_get_interval.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_rr_get_interval, #function
-    .globl sched_rr_get_interval
-    .align 4
-    .fnstart
-
-sched_rr_get_interval:
+ENTRY(sched_rr_get_interval)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_rr_get_interval
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_rr_get_interval)
diff --git a/libc/arch-arm/syscalls/sched_setaffinity.S b/libc/arch-arm/syscalls/sched_setaffinity.S
index aedf8f3..b9dd299 100644
--- a/libc/arch-arm/syscalls/sched_setaffinity.S
+++ b/libc/arch-arm/syscalls/sched_setaffinity.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_setaffinity, #function
-    .globl sched_setaffinity
-    .align 4
-    .fnstart
-
-sched_setaffinity:
+ENTRY(sched_setaffinity)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_setaffinity
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_setaffinity)
diff --git a/libc/arch-arm/syscalls/sched_setparam.S b/libc/arch-arm/syscalls/sched_setparam.S
index 6f7f92d..73d6ab6 100644
--- a/libc/arch-arm/syscalls/sched_setparam.S
+++ b/libc/arch-arm/syscalls/sched_setparam.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_setparam, #function
-    .globl sched_setparam
-    .align 4
-    .fnstart
-
-sched_setparam:
+ENTRY(sched_setparam)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_setparam
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_setparam)
diff --git a/libc/arch-arm/syscalls/sched_setscheduler.S b/libc/arch-arm/syscalls/sched_setscheduler.S
index 11667c7..33c28ab 100644
--- a/libc/arch-arm/syscalls/sched_setscheduler.S
+++ b/libc/arch-arm/syscalls/sched_setscheduler.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_setscheduler, #function
-    .globl sched_setscheduler
-    .align 4
-    .fnstart
-
-sched_setscheduler:
+ENTRY(sched_setscheduler)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_setscheduler
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_setscheduler)
diff --git a/libc/arch-arm/syscalls/sched_yield.S b/libc/arch-arm/syscalls/sched_yield.S
index 6ff0141..71628b3 100644
--- a/libc/arch-arm/syscalls/sched_yield.S
+++ b/libc/arch-arm/syscalls/sched_yield.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sched_yield, #function
-    .globl sched_yield
-    .align 4
-    .fnstart
-
-sched_yield:
+ENTRY(sched_yield)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sched_yield
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sched_yield)
diff --git a/libc/arch-arm/syscalls/select.S b/libc/arch-arm/syscalls/select.S
index 0a0ce5d..edd77a3 100644
--- a/libc/arch-arm/syscalls/select.S
+++ b/libc/arch-arm/syscalls/select.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type select, #function
-    .globl select
-    .align 4
-    .fnstart
-
-select:
+ENTRY(select)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(select)
diff --git a/libc/arch-arm/syscalls/sendfile.S b/libc/arch-arm/syscalls/sendfile.S
index 0a1da4f..2790b4b 100644
--- a/libc/arch-arm/syscalls/sendfile.S
+++ b/libc/arch-arm/syscalls/sendfile.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sendfile, #function
-    .globl sendfile
-    .align 4
-    .fnstart
-
-sendfile:
+ENTRY(sendfile)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sendfile
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sendfile)
diff --git a/libc/arch-arm/syscalls/sendmsg.S b/libc/arch-arm/syscalls/sendmsg.S
index eac2d67..99b5479 100644
--- a/libc/arch-arm/syscalls/sendmsg.S
+++ b/libc/arch-arm/syscalls/sendmsg.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sendmsg, #function
-    .globl sendmsg
-    .align 4
-    .fnstart
-
-sendmsg:
+ENTRY(sendmsg)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sendmsg
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sendmsg)
diff --git a/libc/arch-arm/syscalls/sendto.S b/libc/arch-arm/syscalls/sendto.S
index 744891c..302ba8a 100644
--- a/libc/arch-arm/syscalls/sendto.S
+++ b/libc/arch-arm/syscalls/sendto.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sendto, #function
-    .globl sendto
-    .align 4
-    .fnstart
-
-sendto:
+ENTRY(sendto)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sendto)
diff --git a/libc/arch-arm/syscalls/setgid.S b/libc/arch-arm/syscalls/setgid.S
index fdd4ee6..f28687d 100644
--- a/libc/arch-arm/syscalls/setgid.S
+++ b/libc/arch-arm/syscalls/setgid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setgid, #function
-    .globl setgid
-    .align 4
-    .fnstart
-
-setgid:
+ENTRY(setgid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setgid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setgid)
diff --git a/libc/arch-arm/syscalls/setgroups.S b/libc/arch-arm/syscalls/setgroups.S
index cba9dfb..d2c932f 100644
--- a/libc/arch-arm/syscalls/setgroups.S
+++ b/libc/arch-arm/syscalls/setgroups.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setgroups, #function
-    .globl setgroups
-    .align 4
-    .fnstart
-
-setgroups:
+ENTRY(setgroups)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setgroups32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setgroups)
diff --git a/libc/arch-arm/syscalls/setitimer.S b/libc/arch-arm/syscalls/setitimer.S
index b4ad56c..c6b5064 100644
--- a/libc/arch-arm/syscalls/setitimer.S
+++ b/libc/arch-arm/syscalls/setitimer.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setitimer, #function
-    .globl setitimer
-    .align 4
-    .fnstart
-
-setitimer:
+ENTRY(setitimer)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setitimer
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setitimer)
diff --git a/libc/arch-arm/syscalls/setpgid.S b/libc/arch-arm/syscalls/setpgid.S
index 0ec98c6..39e1e03 100644
--- a/libc/arch-arm/syscalls/setpgid.S
+++ b/libc/arch-arm/syscalls/setpgid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setpgid, #function
-    .globl setpgid
-    .align 4
-    .fnstart
-
-setpgid:
+ENTRY(setpgid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setpgid
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setpgid)
diff --git a/libc/arch-arm/syscalls/setpriority.S b/libc/arch-arm/syscalls/setpriority.S
index fa4110a..5cb84a8 100644
--- a/libc/arch-arm/syscalls/setpriority.S
+++ b/libc/arch-arm/syscalls/setpriority.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setpriority, #function
-    .globl setpriority
-    .align 4
-    .fnstart
-
-setpriority:
+ENTRY(setpriority)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setpriority
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setpriority)
diff --git a/libc/arch-arm/syscalls/setregid.S b/libc/arch-arm/syscalls/setregid.S
index 53d9420..bc79e9e 100644
--- a/libc/arch-arm/syscalls/setregid.S
+++ b/libc/arch-arm/syscalls/setregid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setregid, #function
-    .globl setregid
-    .align 4
-    .fnstart
-
-setregid:
+ENTRY(setregid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setregid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setregid)
diff --git a/libc/arch-arm/syscalls/setresgid.S b/libc/arch-arm/syscalls/setresgid.S
index 0382913..711626e 100644
--- a/libc/arch-arm/syscalls/setresgid.S
+++ b/libc/arch-arm/syscalls/setresgid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setresgid, #function
-    .globl setresgid
-    .align 4
-    .fnstart
-
-setresgid:
+ENTRY(setresgid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setresgid32
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setresgid)
diff --git a/libc/arch-arm/syscalls/setrlimit.S b/libc/arch-arm/syscalls/setrlimit.S
index 0a5de48..0fe2467 100644
--- a/libc/arch-arm/syscalls/setrlimit.S
+++ b/libc/arch-arm/syscalls/setrlimit.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setrlimit, #function
-    .globl setrlimit
-    .align 4
-    .fnstart
-
-setrlimit:
+ENTRY(setrlimit)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setrlimit
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setrlimit)
diff --git a/libc/arch-arm/syscalls/setsid.S b/libc/arch-arm/syscalls/setsid.S
index e2b0615..f11b6fb 100644
--- a/libc/arch-arm/syscalls/setsid.S
+++ b/libc/arch-arm/syscalls/setsid.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setsid, #function
-    .globl setsid
-    .align 4
-    .fnstart
-
-setsid:
+ENTRY(setsid)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_setsid
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setsid)
diff --git a/libc/arch-arm/syscalls/setsockopt.S b/libc/arch-arm/syscalls/setsockopt.S
index 01f104f..7ca91dd 100644
--- a/libc/arch-arm/syscalls/setsockopt.S
+++ b/libc/arch-arm/syscalls/setsockopt.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type setsockopt, #function
-    .globl setsockopt
-    .align 4
-    .fnstart
-
-setsockopt:
+ENTRY(setsockopt)
     mov     ip, sp
     .save   {r4, r5, r6, r7}
     stmfd   sp!, {r4, r5, r6, r7}
@@ -18,4 +13,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(setsockopt)
diff --git a/libc/arch-arm/syscalls/settimeofday.S b/libc/arch-arm/syscalls/settimeofday.S
index 6f79041..2741e05 100644
--- a/libc/arch-arm/syscalls/settimeofday.S
+++ b/libc/arch-arm/syscalls/settimeofday.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type settimeofday, #function
-    .globl settimeofday
-    .align 4
-    .fnstart
-
-settimeofday:
+ENTRY(settimeofday)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_settimeofday
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(settimeofday)
diff --git a/libc/arch-arm/syscalls/shutdown.S b/libc/arch-arm/syscalls/shutdown.S
index 5bec030..0802631 100644
--- a/libc/arch-arm/syscalls/shutdown.S
+++ b/libc/arch-arm/syscalls/shutdown.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type shutdown, #function
-    .globl shutdown
-    .align 4
-    .fnstart
-
-shutdown:
+ENTRY(shutdown)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_shutdown
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(shutdown)
diff --git a/libc/arch-arm/syscalls/sigaction.S b/libc/arch-arm/syscalls/sigaction.S
index 2696f1e..04a8b94 100644
--- a/libc/arch-arm/syscalls/sigaction.S
+++ b/libc/arch-arm/syscalls/sigaction.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sigaction, #function
-    .globl sigaction
-    .align 4
-    .fnstart
-
-sigaction:
+ENTRY(sigaction)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sigaction
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sigaction)
diff --git a/libc/arch-arm/syscalls/sigaltstack.S b/libc/arch-arm/syscalls/sigaltstack.S
index 3625d0b..b541a87 100644
--- a/libc/arch-arm/syscalls/sigaltstack.S
+++ b/libc/arch-arm/syscalls/sigaltstack.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sigaltstack, #function
-    .globl sigaltstack
-    .align 4
-    .fnstart
-
-sigaltstack:
+ENTRY(sigaltstack)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sigaltstack
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sigaltstack)
diff --git a/libc/arch-arm/syscalls/sigpending.S b/libc/arch-arm/syscalls/sigpending.S
index 58f565a..4c7d919 100644
--- a/libc/arch-arm/syscalls/sigpending.S
+++ b/libc/arch-arm/syscalls/sigpending.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sigpending, #function
-    .globl sigpending
-    .align 4
-    .fnstart
-
-sigpending:
+ENTRY(sigpending)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sigpending
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sigpending)
diff --git a/libc/arch-arm/syscalls/sigprocmask.S b/libc/arch-arm/syscalls/sigprocmask.S
index f157d76..7c59a6b 100644
--- a/libc/arch-arm/syscalls/sigprocmask.S
+++ b/libc/arch-arm/syscalls/sigprocmask.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sigprocmask, #function
-    .globl sigprocmask
-    .align 4
-    .fnstart
-
-sigprocmask:
+ENTRY(sigprocmask)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sigprocmask
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sigprocmask)
diff --git a/libc/arch-arm/syscalls/socket.S b/libc/arch-arm/syscalls/socket.S
index 93c9a53..e28d252 100644
--- a/libc/arch-arm/syscalls/socket.S
+++ b/libc/arch-arm/syscalls/socket.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type socket, #function
-    .globl socket
-    .align 4
-    .fnstart
-
-socket:
+ENTRY(socket)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_socket
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(socket)
diff --git a/libc/arch-arm/syscalls/socketpair.S b/libc/arch-arm/syscalls/socketpair.S
index 1bf07d6..e699000 100644
--- a/libc/arch-arm/syscalls/socketpair.S
+++ b/libc/arch-arm/syscalls/socketpair.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type socketpair, #function
-    .globl socketpair
-    .align 4
-    .fnstart
-
-socketpair:
+ENTRY(socketpair)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_socketpair
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(socketpair)
diff --git a/libc/arch-arm/syscalls/stat.S b/libc/arch-arm/syscalls/stat.S
index 46afcc5..a4669a6 100644
--- a/libc/arch-arm/syscalls/stat.S
+++ b/libc/arch-arm/syscalls/stat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type stat, #function
-    .globl stat
-    .align 4
-    .fnstart
-
-stat:
+ENTRY(stat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_stat64
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(stat)
diff --git a/libc/arch-arm/syscalls/symlink.S b/libc/arch-arm/syscalls/symlink.S
index 83b554e..14a753f 100644
--- a/libc/arch-arm/syscalls/symlink.S
+++ b/libc/arch-arm/syscalls/symlink.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type symlink, #function
-    .globl symlink
-    .align 4
-    .fnstart
-
-symlink:
+ENTRY(symlink)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_symlink
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(symlink)
diff --git a/libc/arch-arm/syscalls/sync.S b/libc/arch-arm/syscalls/sync.S
index 778d38e..68c0c0f 100644
--- a/libc/arch-arm/syscalls/sync.S
+++ b/libc/arch-arm/syscalls/sync.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sync, #function
-    .globl sync
-    .align 4
-    .fnstart
-
-sync:
+ENTRY(sync)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sync
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sync)
diff --git a/libc/arch-arm/syscalls/sysinfo.S b/libc/arch-arm/syscalls/sysinfo.S
index 197324d..2a2fb59 100644
--- a/libc/arch-arm/syscalls/sysinfo.S
+++ b/libc/arch-arm/syscalls/sysinfo.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type sysinfo, #function
-    .globl sysinfo
-    .align 4
-    .fnstart
-
-sysinfo:
+ENTRY(sysinfo)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_sysinfo
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(sysinfo)
diff --git a/libc/arch-arm/syscalls/times.S b/libc/arch-arm/syscalls/times.S
index c1ab0ce..aacb4ca 100644
--- a/libc/arch-arm/syscalls/times.S
+++ b/libc/arch-arm/syscalls/times.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type times, #function
-    .globl times
-    .align 4
-    .fnstart
-
-times:
+ENTRY(times)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_times
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(times)
diff --git a/libc/arch-arm/syscalls/truncate.S b/libc/arch-arm/syscalls/truncate.S
index 674c828..8c0b24f 100644
--- a/libc/arch-arm/syscalls/truncate.S
+++ b/libc/arch-arm/syscalls/truncate.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type truncate, #function
-    .globl truncate
-    .align 4
-    .fnstart
-
-truncate:
+ENTRY(truncate)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_truncate
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(truncate)
diff --git a/libc/arch-arm/syscalls/umask.S b/libc/arch-arm/syscalls/umask.S
index 6f18259..a7bc20b 100644
--- a/libc/arch-arm/syscalls/umask.S
+++ b/libc/arch-arm/syscalls/umask.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type umask, #function
-    .globl umask
-    .align 4
-    .fnstart
-
-umask:
+ENTRY(umask)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_umask
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(umask)
diff --git a/libc/arch-arm/syscalls/umount2.S b/libc/arch-arm/syscalls/umount2.S
index 659c3c0..04b28f4 100644
--- a/libc/arch-arm/syscalls/umount2.S
+++ b/libc/arch-arm/syscalls/umount2.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type umount2, #function
-    .globl umount2
-    .align 4
-    .fnstart
-
-umount2:
+ENTRY(umount2)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_umount2
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(umount2)
diff --git a/libc/arch-arm/syscalls/uname.S b/libc/arch-arm/syscalls/uname.S
index fda05e9..4a6f0f4 100644
--- a/libc/arch-arm/syscalls/uname.S
+++ b/libc/arch-arm/syscalls/uname.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type uname, #function
-    .globl uname
-    .align 4
-    .fnstart
-
-uname:
+ENTRY(uname)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_uname
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(uname)
diff --git a/libc/arch-arm/syscalls/unlink.S b/libc/arch-arm/syscalls/unlink.S
index 77ae9b7..87fa79e 100644
--- a/libc/arch-arm/syscalls/unlink.S
+++ b/libc/arch-arm/syscalls/unlink.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type unlink, #function
-    .globl unlink
-    .align 4
-    .fnstart
-
-unlink:
+ENTRY(unlink)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_unlink
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(unlink)
diff --git a/libc/arch-arm/syscalls/unlinkat.S b/libc/arch-arm/syscalls/unlinkat.S
index eb31e85..3beae6c 100644
--- a/libc/arch-arm/syscalls/unlinkat.S
+++ b/libc/arch-arm/syscalls/unlinkat.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type unlinkat, #function
-    .globl unlinkat
-    .align 4
-    .fnstart
-
-unlinkat:
+ENTRY(unlinkat)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_unlinkat
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(unlinkat)
diff --git a/libc/arch-arm/syscalls/utimes.S b/libc/arch-arm/syscalls/utimes.S
index 19fe8e2..a2d58a3 100644
--- a/libc/arch-arm/syscalls/utimes.S
+++ b/libc/arch-arm/syscalls/utimes.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type utimes, #function
-    .globl utimes
-    .align 4
-    .fnstart
-
-utimes:
+ENTRY(utimes)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_utimes
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(utimes)
diff --git a/libc/arch-arm/syscalls/vfork.S b/libc/arch-arm/syscalls/vfork.S
index e141761..3bd2668 100644
--- a/libc/arch-arm/syscalls/vfork.S
+++ b/libc/arch-arm/syscalls/vfork.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type vfork, #function
-    .globl vfork
-    .align 4
-    .fnstart
-
-vfork:
+ENTRY(vfork)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_vfork
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(vfork)
diff --git a/libc/arch-arm/syscalls/write.S b/libc/arch-arm/syscalls/write.S
index 06df33d..826e82c 100644
--- a/libc/arch-arm/syscalls/write.S
+++ b/libc/arch-arm/syscalls/write.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type write, #function
-    .globl write
-    .align 4
-    .fnstart
-
-write:
+ENTRY(write)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_write
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(write)
diff --git a/libc/arch-arm/syscalls/writev.S b/libc/arch-arm/syscalls/writev.S
index a6b04db..16a6df9 100644
--- a/libc/arch-arm/syscalls/writev.S
+++ b/libc/arch-arm/syscalls/writev.S
@@ -1,13 +1,8 @@
 /* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type writev, #function
-    .globl writev
-    .align 4
-    .fnstart
-
-writev:
+ENTRY(writev)
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
     ldr     r7, =__NR_writev
@@ -16,4 +11,4 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
+END(writev)
diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py
index b58754b..c188e04 100755
--- a/libc/tools/gensyscalls.py
+++ b/libc/tools/gensyscalls.py
@@ -79,15 +79,14 @@
 # ARM assembler templates for each syscall stub
 #
 arm_header = """/* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type %(fname)s, #function
-    .globl %(fname)s
-    .align 4
-    .fnstart
+ENTRY(%(fname)s)
+"""
 
-%(fname)s:
+arm_footer = """\
+END(%(fname)s)
 """
 
 arm_call_default = arm_header + """\
@@ -95,8 +94,7 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
-"""
+""" + arm_footer
 
 arm_call_long = arm_header + """\
     .save   {r4, r5, lr}
@@ -108,8 +106,7 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
-"""
+""" + arm_footer
 
 arm_eabi_call_default = arm_header + """\
     .save   {r4, r7}
@@ -120,8 +117,7 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
-"""
+""" + arm_footer
 
 arm_eabi_call_long = arm_header + """\
     mov     ip, sp
@@ -134,8 +130,7 @@
     movs    r0, r0
     bxpl    lr
     b       __set_syscall_errno
-    .fnend
-"""
+""" + arm_footer
 
 # ARM thumb assembler templates for each syscall stub
 #