about summary refs log tree commit diff stats
path: root/src/include/myalign.h
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-10-13 21:23:42 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-10-13 21:23:42 +0200
commit9209e57bd965964b3853d8affecea571e6021b58 (patch)
tree5ce7c260cd0b742675684266906de37e3972b8ae /src/include/myalign.h
parent1e1ad7694b59dba4af4e70c978fdb1b2c7d17b5b (diff)
downloadbox64-9209e57bd965964b3853d8affecea571e6021b58.tar.gz
box64-9209e57bd965964b3853d8affecea571e6021b58.zip
Various changes on pthread cancel and tls destructor, should be easier to maintain
Diffstat (limited to 'src/include/myalign.h')
-rw-r--r--src/include/myalign.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/include/myalign.h b/src/include/myalign.h
index 247ea1b9..9293139a 100644
--- a/src/include/myalign.h
+++ b/src/include/myalign.h
@@ -214,4 +214,26 @@ void AlignSemidDs(void *dest, const void* source);
 
 uintptr_t getVArgs(x64emu_t* emu, int pos, uintptr_t* b, int N);
 
+// longjmp / setjmp
+typedef struct jump_buff_x64_s {
+    uint64_t save_rbx;
+    uint64_t save_rbp;
+    uint64_t save_r12;
+    uint64_t save_r13;
+    uint64_t save_r14;
+    uint64_t save_r15;
+    uint64_t save_rsp;
+    uint64_t save_rip;
+} jump_buff_x64_t;
+
+typedef struct __jmp_buf_tag_s {
+    jump_buff_x64_t __jmpbuf;
+    int              __mask_was_saved;
+    #ifdef ANDROID
+    sigset_t         __saved_mask;
+    #else
+    __sigset_t       __saved_mask;
+    #endif
+} __jmp_buf_tag_t;
+
 #endif  //__MY_ALIGN__H_