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 | f23d5d35f971db14adb1e1860bb244d1ea87b06d (patch) | |
tree | 4f9e33215f2e3b95267fa1beda6286dcb66e6f71 /signal.h | |
parent | 9f89722644018e5949827ee18109f84fd45b41cd (diff) | |
download | txr-f23d5d35f971db14adb1e1860bb244d1ea87b06d.tar.gz txr-f23d5d35f971db14adb1e1860bb244d1ea87b06d.tar.bz2 txr-f23d5d35f971db14adb1e1860bb244d1ea87b06d.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__ |