mirror of
https://github.com/golang/sys.git
synced 2026-02-08 03:36:03 +03:00
unix: add PthreadChdir and PthreadFchdir on darwin
Fixes golang/go#68226
This commit is contained in:
committed by
Edoardo Spadolini
parent
c892bb7ec2
commit
a14d2c64dc
@@ -7,6 +7,8 @@ package unix
|
||||
|
||||
// All the _trampoline functions in zsyscall_darwin_amd64.s.
|
||||
var darwinTests = [...]darwinTest{
|
||||
{"__pthread_chdir", libc___pthread_chdir_trampoline_addr},
|
||||
{"__pthread_fchdir", libc___pthread_fchdir_trampoline_addr},
|
||||
{"accept", libc_accept_trampoline_addr},
|
||||
{"access", libc_access_trampoline_addr},
|
||||
{"adjtime", libc_adjtime_trampoline_addr},
|
||||
|
||||
@@ -7,6 +7,8 @@ package unix
|
||||
|
||||
// All the _trampoline functions in zsyscall_darwin_arm64.s.
|
||||
var darwinTests = [...]darwinTest{
|
||||
{"__pthread_chdir", libc___pthread_chdir_trampoline_addr},
|
||||
{"__pthread_fchdir", libc___pthread_fchdir_trampoline_addr},
|
||||
{"accept", libc_accept_trampoline_addr},
|
||||
{"access", libc_access_trampoline_addr},
|
||||
{"adjtime", libc_adjtime_trampoline_addr},
|
||||
|
||||
@@ -542,6 +542,18 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
|
||||
}
|
||||
}
|
||||
|
||||
//sys __pthread_chdir(path string) (err error)
|
||||
|
||||
func PthreadChdir(path string) (err error) {
|
||||
return __pthread_chdir(path)
|
||||
}
|
||||
|
||||
//sys __pthread_fchdir(fd int) (err error)
|
||||
|
||||
func PthreadFchdir(fd int) (err error) {
|
||||
return __pthread_fchdir(fd)
|
||||
}
|
||||
|
||||
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
|
||||
|
||||
//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
|
||||
|
||||
@@ -760,6 +760,39 @@ var libc_sysctl_trampoline_addr uintptr
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func __pthread_chdir(path string) (err error) {
|
||||
var _p0 *byte
|
||||
_p0, err = BytePtrFromString(path)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
_, _, e1 := syscall_syscall(libc___pthread_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
var libc___pthread_chdir_trampoline_addr uintptr
|
||||
|
||||
//go:cgo_import_dynamic libc___pthread_chdir __pthread_chdir "/usr/lib/libSystem.B.dylib"
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func __pthread_fchdir(fd int) (err error) {
|
||||
_, _, e1 := syscall_syscall(libc___pthread_fchdir_trampoline_addr, uintptr(fd), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
var libc___pthread_fchdir_trampoline_addr uintptr
|
||||
|
||||
//go:cgo_import_dynamic libc___pthread_fchdir __pthread_fchdir "/usr/lib/libSystem.B.dylib"
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
|
||||
_, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
|
||||
if e1 != 0 {
|
||||
|
||||
@@ -228,6 +228,16 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
|
||||
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
|
||||
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
|
||||
|
||||
TEXT libc___pthread_chdir_trampoline<>(SB),NOSPLIT,$0-0
|
||||
JMP libc___pthread_chdir(SB)
|
||||
GLOBL ·libc___pthread_chdir_trampoline_addr(SB), RODATA, $8
|
||||
DATA ·libc___pthread_chdir_trampoline_addr(SB)/8, $libc___pthread_chdir_trampoline<>(SB)
|
||||
|
||||
TEXT libc___pthread_fchdir_trampoline<>(SB),NOSPLIT,$0-0
|
||||
JMP libc___pthread_fchdir(SB)
|
||||
GLOBL ·libc___pthread_fchdir_trampoline_addr(SB), RODATA, $8
|
||||
DATA ·libc___pthread_fchdir_trampoline_addr(SB)/8, $libc___pthread_fchdir_trampoline<>(SB)
|
||||
|
||||
TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0
|
||||
JMP libc_sendfile(SB)
|
||||
GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8
|
||||
|
||||
@@ -760,6 +760,39 @@ var libc_sysctl_trampoline_addr uintptr
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func __pthread_chdir(path string) (err error) {
|
||||
var _p0 *byte
|
||||
_p0, err = BytePtrFromString(path)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
_, _, e1 := syscall_syscall(libc___pthread_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
var libc___pthread_chdir_trampoline_addr uintptr
|
||||
|
||||
//go:cgo_import_dynamic libc___pthread_chdir __pthread_chdir "/usr/lib/libSystem.B.dylib"
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func __pthread_fchdir(fd int) (err error) {
|
||||
_, _, e1 := syscall_syscall(libc___pthread_fchdir_trampoline_addr, uintptr(fd), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
var libc___pthread_fchdir_trampoline_addr uintptr
|
||||
|
||||
//go:cgo_import_dynamic libc___pthread_fchdir __pthread_fchdir "/usr/lib/libSystem.B.dylib"
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) {
|
||||
_, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags))
|
||||
if e1 != 0 {
|
||||
|
||||
@@ -228,6 +228,16 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
|
||||
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
|
||||
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
|
||||
|
||||
TEXT libc___pthread_chdir_trampoline<>(SB),NOSPLIT,$0-0
|
||||
JMP libc___pthread_chdir(SB)
|
||||
GLOBL ·libc___pthread_chdir_trampoline_addr(SB), RODATA, $8
|
||||
DATA ·libc___pthread_chdir_trampoline_addr(SB)/8, $libc___pthread_chdir_trampoline<>(SB)
|
||||
|
||||
TEXT libc___pthread_fchdir_trampoline<>(SB),NOSPLIT,$0-0
|
||||
JMP libc___pthread_fchdir(SB)
|
||||
GLOBL ·libc___pthread_fchdir_trampoline_addr(SB), RODATA, $8
|
||||
DATA ·libc___pthread_fchdir_trampoline_addr(SB)/8, $libc___pthread_fchdir_trampoline<>(SB)
|
||||
|
||||
TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0
|
||||
JMP libc_sendfile(SB)
|
||||
GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8
|
||||
|
||||
Reference in New Issue
Block a user