https://git.reactos.org/?p=reactos.git;a=commitdiff;h=51ce0c5150e88c3ce853f…
commit 51ce0c5150e88c3ce853f2a7b16f0b6efff5b36b
Author: Justin Miller <justinmiller100(a)gmail.com>
AuthorDate: Wed Nov 17 03:24:07 2021 -0800
Commit: GitHub <noreply(a)github.com>
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!