Piotr Caban : msvcrt: Use _JUMP_BUFFER from public header.

Alexandre Julliard julliard at winehq.org
Fri Dec 4 14:36:03 CST 2020


Module: wine
Branch: master
Commit: 835a83e3f9699a83482bc5e74d2e931d87cb1a5a
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=835a83e3f9699a83482bc5e74d2e931d87cb1a5a

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Dec  4 15:50:04 2020 +0100

msvcrt: Use _JUMP_BUFFER from public header.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/except_arm.c    |  3 +-
 dlls/msvcrt/except_arm64.c  |  3 +-
 dlls/msvcrt/except_i386.c   | 15 ++++----
 dlls/msvcrt/except_x86_64.c |  3 +-
 dlls/msvcrt/msvcrt.h        | 86 ---------------------------------------------
 5 files changed, 14 insertions(+), 96 deletions(-)

diff --git a/dlls/msvcrt/except_arm.c b/dlls/msvcrt/except_arm.c
index c76d9b4c330..8e5c552b552 100644
--- a/dlls/msvcrt/except_arm.c
+++ b/dlls/msvcrt/except_arm.c
@@ -21,6 +21,7 @@
 
 #ifdef __arm__
 
+#include <setjmp.h>
 #include <stdarg.h>
 #include <fpieee.h>
 
@@ -114,7 +115,7 @@ __ASM_GLOBAL_FUNC(MSVCRT__setjmp,
 /*******************************************************************
  *		longjmp (MSVCRT.@)
  */
-void __cdecl MSVCRT_longjmp(struct MSVCRT___JUMP_BUFFER *jmp, int retval)
+void __cdecl MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval)
 {
     EXCEPTION_RECORD rec;
 
diff --git a/dlls/msvcrt/except_arm64.c b/dlls/msvcrt/except_arm64.c
index 7be0132acd0..242ef8bdb09 100644
--- a/dlls/msvcrt/except_arm64.c
+++ b/dlls/msvcrt/except_arm64.c
@@ -22,6 +22,7 @@
 
 #ifdef __aarch64__
 
+#include <setjmp.h>
 #include <stdarg.h>
 #include <fpieee.h>
 
@@ -115,7 +116,7 @@ __ASM_GLOBAL_FUNC(MSVCRT__setjmp,
 /*******************************************************************
  *		longjmp (MSVCRT.@)
  */
-void __cdecl MSVCRT_longjmp(struct MSVCRT___JUMP_BUFFER *jmp, int retval)
+void __cdecl MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval)
 {
     EXCEPTION_RECORD rec;
 
diff --git a/dlls/msvcrt/except_i386.c b/dlls/msvcrt/except_i386.c
index 86d80d7deda..23a027368ba 100644
--- a/dlls/msvcrt/except_i386.c
+++ b/dlls/msvcrt/except_i386.c
@@ -27,6 +27,7 @@
 
 #ifdef __i386__
 
+#include <setjmp.h>
 #include <stdarg.h>
 #include <fpieee.h>
 
@@ -691,7 +692,7 @@ __ASM_GLOBAL_FUNC( __CxxFrameHandler,
  *
  * Callback meant to be used as UnwindFunc for setjmp/longjmp.
  */
-void __stdcall __CxxLongjmpUnwind( const struct MSVCRT___JUMP_BUFFER *buf )
+void __stdcall __CxxLongjmpUnwind( const _JUMP_BUFFER *buf )
 {
     cxx_exception_frame *frame = (cxx_exception_frame *)buf->Registration;
     const cxx_function_descr *descr = (const cxx_function_descr *)buf->UnwindData[0];
@@ -1019,7 +1020,7 @@ int CDECL _except_handler4_common( ULONG *cookie, void (*check_cookie)(void),
  */
 
 #define MSVCRT_JMP_MAGIC 0x56433230 /* ID value for new jump structure */
-typedef void (__stdcall *MSVCRT_unwind_function)(const struct MSVCRT___JUMP_BUFFER *);
+typedef void (__stdcall *MSVCRT_unwind_function)(const _JUMP_BUFFER *);
 
 /* define an entrypoint for setjmp/setjmp3 that stores the registers in the jmp buf */
 /* and then jumps to the C backend function */
@@ -1039,7 +1040,7 @@ typedef void (__stdcall *MSVCRT_unwind_function)(const struct MSVCRT___JUMP_BUFF
  *		_setjmp (MSVCRT.@)
  */
 DEFINE_SETJMP_ENTRYPOINT(MSVCRT__setjmp)
-int CDECL DECLSPEC_HIDDEN __regs_MSVCRT__setjmp(struct MSVCRT___JUMP_BUFFER *jmp)
+int CDECL DECLSPEC_HIDDEN __regs_MSVCRT__setjmp(_JUMP_BUFFER *jmp)
 {
     jmp->Registration = (unsigned long)NtCurrentTeb()->Tib.ExceptionList;
     if (jmp->Registration == ~0UL)
@@ -1056,7 +1057,7 @@ int CDECL DECLSPEC_HIDDEN __regs_MSVCRT__setjmp(struct MSVCRT___JUMP_BUFFER *jmp
  *		_setjmp3 (MSVCRT.@)
  */
 DEFINE_SETJMP_ENTRYPOINT( MSVCRT__setjmp3 )
-int WINAPIV DECLSPEC_HIDDEN __regs_MSVCRT__setjmp3(struct MSVCRT___JUMP_BUFFER *jmp, int nb_args, ...)
+int WINAPIV DECLSPEC_HIDDEN __regs_MSVCRT__setjmp3(_JUMP_BUFFER *jmp, int nb_args, ...)
 {
     jmp->Cookie = MSVCRT_JMP_MAGIC;
     jmp->UnwindFunc = 0;
@@ -1087,7 +1088,7 @@ int WINAPIV DECLSPEC_HIDDEN __regs_MSVCRT__setjmp3(struct MSVCRT___JUMP_BUFFER *
 /*********************************************************************
  *		longjmp (MSVCRT.@)
  */
-void CDECL MSVCRT_longjmp(struct MSVCRT___JUMP_BUFFER *jmp, int retval)
+void CDECL MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval)
 {
     unsigned long cur_frame = 0;
 
@@ -1125,7 +1126,7 @@ void CDECL MSVCRT_longjmp(struct MSVCRT___JUMP_BUFFER *jmp, int retval)
 /*********************************************************************
  *		_seh_longjmp_unwind (MSVCRT.@)
  */
-void __stdcall _seh_longjmp_unwind(struct MSVCRT___JUMP_BUFFER *jmp)
+void __stdcall _seh_longjmp_unwind(_JUMP_BUFFER *jmp)
 {
     msvcrt_local_unwind2( (MSVCRT_EXCEPTION_FRAME *)jmp->Registration, jmp->TryLevel, (void *)jmp->Ebp );
 }
@@ -1133,7 +1134,7 @@ void __stdcall _seh_longjmp_unwind(struct MSVCRT___JUMP_BUFFER *jmp)
 /*********************************************************************
  *		_seh_longjmp_unwind4 (MSVCRT.@)
  */
-void __stdcall _seh_longjmp_unwind4(struct MSVCRT___JUMP_BUFFER *jmp)
+void __stdcall _seh_longjmp_unwind4(_JUMP_BUFFER *jmp)
 {
     msvcrt_local_unwind4( (ULONG *)&jmp->Cookie, (MSVCRT_EXCEPTION_FRAME *)jmp->Registration,
                           jmp->TryLevel, (void *)jmp->Ebp );
diff --git a/dlls/msvcrt/except_x86_64.c b/dlls/msvcrt/except_x86_64.c
index a1a1bc14543..7cbffc0d837 100644
--- a/dlls/msvcrt/except_x86_64.c
+++ b/dlls/msvcrt/except_x86_64.c
@@ -20,6 +20,7 @@
 
 #ifdef __x86_64__
 
+#include <setjmp.h>
 #include <stdarg.h>
 #include <fpieee.h>
 
@@ -705,7 +706,7 @@ __ASM_GLOBAL_FUNC( MSVCRT__setjmp,
 /*******************************************************************
  *		longjmp (MSVCRT.@)
  */
-void __cdecl MSVCRT_longjmp( struct MSVCRT___JUMP_BUFFER *jmp, int retval )
+void __cdecl MSVCRT_longjmp( _JUMP_BUFFER *jmp, int retval )
 {
     EXCEPTION_RECORD rec;
 
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h
index b26d736cb18..802482499ec 100644
--- a/dlls/msvcrt/msvcrt.h
+++ b/dlls/msvcrt/msvcrt.h
@@ -283,92 +283,6 @@ extern unsigned msvcrt_create_io_inherit_block(WORD*, BYTE**) DECLSPEC_HIDDEN;
 
 extern FILE MSVCRT__iob[];
 
-#ifdef __i386__
-struct MSVCRT___JUMP_BUFFER {
-    unsigned long Ebp;
-    unsigned long Ebx;
-    unsigned long Edi;
-    unsigned long Esi;
-    unsigned long Esp;
-    unsigned long Eip;
-    unsigned long Registration;
-    unsigned long TryLevel;
-    /* Start of new struct members */
-    unsigned long Cookie;
-    unsigned long UnwindFunc;
-    unsigned long UnwindData[6];
-};
-#elif defined(__x86_64__)
-struct MSVCRT__SETJMP_FLOAT128
-{
-    unsigned __int64 DECLSPEC_ALIGN(16) Part[2];
-};
-struct MSVCRT___JUMP_BUFFER
-{
-    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 __int64 Spare;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm6;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm7;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm8;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm9;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm10;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm11;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm12;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm13;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm14;
-    struct MSVCRT__SETJMP_FLOAT128 Xmm15;
-};
-#elif defined(__arm__)
-struct MSVCRT___JUMP_BUFFER
-{
-    unsigned long Frame;
-    unsigned long R4;
-    unsigned long R5;
-    unsigned long R6;
-    unsigned long R7;
-    unsigned long R8;
-    unsigned long R9;
-    unsigned long R10;
-    unsigned long R11;
-    unsigned long Sp;
-    unsigned long Pc;
-    unsigned long Fpscr;
-    unsigned long long D[8];
-};
-#elif defined(__aarch64__)
-struct MSVCRT___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];
-};
-#endif /* __i386__ */
-
 struct MSVCRT__finddata32_t {
   unsigned int attrib;
   __time32_t time_create;




More information about the wine-cvs mailing list