aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/sys_openbsd_amd64.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/sys_openbsd_amd64.s')
-rw-r--r--src/runtime/sys_openbsd_amd64.s11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/runtime/sys_openbsd_amd64.s b/src/runtime/sys_openbsd_amd64.s
index e22a2faeeb..01d6bd8e85 100644
--- a/src/runtime/sys_openbsd_amd64.s
+++ b/src/runtime/sys_openbsd_amd64.s
@@ -229,11 +229,16 @@ TEXT runtime·obsdsigprocmask(SB),NOSPLIT,$0
RET
TEXT runtime·sigfwd(SB),NOSPLIT,$0-32
- MOVL sig+8(FP), DI
+ MOVQ fn+0(FP), AX
+ MOVL sig+8(FP), DI
MOVQ info+16(FP), SI
- MOVQ ctx+24(FP), DX
- MOVQ fn+0(FP), AX
+ MOVQ ctx+24(FP), DX
+ PUSHQ BP
+ MOVQ SP, BP
+ ANDQ $~15, SP // alignment for x86_64 ABI
CALL AX
+ MOVQ BP, SP
+ POPQ BP
RET
TEXT runtime·sigtramp(SB),NOSPLIT,$24