From dd9a39a5551e5a3415ab765cf271fecdbbe89b4c Mon Sep 17 00:00:00 2001 From: Mauri de Souza Meneguzzo Date: Mon, 28 Oct 2024 20:09:55 -0300 Subject: [PATCH] fix uintptr conversion --- src/internal/runtime/atomic/atomic_arm.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/internal/runtime/atomic/atomic_arm.go b/src/internal/runtime/atomic/atomic_arm.go index 64093c01844506..dcc6ad99d6dea6 100644 --- a/src/internal/runtime/atomic/atomic_arm.go +++ b/src/internal/runtime/atomic/atomic_arm.go @@ -80,9 +80,8 @@ func Xchg8(addr *uint8, v uint8) uint8 //go:nosplit func goXchg8(addr *uint8, v uint8) uint8 { // Align down to 4 bytes and use 32-bit CAS. - uaddr := uintptr(unsafe.Pointer(addr)) - addr32 := (*uint32)(unsafe.Pointer(uaddr &^ 3)) - shift := (uaddr & 3) * 8 // little endian + addr32 := (*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(addr)) &^ 3)) + shift := (uintptr(unsafe.Pointer(addr)) & 3) * 8 // little endian word := uint32(v) << shift mask := uint32(0xFF) << shift