Reland "Remove the return type from the syscall lists and parser."

It's not used, so it's just noise.

The previous attempt missed the call to grep in the .bp file that also
needed to be updated.

Bug: http://b/395691391
Bug: http://b/395732439
Change-Id: Ia0cc2e1882280e87a569acbaace9d84e753aad80
diff --git a/libc/Android.bp b/libc/Android.bp
index a5bc482..7b902dc 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -2395,7 +2395,7 @@
     name: "generate_app_zygote_blocklist",
     out: ["SECCOMP_BLOCKLIST_APP_ZYGOTE.TXT"],
     srcs: ["SECCOMP_BLOCKLIST_APP.TXT"],
-    cmd: "grep -v '^int[ \t]*setresgid' $(in) > $(out)",
+    cmd: "grep -v '^setresgid' $(in) > $(out)",
 }
 
 filegroup {
diff --git a/libc/SECCOMP_ALLOWLIST_APP.TXT b/libc/SECCOMP_ALLOWLIST_APP.TXT
index 80b15b2..a46a33c 100644
--- a/libc/SECCOMP_ALLOWLIST_APP.TXT
+++ b/libc/SECCOMP_ALLOWLIST_APP.TXT
@@ -4,59 +4,59 @@
 # This file is processed by a python script named genseccomp.py.
 
 # Needed for debugging 32-bit Chrome
-int	pipe(int pipefd[2])	lp32
+pipe(int pipefd[2])	lp32
 
 # b/34651972
-int	access(const char *pathname, int mode)	lp32
-int	stat64(const char*, struct stat64*)	lp32
+access(const char *pathname, int mode)	lp32
+stat64(const char*, struct stat64*)	lp32
 
 # b/34813887
-int	open(const char *path, int oflag, ... ) lp32,x86_64
-int	getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) lp32,x86_64
+open(const char *path, int oflag, ... ) lp32,x86_64
+getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) lp32,x86_64
 
 # b/34719286
-int	eventfd(unsigned int initval, int flags)	lp32
+eventfd(unsigned int initval, int flags)	lp32
 
 # b/34817266
-int	epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)	lp32
+epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)	lp32
 
 # b/34908783
-int	epoll_create(int size)	lp32
+epoll_create(int size)	lp32
 
 # b/34979910
-int	creat(const char *pathname, mode_t mode)	lp32
-int	unlink(const char *pathname)	lp32
+creat(const char *pathname, mode_t mode)	lp32
+unlink(const char *pathname)	lp32
 
 # b/35059702
-int	lstat64(const char*, struct stat64*)	lp32
+lstat64(const char*, struct stat64*)	lp32
 
 # b/35217603
-int	fcntl(int fd, int cmd, ... /* arg */ )	lp32
-pid_t	fork()	lp32
-int	poll(struct pollfd *fds, nfds_t nfds, int timeout)	lp32
+fcntl(int fd, int cmd, ... /* arg */ )	lp32
+fork()	lp32
+poll(struct pollfd *fds, nfds_t nfds, int timeout)	lp32
 
 # b/35906875
-int	inotify_init()	lp32
-uid_t	getuid()	lp32
+inotify_init()	lp32
+getuid()	lp32
 
 # b/36435222
-int	remap_file_pages(void *addr, size_t size, int prot, size_t pgoff, int flags)	lp32
+remap_file_pages(void *addr, size_t size, int prot, size_t pgoff, int flags)	lp32
 
 # b/36449658
-int	rename(const char *oldpath, const char *newpath)	lp32
+rename(const char *oldpath, const char *newpath)	lp32
 
 # b/36726183. Note arm does not support mmap
-void*	mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset)	x86
+mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset)	x86
 
 # b/37769298
-int dup2(int oldfd, int newfd)	lp32
+dup2(int oldfd, int newfd)	lp32
 
 # b/62779795
-int compat_select:_newselect(int n, unsigned long* inp, unsigned long* outp, unsigned long* exp, struct timeval* timeout) lp32
+compat_select:_newselect(int n, unsigned long* inp, unsigned long* outp, unsigned long* exp, struct timeval* timeout) lp32
 
 # b/62090571
-int mkdir(const char *pathname, mode_t mode)	lp32
+mkdir(const char *pathname, mode_t mode)	lp32
 
 # Not used by bionic in U because riscv64 doesn't have it, but still
 # used by legacy apps (http://b/254179267).
-int renameat(int, const char*, int, const char*)  arm,x86,arm64,x86_64
+renameat(int, const char*, int, const char*)  arm,x86,arm64,x86_64
diff --git a/libc/SECCOMP_ALLOWLIST_COMMON.TXT b/libc/SECCOMP_ALLOWLIST_COMMON.TXT
index 5594910..b921aae 100644
--- a/libc/SECCOMP_ALLOWLIST_COMMON.TXT
+++ b/libc/SECCOMP_ALLOWLIST_COMMON.TXT
@@ -4,78 +4,78 @@
 # This file is processed by a python script named genseccomp.py.
 
 # Syscalls needed to boot android
-int	pivot_root(const char*, const char*)	lp64
-int	ioprio_get(int, int)	lp64
-int	ioprio_set(int, int, int)	lp64
+pivot_root(const char*, const char*)	lp64
+ioprio_get(int, int)	lp64
+ioprio_set(int, int, int)	lp64
 
 # Syscalls used internally by bionic, but not exposed directly.
-pid_t	gettid()	all
-int	futex(int*, int, int, const timespec*, int*, int)	all
-pid_t	clone(int (*)(void*), void*, int, void*, ...) all
-int	sigreturn(unsigned long)	lp32
-int	rt_sigreturn(unsigned long)	all
-int	rt_tgsigqueueinfo(pid_t, pid_t, int, siginfo_t*)	all
-int	restart_syscall()	all
+gettid()	all
+futex(int*, int, int, const timespec*, int*, int)	all
+clone(int (*)(void*), void*, int, void*, ...) all
+sigreturn(unsigned long)	lp32
+rt_sigreturn(unsigned long)	all
+rt_tgsigqueueinfo(pid_t, pid_t, int, siginfo_t*)	all
+restart_syscall()	all
 
 # The public API doesn't set errno, so we call this via inline assembler.
-int riscv_hwprobe(riscv_hwprobe*, size_t, size_t, unsigned long*, unsigned) riscv64
+riscv_hwprobe(riscv_hwprobe*, size_t, size_t, unsigned long*, unsigned) riscv64
 
 # vfork is used by bionic (and java.lang.ProcessBuilder) on some
 # architectures. (The others use clone(2) directly instead.)
-pid_t	vfork()	arm,x86,x86_64
+vfork()	arm,x86,x86_64
 
 # Needed for performance tools.
-int	perf_event_open(perf_event_attr*, pid_t, int, int, unsigned long)	all
+perf_event_open(perf_event_attr*, pid_t, int, int, unsigned long)	all
 
 # Needed for strace.
-int	tkill(int, int)	all
+tkill(int, int)	all
 
 # Needed for a CTS test of seccomp (b/34763393).
-int	seccomp(unsigned, unsigned, void*)	all
+seccomp(unsigned, unsigned, void*)	all
 
 # TODO: remove these now we've updated the toolchain (http://b/229989971).
-int open(const char*, int, ...)  arm,x86,x86_64
-int stat64(const char*, stat64*)  arm,x86
-ssize_t readlink(const char*, char*, size_t)  arm,x86,x86_64
-int stat(const char*, stat*)  arm,x86,x86_64
+open(const char*, int, ...)  arm,x86,x86_64
+stat64(const char*, stat64*)  arm,x86
+readlink(const char*, char*, size_t)  arm,x86,x86_64
+stat(const char*, stat*)  arm,x86,x86_64
 
 #
 # (Potentially) useful new syscalls which we don't yet use in bionic.
 #
 
 # Since Linux 2.5, not in glibc.
-int io_setup(unsigned, aio_context_t*) all
-int io_destroy(aio_context_t) all
-int io_submit(aio_context_t, long,  iocb**) all
-int io_getevents(aio_context_t, long, long, io_event*, timespec*) all
-int io_cancel(aio_context_t, iocb*, io_event*) all
+io_setup(unsigned, aio_context_t*) all
+io_destroy(aio_context_t) all
+io_submit(aio_context_t, long,  iocb**) all
+io_getevents(aio_context_t, long, long, io_event*, timespec*) all
+io_cancel(aio_context_t, iocb*, io_event*) all
 # Since Linux 3.19, not in glibc (and not really needed to implement fexecve).
-int execveat(int, const char*, char* const*, char* const*, int)  all
+execveat(int, const char*, char* const*, char* const*, int)  all
 # Since Linux 4.3, not in glibc. Probed for and conditionally used by ART.
-int membarrier(int, int) all
-int userfaultfd(int) all
+membarrier(int, int) all
+userfaultfd(int) all
 # Since Linux 5.1, not in glibc. Not used by bionic, and not likely ever
 # to be (because the last thing anyone needs is a new 32-bit ABI in the
 # 2020s!) but http://b/138781460 showed cuttlefish needed at least the
 # clock_gettime64 syscall.
-int clock_gettime64(clockid_t, timespec64*) lp32
-int clock_settime64(clockid_t, const timespec64*) lp32
-int clock_adjtime64(clockid_t, timex64*) lp32
-int clock_getres_time64(clockid_t, timespec64*) lp32
-int clock_nanosleep_time64(clockid_t, int, const timespec64*, timespec*) lp32
-int timer_gettime64(__kernel_timer_t, itimerspec64*) lp32
-int timer_settime64(__kernel_timer_t, int, const itimerspec64*, itimerspec64*) lp32
-int timerfd_gettime64(int, itimerspec64*) lp32
-int timerfd_settime64(int, int, const itimerspec64*, itimerspec64*) lp32
-int utimensat_time64(int, const char*, const timespec64[2], int) lp32
-int pselect6_time64(int, fd_set*, fd_set*, timespec64*, void*) lp32
-int ppoll_time64(pollfd*, unsigned int, timespec64*, const sigset64_t*, size_t) lp32
-int recvmmsg_time64(int, mmsghdr*, unsigned int, int, const timespec64*) lp32
-int rt_sigtimedwait_time64(const sigset64_t*, siginfo_t*, const timespec64*, size_t) lp32
-int futex_time64(int*, int, int, const timespec64*, int*, int) lp32
-int sched_rr_get_interval_time64(pid_t, timespec64*) lp32
+clock_gettime64(clockid_t, timespec64*) lp32
+clock_settime64(clockid_t, const timespec64*) lp32
+clock_adjtime64(clockid_t, timex64*) lp32
+clock_getres_time64(clockid_t, timespec64*) lp32
+clock_nanosleep_time64(clockid_t, int, const timespec64*, timespec*) lp32
+timer_gettime64(__kernel_timer_t, itimerspec64*) lp32
+timer_settime64(__kernel_timer_t, int, const itimerspec64*, itimerspec64*) lp32
+timerfd_gettime64(int, itimerspec64*) lp32
+timerfd_settime64(int, int, const itimerspec64*, itimerspec64*) lp32
+utimensat_time64(int, const char*, const timespec64[2], int) lp32
+pselect6_time64(int, fd_set*, fd_set*, timespec64*, void*) lp32
+ppoll_time64(pollfd*, unsigned int, timespec64*, const sigset64_t*, size_t) lp32
+recvmmsg_time64(int, mmsghdr*, unsigned int, int, const timespec64*) lp32
+rt_sigtimedwait_time64(const sigset64_t*, siginfo_t*, const timespec64*, size_t) lp32
+futex_time64(int*, int, int, const timespec64*, int*, int) lp32
+sched_rr_get_interval_time64(pid_t, timespec64*) lp32
 # Since Linux 5.3, not in glibc. Not used by bionic, but increasingly
 # likely to be useful as new features are added. In particular, cgroups
 # support seems potentially useful for Android (though the struct that
 # changes size over time is obviously problematic).
-pid_t clone3(clone_args*, size_t) all
+clone3(clone_args*, size_t) all
diff --git a/libc/SECCOMP_ALLOWLIST_SYSTEM.TXT b/libc/SECCOMP_ALLOWLIST_SYSTEM.TXT
index 756affe..ac90aac 100644
--- a/libc/SECCOMP_ALLOWLIST_SYSTEM.TXT
+++ b/libc/SECCOMP_ALLOWLIST_SYSTEM.TXT
@@ -3,4 +3,4 @@
 #
 # This file is processed by a python script named genseccomp.py.
 
-int bpf(int cmd, union bpf_attr *attr, unsigned int size) all
+bpf(int cmd, union bpf_attr *attr, unsigned int size) all
diff --git a/libc/SECCOMP_BLOCKLIST_APP.TXT b/libc/SECCOMP_BLOCKLIST_APP.TXT
index b9ecc02..5c317cf 100644
--- a/libc/SECCOMP_BLOCKLIST_APP.TXT
+++ b/libc/SECCOMP_BLOCKLIST_APP.TXT
@@ -11,40 +11,40 @@
 # before uid change, including capset and setresuid. This is because the seccomp
 # filter must be installed while the process still has CAP_SYS_ADMIN; changing
 # the uid would remove that capability.
-int     setgid32(gid_t)     lp32
-int     setgid(gid_t)       lp64
-int     setuid32(uid_t)    lp32
-int     setuid(uid_t)      lp64
-int     setregid32(gid_t, gid_t)  lp32
-int     setregid(gid_t, gid_t)    lp64
-int     setreuid32(uid_t, uid_t)   lp32
-int     setreuid(uid_t, uid_t)     lp64
-int     setresgid32(gid_t, gid_t, gid_t)   lp32
-int     setresgid(gid_t, gid_t, gid_t)     lp64
+setgid32(gid_t)     lp32
+setgid(gid_t)       lp64
+setuid32(uid_t)    lp32
+setuid(uid_t)      lp64
+setregid32(gid_t, gid_t)  lp32
+setregid(gid_t, gid_t)    lp64
+setreuid32(uid_t, uid_t)   lp32
+setreuid(uid_t, uid_t)     lp64
+setresgid32(gid_t, gid_t, gid_t)   lp32
+setresgid(gid_t, gid_t, gid_t)     lp64
 # setresuid is explicitly allowed, see above.
-int     setfsgid32(gid_t) lp32
-int     setfsgid(gid_t)   lp64
-int     setfsuid32(uid_t) lp32
-int     setfsuid(uid_t)   lp64
-int     setgroups32(int, const gid_t*)   lp32
-int     setgroups(int, const gid_t*)     lp64
+setfsgid32(gid_t) lp32
+setfsgid(gid_t)   lp64
+setfsuid32(uid_t) lp32
+setfsuid(uid_t)   lp64
+setgroups32(int, const gid_t*)   lp32
+setgroups(int, const gid_t*)     lp64
 
 # Syscalls to modify times.
-int     adjtimex(struct timex*)   all
-int     clock_adjtime(clockid_t, struct timex*)   all
-int     clock_settime(clockid_t, const struct timespec*)  all
-int     settimeofday(const struct timeval*, const struct timezone*)   all
+adjtimex(struct timex*)   all
+clock_adjtime(clockid_t, struct timex*)   all
+clock_settime(clockid_t, const struct timespec*)  all
+settimeofday(const struct timeval*, const struct timezone*)   all
 
-int     acct(const char*  filepath)  all
-int     syslog(int, char*, int)   all
-int     chroot(const char*)  all
+acct(const char*  filepath)  all
+syslog(int, char*, int)   all
+chroot(const char*)  all
 
-int     init_module(void*, unsigned long, const char*)  all
-int     delete_module(const char*, unsigned int)   all
-int     mount(const char*, const char*, const char*, unsigned long, const void*)  all
-int     umount2(const char*, int)  all
-int     swapon(const char*, int) all
-int     swapoff(const char*) all
-int     setdomainname(const char*, size_t)  all
-int     sethostname(const char*, size_t)  all
-int     reboot(int, int, int, void*)  all
+init_module(void*, unsigned long, const char*)  all
+delete_module(const char*, unsigned int)   all
+mount(const char*, const char*, const char*, unsigned long, const void*)  all
+umount2(const char*, int)  all
+swapon(const char*, int) all
+swapoff(const char*) all
+setdomainname(const char*, size_t)  all
+sethostname(const char*, size_t)  all
+reboot(int, int, int, void*)  all
diff --git a/libc/SECCOMP_BLOCKLIST_COMMON.TXT b/libc/SECCOMP_BLOCKLIST_COMMON.TXT
index 22c9844..0c6e1ae 100644
--- a/libc/SECCOMP_BLOCKLIST_COMMON.TXT
+++ b/libc/SECCOMP_BLOCKLIST_COMMON.TXT
@@ -6,5 +6,5 @@
 #
 # This file is processed by a python script named genseccomp.py.
 
-int     swapon(const char*, int) all
-int     swapoff(const char*) all
+swapon(const char*, int) all
+swapoff(const char*) all
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT
index 1506e13..7c09e88 100644
--- a/libc/SYSCALLS.TXT
+++ b/libc/SYSCALLS.TXT
@@ -2,7 +2,7 @@
 #
 # Each non-blank, non-comment line has the following format:
 #
-# return_type func_name[|alias_list][:syscall_name[:socketcall_id]]([parameter_list]) arch_list
+# func_name[|alias_list][:syscall_name[:socketcall_id]]([parameter_list]) arch_list
 #
 # where:
 #       arch_list ::= "all" | arches
@@ -16,6 +16,8 @@
 #
 #      - alias_list is optional comma separated list of function aliases.
 #
+#      - No return type is specified.
+#
 #      - The call_id parameter, given that func_name and syscall_name have
 #        been provided, allows the user to specify dispatch style syscalls.
 #        For example, socket() syscall on i386 actually becomes:
@@ -27,359 +29,359 @@
 # genrules in Android.bp.
 
 # Calls that have historical 16-bit variants camping on the best names (CONFIG_UID16).
-uid_t getuid:getuid32()   lp32
-uid_t getuid:getuid()     lp64
-gid_t getgid:getgid32()   lp32
-gid_t getgid:getgid()     lp64
-uid_t geteuid:geteuid32() lp32
-uid_t geteuid:geteuid()   lp64
-gid_t getegid:getegid32() lp32
-gid_t getegid:getegid()   lp64
-uid_t getresuid:getresuid32(uid_t* ruid, uid_t* euid, uid_t* suid) lp32
-uid_t getresuid:getresuid(uid_t* ruid, uid_t* euid, uid_t* suid)   lp64
-gid_t getresgid:getresgid32(gid_t* rgid, gid_t* egid, gid_t* sgid) lp32
-gid_t getresgid:getresgid(gid_t* rgid, gid_t* egid, gid_t* sgid)   lp64
-int getgroups:getgroups32(int, gid_t*) lp32
-int getgroups:getgroups(int, gid_t*)   lp64
-int setgid:setgid32(gid_t) lp32
-int setgid:setgid(gid_t)   lp64
-int setuid:setuid32(uid_t) lp32
-int setuid:setuid(uid_t)   lp64
-int setreuid:setreuid32(uid_t, uid_t) lp32
-int setreuid:setreuid(uid_t, uid_t)   lp64
-int setresuid:setresuid32(uid_t, uid_t, uid_t) lp32
-int setresuid:setresuid(uid_t, uid_t, uid_t)   lp64
-int setresgid:setresgid32(gid_t, gid_t, gid_t) lp32
-int setresgid:setresgid(gid_t, gid_t, gid_t)   lp64
-int setfsgid:setfsgid32(gid_t) lp32
-int setfsgid:setfsgid(gid_t)   lp64
-int setfsuid:setfsuid32(uid_t) lp32
-int setfsuid:setfsuid(uid_t)   lp64
+getuid:getuid32()   lp32
+getuid:getuid()     lp64
+getgid:getgid32()   lp32
+getgid:getgid()     lp64
+geteuid:geteuid32() lp32
+geteuid:geteuid()   lp64
+getegid:getegid32() lp32
+getegid:getegid()   lp64
+getresuid:getresuid32(uid_t* ruid, uid_t* euid, uid_t* suid) lp32
+getresuid:getresuid(uid_t* ruid, uid_t* euid, uid_t* suid)   lp64
+getresgid:getresgid32(gid_t* rgid, gid_t* egid, gid_t* sgid) lp32
+getresgid:getresgid(gid_t* rgid, gid_t* egid, gid_t* sgid)   lp64
+getgroups:getgroups32(int, gid_t*) lp32
+getgroups:getgroups(int, gid_t*)   lp64
+setgid:setgid32(gid_t) lp32
+setgid:setgid(gid_t)   lp64
+setuid:setuid32(uid_t) lp32
+setuid:setuid(uid_t)   lp64
+setreuid:setreuid32(uid_t, uid_t) lp32
+setreuid:setreuid(uid_t, uid_t)   lp64
+setresuid:setresuid32(uid_t, uid_t, uid_t) lp32
+setresuid:setresuid(uid_t, uid_t, uid_t)   lp64
+setresgid:setresgid32(gid_t, gid_t, gid_t) lp32
+setresgid:setresgid(gid_t, gid_t, gid_t)   lp64
+setfsgid:setfsgid32(gid_t) lp32
+setfsgid:setfsgid(gid_t)   lp64
+setfsuid:setfsuid32(uid_t) lp32
+setfsuid:setfsuid(uid_t)   lp64
 
-ssize_t readahead(int, off64_t, size_t) all
-pid_t getpgid(pid_t) all
-pid_t getppid() all
-pid_t getsid(pid_t) all
-pid_t setsid() all
-int kill(pid_t, int) all
-int tgkill(pid_t tgid, pid_t tid, int sig) all
+readahead(int, off64_t, size_t) all
+getpgid(pid_t) all
+getppid() all
+getsid(pid_t) all
+setsid() all
+kill(pid_t, int) all
+tgkill(pid_t tgid, pid_t tid, int sig) all
 
-void* __brk:brk(void*) all
-int execve(const char*, char* const*, char* const*)  all
-int __ptrace:ptrace(int request, int pid, void* addr, void* data) all
+__brk:brk(void*) all
+execve(const char*, char* const*, char* const*)  all
+__ptrace:ptrace(int request, int pid, void* addr, void* data) all
 
 # <sys/resource.h>
-int getrusage(int, struct rusage*)  all
-int __getpriority:getpriority(int, id_t)  all
-int setpriority(int, id_t, int)   all
+getrusage(int, struct rusage*)  all
+__getpriority:getpriority(int, id_t)  all
+setpriority(int, id_t, int)   all
 # On LP64, rlimit and rlimit64 are the same.
 # On 32-bit systems we use prlimit64 to implement the rlimit64 functions.
-int getrlimit:ugetrlimit(int, struct rlimit*)  lp32
-int getrlimit|getrlimit64(int, struct rlimit*)  lp64
-int setrlimit(int, const struct rlimit*)  lp32
-int setrlimit|setrlimit64(int, const struct rlimit*)  lp64
-int prlimit64|prlimit(pid_t, int, struct rlimit64*, const struct rlimit64*)  lp64
-int prlimit64(pid_t, int, struct rlimit64*, const struct rlimit64*)  lp32
+getrlimit:ugetrlimit(int, struct rlimit*)  lp32
+getrlimit|getrlimit64(int, struct rlimit*)  lp64
+setrlimit(int, const struct rlimit*)  lp32
+setrlimit|setrlimit64(int, const struct rlimit*)  lp64
+prlimit64|prlimit(pid_t, int, struct rlimit64*, const struct rlimit64*)  lp64
+prlimit64(pid_t, int, struct rlimit64*, const struct rlimit64*)  lp32
 
-int     setgroups:setgroups32(int, const gid_t*)   lp32
-int     setgroups:setgroups(int, const gid_t*)     lp64
-int     setpgid(pid_t, pid_t)  all
-int     setregid:setregid32(gid_t, gid_t)  lp32
-int     setregid:setregid(gid_t, gid_t)    lp64
-int     chroot(const char*)  all
-int     prctl(int, unsigned long, unsigned long, unsigned long, unsigned long) all
-int     capget(cap_user_header_t header, cap_user_data_t data) all
-int     capset(cap_user_header_t header, const cap_user_data_t data) all
-int     sigaltstack(const stack_t*, stack_t*) all
-int     acct(const char*  filepath)  all
+setgroups:setgroups32(int, const gid_t*)   lp32
+setgroups:setgroups(int, const gid_t*)     lp64
+setpgid(pid_t, pid_t)  all
+setregid:setregid32(gid_t, gid_t)  lp32
+setregid:setregid(gid_t, gid_t)    lp64
+chroot(const char*)  all
+prctl(int, unsigned long, unsigned long, unsigned long, unsigned long) all
+capget(cap_user_header_t header, cap_user_data_t data) all
+capset(cap_user_header_t header, const cap_user_data_t data) all
+sigaltstack(const stack_t*, stack_t*) all
+acct(const char*  filepath)  all
 
 # file descriptors
-ssize_t     read(int, void*, size_t)        all
-ssize_t     write(int, const void*, size_t)       all
-ssize_t     pread64(int, void*, size_t, off64_t) lp32
-ssize_t     pread64|pread(int, void*, size_t, off_t) lp64
-ssize_t     pwrite64(int, void*, size_t, off64_t) lp32
-ssize_t     pwrite64|pwrite(int, void*, size_t, off_t) lp64
+read(int, void*, size_t)        all
+write(int, const void*, size_t)       all
+pread64(int, void*, size_t, off64_t) lp32
+pread64|pread(int, void*, size_t, off_t) lp64
+pwrite64(int, void*, size_t, off64_t) lp32
+pwrite64|pwrite(int, void*, size_t, off_t) lp64
 
 # On LP32, preadv/pwritev don't use off64_t --- they use pairs of 32-bit
 # arguments to avoid problems on architectures like arm32 where 64-bit arguments
 # must be in a register pair starting with an even-numbered register.
 # See linux/fs/read_write.c and https://lwn.net/Articles/311630/.
 # Note that there's an unused always-0 second long even on LP64!
-ssize_t     __preadv64:preadv(int, const struct iovec*, int, long, long) all
-ssize_t     __pwritev64:pwritev(int, const struct iovec*, int, long, long) all
-ssize_t     __preadv64v2:preadv2(int, const struct iovec*, int, long, long, int) all
-ssize_t     __pwritev64v2:pwritev2(int, const struct iovec*, int, long, long, int) all
+__preadv64:preadv(int, const struct iovec*, int, long, long) all
+__pwritev64:pwritev(int, const struct iovec*, int, long, long) all
+__preadv64v2:preadv2(int, const struct iovec*, int, long, long, int) all
+__pwritev64v2:pwritev2(int, const struct iovec*, int, long, long, int) all
 
-int         __close:close(int)  all
-int         close_range(unsigned int, unsigned int, int) all
-ssize_t     copy_file_range(int, off64_t*, int, off64_t*, size_t, unsigned int) all
-pid_t       __getpid:getpid()  all
-int memfd_create(const char*, unsigned) all
-int         munmap(void*, size_t)  all
-int         msync(const void*, size_t, int)    all
-int         mprotect(const void*, size_t, int)  all
-int         madvise(void*, size_t, int)  all
-ssize_t     process_madvise(int, const struct iovec*, size_t, int, unsigned int)     all
-int mlock(const void* addr, size_t len)    all
-int mlock2(const void* addr, size_t len, int flags)    all
-int         munlock(const void* addr, size_t len)   all
-int         mlockall(int flags)   all
-int mseal(void*, size_t, unsigned long) lp64
-int         munlockall()   all
-int         mincore(void*  start, size_t  length, unsigned char*  vec)   all
-int         __ioctl:ioctl(int, int, void*)  all
-ssize_t     readv(int, const struct iovec*, int)   all
-ssize_t     writev(int, const struct iovec*, int)  all
-int         __fcntl64:fcntl64(int, int, void*)  lp32
-int         __fcntl:fcntl(int, int, void*)  lp64
-int         flock(int, int)   all
-int         __fchmod:fchmod(int, mode_t)  all
-int         __pipe2:pipe2(int*, int) all
-int         __dup:dup(int)  all
-int         __dup3:dup3(int, int, int)   all
-int         fsync(int)  all
-int         fdatasync(int) all
-int         fchown:fchown32(int, uid_t, gid_t)  lp32
-int         fchown:fchown(int, uid_t, gid_t)    lp64
-void        sync(void)  all
-int         syncfs(int)  all
-int         __fsetxattr:fsetxattr(int, const char*, const void*, size_t, int) all
-ssize_t     __fgetxattr:fgetxattr(int, const char*, void*, size_t) all
-ssize_t     __flistxattr:flistxattr(int, char*, size_t) all
-int         fremovexattr(int, const char*) all
+__close:close(int)  all
+close_range(unsigned int, unsigned int, int) all
+copy_file_range(int, off64_t*, int, off64_t*, size_t, unsigned int) all
+__getpid:getpid()  all
+memfd_create(const char*, unsigned) all
+munmap(void*, size_t)  all
+msync(const void*, size_t, int)    all
+mprotect(const void*, size_t, int)  all
+madvise(void*, size_t, int)  all
+process_madvise(int, const struct iovec*, size_t, int, unsigned int)     all
+mlock(const void* addr, size_t len)    all
+mlock2(const void* addr, size_t len, int flags)    all
+munlock(const void* addr, size_t len)   all
+mlockall(int flags)   all
+mseal(void*, size_t, unsigned long) lp64
+munlockall()   all
+mincore(void*  start, size_t  length, unsigned char*  vec)   all
+__ioctl:ioctl(int, int, void*)  all
+readv(int, const struct iovec*, int)   all
+writev(int, const struct iovec*, int)  all
+__fcntl64:fcntl64(int, int, void*)  lp32
+__fcntl:fcntl(int, int, void*)  lp64
+flock(int, int)   all
+__fchmod:fchmod(int, mode_t)  all
+__pipe2:pipe2(int*, int) all
+__dup:dup(int)  all
+__dup3:dup3(int, int, int)   all
+fsync(int)  all
+fdatasync(int) all
+fchown:fchown32(int, uid_t, gid_t)  lp32
+fchown:fchown(int, uid_t, gid_t)    lp64
+sync(void)  all
+syncfs(int)  all
+__fsetxattr:fsetxattr(int, const char*, const void*, size_t, int) all
+__fgetxattr:fgetxattr(int, const char*, void*, size_t) all
+__flistxattr:flistxattr(int, char*, size_t) all
+fremovexattr(int, const char*) all
 
-int __getdents64:getdents64(unsigned int, struct dirent*, unsigned int)   all
+__getdents64:getdents64(unsigned int, struct dirent*, unsigned int)   all
 
-int __openat:openat(int, const char*, int, mode_t) all
-int __faccessat:faccessat(int, const char*, int)  all
-int __fchmodat:fchmodat(int, const char*, mode_t)  all
-int fchownat(int, const char*, uid_t, gid_t, int)  all
-int fstatat64|fstatat:fstatat64(int, const char*, struct stat*, int)   lp32
-int fstatat64|fstatat:newfstatat(int, const char*, struct stat*, int)  lp64
-int linkat(int, const char*, int, const char*, int)  all
-int mkdirat(int, const char*, mode_t)  all
-int mknodat(int, const char*, mode_t, dev_t)  all
-ssize_t readlinkat(int, const char*, char*, size_t)  all
-int renameat2(int, const char*, int, const char*, unsigned)  all
-int symlinkat(const char*, int, const char*)  all
-int unlinkat(int, const char*, int)   all
-int utimensat(int, const char*, const struct timespec times[2], int)  all
+__openat:openat(int, const char*, int, mode_t) all
+__faccessat:faccessat(int, const char*, int)  all
+__fchmodat:fchmodat(int, const char*, mode_t)  all
+fchownat(int, const char*, uid_t, gid_t, int)  all
+fstatat64|fstatat:fstatat64(int, const char*, struct stat*, int)   lp32
+fstatat64|fstatat:newfstatat(int, const char*, struct stat*, int)  lp64
+linkat(int, const char*, int, const char*, int)  all
+mkdirat(int, const char*, mode_t)  all
+mknodat(int, const char*, mode_t, dev_t)  all
+readlinkat(int, const char*, char*, size_t)  all
+renameat2(int, const char*, int, const char*, unsigned)  all
+symlinkat(const char*, int, const char*)  all
+unlinkat(int, const char*, int)   all
+utimensat(int, const char*, const struct timespec times[2], int)  all
 
 # Paired off_t/off64_t system calls. On 64-bit systems,
 # sizeof(off_t) == sizeof(off64_t), so there we emit two symbols that are
 # aliases. On 32-bit systems, we have two different system calls.
 # That means that every system call in this section should take three lines.
-off_t lseek(int, off_t, int) lp32
-int __llseek:_llseek(int, unsigned long, unsigned long, off64_t*, int) lp32
-off_t lseek|lseek64(int, off_t, int) lp64
-ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) lp32
-ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) lp32
-ssize_t sendfile|sendfile64(int out_fd, int in_fd, off_t* offset, size_t count) lp64
-int truncate(const char*, off_t) lp32
-int truncate64(const char*, off64_t) lp32
-int truncate|truncate64(const char*, off_t) lp64
+lseek(int, off_t, int) lp32
+__llseek:_llseek(int, unsigned long, unsigned long, off64_t*, int) lp32
+lseek|lseek64(int, off_t, int) lp64
+sendfile(int out_fd, int in_fd, off_t* offset, size_t count) lp32
+sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) lp32
+sendfile|sendfile64(int out_fd, int in_fd, off_t* offset, size_t count) lp64
+truncate(const char*, off_t) lp32
+truncate64(const char*, off64_t) lp32
+truncate|truncate64(const char*, off_t) lp64
 # (fallocate only gets two lines because there is no 32-bit variant.)
-int fallocate64:fallocate(int, int, off64_t, off64_t) lp32
-int fallocate|fallocate64(int, int, off_t, off_t) lp64
+fallocate64:fallocate(int, int, off64_t, off64_t) lp32
+fallocate|fallocate64(int, int, off_t, off_t) lp64
 # (ftruncate only gets two lines because 32-bit bionic only uses the 64-bit call.)
-int ftruncate64(int, off64_t) lp32
-int ftruncate|ftruncate64(int, off_t) lp64
+ftruncate64(int, off64_t) lp32
+ftruncate|ftruncate64(int, off_t) lp64
 # (mmap only gets two lines because 32-bit bionic only uses the 64-bit call.)
-void* __mmap2:mmap2(void*, size_t, int, int, int, long) lp32
-void* mmap|mmap64(void*, size_t, int, int, int, off_t) lp64
+__mmap2:mmap2(void*, size_t, int, int, int, long) lp32
+mmap|mmap64(void*, size_t, int, int, int, off_t) lp64
 
 # mremap is in C++ for 32-bit so we can add the PTRDIFF_MAX check.
-void* __mremap:mremap(void*, size_t, size_t, int, void*) lp32
-void* mremap(void*, size_t, size_t, int, void*) lp64
+__mremap:mremap(void*, size_t, size_t, int, void*) lp32
+mremap(void*, size_t, size_t, int, void*) lp64
 
 # posix_fadvise64 is awkward: arm has shuffled arguments,
 # the POSIX functions don't set errno, and no architecture has posix_fadvise.
-int __arm_fadvise64_64:arm_fadvise64_64(int, int, off64_t, off64_t) arm
-int __fadvise64:fadvise64_64(int, off64_t, off64_t, int) x86
-int __fadvise64:fadvise64(int, off64_t, off64_t, int) lp64
+__arm_fadvise64_64:arm_fadvise64_64(int, int, off64_t, off64_t) arm
+__fadvise64:fadvise64_64(int, off64_t, off64_t, int) x86
+__fadvise64:fadvise64(int, off64_t, off64_t, int) lp64
 
-int __fstatfs64:fstatfs64(int, size_t, struct statfs*)  lp32
-int __fstatfs:fstatfs(int, struct statfs*)  lp64
-int __statfs64:statfs64(const char*, size_t, struct statfs*)  lp32
-int __statfs:statfs(const char*, struct statfs*)  lp64
+__fstatfs64:fstatfs64(int, size_t, struct statfs*)  lp32
+__fstatfs:fstatfs(int, struct statfs*)  lp64
+__statfs64:statfs64(const char*, size_t, struct statfs*)  lp32
+__statfs:statfs(const char*, struct statfs*)  lp64
 
-int fstat64|fstat:fstat64(int, struct stat*) lp32
-int fstat64|fstat:fstat(int, struct stat*) lp64
+fstat64|fstat:fstat64(int, struct stat*) lp32
+fstat64|fstat:fstat(int, struct stat*) lp64
 
 # file system
-int     chdir(const char*)              all
-int     mount(const char*, const char*, const char*, unsigned long, const void*)  all
-int     umount2(const char*, int)  all
-int     __getcwd:getcwd(char* buf, size_t size)  all
-int     fchdir(int)    all
-int     setxattr(const char*, const char*, const void*, size_t, int) all
-int     lsetxattr(const char*, const char*, const void*, size_t, int) all
-ssize_t getxattr(const char*, const char*, void*, size_t) all
-ssize_t lgetxattr(const char*, const char*, void*, size_t) all
-ssize_t listxattr(const char*, char*, size_t) all
-ssize_t llistxattr(const char*, char*, size_t) all
-int     removexattr(const char*, const char*) all
-int     lremovexattr(const char*, const char*) all
-int statx(int, const char*, int, unsigned, struct statx*) all
-int     swapon(const char*, int) all
-int     swapoff(const char*) all
+chdir(const char*)              all
+mount(const char*, const char*, const char*, unsigned long, const void*)  all
+umount2(const char*, int)  all
+__getcwd:getcwd(char* buf, size_t size)  all
+fchdir(int)    all
+setxattr(const char*, const char*, const void*, size_t, int) all
+lsetxattr(const char*, const char*, const void*, size_t, int) all
+getxattr(const char*, const char*, void*, size_t) all
+lgetxattr(const char*, const char*, void*, size_t) all
+listxattr(const char*, char*, size_t) all
+llistxattr(const char*, char*, size_t) all
+removexattr(const char*, const char*) all
+lremovexattr(const char*, const char*) all
+statx(int, const char*, int, unsigned, struct statx*) all
+swapon(const char*, int) all
+swapoff(const char*) all
 
 # time
-int           settimeofday(const struct timeval*, const struct timezone*)   all
-clock_t       times(struct tms*)       all
-int           nanosleep(const struct timespec*, struct timespec*)   all
-int           clock_settime(clockid_t, const struct timespec*)  all
-int           __clock_nanosleep:clock_nanosleep(clockid_t, int, const struct timespec*, struct timespec*)  all
-int           getitimer(int, struct itimerval*)   all
-int           setitimer(int, const struct itimerval*, struct itimerval*)  all
-int           __timer_create:timer_create(clockid_t clockid, struct sigevent* evp, __kernel_timer_t* timerid)    all
-int           __timer_settime:timer_settime(__kernel_timer_t, int, const struct itimerspec*, struct itimerspec*) all
-int           __timer_gettime:timer_gettime(__kernel_timer_t, struct itimerspec*)                                all
-int           __timer_getoverrun:timer_getoverrun(__kernel_timer_t)                                              all
-int           __timer_delete:timer_delete(__kernel_timer_t)                                                      all
-int           timerfd_create(clockid_t, int)   all
-int           timerfd_settime(int, int, const struct itimerspec*, struct itimerspec*)   all
-int           timerfd_gettime(int, struct itimerspec*)   all
-int           adjtimex(struct timex*)   all
-int           clock_adjtime(clockid_t, struct timex*)   all
+settimeofday(const struct timeval*, const struct timezone*)   all
+times(struct tms*)       all
+nanosleep(const struct timespec*, struct timespec*)   all
+clock_settime(clockid_t, const struct timespec*)  all
+__clock_nanosleep:clock_nanosleep(clockid_t, int, const struct timespec*, struct timespec*)  all
+getitimer(int, struct itimerval*)   all
+setitimer(int, const struct itimerval*, struct itimerval*)  all
+__timer_create:timer_create(clockid_t clockid, struct sigevent* evp, __kernel_timer_t* timerid)    all
+__timer_settime:timer_settime(__kernel_timer_t, int, const struct itimerspec*, struct itimerspec*) all
+__timer_gettime:timer_gettime(__kernel_timer_t, struct itimerspec*)                                all
+__timer_getoverrun:timer_getoverrun(__kernel_timer_t)                                              all
+__timer_delete:timer_delete(__kernel_timer_t)                                                      all
+timerfd_create(clockid_t, int)   all
+timerfd_settime(int, int, const struct itimerspec*, struct itimerspec*)   all
+timerfd_gettime(int, struct itimerspec*)   all
+adjtimex(struct timex*)   all
+clock_adjtime(clockid_t, struct timex*)   all
 
 # signals
-int     __sigaction:sigaction(int, const struct sigaction*, struct sigaction*)  lp32
-int     __rt_sigaction:rt_sigaction(int, const struct sigaction*, struct sigaction*, size_t)  all
-int     __rt_sigpending:rt_sigpending(sigset64_t*, size_t)  all
-int     __rt_sigprocmask:rt_sigprocmask(int, const sigset64_t*, sigset64_t*, size_t)  all
-int     __rt_sigsuspend:rt_sigsuspend(const sigset64_t*, size_t)  all
-int     __rt_sigtimedwait:rt_sigtimedwait(const sigset64_t*, siginfo_t*, const timespec*, size_t)  all
-int     __rt_sigqueueinfo:rt_sigqueueinfo(pid_t, int, siginfo_t*)  all
-int     __signalfd4:signalfd4(int, const sigset64_t*, size_t, int)  all
+__sigaction:sigaction(int, const struct sigaction*, struct sigaction*)  lp32
+__rt_sigaction:rt_sigaction(int, const struct sigaction*, struct sigaction*, size_t)  all
+__rt_sigpending:rt_sigpending(sigset64_t*, size_t)  all
+__rt_sigprocmask:rt_sigprocmask(int, const sigset64_t*, sigset64_t*, size_t)  all
+__rt_sigsuspend:rt_sigsuspend(const sigset64_t*, size_t)  all
+__rt_sigtimedwait:rt_sigtimedwait(const sigset64_t*, siginfo_t*, const timespec*, size_t)  all
+__rt_sigqueueinfo:rt_sigqueueinfo(pid_t, int, siginfo_t*)  all
+__signalfd4:signalfd4(int, const sigset64_t*, size_t, int)  all
 
 # sockets
-int           __socket:socket(int, int, int)              arm,lp64
-int           __socketpair:socketpair(int, int, int, int*)    arm,lp64
-int           bind(int, struct sockaddr*, socklen_t)  arm,lp64
-int           __connect:connect(int, struct sockaddr*, socklen_t)   arm,lp64
-int           listen(int, int)                   arm,lp64
-int           __accept4:accept4(int, struct sockaddr*, socklen_t*, int)  arm,lp64
-int           getsockname(int, struct sockaddr*, socklen_t*)  arm,lp64
-int           getpeername(int, struct sockaddr*, socklen_t*)  arm,lp64
-ssize_t       __sendto:sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t)  arm,lp64
-ssize_t       recvfrom(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*)  arm,lp64
-int           shutdown(int, int)  arm,lp64
-int           setsockopt(int, int, int, const void*, socklen_t)  arm,lp64
-int           getsockopt(int, int, int, void*, socklen_t*)    arm,lp64
-ssize_t       __recvmsg:recvmsg(int, struct msghdr*, unsigned int)   arm,lp64
-ssize_t       __sendmsg:sendmsg(int, const struct msghdr*, unsigned int)  arm,lp64
-int           __recvmmsg:recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*)   arm,lp64
-int           __sendmmsg:sendmmsg(int, struct mmsghdr*, unsigned int, int)   arm,lp64
+__socket:socket(int, int, int)              arm,lp64
+__socketpair:socketpair(int, int, int, int*)    arm,lp64
+bind(int, struct sockaddr*, socklen_t)  arm,lp64
+__connect:connect(int, struct sockaddr*, socklen_t)   arm,lp64
+listen(int, int)                   arm,lp64
+__accept4:accept4(int, struct sockaddr*, socklen_t*, int)  arm,lp64
+getsockname(int, struct sockaddr*, socklen_t*)  arm,lp64
+getpeername(int, struct sockaddr*, socklen_t*)  arm,lp64
+__sendto:sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t)  arm,lp64
+recvfrom(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*)  arm,lp64
+shutdown(int, int)  arm,lp64
+setsockopt(int, int, int, const void*, socklen_t)  arm,lp64
+getsockopt(int, int, int, void*, socklen_t*)    arm,lp64
+__recvmsg:recvmsg(int, struct msghdr*, unsigned int)   arm,lp64
+__sendmsg:sendmsg(int, const struct msghdr*, unsigned int)  arm,lp64
+__recvmmsg:recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*)   arm,lp64
+__sendmmsg:sendmmsg(int, struct mmsghdr*, unsigned int, int)   arm,lp64
 
 # sockets for x86. These are done as an "indexed" call to socketcall syscall.
-int           __socket:socketcall:1(int, int, int) x86
-int           bind:socketcall:2(int, struct sockaddr*, int)  x86
-int           __connect:socketcall:3(int, struct sockaddr*, socklen_t)   x86
-int           listen:socketcall:4(int, int)                   x86
-int           getsockname:socketcall:6(int, struct sockaddr*, socklen_t*)  x86
-int           getpeername:socketcall:7(int, struct sockaddr*, socklen_t*)  x86
-int           __socketpair:socketcall:8(int, int, int, int*)    x86
-ssize_t       __sendto:socketcall:11(int, const void*, size_t, int, const struct sockaddr*, socklen_t)  x86
-ssize_t       recvfrom:socketcall:12(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*)  x86
-int           shutdown:socketcall:13(int, int)  x86
-int           setsockopt:socketcall:14(int, int, int, const void*, socklen_t)  x86
-int           getsockopt:socketcall:15(int, int, int, void*, socklen_t*)    x86
-int           __sendmsg:socketcall:16(int, const struct msghdr*, unsigned int)  x86
-int           __recvmsg:socketcall:17(int, struct msghdr*, unsigned int)   x86
-int           __accept4:socketcall:18(int, struct sockaddr*, socklen_t*, int)  x86
-int           __recvmmsg:socketcall:19(int, struct mmsghdr*, unsigned int, int, const struct timespec*)   x86
-int           __sendmmsg:socketcall:20(int, struct mmsghdr*, unsigned int, int)   x86
+__socket:socketcall:1(int, int, int) x86
+bind:socketcall:2(int, struct sockaddr*, int)  x86
+__connect:socketcall:3(int, struct sockaddr*, socklen_t)   x86
+listen:socketcall:4(int, int)                   x86
+getsockname:socketcall:6(int, struct sockaddr*, socklen_t*)  x86
+getpeername:socketcall:7(int, struct sockaddr*, socklen_t*)  x86
+__socketpair:socketcall:8(int, int, int, int*)    x86
+__sendto:socketcall:11(int, const void*, size_t, int, const struct sockaddr*, socklen_t)  x86
+recvfrom:socketcall:12(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*)  x86
+shutdown:socketcall:13(int, int)  x86
+setsockopt:socketcall:14(int, int, int, const void*, socklen_t)  x86
+getsockopt:socketcall:15(int, int, int, void*, socklen_t*)    x86
+__sendmsg:socketcall:16(int, const struct msghdr*, unsigned int)  x86
+__recvmsg:socketcall:17(int, struct msghdr*, unsigned int)   x86
+__accept4:socketcall:18(int, struct sockaddr*, socklen_t*, int)  x86
+__recvmmsg:socketcall:19(int, struct mmsghdr*, unsigned int, int, const struct timespec*)   x86
+__sendmmsg:socketcall:20(int, struct mmsghdr*, unsigned int, int)   x86
 
 # scheduler & real-time
-int sched_get_priority_max(int policy) all
-int sched_get_priority_min(int policy) all
-int __sched_getaffinity:sched_getaffinity(pid_t, size_t, cpu_set_t*) all
-int sched_getattr(pid_t, sched_attr*, unsigned, unsigned) all
-int sched_getparam(pid_t, sched_param*) all
-int sched_getscheduler(pid_t) all
-int sched_rr_get_interval(pid_t, timespec*) all
-int sched_setaffinity(pid_t, size_t, const cpu_set_t*) all
-int sched_setattr(pid_t, sched_attr*, unsigned) all
-int sched_setparam(pid_t, const sched_param*) all
-int sched_setscheduler(pid_t, int, const sched_param*)  all
-int sched_yield(void) all
+sched_get_priority_max(int policy) all
+sched_get_priority_min(int policy) all
+__sched_getaffinity:sched_getaffinity(pid_t, size_t, cpu_set_t*) all
+sched_getattr(pid_t, sched_attr*, unsigned, unsigned) all
+sched_getparam(pid_t, sched_param*) all
+sched_getscheduler(pid_t) all
+sched_rr_get_interval(pid_t, timespec*) all
+sched_setaffinity(pid_t, size_t, const cpu_set_t*) all
+sched_setattr(pid_t, sched_attr*, unsigned) all
+sched_setparam(pid_t, const sched_param*) all
+sched_setscheduler(pid_t, int, const sched_param*)  all
+sched_yield(void) all
 
 # other
-int     uname(struct utsname*)  all
-mode_t  umask(mode_t)  all
-int     __reboot:reboot(int, int, int, void*)  all
-int     init_module(void*, unsigned long, const char*)  all
-int     delete_module(const char*, unsigned int)   all
-int     klogctl:syslog(int, char*, int)   all
-int     sysinfo(struct sysinfo*)  all
-int     personality(unsigned long)  all
+uname(struct utsname*)  all
+umask(mode_t)  all
+__reboot:reboot(int, int, int, void*)  all
+init_module(void*, unsigned long, const char*)  all
+delete_module(const char*, unsigned int)   all
+klogctl:syslog(int, char*, int)   all
+sysinfo(struct sysinfo*)  all
+personality(unsigned long)  all
 
-int setns(int, int) all
-int unshare(int) all
+setns(int, int) all
+unshare(int) all
 
-int __getcpu:getcpu(unsigned*, unsigned*, void*) all
+__getcpu:getcpu(unsigned*, unsigned*, void*) all
 
-int     bpf(int, union bpf_attr *, unsigned int) all
+bpf(int, union bpf_attr *, unsigned int) all
 
-ssize_t tee(int, int, size_t, unsigned int)  all
-ssize_t splice(int, off64_t*, int, off64_t*, size_t, unsigned int)  all
-ssize_t vmsplice(int, const struct iovec*, size_t, unsigned int)  all
+tee(int, int, size_t, unsigned int)  all
+splice(int, off64_t*, int, off64_t*, size_t, unsigned int)  all
+vmsplice(int, const struct iovec*, size_t, unsigned int)  all
 
-int __epoll_create1:epoll_create1(int)  all
-int epoll_ctl(int, int op, int, struct epoll_event*)  all
-int __epoll_pwait:epoll_pwait(int, struct epoll_event*, int, int, const sigset64_t*, size_t)  all
-int __epoll_pwait2:epoll_pwait2(int, struct epoll_event*, int, const timespec64*, const sigset64_t*, size_t)  all
+__epoll_create1:epoll_create1(int)  all
+epoll_ctl(int, int op, int, struct epoll_event*)  all
+__epoll_pwait:epoll_pwait(int, struct epoll_event*, int, int, const sigset64_t*, size_t)  all
+__epoll_pwait2:epoll_pwait2(int, struct epoll_event*, int, const timespec64*, const sigset64_t*, size_t)  all
 
-int __eventfd:eventfd2(unsigned int, int)  all
+__eventfd:eventfd2(unsigned int, int)  all
 
-void _exit|_Exit:exit_group(int)  all
-void __exit:exit(int)  all
+_exit|_Exit:exit_group(int)  all
+__exit:exit(int)  all
 
-int inotify_init1(int)  all
-int inotify_add_watch(int, const char*, unsigned int)  all
-int inotify_rm_watch(int, unsigned int)  all
+inotify_init1(int)  all
+inotify_add_watch(int, const char*, unsigned int)  all
+inotify_rm_watch(int, unsigned int)  all
 
-int __pselect6:pselect6(int, fd_set*, fd_set*, fd_set*, timespec*, void*)  all
-int __ppoll:ppoll(pollfd*, unsigned int, timespec*, const sigset64_t*, size_t)  all
+__pselect6:pselect6(int, fd_set*, fd_set*, fd_set*, timespec*, void*)  all
+__ppoll:ppoll(pollfd*, unsigned int, timespec*, const sigset64_t*, size_t)  all
 
-ssize_t process_vm_readv(pid_t, const struct iovec*, unsigned long, const struct iovec*, unsigned long, unsigned long)  all
-ssize_t process_vm_writev(pid_t, const struct iovec*, unsigned long, const struct iovec*, unsigned long, unsigned long)  all
+process_vm_readv(pid_t, const struct iovec*, unsigned long, const struct iovec*, unsigned long, unsigned long)  all
+process_vm_writev(pid_t, const struct iovec*, unsigned long, const struct iovec*, unsigned long, unsigned long)  all
 
-int quotactl(int, const char*, int, char*)  all
+quotactl(int, const char*, int, char*)  all
 
-int __set_tid_address:set_tid_address(int*)  all
+__set_tid_address:set_tid_address(int*)  all
 
-int setdomainname(const char*, size_t)  all
-int sethostname(const char*, size_t)  all
+setdomainname(const char*, size_t)  all
+sethostname(const char*, size_t)  all
 
-int sync_file_range(int, off64_t, off64_t, unsigned int) x86,lp64
-int __sync_file_range2:sync_file_range2(int, unsigned int, off64_t, off64_t) arm
+sync_file_range(int, off64_t, off64_t, unsigned int) x86,lp64
+__sync_file_range2:sync_file_range2(int, unsigned int, off64_t, off64_t) arm
 
-pid_t wait4(pid_t, int*, int, struct rusage*)  all
-int __waitid:waitid(int, pid_t, siginfo_t*, int, void*)  all
+wait4(pid_t, int*, int, struct rusage*)  all
+__waitid:waitid(int, pid_t, siginfo_t*, int, void*)  all
 
 # ARM-specific
-int     __set_tls:__ARM_NR_set_tls(void*)                                 arm
-int     cacheflush:__ARM_NR_cacheflush(long start, long end, long flags)  arm
+__set_tls:__ARM_NR_set_tls(void*)                                 arm
+cacheflush:__ARM_NR_cacheflush(long start, long end, long flags)  arm
 
 # riscv64-specific
-int __riscv_flush_icache:riscv_flush_icache(void*, void*, unsigned long) riscv64
+__riscv_flush_icache:riscv_flush_icache(void*, void*, unsigned long) riscv64
 
 # x86-specific
-int     __set_thread_area:set_thread_area(void*) x86
-long arch_prctl(int, unsigned long) x86_64
+__set_thread_area:set_thread_area(void*) x86
+arch_prctl(int, unsigned long) x86_64
 
 # vdso stuff.
-int __clock_getres:clock_getres(clockid_t, struct timespec*) all
-int __clock_gettime:clock_gettime(clockid_t, struct timespec*) all
-int __gettimeofday:gettimeofday(struct timeval*, struct timezone*) all
+__clock_getres:clock_getres(clockid_t, struct timespec*) all
+__clock_gettime:clock_gettime(clockid_t, struct timespec*) all
+__gettimeofday:gettimeofday(struct timeval*, struct timezone*) all
 
 # <sys/random.h>
-ssize_t getrandom(void*, size_t, unsigned) all
+getrandom(void*, size_t, unsigned) all
 
 # <sys/pidfd.h>
-int __pidfd_open:pidfd_open(pid_t, unsigned int) all
-int __pidfd_getfd:pidfd_getfd(int, int, unsigned int) all
-int pidfd_send_signal(int, int, siginfo_t*, unsigned int) all
+__pidfd_open:pidfd_open(pid_t, unsigned int) all
+__pidfd_getfd:pidfd_getfd(int, int, unsigned int) all
+pidfd_send_signal(int, int, siginfo_t*, unsigned int) all
diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py
index 6eb0d5e..aa4f1cb 100755
--- a/libc/tools/gensyscalls.py
+++ b/libc/tools/gensyscalls.py
@@ -338,8 +338,11 @@
     def parse_line(self, line):
         """ parse a syscall spec line.
 
-        line processing, format is
-           return type    func_name[|alias_list][:syscall_name[:socketcall_id]] ( [paramlist] ) architecture_list
+        format is one syscall per line:
+
+           func_name[|alias_list][:syscall_name[:socketcall_id]] ( [paramlist] ) architecture_list
+
+        with no line breaking/continuation allowed.
         """
         pos_lparen = line.find('(')
         E          = self.E
@@ -352,12 +355,7 @@
             E("missing or misplaced right parenthesis in '%s'" % line)
             return
 
-        return_type = line[:pos_lparen].strip().split()
-        if len(return_type) < 2:
-            E("missing return type in '%s'" % line)
-            return
-
-        syscall_func = return_type[-1]
+        syscall_func = line[:pos_lparen]
         socketcall_id = -1
 
         pos_colon = syscall_func.find(':')