From d7761b12968b0f753dd2cb0f13f8945987157bdd Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 26 May 2025 12:02:28 +0300 Subject: [PATCH] [VCRUNTIME][ASM] Fix definition of x64 _JUMP_BUFFER --- sdk/include/asm/ksamd64.template.h | 6 +++--- sdk/include/vcruntime/setjmp.h | 28 +++++++++++++++------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/sdk/include/asm/ksamd64.template.h b/sdk/include/asm/ksamd64.template.h index 0f3a16d6209..eab8e70a807 100644 --- a/sdk/include/asm/ksamd64.template.h +++ b/sdk/include/asm/ksamd64.template.h @@ -400,9 +400,9 @@ OFFSET(JbR13, _JUMP_BUFFER, R13), OFFSET(JbR14, _JUMP_BUFFER, R14), OFFSET(JbR15, _JUMP_BUFFER, R15), OFFSET(JbRip, _JUMP_BUFFER, Rip), -//OFFSET(JbMxCsr, _JUMP_BUFFER, MxCsr), -//OFFSET(JbFpCsr, _JUMP_BUFFER, FpCsr), -//OFFSET(JbSpare, _JUMP_BUFFER, Spare), +OFFSET(JbMxCsr, _JUMP_BUFFER, MxCsr), +OFFSET(JbFpCsr, _JUMP_BUFFER, FpCsr), +OFFSET(JbSpare, _JUMP_BUFFER, Spare), OFFSET(JbXmm6, _JUMP_BUFFER, Xmm6), OFFSET(JbXmm7, _JUMP_BUFFER, Xmm7), OFFSET(JbXmm8, _JUMP_BUFFER, Xmm8), diff --git a/sdk/include/vcruntime/setjmp.h b/sdk/include/vcruntime/setjmp.h index e7d80129a8b..262b56910f9 100644 --- a/sdk/include/vcruntime/setjmp.h +++ b/sdk/include/vcruntime/setjmp.h @@ -98,25 +98,27 @@ extern "C" { #elif defined(__x86_64) typedef _CRT_ALIGN(16) struct _SETJMP_FLOAT128 { - __MINGW_EXTENSION unsigned __int64 Part[2]; + unsigned __int64 Part[2]; } SETJMP_FLOAT128; #define _JBLEN 16 typedef SETJMP_FLOAT128 _JBTYPE; typedef struct _JUMP_BUFFER { - __MINGW_EXTENSION unsigned __int64 Frame; - __MINGW_EXTENSION unsigned __int64 Rbx; - __MINGW_EXTENSION unsigned __int64 Rsp; - __MINGW_EXTENSION unsigned __int64 Rbp; - __MINGW_EXTENSION unsigned __int64 Rsi; - __MINGW_EXTENSION unsigned __int64 Rdi; - __MINGW_EXTENSION unsigned __int64 R12; - __MINGW_EXTENSION unsigned __int64 R13; - __MINGW_EXTENSION unsigned __int64 R14; - __MINGW_EXTENSION unsigned __int64 R15; - __MINGW_EXTENSION unsigned __int64 Rip; - __MINGW_EXTENSION unsigned __int64 Spare; + unsigned __int64 Frame; + unsigned __int64 Rbx; + unsigned __int64 Rsp; + unsigned __int64 Rbp; + unsigned __int64 Rsi; + unsigned __int64 Rdi; + unsigned __int64 R12; + unsigned __int64 R13; + unsigned __int64 R14; + unsigned __int64 R15; + unsigned __int64 Rip; + unsigned long MxCsr; + unsigned short FpCsr; + unsigned short Spare; SETJMP_FLOAT128 Xmm6; SETJMP_FLOAT128 Xmm7; SETJMP_FLOAT128 Xmm8;