feat(asm): encode indirect JMP and CALL on all four architectures

Assisted-by: GLM 5.3 Flash
This commit is contained in:
2026-09-19 19:17:07 +02:00
parent 96e81cc98d
commit 23c001be51
24 changed files with 494 additions and 27 deletions
+18
View File
@@ -0,0 +1,18 @@
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
// SPDX-License-Identifier: BSD-3-Clause
// Indirect control flow: JMP/CALL through a register or memory, byte-compared
// against go tool asm. A CALL in the body also exercises the toolchain's
// forced base-pointer frame on a frameless function.
#include "textflag.h"
// func f()
TEXT ·f(SB), NOSPLIT, $0
JMP AX
CALL AX
JMP (BX)
CALL (BX)
JMP 8(BX)
JMP R8
RET