diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-08-06 07:51:54 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-08-06 07:51:54 -0700 |
commit | 7d5fc582b3d811662ca0ff45157f596db2f8dc1a (patch) | |
tree | 4f9e33215f2e3b95267fa1beda6286dcb66e6f71 /signal.h | |
parent | 51c8f5575d6d95537a9eb112c8be6838a7f89e49 (diff) | |
download | txr-7d5fc582b3d811662ca0ff45157f596db2f8dc1a.tar.gz txr-7d5fc582b3d811662ca0ff45157f596db2f8dc1a.tar.bz2 txr-7d5fc582b3d811662ca0ff45157f596db2f8dc1a.zip |
Port exception handling to 64 bit Cygwin.
* jmp.S (DEFUN): Separate definition for 64 bit Cygwin,
which doesn't use leading underscores and has an
unusual prologue.
(jmp_save, jmp_restore): Separately defined for 64 bit
Cygwin, due to use of Microsoft 64 bit calling conventions.
* signal.h (struct jmp): In x86-64 version, only on Cygwin,
new members: rsi and rdi. These registers are considered
nonvolatile and so are saved and restored by jmp_save and
jmp_restore.
Diffstat (limited to 'signal.h')
-rw-r--r-- | signal.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -62,6 +62,10 @@ struct jmp { unsigned long r13; unsigned long r14; unsigned long r15; +#if __CYGWIN__ + unsigned long rsi; + unsigned long rdi; +#endif }; #elif __arm__ && !__thumb__ |