aboutsummaryrefslogtreecommitdiff
path: root/win32/lib
diff options
context:
space:
mode:
Diffstat (limited to 'win32/lib')
-rw-r--r--win32/lib/chkstk.S14
1 files changed, 11 insertions, 3 deletions
diff --git a/win32/lib/chkstk.S b/win32/lib/chkstk.S
index 90a6f0d..a757b16 100644
--- a/win32/lib/chkstk.S
+++ b/win32/lib/chkstk.S
@@ -57,11 +57,19 @@ P0:
jmp *8(%rax)
/* ---------------------------------------------- */
-/* avoid msvcrt unwind stuff for setjmp/longjmp */
+/* setjmp/longjmp support */
-.globl tinyc_getsp
-tinyc_getsp:
+.globl tinyc_no_getbp
+tinyc_no_getbp:
+ .byte 0x90
+
+.globl tinyc_getbp
+tinyc_getbp:
xor %rax,%rax
+ cmp %al,tinyc_no_getbp(%rax)
+ je t1
+ mov %rbp,%rax
+t1:
ret
/* ---------------------------------------------- */