diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2011-01-12 06:34:08 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2011-01-12 06:34:08 +0000 |
commit | f2ee78b861b8daab2675e1a24798b1069f763dc0 (patch) | |
tree | f6ea31c859488c93306c1cfb3148540b52d840b5 /libgo/syscalls | |
parent | c3b5b97b64685cee2635d0dc61425a5add983a39 (diff) | |
download | gcc-f2ee78b861b8daab2675e1a24798b1069f763dc0.zip gcc-f2ee78b861b8daab2675e1a24798b1069f763dc0.tar.gz gcc-f2ee78b861b8daab2675e1a24798b1069f763dc0.tar.bz2 |
Preliminary framework for Solaris support.
Partly from Rainer Orth.
From-SVN: r168697
Diffstat (limited to 'libgo/syscalls')
-rw-r--r-- | libgo/syscalls/syscall_solaris.go | 7 | ||||
-rw-r--r-- | libgo/syscalls/syscall_solaris_386.go | 19 | ||||
-rw-r--r-- | libgo/syscalls/syscall_solaris_amd64.go | 23 | ||||
-rw-r--r-- | libgo/syscalls/syscall_solaris_sparc.go | 7 | ||||
-rw-r--r-- | libgo/syscalls/syscall_solaris_sparcv9.go | 7 |
5 files changed, 63 insertions, 0 deletions
diff --git a/libgo/syscalls/syscall_solaris.go b/libgo/syscalls/syscall_solaris.go new file mode 100644 index 0000000..ec22933 --- /dev/null +++ b/libgo/syscalls/syscall_solaris.go @@ -0,0 +1,7 @@ +// syscall_solaris.go -- Solaris 2 specific syscall interface. + +// 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 diff --git a/libgo/syscalls/syscall_solaris_386.go b/libgo/syscalls/syscall_solaris_386.go new file mode 100644 index 0000000..20e8b5d --- /dev/null +++ b/libgo/syscalls/syscall_solaris_386.go @@ -0,0 +1,19 @@ +// syscall_solaris_386.go -- Solaris/x86 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" + +const ARCH = "386" + +// 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_amd64.go b/libgo/syscalls/syscall_solaris_amd64.go new file mode 100644 index 0000000..628e781 --- /dev/null +++ b/libgo/syscalls/syscall_solaris_amd64.go @@ -0,0 +1,23 @@ +// syscall_solaris_amd64.go -- Solaris/x64 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" + +const ARCH = "amd64" + +// 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 { + errno := ENOSYS + return -1 +} + +var dummy *byte +const sizeofPtr uintptr = uintptr(unsafe.Sizeof(dummy)) diff --git a/libgo/syscalls/syscall_solaris_sparc.go b/libgo/syscalls/syscall_solaris_sparc.go new file mode 100644 index 0000000..91758d5 --- /dev/null +++ b/libgo/syscalls/syscall_solaris_sparc.go @@ -0,0 +1,7 @@ +// 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 diff --git a/libgo/syscalls/syscall_solaris_sparcv9.go b/libgo/syscalls/syscall_solaris_sparcv9.go new file mode 100644 index 0000000..f371dd2 --- /dev/null +++ b/libgo/syscalls/syscall_solaris_sparcv9.go @@ -0,0 +1,7 @@ +// syscall_solaris_v9.go -- Solaris sparc9v 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 |