From: Shenghou Ma Date: Tue, 6 Jan 2015 01:16:10 +0000 (-0500) Subject: runtime: fix build for ARM X-Git-Tag: go1.5beta1~2445 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a6a30fefd9b798597f95ff1024f263c64f3a39a9;p=gostls13.git runtime: fix build for ARM Change-Id: Ia18b8411bebc47ea71ac1acd9ff9dc570ec15dea Reviewed-on: https://go-review.googlesource.com/2341 Reviewed-by: Dave Cheney --- diff --git a/src/runtime/asm_arm.s b/src/runtime/asm_arm.s index 3253942c60..d37eed034e 100644 --- a/src/runtime/asm_arm.s +++ b/src/runtime/asm_arm.s @@ -394,7 +394,7 @@ TEXT NAME(SB), WRAPPER, $MAXSIZE-20; \ ADD R3, R1; \ ADD R3, R0; \ SUB R3, R2; \ -loop: +loop: \ CMP $0, R2; \ B.EQ end; \ MOVBU.P 1(R1), R5; \ diff --git a/src/runtime/atomic_arm.go b/src/runtime/atomic_arm.go index 7f0b929143..ff73144626 100644 --- a/src/runtime/atomic_arm.go +++ b/src/runtime/atomic_arm.go @@ -38,10 +38,10 @@ func xchg(addr *uint32, v uint32) uint32 { } //go:nosplit -func xchgp1(addr *unsafe.Pointer, v unsafe.Pointer) unsafe.Pointer { +func xchgp1(addr unsafe.Pointer, v unsafe.Pointer) unsafe.Pointer { for { - old := *addr - if casp1(addr, old, v) { + old := *(*unsafe.Pointer)(addr) + if casp1((*unsafe.Pointer)(addr), old, v) { return old } }