fix(verify): arm64 stack save, adaptive canary and host gating
Assisted-by: GLM 5.3
This commit is contained in:
@@ -17,7 +17,8 @@
|
||||
TEXT ·enterJIT(SB), NOSPLIT, $0-16
|
||||
MOVD fn+0(FP), R0 // target function address
|
||||
MOVD R30, savedLR(SB) // save link register
|
||||
MOVD R3, savedSP(SB) // save Go stack pointer
|
||||
MOVD RSP, R3 // save Go stack pointer: R3 relays the value, the
|
||||
MOVD R3, savedSP(SB) // arm64 assembler cannot store RSP to memory
|
||||
MOVD stack+8(FP), R3 // load prepared stack pointer
|
||||
MOVD 0(R3), R30 // load leaveJIT address into LR
|
||||
MOVD R3, RSP // switch to the prepared stack: SP stays on
|
||||
|
||||
Reference in New Issue
Block a user