[dev.cc] runtime: fix linux build
TBR=austin
CC=golang-codereviews
https://golang.org/cl/176760044
diff --git a/src/runtime/defs_linux_386.go b/src/runtime/defs_linux_386.go
index be5e5b3..a468f60 100644
--- a/src/runtime/defs_linux_386.go
+++ b/src/runtime/defs_linux_386.go
@@ -134,6 +134,10 @@
ts.tv_sec = x
}
+func (ts *timespec) set_nsec(x int32) {
+ ts.tv_nsec = x
+}
+
type timeval struct {
tv_sec int32
tv_usec int32
diff --git a/src/runtime/defs_linux_amd64.go b/src/runtime/defs_linux_amd64.go
index 386926f..7a1caea 100644
--- a/src/runtime/defs_linux_amd64.go
+++ b/src/runtime/defs_linux_amd64.go
@@ -96,6 +96,10 @@
ts.tv_sec = int64(x)
}
+func (ts *timespec) set_nsec(x int32) {
+ ts.tv_nsec = int64(x)
+}
+
type timeval struct {
tv_sec int64
tv_usec int64
diff --git a/src/runtime/defs_linux_arm.go b/src/runtime/defs_linux_arm.go
index 1e7c679..7f83002 100644
--- a/src/runtime/defs_linux_arm.go
+++ b/src/runtime/defs_linux_arm.go
@@ -88,6 +88,10 @@
ts.tv_sec = x
}
+func (ts *timespec) set_nsec(x int32) {
+ ts.tv_nsec = x
+}
+
type sigaltstackt struct {
ss_sp *byte
ss_flags int32
diff --git a/src/runtime/os1_linux.go b/src/runtime/os1_linux.go
index 7b096533..0d24c5e 100644
--- a/src/runtime/os1_linux.go
+++ b/src/runtime/os1_linux.go
@@ -48,8 +48,8 @@
// is not, even timediv is too heavy, and we really need to use just an
// ordinary machine instruction.
if ptrSize == 8 {
- ts.set_sec(ns / 1000000000)
- ts.set_nsec(ns % 1000000000)
+ ts.set_sec(int32(ns / 1000000000))
+ ts.set_nsec(int32(ns % 1000000000))
} else {
ts.tv_nsec = 0
ts.set_sec(timediv(ns, 1000000000, (*int32)(unsafe.Pointer(&ts.tv_nsec))))