--- ./libgo/go/syscall/libcall_aix.go.ORIGIN	2017-10-06 14:48:03 -0500
+++ ./libgo/go/syscall/libcall_aix.go	2017-10-06 14:49:14 -0500
@@ -9,3 +9,75 @@
 func raw_ptrace(request int, pid int, addr *byte, data *byte) Errno {
 	return ENOSYS
 }
+ 
+//sys	Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
+//open64at(dirfd _C_int, path *byte, flags _C_int, mode Mode_t) _C_int
+
+//sys	reboot(how int) (err error)
+//__linux_reboot(how _C_int) _C_int
+func Reboot(how int) (err error) {
+	return reboot(how)
+}
+
+//sys	Acct(path string) (err error)
+//acct(path *byte) _C_int
+
+//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
+//faccessat(dirfd _C_int, pathname *byte, mode _C_int, flags _C_int) _C_int
+
+//sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
+//fchmodat(dirfd _C_int, pathname *byte, mode Mode_t, flags _C_int) _C_int
+
+//sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
+//fchownat(dirfd _C_int, path *byte, owner Uid_t, group Gid_t, flags _C_int) _C_int
+
+//sys	Fstatfs(fd int, buf *Statfs_t) (err error)
+//fstatfs64(fd _C_int, buf *Statfs_t) _C_int
+
+//sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
+//mkdirat(dirfd _C_int, path *byte, mode Mode_t) _C_int
+
+//sys	Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
+//mknodat(dirfd _C_int, path *byte, mode Mode_t, dev _dev_t) _C_int
+
+//sys	getdirent(fd int, buf []byte) (n int, err error)
+//getdirent64(fd _C_int, buf *byte, nbyte Size_t) _C_int
+
+func ReadDirent(fd int, buf []byte) (n int, err error) {
+	return getdirent(fd, buf)
+}
+
+// On AIX, there is no flock() system call, we emulate it.
+func Flock(fd int, op int) (err error) {
+	lk := &Flock_t{}
+	if (op & LOCK_UN) != 0 {
+		lk.Type = F_UNLCK
+	} else if (op & LOCK_EX) != 0 {
+		lk.Type = F_WRLCK
+	} else if (op & LOCK_SH) != 0 {
+		lk.Type = F_RDLCK
+	} else {
+		return nil
+	}
+	if (op & LOCK_NB) != 0 {
+		err = FcntlFlock(uintptr(fd), F_SETLK, lk)
+		if err != nil && (err == EAGAIN || err == EACCES) {
+			return EWOULDBLOCK
+		}
+		return err
+	}
+	return FcntlFlock(uintptr(fd), F_SETLKW, lk)
+}
+
+//sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
+//renameat(olddirfd _C_int, oldpath *byte, newdirfd _C_int, newpath *byte) _C_int
+
+//sys	Statfs(path string, buf *Statfs_t) (err error)
+//statfs64(path *byte, buf *Statfs_t) _C_int
+
+//sys	unlinkat(dirfd int, path string, flags int) (err error)
+//unlinkat(dirfd _C_int, path *byte, flags _C_int) _C_int
+
+func Unlinkat(dirfd int, path string) (err error) {
+	return unlinkat(dirfd, path, 0)
+}
