From: Russ Cox Date: Fri, 20 Mar 2015 04:59:37 +0000 (-0400) Subject: runtime: fix arm build X-Git-Tag: go1.5beta1~1495 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=4d2b3a0b5fc4f17c7806f7e66df0ea272d31cd6d;p=gostls13.git runtime: fix arm build Make mask uint32, and move down one line to match atomic_arm64.go. Change-Id: I4867de494bc4076b7c2b3bf4fd74aa984e3ea0c8 Reviewed-on: https://go-review.googlesource.com/7854 Reviewed-by: Russ Cox --- diff --git a/src/runtime/atomic_arm.go b/src/runtime/atomic_arm.go index 00cc1837fd..75206ab94a 100644 --- a/src/runtime/atomic_arm.go +++ b/src/runtime/atomic_arm.go @@ -159,8 +159,8 @@ func atomicand8(addr *uint8, v uint8) { // Align down to 4 bytes and use 32-bit CAS. uaddr := uintptr(unsafe.Pointer(addr)) addr32 := (*uint32)(unsafe.Pointer(uaddr &^ 3)) - mask := 0xFF << ((uaddr & 3) * 8) // little endian - word := uint32(v) << ((uaddr & 3) * 8) // little endian + word := uint32(v) << ((uaddr & 3) * 8) // little endian + mask := uint32(0xFF) << ((uaddr & 3) * 8) // little endian word |= ^mask for { old := *addr32