diff --git a/libc/Android.mk b/libc/Android.mk
index 33f2362..a37c9bc 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -104,8 +104,6 @@
 	bionic/md5.c \
 	bionic/memmem.c \
 	bionic/memswap.c \
-	bionic/openat.c \
-	bionic/open.c \
 	bionic/pathconf.c \
 	bionic/perror.c \
 	bionic/pread.c \
@@ -211,8 +209,11 @@
 
 libc_bionic_src_files := \
     bionic/abort.cpp \
+    bionic/access.cpp \
     bionic/assert.cpp \
     bionic/brk.cpp \
+    bionic/chmod.cpp \
+    bionic/chown.cpp \
     bionic/dirent.cpp \
     bionic/__errno.cpp \
     bionic/eventfd_read.cpp \
@@ -221,10 +222,16 @@
     bionic/futimens.cpp \
     bionic/getauxval.cpp \
     bionic/getcwd.cpp \
+    bionic/lchown.cpp \
     bionic/libc_init_common.cpp \
     bionic/libc_logging.cpp \
     bionic/libgen.cpp \
+    bionic/link.cpp \
+    bionic/lstat.cpp \
+    bionic/mkdir.cpp \
     bionic/mkfifo.cpp \
+    bionic/mknod.cpp \
+    bionic/open.cpp \
     bionic/pthread_attr.cpp \
     bionic/pthread_detach.cpp \
     bionic/pthread_equal.cpp \
@@ -238,6 +245,9 @@
     bionic/pthread_setschedparam.cpp \
     bionic/pthread_sigmask.cpp \
     bionic/raise.cpp \
+    bionic/readlink.cpp \
+    bionic/rename.cpp \
+    bionic/rmdir.cpp \
     bionic/sbrk.cpp \
     bionic/scandir.cpp \
     bionic/sched_getaffinity.cpp \
@@ -257,15 +267,19 @@
     bionic/sigprocmask.cpp \
     bionic/sigsuspend.cpp \
     bionic/sigwait.cpp \
+    bionic/stat.cpp \
     bionic/statvfs.cpp \
     bionic/strerror.cpp \
     bionic/strerror_r.cpp \
     bionic/strsignal.cpp \
     bionic/stubs.cpp \
+    bionic/symlink.cpp \
     bionic/sysconf.cpp \
     bionic/tdestroy.cpp \
     bionic/__thread_entry.cpp \
     bionic/tmpfile.cpp \
+    bionic/unlink.cpp \
+    bionic/utimes.cpp \
     bionic/wait.cpp \
     bionic/wchar.cpp \
 
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT
index d9a2506..504f190 100644
--- a/libc/SYSCALLS.TXT
+++ b/libc/SYSCALLS.TXT
@@ -34,6 +34,7 @@
 pid_t   __sys_clone:clone(int, void*, int*, void*, int*) all
 pid_t   _waitpid:waitpid(pid_t, int*, int, struct rusage*)   mips,x86
 int     __waitid:waitid(int, pid_t, struct siginfo_t*, int, void*)          all
+int __open:open(const char*, int, mode_t)  arm,mips,x86
 
 int     execve(const char*, char* const*, char* const*)  all
 
@@ -101,8 +102,6 @@
 ssize_t     write(int, const void*, size_t)       all
 ssize_t     pread64(int, void*, size_t, off64_t) all
 ssize_t     pwrite64(int, void*, size_t, off64_t) all
-int         __open:open(const char*, int, mode_t)  all
-int         __openat:openat(int, const char*, int, mode_t) all
 int         close(int)                      all
 pid_t       getpid()    all
 void*       mmap(void*, size_t, int, int, int, long)  x86_64
@@ -139,16 +138,26 @@
 int         __fcntl64:fcntl64(int, int, void*)  arm,x86,mips
 int         __fstatfs64:fstatfs64(int, size_t, struct statfs*)  arm,x86,mips
 int         fstatfs(int, struct statfs*)  x86_64
-int         fstatat:fstatat64(int dirfd, const char* path, struct stat* buf, int flags)   arm,x86,mips
-int         mkdirat(int dirfd, const char* pathname, mode_t mode)  all
-int         fchownat(int dirfd, const char* path, uid_t owner, gid_t group, int flags)  all
-int         fchmodat(int dirfd, const char* path, mode_t mode, int flags)  all
-int         renameat(int olddirfd, const char* oldpath, int newdirfd, const char* newpath)  all
 int         fsetxattr(int, const char*, const void*, size_t, int) all
 ssize_t     fgetxattr(int, const char*, void*, size_t) all
 ssize_t     flistxattr(int, char*, size_t) all
 int         fremovexattr(int, const char*) all
 
+int __openat:openat(int, const char*, int, mode_t) all
+int faccessat(int, const char*, int, int)  all
+int fchmodat(int, const char*, mode_t, int)  all
+int fchownat(int, const char*, uid_t, gid_t, int)  all
+int fstatat:fstatat64(int, const char*, struct stat*, int)   arm,x86,mips
+int fstatat:newfstatat(int, const char*, struct stat*, int)  x86_64
+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
+int readlinkat(int, const char*, char*, size_t)  all
+int renameat(int, const char*, int, const char*)  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
+
 # 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.
@@ -167,32 +176,12 @@
 int truncate|truncate64(const char*, off_t) x86_64
 
 # file system
-int     link(const char*, const char*)  all
-int     unlink(const char*)             all
-int     unlinkat(int, const char*, int)   all
 int     chdir(const char*)              all
-int     mknod(const char*, mode_t, dev_t)  all
-int     chmod(const char*, mode_t)          all
-int     chown:chown32(const char*, uid_t, gid_t)  arm,x86
-int     chown:chown(const char*, uid_t, gid_t)    mips,x86_64
-int     lchown:lchown32(const char*, uid_t, gid_t)  arm,x86
-int     lchown:lchown(const char*, uid_t, gid_t)  mips,x86_64
 int     mount(const char*, const char*, const char*, unsigned long, const void*)  all
 int     umount2(const char*, int)  all
 int     fstat:fstat64(int, struct stat*)    arm,x86,mips
 int     fstat(int, struct stat*)    x86_64
-int     stat:stat64(const char*, struct stat*)  arm,x86,mips
-int     stat(const char*, struct stat*)  x86_64
-int     lstat:lstat64(const char*, struct stat*)  arm,x86,mips
-int     lstat(const char*, struct stat*)  x86_64
-int     mkdir(const char*, mode_t) all
-int     readlink(const char*, char*, size_t)  all
-int     rmdir(const char*)  all
-int     rename(const char*, const char*)  all
 int     __getcwd:getcwd(char* buf, size_t size)  all
-int     access(const char*, int)  all
-int     faccessat(int, const char*, int, int)  all
-int     symlink(const char*, const char*)  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
@@ -225,8 +214,6 @@
 int           __timer_gettime:timer_gettime(timer_t, struct itimerspec*)                                all
 int           __timer_getoverrun:timer_getoverrun(timer_t)                                              all
 int           __timer_delete:timer_delete(timer_t)                                                      all
-int           utimes(const char*, const struct timeval tvp[2])                          all
-int           utimensat(int, const char*, const struct timespec times[2], int)         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
diff --git a/libc/arch-arm/syscalls.mk b/libc/arch-arm/syscalls.mk
index f9d348b..a59d064 100644
--- a/libc/arch-arm/syscalls.mk
+++ b/libc/arch-arm/syscalls.mk
@@ -35,15 +35,12 @@
 syscall_src += arch-arm/syscalls/_exit.S
 syscall_src += arch-arm/syscalls/_exit_thread.S
 syscall_src += arch-arm/syscalls/accept.S
-syscall_src += arch-arm/syscalls/access.S
 syscall_src += arch-arm/syscalls/acct.S
 syscall_src += arch-arm/syscalls/bind.S
 syscall_src += arch-arm/syscalls/cacheflush.S
 syscall_src += arch-arm/syscalls/capget.S
 syscall_src += arch-arm/syscalls/capset.S
 syscall_src += arch-arm/syscalls/chdir.S
-syscall_src += arch-arm/syscalls/chmod.S
-syscall_src += arch-arm/syscalls/chown.S
 syscall_src += arch-arm/syscalls/chroot.S
 syscall_src += arch-arm/syscalls/clock_getres.S
 syscall_src += arch-arm/syscalls/clock_gettime.S
@@ -105,21 +102,18 @@
 syscall_src += arch-arm/syscalls/ioprio_get.S
 syscall_src += arch-arm/syscalls/ioprio_set.S
 syscall_src += arch-arm/syscalls/klogctl.S
-syscall_src += arch-arm/syscalls/lchown.S
 syscall_src += arch-arm/syscalls/lgetxattr.S
-syscall_src += arch-arm/syscalls/link.S
+syscall_src += arch-arm/syscalls/linkat.S
 syscall_src += arch-arm/syscalls/listen.S
 syscall_src += arch-arm/syscalls/listxattr.S
 syscall_src += arch-arm/syscalls/llistxattr.S
 syscall_src += arch-arm/syscalls/lremovexattr.S
 syscall_src += arch-arm/syscalls/lseek.S
 syscall_src += arch-arm/syscalls/lsetxattr.S
-syscall_src += arch-arm/syscalls/lstat.S
 syscall_src += arch-arm/syscalls/madvise.S
 syscall_src += arch-arm/syscalls/mincore.S
-syscall_src += arch-arm/syscalls/mkdir.S
 syscall_src += arch-arm/syscalls/mkdirat.S
-syscall_src += arch-arm/syscalls/mknod.S
+syscall_src += arch-arm/syscalls/mknodat.S
 syscall_src += arch-arm/syscalls/mlock.S
 syscall_src += arch-arm/syscalls/mlockall.S
 syscall_src += arch-arm/syscalls/mount.S
@@ -141,14 +135,12 @@
 syscall_src += arch-arm/syscalls/pwrite64.S
 syscall_src += arch-arm/syscalls/read.S
 syscall_src += arch-arm/syscalls/readahead.S
-syscall_src += arch-arm/syscalls/readlink.S
+syscall_src += arch-arm/syscalls/readlinkat.S
 syscall_src += arch-arm/syscalls/readv.S
 syscall_src += arch-arm/syscalls/recvfrom.S
 syscall_src += arch-arm/syscalls/recvmsg.S
 syscall_src += arch-arm/syscalls/removexattr.S
-syscall_src += arch-arm/syscalls/rename.S
 syscall_src += arch-arm/syscalls/renameat.S
-syscall_src += arch-arm/syscalls/rmdir.S
 syscall_src += arch-arm/syscalls/sched_get_priority_max.S
 syscall_src += arch-arm/syscalls/sched_get_priority_min.S
 syscall_src += arch-arm/syscalls/sched_getparam.S
@@ -183,10 +175,9 @@
 syscall_src += arch-arm/syscalls/signalfd4.S
 syscall_src += arch-arm/syscalls/socket.S
 syscall_src += arch-arm/syscalls/socketpair.S
-syscall_src += arch-arm/syscalls/stat.S
 syscall_src += arch-arm/syscalls/swapoff.S
 syscall_src += arch-arm/syscalls/swapon.S
-syscall_src += arch-arm/syscalls/symlink.S
+syscall_src += arch-arm/syscalls/symlinkat.S
 syscall_src += arch-arm/syscalls/sync.S
 syscall_src += arch-arm/syscalls/sysinfo.S
 syscall_src += arch-arm/syscalls/timerfd_create.S
@@ -198,11 +189,9 @@
 syscall_src += arch-arm/syscalls/umask.S
 syscall_src += arch-arm/syscalls/umount2.S
 syscall_src += arch-arm/syscalls/uname.S
-syscall_src += arch-arm/syscalls/unlink.S
 syscall_src += arch-arm/syscalls/unlinkat.S
 syscall_src += arch-arm/syscalls/unshare.S
 syscall_src += arch-arm/syscalls/utimensat.S
-syscall_src += arch-arm/syscalls/utimes.S
 syscall_src += arch-arm/syscalls/vfork.S
 syscall_src += arch-arm/syscalls/wait4.S
 syscall_src += arch-arm/syscalls/write.S
diff --git a/libc/arch-arm/syscalls/access.S b/libc/arch-arm/syscalls/access.S
deleted file mode 100644
index 730be2a..0000000
--- a/libc/arch-arm/syscalls/access.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(access)
-    mov     ip, r7
-    ldr     r7, =__NR_access
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(access)
diff --git a/libc/arch-arm/syscalls/chmod.S b/libc/arch-arm/syscalls/chmod.S
deleted file mode 100644
index 3491ff2..0000000
--- a/libc/arch-arm/syscalls/chmod.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(chmod)
-    mov     ip, r7
-    ldr     r7, =__NR_chmod
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(chmod)
diff --git a/libc/arch-arm/syscalls/chown.S b/libc/arch-arm/syscalls/chown.S
deleted file mode 100644
index 1ef51b4..0000000
--- a/libc/arch-arm/syscalls/chown.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(chown)
-    mov     ip, r7
-    ldr     r7, =__NR_chown32
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(chown)
diff --git a/libc/arch-arm/syscalls/lchown.S b/libc/arch-arm/syscalls/lchown.S
deleted file mode 100644
index 91b7cf5..0000000
--- a/libc/arch-arm/syscalls/lchown.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(lchown)
-    mov     ip, r7
-    ldr     r7, =__NR_lchown32
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(lchown)
diff --git a/libc/arch-arm/syscalls/link.S b/libc/arch-arm/syscalls/link.S
deleted file mode 100644
index cc6314e..0000000
--- a/libc/arch-arm/syscalls/link.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(link)
-    mov     ip, r7
-    ldr     r7, =__NR_link
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(link)
diff --git a/libc/arch-arm/syscalls/linkat.S b/libc/arch-arm/syscalls/linkat.S
new file mode 100644
index 0000000..e990ce1
--- /dev/null
+++ b/libc/arch-arm/syscalls/linkat.S
@@ -0,0 +1,19 @@
+/* Generated by gensyscalls.py. Do not edit. */
+
+#include <asm/unistd.h>
+#include <linux/err.h>
+#include <machine/asm.h>
+
+ENTRY(linkat)
+    mov     ip, sp
+    .save   {r4, r5, r6, r7}
+    stmfd   sp!, {r4, r5, r6, r7}
+    ldmfd   ip, {r4, r5, r6}
+    ldr     r7, =__NR_linkat
+    swi     #0
+    ldmfd   sp!, {r4, r5, r6, r7}
+    cmn     r0, #(MAX_ERRNO + 1)
+    bxls    lr
+    neg     r0, r0
+    b       __set_errno
+END(linkat)
diff --git a/libc/arch-arm/syscalls/lstat.S b/libc/arch-arm/syscalls/lstat.S
deleted file mode 100644
index 4e3d3f9..0000000
--- a/libc/arch-arm/syscalls/lstat.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(lstat)
-    mov     ip, r7
-    ldr     r7, =__NR_lstat64
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(lstat)
diff --git a/libc/arch-arm/syscalls/mkdir.S b/libc/arch-arm/syscalls/mkdir.S
deleted file mode 100644
index efceeaa..0000000
--- a/libc/arch-arm/syscalls/mkdir.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(mkdir)
-    mov     ip, r7
-    ldr     r7, =__NR_mkdir
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(mkdir)
diff --git a/libc/arch-arm/syscalls/mknod.S b/libc/arch-arm/syscalls/mknod.S
deleted file mode 100644
index a8aeb39..0000000
--- a/libc/arch-arm/syscalls/mknod.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(mknod)
-    mov     ip, r7
-    ldr     r7, =__NR_mknod
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(mknod)
diff --git a/libc/arch-arm/syscalls/readlink.S b/libc/arch-arm/syscalls/mknodat.S
similarity index 81%
rename from libc/arch-arm/syscalls/readlink.S
rename to libc/arch-arm/syscalls/mknodat.S
index 41fd457..4a64eea 100644
--- a/libc/arch-arm/syscalls/readlink.S
+++ b/libc/arch-arm/syscalls/mknodat.S
@@ -4,13 +4,13 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(readlink)
+ENTRY(mknodat)
     mov     ip, r7
-    ldr     r7, =__NR_readlink
+    ldr     r7, =__NR_mknodat
     swi     #0
     mov     r7, ip
     cmn     r0, #(MAX_ERRNO + 1)
     bxls    lr
     neg     r0, r0
     b       __set_errno
-END(readlink)
+END(mknodat)
diff --git a/libc/arch-arm/syscalls/readlink.S b/libc/arch-arm/syscalls/readlinkat.S
similarity index 79%
copy from libc/arch-arm/syscalls/readlink.S
copy to libc/arch-arm/syscalls/readlinkat.S
index 41fd457..3d85e56 100644
--- a/libc/arch-arm/syscalls/readlink.S
+++ b/libc/arch-arm/syscalls/readlinkat.S
@@ -4,13 +4,13 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(readlink)
+ENTRY(readlinkat)
     mov     ip, r7
-    ldr     r7, =__NR_readlink
+    ldr     r7, =__NR_readlinkat
     swi     #0
     mov     r7, ip
     cmn     r0, #(MAX_ERRNO + 1)
     bxls    lr
     neg     r0, r0
     b       __set_errno
-END(readlink)
+END(readlinkat)
diff --git a/libc/arch-arm/syscalls/rename.S b/libc/arch-arm/syscalls/rename.S
deleted file mode 100644
index 0954c51..0000000
--- a/libc/arch-arm/syscalls/rename.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(rename)
-    mov     ip, r7
-    ldr     r7, =__NR_rename
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(rename)
diff --git a/libc/arch-arm/syscalls/rmdir.S b/libc/arch-arm/syscalls/rmdir.S
deleted file mode 100644
index 3ebe9d1..0000000
--- a/libc/arch-arm/syscalls/rmdir.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(rmdir)
-    mov     ip, r7
-    ldr     r7, =__NR_rmdir
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(rmdir)
diff --git a/libc/arch-arm/syscalls/stat.S b/libc/arch-arm/syscalls/stat.S
deleted file mode 100644
index 728c170..0000000
--- a/libc/arch-arm/syscalls/stat.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(stat)
-    mov     ip, r7
-    ldr     r7, =__NR_stat64
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(stat)
diff --git a/libc/arch-arm/syscalls/symlink.S b/libc/arch-arm/syscalls/symlink.S
deleted file mode 100644
index 92bd669..0000000
--- a/libc/arch-arm/syscalls/symlink.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(symlink)
-    mov     ip, r7
-    ldr     r7, =__NR_symlink
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(symlink)
diff --git a/libc/arch-arm/syscalls/readlink.S b/libc/arch-arm/syscalls/symlinkat.S
similarity index 80%
copy from libc/arch-arm/syscalls/readlink.S
copy to libc/arch-arm/syscalls/symlinkat.S
index 41fd457..fb51f19 100644
--- a/libc/arch-arm/syscalls/readlink.S
+++ b/libc/arch-arm/syscalls/symlinkat.S
@@ -4,13 +4,13 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(readlink)
+ENTRY(symlinkat)
     mov     ip, r7
-    ldr     r7, =__NR_readlink
+    ldr     r7, =__NR_symlinkat
     swi     #0
     mov     r7, ip
     cmn     r0, #(MAX_ERRNO + 1)
     bxls    lr
     neg     r0, r0
     b       __set_errno
-END(readlink)
+END(symlinkat)
diff --git a/libc/arch-arm/syscalls/unlink.S b/libc/arch-arm/syscalls/unlink.S
deleted file mode 100644
index 80c4c77..0000000
--- a/libc/arch-arm/syscalls/unlink.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(unlink)
-    mov     ip, r7
-    ldr     r7, =__NR_unlink
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(unlink)
diff --git a/libc/arch-arm/syscalls/utimes.S b/libc/arch-arm/syscalls/utimes.S
deleted file mode 100644
index 8b70479..0000000
--- a/libc/arch-arm/syscalls/utimes.S
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(utimes)
-    mov     ip, r7
-    ldr     r7, =__NR_utimes
-    swi     #0
-    mov     r7, ip
-    cmn     r0, #(MAX_ERRNO + 1)
-    bxls    lr
-    neg     r0, r0
-    b       __set_errno
-END(utimes)
diff --git a/libc/arch-mips/syscalls.mk b/libc/arch-mips/syscalls.mk
index fc96222..621dbac 100644
--- a/libc/arch-mips/syscalls.mk
+++ b/libc/arch-mips/syscalls.mk
@@ -37,14 +37,11 @@
 syscall_src += arch-mips/syscalls/_flush_cache.S
 syscall_src += arch-mips/syscalls/_waitpid.S
 syscall_src += arch-mips/syscalls/accept.S
-syscall_src += arch-mips/syscalls/access.S
 syscall_src += arch-mips/syscalls/acct.S
 syscall_src += arch-mips/syscalls/bind.S
 syscall_src += arch-mips/syscalls/capget.S
 syscall_src += arch-mips/syscalls/capset.S
 syscall_src += arch-mips/syscalls/chdir.S
-syscall_src += arch-mips/syscalls/chmod.S
-syscall_src += arch-mips/syscalls/chown.S
 syscall_src += arch-mips/syscalls/chroot.S
 syscall_src += arch-mips/syscalls/clock_getres.S
 syscall_src += arch-mips/syscalls/clock_gettime.S
@@ -107,21 +104,18 @@
 syscall_src += arch-mips/syscalls/ioprio_set.S
 syscall_src += arch-mips/syscalls/kill.S
 syscall_src += arch-mips/syscalls/klogctl.S
-syscall_src += arch-mips/syscalls/lchown.S
 syscall_src += arch-mips/syscalls/lgetxattr.S
-syscall_src += arch-mips/syscalls/link.S
+syscall_src += arch-mips/syscalls/linkat.S
 syscall_src += arch-mips/syscalls/listen.S
 syscall_src += arch-mips/syscalls/listxattr.S
 syscall_src += arch-mips/syscalls/llistxattr.S
 syscall_src += arch-mips/syscalls/lremovexattr.S
 syscall_src += arch-mips/syscalls/lseek.S
 syscall_src += arch-mips/syscalls/lsetxattr.S
-syscall_src += arch-mips/syscalls/lstat.S
 syscall_src += arch-mips/syscalls/madvise.S
 syscall_src += arch-mips/syscalls/mincore.S
-syscall_src += arch-mips/syscalls/mkdir.S
 syscall_src += arch-mips/syscalls/mkdirat.S
-syscall_src += arch-mips/syscalls/mknod.S
+syscall_src += arch-mips/syscalls/mknodat.S
 syscall_src += arch-mips/syscalls/mlock.S
 syscall_src += arch-mips/syscalls/mlockall.S
 syscall_src += arch-mips/syscalls/mount.S
@@ -142,14 +136,12 @@
 syscall_src += arch-mips/syscalls/pwrite64.S
 syscall_src += arch-mips/syscalls/read.S
 syscall_src += arch-mips/syscalls/readahead.S
-syscall_src += arch-mips/syscalls/readlink.S
+syscall_src += arch-mips/syscalls/readlinkat.S
 syscall_src += arch-mips/syscalls/readv.S
 syscall_src += arch-mips/syscalls/recvfrom.S
 syscall_src += arch-mips/syscalls/recvmsg.S
 syscall_src += arch-mips/syscalls/removexattr.S
-syscall_src += arch-mips/syscalls/rename.S
 syscall_src += arch-mips/syscalls/renameat.S
-syscall_src += arch-mips/syscalls/rmdir.S
 syscall_src += arch-mips/syscalls/sched_get_priority_max.S
 syscall_src += arch-mips/syscalls/sched_get_priority_min.S
 syscall_src += arch-mips/syscalls/sched_getparam.S
@@ -184,10 +176,9 @@
 syscall_src += arch-mips/syscalls/signalfd4.S
 syscall_src += arch-mips/syscalls/socket.S
 syscall_src += arch-mips/syscalls/socketpair.S
-syscall_src += arch-mips/syscalls/stat.S
 syscall_src += arch-mips/syscalls/swapoff.S
 syscall_src += arch-mips/syscalls/swapon.S
-syscall_src += arch-mips/syscalls/symlink.S
+syscall_src += arch-mips/syscalls/symlinkat.S
 syscall_src += arch-mips/syscalls/sync.S
 syscall_src += arch-mips/syscalls/syscall.S
 syscall_src += arch-mips/syscalls/sysinfo.S
@@ -202,11 +193,9 @@
 syscall_src += arch-mips/syscalls/umask.S
 syscall_src += arch-mips/syscalls/umount2.S
 syscall_src += arch-mips/syscalls/uname.S
-syscall_src += arch-mips/syscalls/unlink.S
 syscall_src += arch-mips/syscalls/unlinkat.S
 syscall_src += arch-mips/syscalls/unshare.S
 syscall_src += arch-mips/syscalls/utimensat.S
-syscall_src += arch-mips/syscalls/utimes.S
 syscall_src += arch-mips/syscalls/wait4.S
 syscall_src += arch-mips/syscalls/write.S
 syscall_src += arch-mips/syscalls/writev.S
diff --git a/libc/arch-mips/syscalls/chmod.S b/libc/arch-mips/syscalls/chmod.S
deleted file mode 100644
index dd5a1f2..0000000
--- a/libc/arch-mips/syscalls/chmod.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl chmod
-    .align 4
-    .ent chmod
-
-chmod:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_chmod
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end chmod
diff --git a/libc/arch-mips/syscalls/chown.S b/libc/arch-mips/syscalls/chown.S
deleted file mode 100644
index afe807d..0000000
--- a/libc/arch-mips/syscalls/chown.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl chown
-    .align 4
-    .ent chown
-
-chown:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_chown
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end chown
diff --git a/libc/arch-mips/syscalls/lchown.S b/libc/arch-mips/syscalls/lchown.S
deleted file mode 100644
index f23aa6a..0000000
--- a/libc/arch-mips/syscalls/lchown.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl lchown
-    .align 4
-    .ent lchown
-
-lchown:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_lchown
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end lchown
diff --git a/libc/arch-mips/syscalls/link.S b/libc/arch-mips/syscalls/link.S
deleted file mode 100644
index e197927..0000000
--- a/libc/arch-mips/syscalls/link.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl link
-    .align 4
-    .ent link
-
-link:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_link
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end link
diff --git a/libc/arch-mips/syscalls/access.S b/libc/arch-mips/syscalls/linkat.S
similarity index 75%
rename from libc/arch-mips/syscalls/access.S
rename to libc/arch-mips/syscalls/linkat.S
index 941b791..dae07dd 100644
--- a/libc/arch-mips/syscalls/access.S
+++ b/libc/arch-mips/syscalls/linkat.S
@@ -2,14 +2,14 @@
 
 #include <asm/unistd.h>
     .text
-    .globl access
+    .globl linkat
     .align 4
-    .ent access
+    .ent linkat
 
-access:
+linkat:
     .set noreorder
     .cpload $t9
-    li $v0, __NR_access
+    li $v0, __NR_linkat
     syscall
     bnez $a3, 1f
     move $a0, $v0
@@ -20,4 +20,4 @@
     j $t9
     nop
     .set reorder
-    .end access
+    .end linkat
diff --git a/libc/arch-mips/syscalls/lstat.S b/libc/arch-mips/syscalls/lstat.S
deleted file mode 100644
index 78e7a98..0000000
--- a/libc/arch-mips/syscalls/lstat.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl lstat
-    .align 4
-    .ent lstat
-
-lstat:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_lstat64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end lstat
diff --git a/libc/arch-mips/syscalls/mkdir.S b/libc/arch-mips/syscalls/mkdir.S
deleted file mode 100644
index ec7412a..0000000
--- a/libc/arch-mips/syscalls/mkdir.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl mkdir
-    .align 4
-    .ent mkdir
-
-mkdir:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mkdir
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end mkdir
diff --git a/libc/arch-mips/syscalls/mknod.S b/libc/arch-mips/syscalls/mknod.S
deleted file mode 100644
index 579acaf..0000000
--- a/libc/arch-mips/syscalls/mknod.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl mknod
-    .align 4
-    .ent mknod
-
-mknod:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_mknod
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end mknod
diff --git a/libc/arch-mips/syscalls/access.S b/libc/arch-mips/syscalls/mknodat.S
similarity index 74%
copy from libc/arch-mips/syscalls/access.S
copy to libc/arch-mips/syscalls/mknodat.S
index 941b791..fc05bb3 100644
--- a/libc/arch-mips/syscalls/access.S
+++ b/libc/arch-mips/syscalls/mknodat.S
@@ -2,14 +2,14 @@
 
 #include <asm/unistd.h>
     .text
-    .globl access
+    .globl mknodat
     .align 4
-    .ent access
+    .ent mknodat
 
-access:
+mknodat:
     .set noreorder
     .cpload $t9
-    li $v0, __NR_access
+    li $v0, __NR_mknodat
     syscall
     bnez $a3, 1f
     move $a0, $v0
@@ -20,4 +20,4 @@
     j $t9
     nop
     .set reorder
-    .end access
+    .end mknodat
diff --git a/libc/arch-mips/syscalls/readlink.S b/libc/arch-mips/syscalls/readlinkat.S
similarity index 71%
copy from libc/arch-mips/syscalls/readlink.S
copy to libc/arch-mips/syscalls/readlinkat.S
index adaf7fa..3e5d72f 100644
--- a/libc/arch-mips/syscalls/readlink.S
+++ b/libc/arch-mips/syscalls/readlinkat.S
@@ -2,14 +2,14 @@
 
 #include <asm/unistd.h>
     .text
-    .globl readlink
+    .globl readlinkat
     .align 4
-    .ent readlink
+    .ent readlinkat
 
-readlink:
+readlinkat:
     .set noreorder
     .cpload $t9
-    li $v0, __NR_readlink
+    li $v0, __NR_readlinkat
     syscall
     bnez $a3, 1f
     move $a0, $v0
@@ -20,4 +20,4 @@
     j $t9
     nop
     .set reorder
-    .end readlink
+    .end readlinkat
diff --git a/libc/arch-mips/syscalls/rename.S b/libc/arch-mips/syscalls/rename.S
deleted file mode 100644
index 113b910..0000000
--- a/libc/arch-mips/syscalls/rename.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl rename
-    .align 4
-    .ent rename
-
-rename:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_rename
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end rename
diff --git a/libc/arch-mips/syscalls/rmdir.S b/libc/arch-mips/syscalls/rmdir.S
deleted file mode 100644
index 97b6744..0000000
--- a/libc/arch-mips/syscalls/rmdir.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl rmdir
-    .align 4
-    .ent rmdir
-
-rmdir:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_rmdir
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end rmdir
diff --git a/libc/arch-mips/syscalls/stat.S b/libc/arch-mips/syscalls/stat.S
deleted file mode 100644
index ca1b26f..0000000
--- a/libc/arch-mips/syscalls/stat.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl stat
-    .align 4
-    .ent stat
-
-stat:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_stat64
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end stat
diff --git a/libc/arch-mips/syscalls/symlink.S b/libc/arch-mips/syscalls/symlink.S
deleted file mode 100644
index 7a49858..0000000
--- a/libc/arch-mips/syscalls/symlink.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl symlink
-    .align 4
-    .ent symlink
-
-symlink:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_symlink
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end symlink
diff --git a/libc/arch-mips/syscalls/readlink.S b/libc/arch-mips/syscalls/symlinkat.S
similarity index 72%
rename from libc/arch-mips/syscalls/readlink.S
rename to libc/arch-mips/syscalls/symlinkat.S
index adaf7fa..9c43241 100644
--- a/libc/arch-mips/syscalls/readlink.S
+++ b/libc/arch-mips/syscalls/symlinkat.S
@@ -2,14 +2,14 @@
 
 #include <asm/unistd.h>
     .text
-    .globl readlink
+    .globl symlinkat
     .align 4
-    .ent readlink
+    .ent symlinkat
 
-readlink:
+symlinkat:
     .set noreorder
     .cpload $t9
-    li $v0, __NR_readlink
+    li $v0, __NR_symlinkat
     syscall
     bnez $a3, 1f
     move $a0, $v0
@@ -20,4 +20,4 @@
     j $t9
     nop
     .set reorder
-    .end readlink
+    .end symlinkat
diff --git a/libc/arch-mips/syscalls/unlink.S b/libc/arch-mips/syscalls/unlink.S
deleted file mode 100644
index 2900707..0000000
--- a/libc/arch-mips/syscalls/unlink.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl unlink
-    .align 4
-    .ent unlink
-
-unlink:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_unlink
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end unlink
diff --git a/libc/arch-mips/syscalls/utimes.S b/libc/arch-mips/syscalls/utimes.S
deleted file mode 100644
index dc683e5..0000000
--- a/libc/arch-mips/syscalls/utimes.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-    .text
-    .globl utimes
-    .align 4
-    .ent utimes
-
-utimes:
-    .set noreorder
-    .cpload $t9
-    li $v0, __NR_utimes
-    syscall
-    bnez $a3, 1f
-    move $a0, $v0
-    j $ra
-    nop
-1:
-    la $t9,__set_errno
-    j $t9
-    nop
-    .set reorder
-    .end utimes
diff --git a/libc/arch-x86/syscalls.mk b/libc/arch-x86/syscalls.mk
index 5494992..5d1edaa 100644
--- a/libc/arch-x86/syscalls.mk
+++ b/libc/arch-x86/syscalls.mk
@@ -36,14 +36,11 @@
 syscall_src += arch-x86/syscalls/_exit_thread.S
 syscall_src += arch-x86/syscalls/_waitpid.S
 syscall_src += arch-x86/syscalls/accept.S
-syscall_src += arch-x86/syscalls/access.S
 syscall_src += arch-x86/syscalls/acct.S
 syscall_src += arch-x86/syscalls/bind.S
 syscall_src += arch-x86/syscalls/capget.S
 syscall_src += arch-x86/syscalls/capset.S
 syscall_src += arch-x86/syscalls/chdir.S
-syscall_src += arch-x86/syscalls/chmod.S
-syscall_src += arch-x86/syscalls/chown.S
 syscall_src += arch-x86/syscalls/chroot.S
 syscall_src += arch-x86/syscalls/clock_getres.S
 syscall_src += arch-x86/syscalls/clock_gettime.S
@@ -106,21 +103,18 @@
 syscall_src += arch-x86/syscalls/ioprio_set.S
 syscall_src += arch-x86/syscalls/kill.S
 syscall_src += arch-x86/syscalls/klogctl.S
-syscall_src += arch-x86/syscalls/lchown.S
 syscall_src += arch-x86/syscalls/lgetxattr.S
-syscall_src += arch-x86/syscalls/link.S
+syscall_src += arch-x86/syscalls/linkat.S
 syscall_src += arch-x86/syscalls/listen.S
 syscall_src += arch-x86/syscalls/listxattr.S
 syscall_src += arch-x86/syscalls/llistxattr.S
 syscall_src += arch-x86/syscalls/lremovexattr.S
 syscall_src += arch-x86/syscalls/lseek.S
 syscall_src += arch-x86/syscalls/lsetxattr.S
-syscall_src += arch-x86/syscalls/lstat.S
 syscall_src += arch-x86/syscalls/madvise.S
 syscall_src += arch-x86/syscalls/mincore.S
-syscall_src += arch-x86/syscalls/mkdir.S
 syscall_src += arch-x86/syscalls/mkdirat.S
-syscall_src += arch-x86/syscalls/mknod.S
+syscall_src += arch-x86/syscalls/mknodat.S
 syscall_src += arch-x86/syscalls/mlock.S
 syscall_src += arch-x86/syscalls/mlockall.S
 syscall_src += arch-x86/syscalls/mount.S
@@ -142,14 +136,12 @@
 syscall_src += arch-x86/syscalls/pwrite64.S
 syscall_src += arch-x86/syscalls/read.S
 syscall_src += arch-x86/syscalls/readahead.S
-syscall_src += arch-x86/syscalls/readlink.S
+syscall_src += arch-x86/syscalls/readlinkat.S
 syscall_src += arch-x86/syscalls/readv.S
 syscall_src += arch-x86/syscalls/recvfrom.S
 syscall_src += arch-x86/syscalls/recvmsg.S
 syscall_src += arch-x86/syscalls/removexattr.S
-syscall_src += arch-x86/syscalls/rename.S
 syscall_src += arch-x86/syscalls/renameat.S
-syscall_src += arch-x86/syscalls/rmdir.S
 syscall_src += arch-x86/syscalls/sched_get_priority_max.S
 syscall_src += arch-x86/syscalls/sched_get_priority_min.S
 syscall_src += arch-x86/syscalls/sched_getparam.S
@@ -184,10 +176,9 @@
 syscall_src += arch-x86/syscalls/signalfd4.S
 syscall_src += arch-x86/syscalls/socket.S
 syscall_src += arch-x86/syscalls/socketpair.S
-syscall_src += arch-x86/syscalls/stat.S
 syscall_src += arch-x86/syscalls/swapoff.S
 syscall_src += arch-x86/syscalls/swapon.S
-syscall_src += arch-x86/syscalls/symlink.S
+syscall_src += arch-x86/syscalls/symlinkat.S
 syscall_src += arch-x86/syscalls/sync.S
 syscall_src += arch-x86/syscalls/sysinfo.S
 syscall_src += arch-x86/syscalls/tgkill.S
@@ -201,11 +192,9 @@
 syscall_src += arch-x86/syscalls/umask.S
 syscall_src += arch-x86/syscalls/umount2.S
 syscall_src += arch-x86/syscalls/uname.S
-syscall_src += arch-x86/syscalls/unlink.S
 syscall_src += arch-x86/syscalls/unlinkat.S
 syscall_src += arch-x86/syscalls/unshare.S
 syscall_src += arch-x86/syscalls/utimensat.S
-syscall_src += arch-x86/syscalls/utimes.S
 syscall_src += arch-x86/syscalls/wait4.S
 syscall_src += arch-x86/syscalls/write.S
 syscall_src += arch-x86/syscalls/writev.S
diff --git a/libc/arch-x86/syscalls/access.S b/libc/arch-x86/syscalls/access.S
deleted file mode 100644
index 0a553ed..0000000
--- a/libc/arch-x86/syscalls/access.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(access)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_access, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(access)
diff --git a/libc/arch-x86/syscalls/chmod.S b/libc/arch-x86/syscalls/chmod.S
deleted file mode 100644
index 5718f8f..0000000
--- a/libc/arch-x86/syscalls/chmod.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(chmod)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_chmod, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(chmod)
diff --git a/libc/arch-x86/syscalls/lchown.S b/libc/arch-x86/syscalls/lchown.S
deleted file mode 100644
index 7f4589a..0000000
--- a/libc/arch-x86/syscalls/lchown.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(lchown)
-    pushl   %ebx
-    pushl   %ecx
-    pushl   %edx
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    mov     24(%esp), %edx
-    movl    $__NR_lchown32, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(lchown)
diff --git a/libc/arch-x86/syscalls/link.S b/libc/arch-x86/syscalls/link.S
deleted file mode 100644
index 15d67c4..0000000
--- a/libc/arch-x86/syscalls/link.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(link)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_link, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(link)
diff --git a/libc/arch-x86/syscalls/chown.S b/libc/arch-x86/syscalls/linkat.S
similarity index 60%
copy from libc/arch-x86/syscalls/chown.S
copy to libc/arch-x86/syscalls/linkat.S
index 5706da1..652f346 100644
--- a/libc/arch-x86/syscalls/chown.S
+++ b/libc/arch-x86/syscalls/linkat.S
@@ -4,14 +4,18 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chown)
+ENTRY(linkat)
     pushl   %ebx
     pushl   %ecx
     pushl   %edx
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    mov     24(%esp), %edx
-    movl    $__NR_chown32, %eax
+    pushl   %esi
+    pushl   %edi
+    mov     24(%esp), %ebx
+    mov     28(%esp), %ecx
+    mov     32(%esp), %edx
+    mov     36(%esp), %esi
+    mov     40(%esp), %edi
+    movl    $__NR_linkat, %eax
     int     $0x80
     cmpl    $-MAX_ERRNO, %eax
     jb      1f
@@ -21,8 +25,10 @@
     addl    $4, %esp
     orl     $-1, %eax
 1:
+    popl    %edi
+    popl    %esi
     popl    %edx
     popl    %ecx
     popl    %ebx
     ret
-END(chown)
+END(linkat)
diff --git a/libc/arch-x86/syscalls/lstat.S b/libc/arch-x86/syscalls/lstat.S
deleted file mode 100644
index 23a0dcf..0000000
--- a/libc/arch-x86/syscalls/lstat.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(lstat)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_lstat64, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(lstat)
diff --git a/libc/arch-x86/syscalls/mkdir.S b/libc/arch-x86/syscalls/mkdir.S
deleted file mode 100644
index d242ce2..0000000
--- a/libc/arch-x86/syscalls/mkdir.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(mkdir)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_mkdir, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(mkdir)
diff --git a/libc/arch-x86/syscalls/mknod.S b/libc/arch-x86/syscalls/mknod.S
deleted file mode 100644
index e270384..0000000
--- a/libc/arch-x86/syscalls/mknod.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(mknod)
-    pushl   %ebx
-    pushl   %ecx
-    pushl   %edx
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    mov     24(%esp), %edx
-    movl    $__NR_mknod, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(mknod)
diff --git a/libc/arch-x86/syscalls/chown.S b/libc/arch-x86/syscalls/mknodat.S
similarity index 66%
copy from libc/arch-x86/syscalls/chown.S
copy to libc/arch-x86/syscalls/mknodat.S
index 5706da1..8e53940 100644
--- a/libc/arch-x86/syscalls/chown.S
+++ b/libc/arch-x86/syscalls/mknodat.S
@@ -4,14 +4,16 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chown)
+ENTRY(mknodat)
     pushl   %ebx
     pushl   %ecx
     pushl   %edx
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    mov     24(%esp), %edx
-    movl    $__NR_chown32, %eax
+    pushl   %esi
+    mov     20(%esp), %ebx
+    mov     24(%esp), %ecx
+    mov     28(%esp), %edx
+    mov     32(%esp), %esi
+    movl    $__NR_mknodat, %eax
     int     $0x80
     cmpl    $-MAX_ERRNO, %eax
     jb      1f
@@ -21,8 +23,9 @@
     addl    $4, %esp
     orl     $-1, %eax
 1:
+    popl    %esi
     popl    %edx
     popl    %ecx
     popl    %ebx
     ret
-END(chown)
+END(mknodat)
diff --git a/libc/arch-x86/syscalls/readlink.S b/libc/arch-x86/syscalls/readlink.S
deleted file mode 100644
index 4a279dc..0000000
--- a/libc/arch-x86/syscalls/readlink.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(readlink)
-    pushl   %ebx
-    pushl   %ecx
-    pushl   %edx
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    mov     24(%esp), %edx
-    movl    $__NR_readlink, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %edx
-    popl    %ecx
-    popl    %ebx
-    ret
-END(readlink)
diff --git a/libc/arch-x86/syscalls/chown.S b/libc/arch-x86/syscalls/readlinkat.S
similarity index 65%
copy from libc/arch-x86/syscalls/chown.S
copy to libc/arch-x86/syscalls/readlinkat.S
index 5706da1..73b05af 100644
--- a/libc/arch-x86/syscalls/chown.S
+++ b/libc/arch-x86/syscalls/readlinkat.S
@@ -4,14 +4,16 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chown)
+ENTRY(readlinkat)
     pushl   %ebx
     pushl   %ecx
     pushl   %edx
-    mov     16(%esp), %ebx
-    mov     20(%esp), %ecx
-    mov     24(%esp), %edx
-    movl    $__NR_chown32, %eax
+    pushl   %esi
+    mov     20(%esp), %ebx
+    mov     24(%esp), %ecx
+    mov     28(%esp), %edx
+    mov     32(%esp), %esi
+    movl    $__NR_readlinkat, %eax
     int     $0x80
     cmpl    $-MAX_ERRNO, %eax
     jb      1f
@@ -21,8 +23,9 @@
     addl    $4, %esp
     orl     $-1, %eax
 1:
+    popl    %esi
     popl    %edx
     popl    %ecx
     popl    %ebx
     ret
-END(chown)
+END(readlinkat)
diff --git a/libc/arch-x86/syscalls/rename.S b/libc/arch-x86/syscalls/rename.S
deleted file mode 100644
index 8556619..0000000
--- a/libc/arch-x86/syscalls/rename.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(rename)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_rename, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(rename)
diff --git a/libc/arch-x86/syscalls/rmdir.S b/libc/arch-x86/syscalls/rmdir.S
deleted file mode 100644
index 8ec2d3c..0000000
--- a/libc/arch-x86/syscalls/rmdir.S
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(rmdir)
-    pushl   %ebx
-    mov     8(%esp), %ebx
-    movl    $__NR_rmdir, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ebx
-    ret
-END(rmdir)
diff --git a/libc/arch-x86/syscalls/stat.S b/libc/arch-x86/syscalls/stat.S
deleted file mode 100644
index 6f7604d..0000000
--- a/libc/arch-x86/syscalls/stat.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(stat)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_stat64, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(stat)
diff --git a/libc/arch-x86/syscalls/symlink.S b/libc/arch-x86/syscalls/symlink.S
deleted file mode 100644
index 815d833..0000000
--- a/libc/arch-x86/syscalls/symlink.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(symlink)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_symlink, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(symlink)
diff --git a/libc/arch-x86/syscalls/chown.S b/libc/arch-x86/syscalls/symlinkat.S
similarity index 87%
rename from libc/arch-x86/syscalls/chown.S
rename to libc/arch-x86/syscalls/symlinkat.S
index 5706da1..7d24226 100644
--- a/libc/arch-x86/syscalls/chown.S
+++ b/libc/arch-x86/syscalls/symlinkat.S
@@ -4,14 +4,14 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chown)
+ENTRY(symlinkat)
     pushl   %ebx
     pushl   %ecx
     pushl   %edx
     mov     16(%esp), %ebx
     mov     20(%esp), %ecx
     mov     24(%esp), %edx
-    movl    $__NR_chown32, %eax
+    movl    $__NR_symlinkat, %eax
     int     $0x80
     cmpl    $-MAX_ERRNO, %eax
     jb      1f
@@ -25,4 +25,4 @@
     popl    %ecx
     popl    %ebx
     ret
-END(chown)
+END(symlinkat)
diff --git a/libc/arch-x86/syscalls/unlink.S b/libc/arch-x86/syscalls/unlink.S
deleted file mode 100644
index 297d34b..0000000
--- a/libc/arch-x86/syscalls/unlink.S
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(unlink)
-    pushl   %ebx
-    mov     8(%esp), %ebx
-    movl    $__NR_unlink, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ebx
-    ret
-END(unlink)
diff --git a/libc/arch-x86/syscalls/utimes.S b/libc/arch-x86/syscalls/utimes.S
deleted file mode 100644
index bfe02b5..0000000
--- a/libc/arch-x86/syscalls/utimes.S
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(utimes)
-    pushl   %ebx
-    pushl   %ecx
-    mov     12(%esp), %ebx
-    mov     16(%esp), %ecx
-    movl    $__NR_utimes, %eax
-    int     $0x80
-    cmpl    $-MAX_ERRNO, %eax
-    jb      1f
-    negl    %eax
-    pushl   %eax
-    call    __set_errno
-    addl    $4, %esp
-    orl     $-1, %eax
-1:
-    popl    %ecx
-    popl    %ebx
-    ret
-END(utimes)
diff --git a/libc/arch-x86_64/syscalls.mk b/libc/arch-x86_64/syscalls.mk
index 70cc319..803b700 100644
--- a/libc/arch-x86_64/syscalls.mk
+++ b/libc/arch-x86_64/syscalls.mk
@@ -7,7 +7,6 @@
 syscall_src += arch-x86_64/syscalls/__getcwd.S
 syscall_src += arch-x86_64/syscalls/__getpriority.S
 syscall_src += arch-x86_64/syscalls/__ioctl.S
-syscall_src += arch-x86_64/syscalls/__open.S
 syscall_src += arch-x86_64/syscalls/__openat.S
 syscall_src += arch-x86_64/syscalls/__ptrace.S
 syscall_src += arch-x86_64/syscalls/__reboot.S
@@ -28,14 +27,11 @@
 syscall_src += arch-x86_64/syscalls/_exit.S
 syscall_src += arch-x86_64/syscalls/_exit_thread.S
 syscall_src += arch-x86_64/syscalls/accept.S
-syscall_src += arch-x86_64/syscalls/access.S
 syscall_src += arch-x86_64/syscalls/acct.S
 syscall_src += arch-x86_64/syscalls/bind.S
 syscall_src += arch-x86_64/syscalls/capget.S
 syscall_src += arch-x86_64/syscalls/capset.S
 syscall_src += arch-x86_64/syscalls/chdir.S
-syscall_src += arch-x86_64/syscalls/chmod.S
-syscall_src += arch-x86_64/syscalls/chown.S
 syscall_src += arch-x86_64/syscalls/chroot.S
 syscall_src += arch-x86_64/syscalls/clock_getres.S
 syscall_src += arch-x86_64/syscalls/clock_gettime.S
@@ -65,6 +61,7 @@
 syscall_src += arch-x86_64/syscalls/fremovexattr.S
 syscall_src += arch-x86_64/syscalls/fsetxattr.S
 syscall_src += arch-x86_64/syscalls/fstat.S
+syscall_src += arch-x86_64/syscalls/fstatat.S
 syscall_src += arch-x86_64/syscalls/fstatfs.S
 syscall_src += arch-x86_64/syscalls/fsync.S
 syscall_src += arch-x86_64/syscalls/ftruncate.S
@@ -98,21 +95,18 @@
 syscall_src += arch-x86_64/syscalls/ioprio_set.S
 syscall_src += arch-x86_64/syscalls/kill.S
 syscall_src += arch-x86_64/syscalls/klogctl.S
-syscall_src += arch-x86_64/syscalls/lchown.S
 syscall_src += arch-x86_64/syscalls/lgetxattr.S
-syscall_src += arch-x86_64/syscalls/link.S
+syscall_src += arch-x86_64/syscalls/linkat.S
 syscall_src += arch-x86_64/syscalls/listen.S
 syscall_src += arch-x86_64/syscalls/listxattr.S
 syscall_src += arch-x86_64/syscalls/llistxattr.S
 syscall_src += arch-x86_64/syscalls/lremovexattr.S
 syscall_src += arch-x86_64/syscalls/lseek.S
 syscall_src += arch-x86_64/syscalls/lsetxattr.S
-syscall_src += arch-x86_64/syscalls/lstat.S
 syscall_src += arch-x86_64/syscalls/madvise.S
 syscall_src += arch-x86_64/syscalls/mincore.S
-syscall_src += arch-x86_64/syscalls/mkdir.S
 syscall_src += arch-x86_64/syscalls/mkdirat.S
-syscall_src += arch-x86_64/syscalls/mknod.S
+syscall_src += arch-x86_64/syscalls/mknodat.S
 syscall_src += arch-x86_64/syscalls/mlock.S
 syscall_src += arch-x86_64/syscalls/mlockall.S
 syscall_src += arch-x86_64/syscalls/mmap.S
@@ -135,14 +129,12 @@
 syscall_src += arch-x86_64/syscalls/pwrite64.S
 syscall_src += arch-x86_64/syscalls/read.S
 syscall_src += arch-x86_64/syscalls/readahead.S
-syscall_src += arch-x86_64/syscalls/readlink.S
+syscall_src += arch-x86_64/syscalls/readlinkat.S
 syscall_src += arch-x86_64/syscalls/readv.S
 syscall_src += arch-x86_64/syscalls/recvfrom.S
 syscall_src += arch-x86_64/syscalls/recvmsg.S
 syscall_src += arch-x86_64/syscalls/removexattr.S
-syscall_src += arch-x86_64/syscalls/rename.S
 syscall_src += arch-x86_64/syscalls/renameat.S
-syscall_src += arch-x86_64/syscalls/rmdir.S
 syscall_src += arch-x86_64/syscalls/sched_get_priority_max.S
 syscall_src += arch-x86_64/syscalls/sched_get_priority_min.S
 syscall_src += arch-x86_64/syscalls/sched_getparam.S
@@ -176,11 +168,10 @@
 syscall_src += arch-x86_64/syscalls/signalfd4.S
 syscall_src += arch-x86_64/syscalls/socket.S
 syscall_src += arch-x86_64/syscalls/socketpair.S
-syscall_src += arch-x86_64/syscalls/stat.S
 syscall_src += arch-x86_64/syscalls/statfs.S
 syscall_src += arch-x86_64/syscalls/swapoff.S
 syscall_src += arch-x86_64/syscalls/swapon.S
-syscall_src += arch-x86_64/syscalls/symlink.S
+syscall_src += arch-x86_64/syscalls/symlinkat.S
 syscall_src += arch-x86_64/syscalls/sync.S
 syscall_src += arch-x86_64/syscalls/sysinfo.S
 syscall_src += arch-x86_64/syscalls/tgkill.S
@@ -193,11 +184,9 @@
 syscall_src += arch-x86_64/syscalls/umask.S
 syscall_src += arch-x86_64/syscalls/umount2.S
 syscall_src += arch-x86_64/syscalls/uname.S
-syscall_src += arch-x86_64/syscalls/unlink.S
 syscall_src += arch-x86_64/syscalls/unlinkat.S
 syscall_src += arch-x86_64/syscalls/unshare.S
 syscall_src += arch-x86_64/syscalls/utimensat.S
-syscall_src += arch-x86_64/syscalls/utimes.S
 syscall_src += arch-x86_64/syscalls/wait4.S
 syscall_src += arch-x86_64/syscalls/write.S
 syscall_src += arch-x86_64/syscalls/writev.S
diff --git a/libc/arch-x86_64/syscalls/__open.S b/libc/arch-x86_64/syscalls/__open.S
deleted file mode 100644
index a52235a..0000000
--- a/libc/arch-x86_64/syscalls/__open.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(__open)
-    movl    $__NR_open, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(__open)
diff --git a/libc/arch-x86_64/syscalls/access.S b/libc/arch-x86_64/syscalls/access.S
deleted file mode 100644
index 81fd734..0000000
--- a/libc/arch-x86_64/syscalls/access.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(access)
-    movl    $__NR_access, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(access)
diff --git a/libc/arch-x86_64/syscalls/chown.S b/libc/arch-x86_64/syscalls/chown.S
deleted file mode 100644
index a587c05..0000000
--- a/libc/arch-x86_64/syscalls/chown.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(chown)
-    movl    $__NR_chown, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(chown)
diff --git a/libc/arch-x86_64/syscalls/chmod.S b/libc/arch-x86_64/syscalls/fstatat.S
similarity index 76%
copy from libc/arch-x86_64/syscalls/chmod.S
copy to libc/arch-x86_64/syscalls/fstatat.S
index 4591f11..577660f 100644
--- a/libc/arch-x86_64/syscalls/chmod.S
+++ b/libc/arch-x86_64/syscalls/fstatat.S
@@ -4,8 +4,9 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chmod)
-    movl    $__NR_chmod, %eax
+ENTRY(fstatat)
+    movq    %rcx, %r10
+    movl    $__NR_newfstatat, %eax
     syscall
     cmpq    $-MAX_ERRNO, %rax
     jb      1f
@@ -15,4 +16,4 @@
     orq     $-1, %rax
 1:
     ret
-END(chmod)
+END(fstatat)
diff --git a/libc/arch-x86_64/syscalls/lchown.S b/libc/arch-x86_64/syscalls/lchown.S
deleted file mode 100644
index 2a90044..0000000
--- a/libc/arch-x86_64/syscalls/lchown.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(lchown)
-    movl    $__NR_lchown, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(lchown)
diff --git a/libc/arch-x86_64/syscalls/link.S b/libc/arch-x86_64/syscalls/link.S
deleted file mode 100644
index 8719572..0000000
--- a/libc/arch-x86_64/syscalls/link.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(link)
-    movl    $__NR_link, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(link)
diff --git a/libc/arch-x86_64/syscalls/chmod.S b/libc/arch-x86_64/syscalls/linkat.S
similarity index 77%
copy from libc/arch-x86_64/syscalls/chmod.S
copy to libc/arch-x86_64/syscalls/linkat.S
index 4591f11..8dced7d 100644
--- a/libc/arch-x86_64/syscalls/chmod.S
+++ b/libc/arch-x86_64/syscalls/linkat.S
@@ -4,8 +4,9 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chmod)
-    movl    $__NR_chmod, %eax
+ENTRY(linkat)
+    movq    %rcx, %r10
+    movl    $__NR_linkat, %eax
     syscall
     cmpq    $-MAX_ERRNO, %rax
     jb      1f
@@ -15,4 +16,4 @@
     orq     $-1, %rax
 1:
     ret
-END(chmod)
+END(linkat)
diff --git a/libc/arch-x86_64/syscalls/lstat.S b/libc/arch-x86_64/syscalls/lstat.S
deleted file mode 100644
index e68592d..0000000
--- a/libc/arch-x86_64/syscalls/lstat.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(lstat)
-    movl    $__NR_lstat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(lstat)
diff --git a/libc/arch-x86_64/syscalls/mkdir.S b/libc/arch-x86_64/syscalls/mkdir.S
deleted file mode 100644
index d21b2e2..0000000
--- a/libc/arch-x86_64/syscalls/mkdir.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(mkdir)
-    movl    $__NR_mkdir, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(mkdir)
diff --git a/libc/arch-x86_64/syscalls/mknod.S b/libc/arch-x86_64/syscalls/mknod.S
deleted file mode 100644
index a49bc8a..0000000
--- a/libc/arch-x86_64/syscalls/mknod.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(mknod)
-    movl    $__NR_mknod, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(mknod)
diff --git a/libc/arch-x86_64/syscalls/chmod.S b/libc/arch-x86_64/syscalls/mknodat.S
similarity index 76%
copy from libc/arch-x86_64/syscalls/chmod.S
copy to libc/arch-x86_64/syscalls/mknodat.S
index 4591f11..92dbb5b 100644
--- a/libc/arch-x86_64/syscalls/chmod.S
+++ b/libc/arch-x86_64/syscalls/mknodat.S
@@ -4,8 +4,9 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chmod)
-    movl    $__NR_chmod, %eax
+ENTRY(mknodat)
+    movq    %rcx, %r10
+    movl    $__NR_mknodat, %eax
     syscall
     cmpq    $-MAX_ERRNO, %rax
     jb      1f
@@ -15,4 +16,4 @@
     orq     $-1, %rax
 1:
     ret
-END(chmod)
+END(mknodat)
diff --git a/libc/arch-x86_64/syscalls/readlink.S b/libc/arch-x86_64/syscalls/readlink.S
deleted file mode 100644
index 7cee437..0000000
--- a/libc/arch-x86_64/syscalls/readlink.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(readlink)
-    movl    $__NR_readlink, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(readlink)
diff --git a/libc/arch-x86_64/syscalls/chmod.S b/libc/arch-x86_64/syscalls/readlinkat.S
similarity index 74%
copy from libc/arch-x86_64/syscalls/chmod.S
copy to libc/arch-x86_64/syscalls/readlinkat.S
index 4591f11..209e4e9 100644
--- a/libc/arch-x86_64/syscalls/chmod.S
+++ b/libc/arch-x86_64/syscalls/readlinkat.S
@@ -4,8 +4,9 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chmod)
-    movl    $__NR_chmod, %eax
+ENTRY(readlinkat)
+    movq    %rcx, %r10
+    movl    $__NR_readlinkat, %eax
     syscall
     cmpq    $-MAX_ERRNO, %rax
     jb      1f
@@ -15,4 +16,4 @@
     orq     $-1, %rax
 1:
     ret
-END(chmod)
+END(readlinkat)
diff --git a/libc/arch-x86_64/syscalls/rename.S b/libc/arch-x86_64/syscalls/rename.S
deleted file mode 100644
index 2134732..0000000
--- a/libc/arch-x86_64/syscalls/rename.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(rename)
-    movl    $__NR_rename, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(rename)
diff --git a/libc/arch-x86_64/syscalls/rmdir.S b/libc/arch-x86_64/syscalls/rmdir.S
deleted file mode 100644
index ecfe558..0000000
--- a/libc/arch-x86_64/syscalls/rmdir.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(rmdir)
-    movl    $__NR_rmdir, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(rmdir)
diff --git a/libc/arch-x86_64/syscalls/stat.S b/libc/arch-x86_64/syscalls/stat.S
deleted file mode 100644
index c6e2c89..0000000
--- a/libc/arch-x86_64/syscalls/stat.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(stat)
-    movl    $__NR_stat, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(stat)
diff --git a/libc/arch-x86_64/syscalls/symlink.S b/libc/arch-x86_64/syscalls/symlink.S
deleted file mode 100644
index 0edb484..0000000
--- a/libc/arch-x86_64/syscalls/symlink.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(symlink)
-    movl    $__NR_symlink, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(symlink)
diff --git a/libc/arch-x86_64/syscalls/chmod.S b/libc/arch-x86_64/syscalls/symlinkat.S
similarity index 80%
rename from libc/arch-x86_64/syscalls/chmod.S
rename to libc/arch-x86_64/syscalls/symlinkat.S
index 4591f11..3da76f2 100644
--- a/libc/arch-x86_64/syscalls/chmod.S
+++ b/libc/arch-x86_64/syscalls/symlinkat.S
@@ -4,8 +4,8 @@
 #include <linux/err.h>
 #include <machine/asm.h>
 
-ENTRY(chmod)
-    movl    $__NR_chmod, %eax
+ENTRY(symlinkat)
+    movl    $__NR_symlinkat, %eax
     syscall
     cmpq    $-MAX_ERRNO, %rax
     jb      1f
@@ -15,4 +15,4 @@
     orq     $-1, %rax
 1:
     ret
-END(chmod)
+END(symlinkat)
diff --git a/libc/arch-x86_64/syscalls/unlink.S b/libc/arch-x86_64/syscalls/unlink.S
deleted file mode 100644
index 41fdc70..0000000
--- a/libc/arch-x86_64/syscalls/unlink.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(unlink)
-    movl    $__NR_unlink, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(unlink)
diff --git a/libc/arch-x86_64/syscalls/utimes.S b/libc/arch-x86_64/syscalls/utimes.S
deleted file mode 100644
index ff1fc6e..0000000
--- a/libc/arch-x86_64/syscalls/utimes.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Generated by gensyscalls.py. Do not edit. */
-
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
-
-ENTRY(utimes)
-    movl    $__NR_utimes, %eax
-    syscall
-    cmpq    $-MAX_ERRNO, %rax
-    jb      1f
-    negl    %eax
-    movl    %eax, %edi
-    call    __set_errno
-    orq     $-1, %rax
-1:
-    ret
-END(utimes)
diff --git a/libc/bionic/open.c b/libc/bionic/access.cpp
similarity index 67%
copy from libc/bionic/open.c
copy to libc/bionic/access.cpp
index 6441dc2..360b672 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/access.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,10 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <unistd.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int access(const char* path, int mode) {
+  return faccessat(AT_FDCWD, path, mode, 0);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/chmod.cpp
similarity index 66%
copy from libc/bionic/open.c
copy to libc/bionic/chmod.cpp
index 6441dc2..d988f48 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/chmod.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,11 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/types.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int chmod(const char* path, mode_t mode) {
+  return fchmodat(AT_FDCWD, path, mode, 0);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/chown.cpp
similarity index 66%
copy from libc/bionic/open.c
copy to libc/bionic/chown.cpp
index 6441dc2..bc2e605 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/chown.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,11 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/types.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int chown(const char* path, uid_t uid, gid_t gid) {
+  return fchownat(AT_FDCWD, path, uid, gid, 0);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/lchown.cpp
similarity index 66%
copy from libc/bionic/open.c
copy to libc/bionic/lchown.cpp
index 6441dc2..95251db 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/lchown.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,11 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/types.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int lchown(const char* path, uid_t uid, gid_t gid) {
+  return fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/link.cpp
similarity index 67%
copy from libc/bionic/open.c
copy to libc/bionic/link.cpp
index 6441dc2..65ad374 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/link.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,10 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <unistd.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int link(const char* old_path, const char* new_path) {
+  return linkat(AT_FDCWD, old_path, AT_FDCWD, new_path, 0);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/lstat.cpp
similarity index 67%
copy from libc/bionic/open.c
copy to libc/bionic/lstat.cpp
index 6441dc2..300d7fa 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/lstat.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,12 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int lstat(const char* path, struct stat* sb) {
+  return fstatat(AT_FDCWD, path, sb, AT_SYMLINK_NOFOLLOW);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/mkdir.cpp
similarity index 66%
copy from libc/bionic/open.c
copy to libc/bionic/mkdir.cpp
index 6441dc2..90dc761 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/mkdir.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,11 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/types.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int mkdir(const char* path, mode_t mode) {
+  return mkdirat(AT_FDCWD, path, mode);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/mknod.cpp
similarity index 67%
rename from libc/bionic/open.c
rename to libc/bionic/mknod.cpp
index 6441dc2..68d4309 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/mknod.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,12 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int mknod(const char* path, mode_t mode, dev_t dev) {
+  return mknodat(AT_FDCWD, path, mode, dev);
 }
diff --git a/libc/bionic/openat.c b/libc/bionic/open.cpp
similarity index 77%
rename from libc/bionic/openat.c
rename to libc/bionic/open.cpp
index 56bb627..e0dd181 100644
--- a/libc/bionic/openat.c
+++ b/libc/bionic/open.cpp
@@ -25,13 +25,40 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
 #include <stdarg.h>
 #include <stdlib.h>
+#include <unistd.h>
+
 #include "private/libc_logging.h"
 
-extern int  __openat(int, const char*, int, int);
+extern "C" int __openat(int, const char*, int, int);
+
+int open(const char* pathname, int flags, ...) {
+  mode_t mode = 0;
+
+  flags |= O_LARGEFILE;
+
+  if (flags & O_CREAT) {
+    va_list args;
+    va_start(args, flags);
+    mode = (mode_t) va_arg(args, int);
+    va_end(args);
+  }
+
+  return __openat(AT_FDCWD, pathname, flags, mode);
+}
+
+int __open_2(const char* pathname, int flags) {
+  if (__predict_false(flags & O_CREAT)) {
+    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
+  }
+
+  flags |= O_LARGEFILE;
+
+  return __openat(AT_FDCWD, pathname, flags, 0);
+}
 
 int openat(int fd, const char *pathname, int flags, ...) {
   mode_t mode = 0;
diff --git a/libc/bionic/open.c b/libc/bionic/readlink.cpp
similarity index 66%
copy from libc/bionic/open.c
copy to libc/bionic/readlink.cpp
index 6441dc2..a2c5e91 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/readlink.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,11 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/types.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+ssize_t readlink(const char* path, char* buf, size_t size) {
+  return readlinkat(AT_FDCWD, path, buf, size);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/rename.cpp
similarity index 66%
copy from libc/bionic/open.c
copy to libc/bionic/rename.cpp
index 6441dc2..8295559 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/rename.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,10 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <stdio.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int rename(const char* old_path, const char* new_path) {
+  return renameat(AT_FDCWD, old_path, AT_FDCWD, new_path);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/rmdir.cpp
similarity index 67%
copy from libc/bionic/open.c
copy to libc/bionic/rmdir.cpp
index 6441dc2..e7a9808 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/rmdir.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,10 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <unistd.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int rmdir(const char* path) {
+  return unlinkat(AT_FDCWD, path, AT_REMOVEDIR);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/stat.cpp
similarity index 67%
copy from libc/bionic/open.c
copy to libc/bionic/stat.cpp
index 6441dc2..62387c5 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/stat.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,12 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int stat(const char* path, struct stat* sb) {
+  return fstatat(AT_FDCWD, path, sb, 0);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/symlink.cpp
similarity index 67%
copy from libc/bionic/open.c
copy to libc/bionic/symlink.cpp
index 6441dc2..83cda47 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/symlink.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,10 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <unistd.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int symlink(const char* old_path, const char* new_path) {
+  return symlinkat(old_path, AT_FDCWD, new_path);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/unlink.cpp
similarity index 67%
copy from libc/bionic/open.c
copy to libc/bionic/unlink.cpp
index 6441dc2..b1ab15c 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/unlink.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,10 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <unistd.h>
 
-extern int  __open(const char*, int, int);
-
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
-
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
-  }
-
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+int unlink(const char* path) {
+  return unlinkat(AT_FDCWD, path, 0);
 }
diff --git a/libc/bionic/open.c b/libc/bionic/utimes.cpp
similarity index 66%
copy from libc/bionic/open.c
copy to libc/bionic/utimes.cpp
index 6441dc2..315765a 100644
--- a/libc/bionic/open.c
+++ b/libc/bionic/utimes.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2013 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,35 +25,26 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <unistd.h>
+
 #include <fcntl.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include "private/libc_logging.h"
+#include <sys/stat.h>
+#include <sys/time.h>
 
-extern int  __open(const char*, int, int);
+int utimes(const char* path, const timeval tv[2]) {
+  timespec ts[2];
 
-int open(const char* pathname, int flags, ...) {
-  mode_t mode = 0;
+  // Whole seconds can just be copied.
+  ts[0].tv_sec = tv[0].tv_sec;
+  ts[1].tv_sec = tv[1].tv_sec;
 
-  flags |= O_LARGEFILE;
-
-  if (flags & O_CREAT) {
-    va_list args;
-    va_start(args, flags);
-    mode = (mode_t) va_arg(args, int);
-    va_end(args);
+  // But we might overflow when converting microseconds to nanoseconds.
+  if (tv[0].tv_usec >= 1000000 || tv[0].tv_usec < 0 ||
+      tv[1].tv_usec >= 1000000 || tv[1].tv_usec < 0) {
+    errno = EINVAL;
+    return -1;
   }
+  ts[0].tv_nsec = tv[0].tv_usec * 1000;
+  ts[1].tv_nsec = tv[1].tv_usec * 1000;
 
-  return __open(pathname, flags, mode);
-}
-
-int __open_2(const char* pathname, int flags) {
-  if (__predict_false(flags & O_CREAT)) {
-    __fortify_chk_fail("open(O_CREAT): called without specifying a mode", 0);
-  }
-
-  flags |= O_LARGEFILE;
-
-  return __open(pathname, flags, 0);
+  return utimensat(AT_FDCWD, path, ts, 0);
 }
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index a13cfea..409afea 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -260,7 +260,8 @@
 		__printflike(2, 0);
 #endif
 
-int	 rename (const char *, const char *);
+extern int rename(const char*, const char*);
+extern int renameat(int, const char*, int, const char*);
 
 int	 fgetpos(FILE * __restrict, fpos_t * __restrict);
 int	 fsetpos(FILE *, const fpos_t *);
diff --git a/libc/include/sys/stat.h b/libc/include/sys/stat.h
index 84e367f..ece44c6 100644
--- a/libc/include/sys/stat.h
+++ b/libc/include/sys/stat.h
@@ -180,11 +180,10 @@
 
 extern int mkfifo(const char*, mode_t);
 
-extern int  fstatat(int dirfd, const char *path, struct stat *buf, int flags);
-extern int  mkdirat(int dirfd, const char *pathname, mode_t mode);
-extern int fchownat(int dirfd, const char *path, uid_t owner, gid_t group, int flags);
-extern int fchmodat(int dirfd, const char *path, mode_t mode, int flags);
-extern int renameat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath);
+extern int fchmodat(int, const char*, mode_t, int);
+extern int fstatat(int, const char*, struct stat*, int);
+extern int mkdirat(int, const char*, mode_t);
+extern int mknodat(int, const char*, mode_t, dev_t);
 
 # define UTIME_NOW      ((1l << 30) - 1l)
 # define UTIME_OMIT     ((1l << 30) - 2l)
diff --git a/libc/include/unistd.h b/libc/include/unistd.h
index fb1f663..509ee5c 100644
--- a/libc/include/unistd.h
+++ b/libc/include/unistd.h
@@ -104,10 +104,12 @@
 #define X_OK  1  /* Execute */
 #define F_OK  0  /* Existence */
 
-extern int access(const char *, int);
-extern int faccessat(int, const char *, int, int);
-extern int link(const char *, const char *);
-extern int unlink(const char *);
+extern int access(const char*, int);
+extern int faccessat(int, const char*, int, int);
+extern int link(const char*, const char*);
+extern int linkat(int, const char*, int, const char*, int);
+extern int unlink(const char*);
+extern int unlinkat(int, const char*, int);
 extern int chdir(const char *);
 extern int fchdir(int);
 extern int rmdir(const char *);
@@ -116,10 +118,13 @@
 extern int pipe2(int *, int);
 #endif
 extern int chroot(const char *);
-extern int symlink(const char *, const char *);
-extern int readlink(const char *, char *, size_t);
+extern int symlink(const char*, const char*);
+extern int symlinkat(const char*, int, const char*);
+extern ssize_t readlink(const char*, char*, size_t);
+extern ssize_t readlinkat(int, const char*, char*, size_t);
 extern int chown(const char *, uid_t, gid_t);
 extern int fchown(int, uid_t, gid_t);
+extern int fchownat(int, const char*, uid_t, gid_t, int);
 extern int lchown(const char *, uid_t, gid_t);
 extern int truncate(const char *, off_t);
 extern int truncate64(const char *, off64_t);
