mirror of
https://github.com/golang/go
synced 2024-09-06 00:19:45 +00:00
![Paul E. Murphy](/assets/img/avatar_default.png)
For some reason, aix sometimes executes the bogus function body. This should never happen as it lives in a no-execute section. It might be a transient permission blip as the heap grows. Add a small function to cleanup and synchronize the icache before jumping to the bogus function to ensure it causes a panic, not SIGILL. Fixes #44583 Change-Id: Iadca62d82bfb70fc62088705dac42a880a1208fa Reviewed-on: https://go-review.googlesource.com/c/go/+/377314 Trust: Bryan Mills <bcmills@google.com> Run-TryBot: Paul Murphy <murp@ibm.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com>
14 lines
306 B
ArmAsm
14 lines
306 B
ArmAsm
// Copyright 2022 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
#include "textflag.h"
|
|
|
|
// func syncIcache(p uintptr)
|
|
TEXT main·syncIcache(SB), NOSPLIT|NOFRAME, $0-0
|
|
SYNC
|
|
MOVD (R3), R3
|
|
ICBI (R3)
|
|
ISYNC
|
|
RET
|