summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/liblink/asm9.c1
-rw-r--r--src/liblink/list9.c6
-rw-r--r--src/liblink/obj9.c5
-rw-r--r--src/runtime/defs_dragonfly_amd64.go4
-rw-r--r--src/runtime/defs_freebsd_386.go4
-rw-r--r--src/runtime/defs_freebsd_amd64.go4
-rw-r--r--src/runtime/defs_freebsd_arm.go4
-rw-r--r--src/runtime/defs_linux_386.go4
-rw-r--r--src/runtime/defs_linux_amd64.go4
-rw-r--r--src/runtime/defs_linux_arm.go4
-rw-r--r--src/runtime/defs_openbsd_386.go4
-rw-r--r--src/runtime/defs_openbsd_amd64.go4
-rw-r--r--src/runtime/os_linux_arm.go7
-rw-r--r--src/runtime/softfloat_arm.go5
14 files changed, 30 insertions, 30 deletions
diff --git a/src/liblink/asm9.c b/src/liblink/asm9.c
index c5a78e53c..3c125b3b0 100644
--- a/src/liblink/asm9.c
+++ b/src/liblink/asm9.c
@@ -498,7 +498,6 @@ span9(Link *ctxt, LSym *cursym)
if(oprange[AANDN].start == nil)
buildop(ctxt);
- bflag = 0;
c = 0;
p->pc = c;
diff --git a/src/liblink/list9.c b/src/liblink/list9.c
index c9190d894..512ed5a11 100644
--- a/src/liblink/list9.c
+++ b/src/liblink/list9.c
@@ -256,9 +256,9 @@ Dconv(Fmt *fp)
//if(v >= INITTEXT)
// v -= INITTEXT-HEADR;
if(a->sym != nil)
- sprint(str, "%s+%.5lux(BRANCH)", a->sym->name, v);
+ sprint(str, "%s+%.5ux(BRANCH)", a->sym->name, v);
else
- sprint(str, "%.5lux(BRANCH)", v);
+ sprint(str, "%.5ux(BRANCH)", v);
} else if(a->u.branch != nil)
sprint(str, "%lld", a->u.branch->pc);
else if(a->sym != nil)
@@ -316,7 +316,7 @@ Mconv(Fmt *fp)
if(a->offset != 0)
sprint(str, "%s+%lld(SB)", s->name, a->offset);
else
- sprint(str, "%s(SB)", s->name, a->offset);
+ sprint(str, "%s(SB)", s->name);
break;
case D_STATIC:
diff --git a/src/liblink/obj9.c b/src/liblink/obj9.c
index 0bae64d0b..10a1f1635 100644
--- a/src/liblink/obj9.c
+++ b/src/liblink/obj9.c
@@ -202,7 +202,7 @@ addstacksplit(Link *ctxt, LSym *cursym)
Prog *p, *q, *p1, *p2, *q1;
int o, mov, aoffset;
vlong textstksiz, textarg;
- int32 autoffset, autosize;
+ int32 autosize;
if(ctxt->symmorestack[0] == nil) {
ctxt->symmorestack[0] = linklookup(ctxt, "runtime.morestack", 0);
@@ -217,9 +217,6 @@ addstacksplit(Link *ctxt, LSym *cursym)
p = cursym->text;
parsetextconst(p->to.offset, &textstksiz, &textarg);
- autoffset = textstksiz;
- if(autoffset < 0)
- autoffset = 0;
cursym->args = p->to.offset>>32;
cursym->locals = textstksiz;
diff --git a/src/runtime/defs_dragonfly_amd64.go b/src/runtime/defs_dragonfly_amd64.go
index 7e9597705..3ac10b090 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 2cb3a8fdb..6938c1873 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 a2646fb24..de98e7a3c 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 e86ce45b4..744330f4b 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 a468f60d9..ddf592c91 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 7a1caea74..7f8f5816c 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 7f8300293..a874b1594 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 d7cdbd227..4b6015811 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 122f46cf3..3c27c9144 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 9b0ade614..d5b37d6ab 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 746b9ea21..efee31c4c 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, &regs)
})
+ return
}
func _sfloatpanic()