From a8169253f82428bcb1509c39f194d1361e8fa97d Mon Sep 17 00:00:00 2001
From: Clement <clement.chigot@atos.net>
Date: Thu, 28 Feb 2019 08:46:07 -0600
Subject: [PATCH 1/2] syscall: add Chroot syscall for aix/ppc64

---
 src/syscall/syscall_aix.go        |  1 +
 src/syscall/zsyscall_aix_ppc64.go | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/src/syscall/syscall_aix.go b/src/syscall/syscall_aix.go
index 4947248e38..04da16c171 100644
--- a/src/syscall/syscall_aix.go
+++ b/src/syscall/syscall_aix.go
@@ -567,6 +567,7 @@ func PtraceDetach(pid int) (err error) { return ptrace64(PT_DETACH, int64(pid),
 //sys	Chdir(path string) (err error)
 //sys	Chmod(path string, mode uint32) (err error)
 //sys	Chown(path string, uid int, gid int) (err error)
+//sys	Chroot(path string) (err error)
 //sys	Close(fd int) (err error)
 //sys	Dup(fd int) (nfd int, err error)
 //sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
diff --git a/src/syscall/zsyscall_aix_ppc64.go b/src/syscall/zsyscall_aix_ppc64.go
index 7d01dc013c..4b5b330b3a 100644
--- a/src/syscall/zsyscall_aix_ppc64.go
+++ b/src/syscall/zsyscall_aix_ppc64.go
@@ -41,6 +41,7 @@ import "unsafe"
 //go:cgo_import_dynamic libc_Chdir chdir "libc.a/shr_64.o"
 //go:cgo_import_dynamic libc_Chmod chmod "libc.a/shr_64.o"
 //go:cgo_import_dynamic libc_Chown chown "libc.a/shr_64.o"
+//go:cgo_import_dynamic libc_Chroot chroot "libc.a/shr_64.o"
 //go:cgo_import_dynamic libc_Close close "libc.a/shr_64.o"
 //go:cgo_import_dynamic libc_Dup dup "libc.a/shr_64.o"
 //go:cgo_import_dynamic libc_Faccessat faccessat "libc.a/shr_64.o"
@@ -130,6 +131,7 @@ import "unsafe"
 //go:linkname libc_Chdir libc_Chdir
 //go:linkname libc_Chmod libc_Chmod
 //go:linkname libc_Chown libc_Chown
+//go:linkname libc_Chroot libc_Chroot
 //go:linkname libc_Close libc_Close
 //go:linkname libc_Dup libc_Dup
 //go:linkname libc_Faccessat libc_Faccessat
@@ -222,6 +224,7 @@ var (
 	libc_Chdir,
 	libc_Chmod,
 	libc_Chown,
+	libc_Chroot,
 	libc_Close,
 	libc_Dup,
 	libc_Faccessat,
@@ -694,6 +697,21 @@ func Chown(path string, uid int, gid int) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func Chroot(path string) (err error) {
+	var _p0 *byte
+	_p0, err = BytePtrFromString(path)
+	if err != nil {
+		return
+	}
+	_, _, e1 := syscall6(uintptr(unsafe.Pointer(&libc_Chroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)
+	if e1 != 0 {
+		err = errnoErr(e1)
+	}
+	return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func Close(fd int) (err error) {
 	_, _, e1 := syscall6(uintptr(unsafe.Pointer(&libc_Close)), 1, uintptr(fd), 0, 0, 0, 0, 0)
 	if e1 != 0 {
-- 
2.15.1

