runtime, syscall: update for openbsd system ABI break
Update Go so that it continues to work past the OpenBSD system ABI
break, with 64-bit time_t:
http://www.openbsd.org/faq/current.html#20130813
Note: this makes OpenBSD 5.5 (currently 5.4-current) the minimum
supported release for Go.
Fixes #7049.
R=golang-codereviews, mikioh.mikioh
CC=golang-codereviews
https://golang.org/cl/13368046
diff --git a/src/pkg/syscall/syscall_openbsd_amd64.go b/src/pkg/syscall/syscall_openbsd_amd64.go
index c356ad4..6181344 100644
--- a/src/pkg/syscall/syscall_openbsd_amd64.go
+++ b/src/pkg/syscall/syscall_openbsd_amd64.go
@@ -9,7 +9,7 @@
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
- ts.Sec = int32(nsec / 1e9)
+ ts.Sec = nsec / 1e9
ts.Nsec = nsec % 1e9
return
}
@@ -19,12 +19,12 @@
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = nsec % 1e9 / 1e3
- tv.Sec = int64(nsec / 1e9)
+ tv.Sec = nsec / 1e9
return
}
func SetKevent(k *Kevent_t, fd, mode, flags int) {
- k.Ident = uint32(fd)
+ k.Ident = uint64(fd)
k.Filter = int16(mode)
k.Flags = uint16(flags)
}