feat(verify): ABI checks on arm64, riscv64 and loong64
Assisted-by: GLM 5.3 Flash
This commit is contained in:
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
// func cleanAdd(a, b int64) int64
|
||||
// A well-behaved function that preserves the goroutine pointer.
|
||||
TEXT ·cleanAdd(SB), NOSPLIT, $0-24
|
||||
MOV a+0(FP), X5
|
||||
MOV b+8(FP), X6
|
||||
ADD X5, X6, X5
|
||||
MOV X5, ret+16(FP)
|
||||
RET
|
||||
|
||||
// func dirtyG(a int64) int64
|
||||
// Deliberately clobbers X27, the goroutine pointer (a serious ABI violation).
|
||||
TEXT ·dirtyG(SB), NOSPLIT, $0-16
|
||||
MOV $0x5678, X27
|
||||
MOV a+0(FP), X5
|
||||
MOV X5, ret+8(FP)
|
||||
RET
|
||||
Reference in New Issue
Block a user