diff options
| author | Russ Cox <rsc@golang.org> | 2014-11-16 16:53:53 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2014-11-16 16:53:53 -0500 |
| commit | 3034be60d87cb927a6fcded5ffb6663ca5f93674 (patch) | |
| tree | d548838e43cf89f669eb3a9a7befe869389298fc /src/runtime | |
| parent | 0fcf54b3d2bc42a947c65e9a520d078b671f8432 (diff) | |
| parent | 2ceca80e3fd52706c4c6bc3366844471a349d0be (diff) | |
| download | go-3034be60d87cb927a6fcded5ffb6663ca5f93674.tar.xz | |
[dev.garbage] all: merge dev.cc (723ca3789b88) into dev.garbage
Brings in Linux time signature fixes. Should fix build.
TBR=austin
CC=golang-codereviews
https://golang.org/cl/176870043
Diffstat (limited to 'src/runtime')
| -rw-r--r-- | src/runtime/defs_dragonfly_amd64.go | 4 | ||||
| -rw-r--r-- | src/runtime/defs_freebsd_386.go | 4 | ||||
| -rw-r--r-- | src/runtime/defs_freebsd_amd64.go | 4 | ||||
| -rw-r--r-- | src/runtime/defs_freebsd_arm.go | 4 | ||||
| -rw-r--r-- | src/runtime/defs_linux_386.go | 4 | ||||
| -rw-r--r-- | src/runtime/defs_linux_amd64.go | 4 | ||||
| -rw-r--r-- | src/runtime/defs_linux_arm.go | 4 | ||||
| -rw-r--r-- | src/runtime/defs_openbsd_386.go | 4 | ||||
| -rw-r--r-- | src/runtime/defs_openbsd_amd64.go | 4 | ||||
| -rw-r--r-- | src/runtime/os_linux_arm.go | 7 | ||||
| -rw-r--r-- | src/runtime/softfloat_arm.go | 5 |
11 files changed, 26 insertions, 22 deletions
diff --git a/src/runtime/defs_dragonfly_amd64.go b/src/runtime/defs_dragonfly_amd64.go index 7e95977054..3ac10b0904 100644 --- a/src/runtime/defs_dragonfly_amd64.go +++ b/src/runtime/defs_dragonfly_amd64.go @@ -180,8 +180,8 @@ type timespec struct { tv_nsec int64 } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = int64(x) +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = x } type timeval struct { diff --git a/src/runtime/defs_freebsd_386.go b/src/runtime/defs_freebsd_386.go index 2cb3a8fdb3..6938c18736 100644 --- a/src/runtime/defs_freebsd_386.go +++ b/src/runtime/defs_freebsd_386.go @@ -185,8 +185,8 @@ type timespec struct { tv_nsec int32 } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = x +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = int32(x) } type timeval struct { diff --git a/src/runtime/defs_freebsd_amd64.go b/src/runtime/defs_freebsd_amd64.go index a2646fb24d..de98e7a3c1 100644 --- a/src/runtime/defs_freebsd_amd64.go +++ b/src/runtime/defs_freebsd_amd64.go @@ -196,8 +196,8 @@ type timespec struct { tv_nsec int64 } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = int64(x) +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = x } type timeval struct { diff --git a/src/runtime/defs_freebsd_arm.go b/src/runtime/defs_freebsd_arm.go index e86ce45b4c..744330f4b3 100644 --- a/src/runtime/defs_freebsd_arm.go +++ b/src/runtime/defs_freebsd_arm.go @@ -157,8 +157,8 @@ type timespec struct { pad_cgo_0 [4]byte } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = int64(x) +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = x } type timeval struct { diff --git a/src/runtime/defs_linux_386.go b/src/runtime/defs_linux_386.go index a468f60d9e..ddf592c91b 100644 --- a/src/runtime/defs_linux_386.go +++ b/src/runtime/defs_linux_386.go @@ -130,8 +130,8 @@ type timespec struct { tv_nsec int32 } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = x +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = int32(x) } func (ts *timespec) set_nsec(x int32) { diff --git a/src/runtime/defs_linux_amd64.go b/src/runtime/defs_linux_amd64.go index 7a1caea74e..7f8f5816c6 100644 --- a/src/runtime/defs_linux_amd64.go +++ b/src/runtime/defs_linux_amd64.go @@ -92,8 +92,8 @@ type timespec struct { tv_nsec int64 } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = int64(x) +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = x } func (ts *timespec) set_nsec(x int32) { diff --git a/src/runtime/defs_linux_arm.go b/src/runtime/defs_linux_arm.go index 7f8300293a..a874b15941 100644 --- a/src/runtime/defs_linux_arm.go +++ b/src/runtime/defs_linux_arm.go @@ -84,8 +84,8 @@ type timespec struct { tv_nsec int32 } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = x +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = int32(x) } func (ts *timespec) set_nsec(x int32) { diff --git a/src/runtime/defs_openbsd_386.go b/src/runtime/defs_openbsd_386.go index d7cdbd2273..4b60158115 100644 --- a/src/runtime/defs_openbsd_386.go +++ b/src/runtime/defs_openbsd_386.go @@ -138,8 +138,8 @@ type timespec struct { tv_nsec int32 } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = int64(x) +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = x } func (ts *timespec) set_nsec(x int32) { diff --git a/src/runtime/defs_openbsd_amd64.go b/src/runtime/defs_openbsd_amd64.go index 122f46cf33..3c27c9144f 100644 --- a/src/runtime/defs_openbsd_amd64.go +++ b/src/runtime/defs_openbsd_amd64.go @@ -149,8 +149,8 @@ type timespec struct { tv_nsec int64 } -func (ts *timespec) set_sec(x int32) { - ts.tv_sec = int64(x) +func (ts *timespec) set_sec(x int64) { + ts.tv_sec = x } func (ts *timespec) set_nsec(x int32) { diff --git a/src/runtime/os_linux_arm.go b/src/runtime/os_linux_arm.go index 9b0ade6148..d5b37d6ab5 100644 --- a/src/runtime/os_linux_arm.go +++ b/src/runtime/os_linux_arm.go @@ -50,9 +50,12 @@ func setup_auxv(argc int32, argv **byte) { for i := 0; auxv[i] != _AT_NULL; i += 2 { switch auxv[i] { - case _AT_RANDOM: // kernel provided 16-byte worth of random data + case _AT_RANDOM: // kernel provides a pointer to 16-bytes worth of random data if auxv[i+1] != 0 { - randomNumber = *(*uint32)(unsafe.Pointer(uintptr(auxv[i+1]))) + // the pointer provided may not be word alined, so we must to treat it + // as a byte array. + rnd := (*[16]byte)(unsafe.Pointer(uintptr(auxv[i+1]))) + randomNumber = uint32(rnd[0]) | uint32(rnd[1])<<8 | uint32(rnd[2])<<16 | uint32(rnd[3])<<24 } case _AT_PLATFORM: // v5l, v6l, v7l diff --git a/src/runtime/softfloat_arm.go b/src/runtime/softfloat_arm.go index 746b9ea216..efee31c4c7 100644 --- a/src/runtime/softfloat_arm.go +++ b/src/runtime/softfloat_arm.go @@ -605,10 +605,11 @@ done: } //go:nosplit -func _sfloat2(pc uint32, regs *[15]uint32) { +func _sfloat2(pc uint32, regs [15]uint32) (newpc uint32) { systemstack(func() { - pc = sfloat2(pc, regs) + newpc = sfloat2(pc, ®s) }) + return } func _sfloatpanic() |
