From 7c4c994c65f702f41ed7d6620a2cb34107576a77 Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Mon, 17 Dec 2018 20:08:14 -0800 Subject: [PATCH] unix: remove raw syscall from Sendfile Update golang/go#17490 Change-Id: Iaec54b8ffda1a24d4c8b5671185d570fb8683155 Reviewed-on: https://go-review.googlesource.com/c/154663 Reviewed-by: Ian Lance Taylor --- unix/syscall_aix.go | 7 +++++++ unix/syscall_darwin.go | 12 ++++++++++++ unix/syscall_darwin_386.go | 13 ------------- unix/syscall_darwin_amd64.go | 14 -------------- unix/syscall_darwin_arm.go | 14 -------------- unix/syscall_darwin_arm64.go | 14 -------------- unix/syscall_dragonfly.go | 7 +++++++ unix/syscall_freebsd.go | 7 +++++++ unix/syscall_linux.go | 7 +++++++ unix/syscall_netbsd.go | 7 +++++++ unix/syscall_openbsd.go | 7 +++++++ unix/syscall_solaris.go | 7 +++++++ unix/syscall_unix.go | 7 ------- unix/zsyscall_darwin_386.1_12.go | 14 ++++++++++++++ unix/zsyscall_darwin_386.go | 10 ++++++++++ unix/zsyscall_darwin_386.s | 2 ++ unix/zsyscall_darwin_amd64.1_12.go | 14 ++++++++++++++ unix/zsyscall_darwin_amd64.go | 10 ++++++++++ unix/zsyscall_darwin_amd64.s | 2 ++ unix/zsyscall_darwin_arm.1_12.go | 14 ++++++++++++++ unix/zsyscall_darwin_arm.go | 10 ++++++++++ unix/zsyscall_darwin_arm.s | 2 ++ unix/zsyscall_darwin_arm64.1_12.go | 14 ++++++++++++++ unix/zsyscall_darwin_arm64.go | 10 ++++++++++ unix/zsyscall_darwin_arm64.s | 2 ++ 25 files changed, 165 insertions(+), 62 deletions(-) diff --git a/unix/syscall_aix.go b/unix/syscall_aix.go index 992a8ea0..1351a228 100644 --- a/unix/syscall_aix.go +++ b/unix/syscall_aix.go @@ -268,6 +268,13 @@ func Gettimeofday(tv *Timeval) (err error) { return } +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + // TODO func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { return -1, ENOSYS diff --git a/unix/syscall_darwin.go b/unix/syscall_darwin.go index b65017cd..04042e44 100644 --- a/unix/syscall_darwin.go +++ b/unix/syscall_darwin.go @@ -394,6 +394,18 @@ func Uname(uname *Utsname) error { return nil } +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + var length = int64(count) + err = sendfile(infd, outfd, *offset, &length, nil, 0) + written = int(length) + return +} + +//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) + /* * Exposed directly */ diff --git a/unix/syscall_darwin_386.go b/unix/syscall_darwin_386.go index 6f294f54..277dd9a4 100644 --- a/unix/syscall_darwin_386.go +++ b/unix/syscall_darwin_386.go @@ -48,19 +48,6 @@ func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var length = uint64(count) - - _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) - - written = int(length) - - if e1 != 0 { - err = e1 - } - return -} - func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions diff --git a/unix/syscall_darwin_amd64.go b/unix/syscall_darwin_amd64.go index 690a5ff7..914b89bd 100644 --- a/unix/syscall_darwin_amd64.go +++ b/unix/syscall_darwin_amd64.go @@ -8,7 +8,6 @@ package unix import ( "syscall" - "unsafe" ) func setTimespec(sec, nsec int64) Timespec { @@ -48,19 +47,6 @@ func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var length = uint64(count) - - _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) - - written = int(length) - - if e1 != 0 { - err = e1 - } - return -} - func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions diff --git a/unix/syscall_darwin_arm.go b/unix/syscall_darwin_arm.go index db95b58d..4a284cf5 100644 --- a/unix/syscall_darwin_arm.go +++ b/unix/syscall_darwin_arm.go @@ -6,7 +6,6 @@ package unix import ( "syscall" - "unsafe" ) func setTimespec(sec, nsec int64) Timespec { @@ -46,19 +45,6 @@ func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var length = uint64(count) - - _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) - - written = int(length) - - if e1 != 0 { - err = e1 - } - return -} - func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions diff --git a/unix/syscall_darwin_arm64.go b/unix/syscall_darwin_arm64.go index 29388c3b..52dcd88f 100644 --- a/unix/syscall_darwin_arm64.go +++ b/unix/syscall_darwin_arm64.go @@ -8,7 +8,6 @@ package unix import ( "syscall" - "unsafe" ) func setTimespec(sec, nsec int64) Timespec { @@ -48,19 +47,6 @@ func (cmsg *Cmsghdr) SetLen(length int) { cmsg.Len = uint32(length) } -func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - var length = uint64(count) - - _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) - - written = int(length) - - if e1 != 0 { - err = e1 - } - return -} - func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions diff --git a/unix/syscall_dragonfly.go b/unix/syscall_dragonfly.go index 75651057..891c94d7 100644 --- a/unix/syscall_dragonfly.go +++ b/unix/syscall_dragonfly.go @@ -234,6 +234,13 @@ func Uname(uname *Utsname) error { return nil } +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + /* * Exposed directly */ diff --git a/unix/syscall_freebsd.go b/unix/syscall_freebsd.go index 085a808c..a7ca1ebe 100644 --- a/unix/syscall_freebsd.go +++ b/unix/syscall_freebsd.go @@ -500,6 +500,13 @@ func convertFromDirents11(buf []byte, old []byte) int { return dstPos } +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + /* * Exposed directly */ diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go index c2c7a000..77604023 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go @@ -1360,6 +1360,13 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri return mount(source, target, fstype, flags, datap) } +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + // Sendto // Recvfrom // Socketpair diff --git a/unix/syscall_netbsd.go b/unix/syscall_netbsd.go index 059327a3..5240e16e 100644 --- a/unix/syscall_netbsd.go +++ b/unix/syscall_netbsd.go @@ -244,6 +244,13 @@ func Uname(uname *Utsname) error { return nil } +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + /* * Exposed directly */ diff --git a/unix/syscall_openbsd.go b/unix/syscall_openbsd.go index 5a398f81..68799954 100644 --- a/unix/syscall_openbsd.go +++ b/unix/syscall_openbsd.go @@ -94,6 +94,13 @@ func Getwd() (string, error) { return string(buf[:n]), nil } +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + // TODO func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { return -1, ENOSYS diff --git a/unix/syscall_solaris.go b/unix/syscall_solaris.go index 53b80782..e4780127 100644 --- a/unix/syscall_solaris.go +++ b/unix/syscall_solaris.go @@ -585,6 +585,13 @@ func Poll(fds []PollFd, timeout int) (n int, err error) { return poll(&fds[0], len(fds), timeout) } +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + /* * Exposed directly */ diff --git a/unix/syscall_unix.go b/unix/syscall_unix.go index a21486f6..33583a22 100644 --- a/unix/syscall_unix.go +++ b/unix/syscall_unix.go @@ -351,13 +351,6 @@ func Socketpair(domain, typ, proto int) (fd [2]int, err error) { return } -func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { - if raceenabled { - raceReleaseMerge(unsafe.Pointer(&ioSync)) - } - return sendfile(outfd, infd, offset, count) -} - var ioSync int64 func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } diff --git a/unix/zsyscall_darwin_386.1_12.go b/unix/zsyscall_darwin_386.1_12.go index 7e5f8bac..f0795930 100644 --- a/unix/zsyscall_darwin_386.1_12.go +++ b/unix/zsyscall_darwin_386.1_12.go @@ -749,6 +749,20 @@ func libc_ioctl_trampoline() //go:cgo_import_dynamic libc_ioctl ioctl "/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_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/unix/zsyscall_darwin_386.go b/unix/zsyscall_darwin_386.go index e8c292a7..c4ec7ff8 100644 --- a/unix/zsyscall_darwin_386.go +++ b/unix/zsyscall_darwin_386.go @@ -573,6 +573,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { // 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 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/unix/zsyscall_darwin_386.s b/unix/zsyscall_darwin_386.s index c89d4185..37b85b4f 100644 --- a/unix/zsyscall_darwin_386.s +++ b/unix/zsyscall_darwin_386.s @@ -92,6 +92,8 @@ TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 JMP libc_kill(SB) TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 JMP libc_access(SB) TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 diff --git a/unix/zsyscall_darwin_amd64.1_12.go b/unix/zsyscall_darwin_amd64.1_12.go index 2fb7d4d0..4840c555 100644 --- a/unix/zsyscall_darwin_amd64.1_12.go +++ b/unix/zsyscall_darwin_amd64.1_12.go @@ -749,6 +749,20 @@ func libc_ioctl_trampoline() //go:cgo_import_dynamic libc_ioctl ioctl "/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(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/unix/zsyscall_darwin_amd64.go b/unix/zsyscall_darwin_amd64.go index a50ce42f..2581e896 100644 --- a/unix/zsyscall_darwin_amd64.go +++ b/unix/zsyscall_darwin_amd64.go @@ -573,6 +573,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { // 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 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/unix/zsyscall_darwin_amd64.s b/unix/zsyscall_darwin_amd64.s index a3ecb21a..da9b900a 100644 --- a/unix/zsyscall_darwin_amd64.s +++ b/unix/zsyscall_darwin_amd64.s @@ -92,6 +92,8 @@ TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 JMP libc_kill(SB) TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 JMP libc_access(SB) TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 diff --git a/unix/zsyscall_darwin_arm.1_12.go b/unix/zsyscall_darwin_arm.1_12.go index eadd5b3e..8e4f4254 100644 --- a/unix/zsyscall_darwin_arm.1_12.go +++ b/unix/zsyscall_darwin_arm.1_12.go @@ -749,6 +749,20 @@ func libc_ioctl_trampoline() //go:cgo_import_dynamic libc_ioctl ioctl "/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_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/unix/zsyscall_darwin_arm.go b/unix/zsyscall_darwin_arm.go index 97cbdff1..f8caecef 100644 --- a/unix/zsyscall_darwin_arm.go +++ b/unix/zsyscall_darwin_arm.go @@ -573,6 +573,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { // 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 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/unix/zsyscall_darwin_arm.s b/unix/zsyscall_darwin_arm.s index 1dc9c002..994056f3 100644 --- a/unix/zsyscall_darwin_arm.s +++ b/unix/zsyscall_darwin_arm.s @@ -92,6 +92,8 @@ TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 JMP libc_kill(SB) TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 JMP libc_access(SB) TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 diff --git a/unix/zsyscall_darwin_arm64.1_12.go b/unix/zsyscall_darwin_arm64.1_12.go index 849603fa..3a6cbf6b 100644 --- a/unix/zsyscall_darwin_arm64.1_12.go +++ b/unix/zsyscall_darwin_arm64.1_12.go @@ -749,6 +749,20 @@ func libc_ioctl_trampoline() //go:cgo_import_dynamic libc_ioctl ioctl "/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(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/unix/zsyscall_darwin_arm64.go b/unix/zsyscall_darwin_arm64.go index f5cafc93..3fd0f3c8 100644 --- a/unix/zsyscall_darwin_arm64.go +++ b/unix/zsyscall_darwin_arm64.go @@ -573,6 +573,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { // 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 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Access(path string, mode uint32) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/unix/zsyscall_darwin_arm64.s b/unix/zsyscall_darwin_arm64.s index 4dd9ac59..61dc0d4c 100644 --- a/unix/zsyscall_darwin_arm64.s +++ b/unix/zsyscall_darwin_arm64.s @@ -92,6 +92,8 @@ TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 JMP libc_kill(SB) TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 JMP libc_access(SB) TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0