https://git.reactos.org/?p=reactos.git;a=commitdiff;h=51ce0c5150e88c3ce853f2a7b16f0b6efff5b36b

commit 51ce0c5150e88c3ce853f2a7b16f0b6efff5b36b
Author:     Justin Miller <[email protected]>
AuthorDate: Wed Nov 17 03:24:07 2021 -0800
Commit:     GitHub <[email protected]>
CommitDate: Wed Nov 17 14:24:07 2021 +0300

    [CRT] Add setjmp for the arm64 architecture (#4088)
    
    CORE-17622 CORE-17518
---
 sdk/include/crt/setjmp.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/sdk/include/crt/setjmp.h b/sdk/include/crt/setjmp.h
index 13f22fabe98..80e90f75b9b 100644
--- a/sdk/include/crt/setjmp.h
+++ b/sdk/include/crt/setjmp.h
@@ -150,6 +150,32 @@ extern "C" {
     unsigned long long D[8]; // D8-D15 VFP/NEON regs
   } _JUMP_BUFFER;
 
+#elif defined(_M_ARM64)
+
+#define _JBLEN 24
+#define _JBTYPE unsigned __int64
+
+typedef struct __JUMP_BUFFER {
+    unsigned __int64 Frame;
+    unsigned __int64 Reserved;
+    unsigned __int64 X19;
+    unsigned __int64 X20;
+    unsigned __int64 X21;
+    unsigned __int64 X22;
+    unsigned __int64 X23;
+    unsigned __int64 X24;
+    unsigned __int64 X25;
+    unsigned __int64 X26;
+    unsigned __int64 X27;
+    unsigned __int64 X28;
+    unsigned __int64 Fp;
+    unsigned __int64 Lr;
+    unsigned __int64 Sp;
+    unsigned long Fpcr;
+    unsigned long Fpsr;
+    double D[8];
+  } _JUMP_BUFFER;
+
 #else
 
 #error Define Setjmp for this architecture!

Reply via email to