win64: add tiny unwind data for setjmp/longjmp

This enables native unwind semantics with longjmp on
win64 by putting an entry into the .pdata section for
each compiled fuction.

Also, the function now use a fixed stack and store arguments
into X(%rsp) rather than using push.
This commit is contained in:
grischka
2009-12-19 22:40:28 +01:00
parent 88a3ccab9f
commit 50b040ef83
7 changed files with 322 additions and 110 deletions

View File

@ -58,7 +58,7 @@ typedef unsigned __int64 uintptr_t;
#define _AMD64_ 1
#define __x86_64 1
#define USE_MINGW_SETJMP_TWO_ARGS
#define mingw_getsp tinyc_getsp
#define mingw_getsp tinyc_getbp
#else
typedef __int32 intptr_t;
typedef unsigned __int32 uintptr_t;