OSDN Git Service

libgo/syscalls: Finish Solaris code.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Jan 2011 19:10:02 +0000 (19:10 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Jan 2011 19:10:02 +0000 (19:10 +0000)
Mostly from Rainer Orth.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168814 138bc75d-0d04-0410-961f-82ee72b054a4

libgo/syscalls/syscall_solaris_amd64.go
libgo/syscalls/syscall_solaris_sparc.go
libgo/syscalls/syscall_solaris_sparc64.go

index f68b596..15d2256 100644 (file)
@@ -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
 }
 
index 91758d5..0be60b9 100644 (file)
@@ -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))
index f371dd2..81e2010 100644 (file)
@@ -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))