lif: drop support for go1.5
This change drops a workaround for golang.org/issues/13372.
The compiler in Go 1.6 or above handles the "conversion of a
unsafe.Pointer to uintptr when calling syscall.Syscall" case
correctly.
Change-Id: I5b45094a78f15a631da277bbea0cb79fde25bb2a
Reviewed-on: https://go-review.googlesource.com/37170
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/lif/sys_solaris_amd64.s b/lif/sys_solaris_amd64.s
index 1ebca37..39d76af 100644
--- a/lif/sys_solaris_amd64.s
+++ b/lif/sys_solaris_amd64.s
@@ -6,6 +6,3 @@
TEXT ·sysvicall6(SB),NOSPLIT,$0-88
JMP syscall·sysvicall6(SB)
-
-TEXT ·keepAlive(SB),NOSPLIT,$0
- RET
diff --git a/lif/syscall.go b/lif/syscall.go
index 5fe0736..aadab2e 100644
--- a/lif/syscall.go
+++ b/lif/syscall.go
@@ -19,13 +19,8 @@
func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (uintptr, uintptr, syscall.Errno)
-// TODO: replace with runtime.KeepAlive when available
-//go:noescape
-func keepAlive(p unsafe.Pointer)
-
func ioctl(s, ioc uintptr, arg unsafe.Pointer) error {
_, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procIoctl)), 3, s, ioc, uintptr(arg), 0, 0, 0)
- keepAlive(arg)
if errno != 0 {
return error(errno)
}