From 51ce0c5150e88c3ce853f2a7b16f0b6efff5b36b Mon Sep 17 00:00:00 2001 From: Justin Miller Date: Wed, 17 Nov 2021 03:24:07 -0800 Subject: [PATCH] [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!