aboutsummaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorgrischka <grischka>2009-12-17 18:44:58 +0100
committergrischka <grischka>2009-12-19 22:16:17 +0100
commitd79b867d551510a64c4074c78d5737be16347fcc (patch)
tree77839ad0f9825b9d5fe7ecb6b88b40e3d4df5114 /win32
parent614790dc14b4a1b2055d040d290abcb60e05ef59 (diff)
downloadtinycc-d79b867d551510a64c4074c78d5737be16347fcc.tar.gz
tinycc-d79b867d551510a64c4074c78d5737be16347fcc.tar.bz2
win64: adjust for two args with setjmp(buf,ctx)
Diffstat (limited to 'win32')
-rw-r--r--win32/include/_mingw.h2
-rw-r--r--win32/lib/chkstk.S8
2 files changed, 10 insertions, 0 deletions
diff --git a/win32/include/_mingw.h b/win32/include/_mingw.h
index 295b689..bbac35e 100644
--- a/win32/include/_mingw.h
+++ b/win32/include/_mingw.h
@@ -57,6 +57,8 @@ typedef unsigned __int64 uintptr_t;
#define __stdcall
#define _AMD64_ 1
#define __x86_64 1
+#define USE_MINGW_SETJMP_TWO_ARGS
+#define mingw_getsp tinyc_getsp
#else
typedef __int32 intptr_t;
typedef unsigned __int32 uintptr_t;
diff --git a/win32/lib/chkstk.S b/win32/lib/chkstk.S
index 9be9597..90a6f0d 100644
--- a/win32/lib/chkstk.S
+++ b/win32/lib/chkstk.S
@@ -57,5 +57,13 @@ P0:
jmp *8(%rax)
/* ---------------------------------------------- */
+/* avoid msvcrt unwind stuff for setjmp/longjmp */
+
+.globl tinyc_getsp
+tinyc_getsp:
+ xor %rax,%rax
+ ret
+
+/* ---------------------------------------------- */
#endif
/* ---------------------------------------------- */