aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2011-01-14 19:10:02 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2011-01-14 19:10:02 +0000
commit2ab17534761fb9920e90d1dfc1079b30550042b4 (patch)
tree528482bff43b946901fb79cf6bbb777e32be345e
parentcbabf03f9adf676894146561ba8bfeb7b7f15912 (diff)
downloadgcc-2ab17534761fb9920e90d1dfc1079b30550042b4.zip
gcc-2ab17534761fb9920e90d1dfc1079b30550042b4.tar.gz
gcc-2ab17534761fb9920e90d1dfc1079b30550042b4.tar.bz2
libgo/syscalls: Finish Solaris code.
Mostly from Rainer Orth. From-SVN: r168814
-rw-r--r--libgo/syscalls/syscall_solaris_amd64.go2
-rw-r--r--libgo/syscalls/syscall_solaris_sparc.go12
-rw-r--r--libgo/syscalls/syscall_solaris_sparc64.go16
3 files changed, 27 insertions, 3 deletions
diff --git a/libgo/syscalls/syscall_solaris_amd64.go b/libgo/syscalls/syscall_solaris_amd64.go
index f68b596..15d2256 100644
--- a/libgo/syscalls/syscall_solaris_amd64.go
+++ b/libgo/syscalls/syscall_solaris_amd64.go
@@ -13,7 +13,7 @@ import "unsafe"
// 64-bit ptrace(3C) doesn't exist
func libc_ptrace(request int, pid Pid_t, addr uintptr, data *byte) int {
- errno := ENOSYS
+ SetErrno(ENOSYS)
return -1
}
diff --git a/libgo/syscalls/syscall_solaris_sparc.go b/libgo/syscalls/syscall_solaris_sparc.go
index 91758d5..0be60b9 100644
--- a/libgo/syscalls/syscall_solaris_sparc.go
+++ b/libgo/syscalls/syscall_solaris_sparc.go
@@ -1,7 +1,17 @@
-// syscall_solaris_sparc.go -- Solaris SPARC specific support
+// syscall_solaris_sparc.go -- Solaris/SPARC specific support
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package syscall
+
+import "unsafe"
+
+// FIXME: ptrace(3C) has this, but exec.go expects the next.
+//func libc_ptrace(request int, pid Pid_t, addr int, data int) int __asm__ ("ptrace")
+
+func libc_ptrace(request int, pid Pid_t, addr uintptr, data *byte) int __asm__ ("ptrace")
+
+var dummy *byte
+const sizeofPtr uintptr = uintptr(unsafe.Sizeof(dummy))
diff --git a/libgo/syscalls/syscall_solaris_sparc64.go b/libgo/syscalls/syscall_solaris_sparc64.go
index f371dd2..81e2010 100644
--- a/libgo/syscalls/syscall_solaris_sparc64.go
+++ b/libgo/syscalls/syscall_solaris_sparc64.go
@@ -1,7 +1,21 @@
-// syscall_solaris_v9.go -- Solaris sparc9v specific support
+// syscall_solaris_sparc64.go -- Solaris/SPARCV9 specific support
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package syscall
+
+import "unsafe"
+
+// FIXME: ptrace(3C) has this, but exec.go expects the next.
+//func libc_ptrace(request int, pid Pid_t, addr int, data int) int __asm__ ("ptrace")
+
+// 64-bit ptrace(3C) doesn't exist
+func libc_ptrace(request int, pid Pid_t, addr uintptr, data *byte) int {
+ SetErrno(ENOSYS)
+ return -1
+}
+
+var dummy *byte
+const sizeofPtr uintptr = uintptr(unsafe.Sizeof(dummy))