From: Keith Randall Date: Fri, 25 Apr 2025 17:09:44 +0000 (-0700) Subject: runtime: fix tag pointers on aix, take 2 X-Git-Tag: go1.25rc1~342 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0c15d88974e5bb4285d6cdf6ef125e1e4d438c6d;p=gostls13.git runtime: fix tag pointers on aix, take 2 Previous fix in CL 667715 wasn't correct for aix. Change-Id: I44042786079463967165507b15756cf24b9a213a Reviewed-on: https://go-review.googlesource.com/c/go/+/668036 Reviewed-by: Keith Randall LUCI-TryBot-Result: Go LUCI Reviewed-by: Michael Knyszek --- diff --git a/src/runtime/tagptr_64bit.go b/src/runtime/tagptr_64bit.go index 31cbce03b7..586d155dc5 100644 --- a/src/runtime/tagptr_64bit.go +++ b/src/runtime/tagptr_64bit.go @@ -66,6 +66,9 @@ func (tp taggedPointer) pointer() unsafe.Pointer { // val before unpacking. return unsafe.Pointer(uintptr(int64(tp) >> tagBits << tagAlignBits)) } + if GOOS == "aix" { + return unsafe.Pointer(uintptr((tp >> tagBits << tagAlignBits) | 0xa<<56)) + } return unsafe.Pointer(uintptr(tp >> tagBits << tagAlignBits)) }