diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py
index a4e5679..a39b63b 100755
--- a/libc/tools/gensyscalls.py
+++ b/libc/tools/gensyscalls.py
@@ -51,14 +51,10 @@
 #
 
 x86_header = """/* autogenerated by gensyscalls.py */
+#include <machine/asm.h>
 #include <sys/linux-syscalls.h>
 
-    .text
-    .type %(fname)s, @function
-    .globl %(fname)s
-    .align 4
-
-%(fname)s:
+ENTRY(%(fname)s)
 """
 
 x86_registers = [ "%ebx", "%ecx", "%edx", "%esi", "%edi", "%ebp" ]
@@ -76,6 +72,7 @@
 """
 
 x86_return = """    ret
+END(%(fname)s)
 """
 
 # ARM assembler templates for each syscall stub
@@ -288,7 +285,7 @@
         for r in range(numparams):
             result += "    popl    " + x86_registers[numparams-r-1] + "\n"
 
-        result += x86_return
+        result += x86_return % t
         return result
 
     def x86_genstub_cid(self, fname, numparams, idname, cid):
@@ -326,7 +323,7 @@
         result += "    popl    %ebx" + "\n"
 
         # epilog
-        result += x86_return
+        result += x86_return % t
         return result
 
     def arm_genstub(self,fname, flags, idname):
