On Tue, 2 Apr 2019, Jacek Caban wrote:

.../def-include/msvcrt-common.def.in          |  2 +-
.../api-ms-win-crt-private-l1-1-0.def.in      |  2 +-
mingw-w64-crt/lib-common/msvcrt.def.in        |  1 -
mingw-w64-crt/lib-common/ucrtbase.def.in      |  2 +-
.../lib-common/vcruntime140_app.def.in        |  2 +-
mingw-w64-crt/lib32/crtdll.def                |  2 +-
mingw-w64-crt/lib64/ntdllcrt.def              |  2 +-
mingw-w64-crt/misc/longjmp.S                  | 23 -------------------
mingw-w64-headers/crt/setjmp.h                |  3 +--
9 files changed, 7 insertions(+), 32 deletions(-)

Another aspect of this patch I didn't think of yesterday:

diff --git a/mingw-w64-headers/crt/setjmp.h b/mingw-w64-headers/crt/setjmp.h
index fc79f109..039c93f0 100644
--- a/mingw-w64-headers/crt/setjmp.h
+++ b/mingw-w64-headers/crt/setjmp.h
@@ -252,8 +252,7 @@ void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp 
(void);
   int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) setjmp(jmp_buf 
_Buf);
 #endif

-  __MINGW_ATTRIB_NORETURN __attribute__ ((__nothrow__)) void __cdecl 
ms_longjmp(jmp_buf _Buf,int _Value)/* throw(...)*/;
-  __MINGW_ATTRIB_NORETURN __attribute__ ((__nothrow__)) void __cdecl 
longjmp(jmp_buf _Buf,int _Value);
+  _CRTIMP __MINGW_ATTRIB_NORETURN __attribute__ ((__nothrow__)) void __cdecl 
longjmp(jmp_buf _Buf,int _Value);

 #ifdef __cplusplus
 }

This will break this part of the existing setjmp.h (earlier in the file):

#    elif defined(_ARM_) || defined(__arm__) || defined(_ARM64_) || 
defined(__aarch64__)
#      define setjmp(BUF) __mingw_setjmp((BUF))
#      define longjmp __mingw_longjmp
  int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) 
__mingw_setjmp(jmp_buf _Buf);

Your patch will add the _CRTIMP to the longjmp declaration, while the #define changes the delcaration from longjmp into __mingw_longjmp, which isn't available as dllimport.

// Martin



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to