diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-06-06 22:37:27 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-06-06 22:37:27 +0000 |
commit | a756a05a63c16e653903ee8078d9760185cab545 (patch) | |
tree | 2bc668fae9bf96f9a3988e0b0a16685bde8c4f0b /libgo/go/syscall | |
parent | b9f71945eda675b307727a5d1b8455887ee30fee (diff) | |
download | gcc-a756a05a63c16e653903ee8078d9760185cab545.tar.gz |
libgo: Merge to master revision 19184.
The next revision, 19185, renames several runtime files, and
will be handled in a separate change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211328 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/syscall')
-rw-r--r-- | libgo/go/syscall/consistency_unix_test.go | 10 | ||||
-rw-r--r-- | libgo/go/syscall/libcall_posix.go | 3 | ||||
-rw-r--r-- | libgo/go/syscall/lsf_linux.go | 4 | ||||
-rw-r--r-- | libgo/go/syscall/mksyscall.awk | 2 | ||||
-rw-r--r-- | libgo/go/syscall/rlimit_unix_test.go (renamed from libgo/go/syscall/rlimit_linux_test.go) | 12 | ||||
-rw-r--r-- | libgo/go/syscall/socket.go | 34 | ||||
-rw-r--r-- | libgo/go/syscall/socket_posix.go | 2 | ||||
-rw-r--r-- | libgo/go/syscall/socket_xnet.go | 2 | ||||
-rw-r--r-- | libgo/go/syscall/syscall_unix.go | 2 |
9 files changed, 48 insertions, 23 deletions
diff --git a/libgo/go/syscall/consistency_unix_test.go b/libgo/go/syscall/consistency_unix_test.go index 73630bc6149..6c9fb823560 100644 --- a/libgo/go/syscall/consistency_unix_test.go +++ b/libgo/go/syscall/consistency_unix_test.go @@ -32,3 +32,13 @@ func _() { _ int = syscall.TCOFLUSH ) } + +func _() { + _ = syscall.Flock_t{ + Type: int16(0), + Whence: int16(0), + Start: int64(0), + Len: int64(0), + Pid: int32(0), + } +} diff --git a/libgo/go/syscall/libcall_posix.go b/libgo/go/syscall/libcall_posix.go index b9c2d7f9b00..85f38e08665 100644 --- a/libgo/go/syscall/libcall_posix.go +++ b/libgo/go/syscall/libcall_posix.go @@ -208,6 +208,9 @@ func FDZero(set *FdSet) { //sys fcntl(fd int, cmd int, arg int) (val int, err error) //__go_fcntl(fd _C_int, cmd _C_int, arg _C_int) _C_int +//sys FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) +//__go_fcntl_flock(fd _C_int, cmd _C_int, arg *Flock_t) _C_int + //sys Fdatasync(fd int) (err error) //fdatasync(fd _C_int) _C_int diff --git a/libgo/go/syscall/lsf_linux.go b/libgo/go/syscall/lsf_linux.go index 5296cec9c6e..48ba191c6da 100644 --- a/libgo/go/syscall/lsf_linux.go +++ b/libgo/go/syscall/lsf_linux.go @@ -69,10 +69,10 @@ func AttachLsf(fd int, i []SockFilter) error { var p SockFprog p.Len = uint16(len(i)) p.Filter = (*SockFilter)(unsafe.Pointer(&i[0])) - return setsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, (*byte)(unsafe.Pointer(&p)), Socklen_t(unsafe.Sizeof(p))) + return setsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, unsafe.Pointer(&p), Socklen_t(unsafe.Sizeof(p))) } func DetachLsf(fd int) error { var dummy int - return setsockopt(fd, SOL_SOCKET, SO_DETACH_FILTER, (*byte)(unsafe.Pointer(&dummy)), Socklen_t(unsafe.Sizeof(dummy))) + return setsockopt(fd, SOL_SOCKET, SO_DETACH_FILTER, unsafe.Pointer(&dummy), Socklen_t(unsafe.Sizeof(dummy))) } diff --git a/libgo/go/syscall/mksyscall.awk b/libgo/go/syscall/mksyscall.awk index 8d009222a18..6fbd2ac8ef3 100644 --- a/libgo/go/syscall/mksyscall.awk +++ b/libgo/go/syscall/mksyscall.awk @@ -199,6 +199,8 @@ BEGIN { args = sprintf("%s_p%d, %s(len(%s))", args, goarg, cparam[2], goname) } else if (gotype == "uintptr" && ctype ~ /^\*/) { args = sprintf("%s(%s)(unsafe.Pointer(%s))", args, ctype, goname) + } else if (gotype == "unsafe.Pointer" && ctype ~ /^\*/) { + args = sprintf("%s(%s)(%s)", args, ctype, goname) } else { args = sprintf("%s%s(%s)", args, ctype, goname) } diff --git a/libgo/go/syscall/rlimit_linux_test.go b/libgo/go/syscall/rlimit_unix_test.go index 4ec720e9360..fc9b02609cf 100644 --- a/libgo/go/syscall/rlimit_linux_test.go +++ b/libgo/go/syscall/rlimit_unix_test.go @@ -2,9 +2,12 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// +build darwin dragonfly freebsd linux netbsd openbsd + package syscall_test import ( + "runtime" "syscall" "testing" ) @@ -32,7 +35,14 @@ func TestRlimit(t *testing.T) { set = rlimit set.Cur = set.Max - 1 if set != get { - t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get) + // Seems like Darwin requires some privilege to + // increase the soft limit of rlimit sandbox, though + // Setrlimit never reports an error. + switch runtime.GOOS { + case "darwin": + default: + t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get) + } } err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rlimit) if err != nil { diff --git a/libgo/go/syscall/socket.go b/libgo/go/syscall/socket.go index f4dba36908e..491f52c100e 100644 --- a/libgo/go/syscall/socket.go +++ b/libgo/go/syscall/socket.go @@ -213,67 +213,67 @@ func Socketpair(domain, typ, proto int) (fd [2]int, err error) { func GetsockoptByte(fd, level, opt int) (value byte, err error) { var n byte vallen := Socklen_t(1) - err = getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), &vallen) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) return n, err } func GetsockoptInt(fd, level, opt int) (value int, err error) { var n int32 vallen := Socklen_t(4) - err = getsockopt(fd, level, opt, (uintptr)(unsafe.Pointer(&n)), &vallen) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) return int(n), err } func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { vallen := Socklen_t(4) - err = getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value[0])), &vallen) + err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) return value, err } func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { var value IPMreq vallen := Socklen_t(SizeofIPMreq) - err := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) return &value, err } func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { var value IPMreqn vallen := Socklen_t(SizeofIPMreqn) - err := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) return &value, err } func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { var value IPv6Mreq vallen := Socklen_t(SizeofIPv6Mreq) - err := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) return &value, err } -//sys setsockopt(s int, level int, name int, val *byte, vallen Socklen_t) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen Socklen_t) (err error) //setsockopt(s _C_int, level _C_int, optname _C_int, val *byte, vallen Socklen_t) _C_int func SetsockoptByte(fd, level, opt int, value byte) (err error) { var n = byte(value) - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(&n)), 1) + return setsockopt(fd, level, opt, unsafe.Pointer(&n), 1) } func SetsockoptInt(fd, level, opt int, value int) (err error) { var n = int32(value) - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(&n)), 4) + return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) } func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(&value[0])), 4) + return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) } func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(tv)), Socklen_t(unsafe.Sizeof(*tv))) + return setsockopt(fd, level, opt, unsafe.Pointer(tv), Socklen_t(unsafe.Sizeof(*tv))) } func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(filter)), SizeofICMPv6Filter) + return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) } type Linger struct { @@ -282,23 +282,23 @@ type Linger struct { } func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(l)), Socklen_t(unsafe.Sizeof(*l))) + return setsockopt(fd, level, opt, unsafe.Pointer(l), Socklen_t(unsafe.Sizeof(*l))) } func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(mreq)), Socklen_t(unsafe.Sizeof(*mreq))) + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), Socklen_t(unsafe.Sizeof(*mreq))) } func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(mreq)), Socklen_t(unsafe.Sizeof(*mreq))) + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), Socklen_t(unsafe.Sizeof(*mreq))) } func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(mreq)), Socklen_t(unsafe.Sizeof(*mreq))) + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), Socklen_t(unsafe.Sizeof(*mreq))) } func SetsockoptString(fd, level, opt int, s string) (err error) { - return setsockopt(fd, level, opt, (*byte)(unsafe.Pointer(&[]byte(s)[0])), Socklen_t(len(s))) + return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), Socklen_t(len(s))) } //sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *Socklen_t) (n int, err error) diff --git a/libgo/go/syscall/socket_posix.go b/libgo/go/syscall/socket_posix.go index 06d7dab464a..fd96524f13b 100644 --- a/libgo/go/syscall/socket_posix.go +++ b/libgo/go/syscall/socket_posix.go @@ -18,7 +18,7 @@ package syscall //sysnb socketpair(domain int, typ int, proto int, fd *[2]_C_int) (err error) //socketpair(domain _C_int, typ _C_int, protocol _C_int, fd *[2]_C_int) _C_int -//sys getsockopt(s int, level int, name int, val uintptr, vallen *Socklen_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *Socklen_t) (err error) //getsockopt(s _C_int, level _C_int, name _C_int, val *byte, vallen *Socklen_t) _C_int //sys sendto(s int, buf []byte, flags int, to *RawSockaddrAny, tolen Socklen_t) (err error) diff --git a/libgo/go/syscall/socket_xnet.go b/libgo/go/syscall/socket_xnet.go index 8f86c622b9f..04400107d06 100644 --- a/libgo/go/syscall/socket_xnet.go +++ b/libgo/go/syscall/socket_xnet.go @@ -19,7 +19,7 @@ package syscall //sysnb socketpair(domain int, typ int, proto int, fd *[2]_C_int) (err error) //__xnet_socketpair(domain _C_int, typ _C_int, protocol _C_int, fd *[2]_C_int) _C_int -//sys getsockopt(s int, level int, name int, val uintptr, vallen *Socklen_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *Socklen_t) (err error) //__xnet_getsockopt(s _C_int, level _C_int, name _C_int, val *byte, vallen *Socklen_t) _C_int //sys sendto(s int, buf []byte, flags int, to *RawSockaddrAny, tolen Socklen_t) (err error) diff --git a/libgo/go/syscall/syscall_unix.go b/libgo/go/syscall/syscall_unix.go index 5559c7c69b7..fcb90dbfa75 100644 --- a/libgo/go/syscall/syscall_unix.go +++ b/libgo/go/syscall/syscall_unix.go @@ -124,7 +124,7 @@ func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (d cap int }{addr, length, length} - // Use unsafe to turn sl into a []byte. + // Use unsafeto turn sl into a []byte. b := *(*[]byte)(unsafe.Pointer(&sl)) // Register mapping in m and return it. |