diff --git a/dlls/crtdll/crtdll.spec b/dlls/crtdll/crtdll.spec index 3ff526d4bea..9b641cdf4a5 100644 --- a/dlls/crtdll/crtdll.spec +++ b/dlls/crtdll/crtdll.spec @@ -434,7 +434,7 @@ @ cdecl -arch=win64 localtime(ptr) _localtime64 @ cdecl log(double) @ cdecl log10(double) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbstowcs(ptr str long) diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 830262992c0..68e502af597 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1054,7 +1054,7 @@ @ cdecl _locking(long long long) @ cdecl _logb(double) logb @ cdecl -arch=!i386 _logbf(float) logbf -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -1739,7 +1739,7 @@ @ cdecl -arch=!i386 logf(float) @ cdecl log10(double) @ cdecl -arch=!i386 log10f(float) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbrlen(ptr long ptr) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 226fe67ebb3..560002e59ed 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1411,7 +1411,7 @@ @ cdecl _locking(long long long) @ cdecl _logb(double) logb @ cdecl -arch=!i386 _logbf(float) logbf -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -2097,7 +2097,7 @@ @ cdecl -arch=!i386 logf(float) @ cdecl log10(double) @ cdecl -arch=!i386 log10f(float) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbrlen(ptr long ptr) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 08ebd4f25bf..46715817932 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1422,7 +1422,7 @@ @ cdecl _locking(long long long) @ cdecl _logb(double) logb @ cdecl -arch=!i386 _logbf(float) logbf -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -2269,7 +2269,7 @@ @ cdecl logb(double) @ cdecl logbf(float) @ cdecl logbl(double) logb -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl lrint(double) @ cdecl lrintf(float) @ cdecl lrintl(double) lrint diff --git a/dlls/msvcr70/msvcr70.spec b/dlls/msvcr70/msvcr70.spec index 4866d80d9a0..6d74bcb96f4 100644 --- a/dlls/msvcr70/msvcr70.spec +++ b/dlls/msvcr70/msvcr70.spec @@ -409,7 +409,7 @@ @ cdecl _lock(long) @ cdecl _locking(long long long) @ cdecl _logb(double) logb -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -780,7 +780,7 @@ @ cdecl -arch=win64 localtime(ptr) _localtime64 @ cdecl log(double) @ cdecl log10(double) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbstowcs(ptr str long) diff --git a/dlls/msvcr71/msvcr71.spec b/dlls/msvcr71/msvcr71.spec index 58da28a2029..4b76581f477 100644 --- a/dlls/msvcr71/msvcr71.spec +++ b/dlls/msvcr71/msvcr71.spec @@ -404,7 +404,7 @@ @ cdecl _lock(long) @ cdecl _locking(long long long) @ cdecl _logb(double) logb -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -776,7 +776,7 @@ @ cdecl -arch=win64 localtime(ptr) _localtime64 @ cdecl log(double) @ cdecl log10(double) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbstowcs(ptr str long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index b2337998460..6cce6ee22ee 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -726,7 +726,7 @@ @ cdecl _locking(long long long) @ cdecl _logb(double) logb @ cdecl -arch=!i386 _logbf(float) logbf -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -1420,7 +1420,7 @@ @ cdecl -arch=!i386 logf(float) @ cdecl log10(double) @ cdecl -arch=!i386 log10f(float) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbrlen(ptr long ptr) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 10aa7dca748..ca22d7460be 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -704,7 +704,7 @@ @ cdecl _locking(long long long) @ cdecl _logb(double) logb @ cdecl -arch=!i386 _logbf(float) logbf -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -1392,7 +1392,7 @@ @ cdecl log10(double) @ cdecl -arch=!i386 log10f(float) @ cdecl -arch=!i386 logf(float) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbrlen(ptr long ptr) diff --git a/dlls/msvcrt/except_arm.c b/dlls/msvcrt/except_arm.c index 7d519273c34..a79cbe63c44 100644 --- a/dlls/msvcrt/except_arm.c +++ b/dlls/msvcrt/except_arm.c @@ -105,27 +105,6 @@ unsigned int CDECL __CxxQueryExceptionSize(void) } -/******************************************************************* - * longjmp (MSVCRT.@) - */ -void __cdecl MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval) -{ - EXCEPTION_RECORD rec; - - if (!retval) retval = 1; - if (jmp->Frame) - { - rec.ExceptionCode = STATUS_LONGJUMP; - rec.ExceptionFlags = 0; - rec.ExceptionRecord = NULL; - rec.ExceptionAddress = NULL; - rec.NumberParameters = 1; - rec.ExceptionInformation[0] = (DWORD_PTR)jmp; - RtlUnwind((void *)jmp->Frame, (void *)jmp->Pc, &rec, IntToPtr(retval)); - } - __wine_longjmp( (__wine_jmp_buf *)jmp, retval ); -} - /********************************************************************* * _fpieee_flt (MSVCRT.@) */ diff --git a/dlls/msvcrt/except_arm64.c b/dlls/msvcrt/except_arm64.c index 96144ec2c45..793c71f3251 100644 --- a/dlls/msvcrt/except_arm64.c +++ b/dlls/msvcrt/except_arm64.c @@ -111,26 +111,6 @@ unsigned int CDECL __CxxQueryExceptionSize(void) */ __ASM_GLOBAL_FUNC( _setjmp, "b _setjmpex" ); -/******************************************************************* - * longjmp (MSVCRT.@) - */ -void __cdecl MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval) -{ - EXCEPTION_RECORD rec; - - if (!retval) retval = 1; - if (jmp->Frame) - { - rec.ExceptionCode = STATUS_LONGJUMP; - rec.ExceptionFlags = 0; - rec.ExceptionRecord = NULL; - rec.ExceptionAddress = NULL; - rec.NumberParameters = 1; - rec.ExceptionInformation[0] = (DWORD_PTR)jmp; - RtlUnwind((void *)jmp->Frame, (void *)jmp->Lr, &rec, IntToPtr(retval)); - } - __wine_longjmp( (__wine_jmp_buf *)jmp, retval ); -} /********************************************************************* * _fpieee_flt (MSVCRT.@) diff --git a/dlls/msvcrt/except_arm64ec.c b/dlls/msvcrt/except_arm64ec.c index fe7b7a048be..d9ea54c4d1c 100644 --- a/dlls/msvcrt/except_arm64ec.c +++ b/dlls/msvcrt/except_arm64ec.c @@ -105,27 +105,6 @@ unsigned int CDECL __CxxQueryExceptionSize(void) } -/******************************************************************* - * longjmp (MSVCRT.@) - */ -void __cdecl MSVCRT_longjmp( _JUMP_BUFFER *jmp, int retval ) -{ - EXCEPTION_RECORD rec; - - if (!retval) retval = 1; - if (jmp->Frame) - { - rec.ExceptionCode = STATUS_LONGJUMP; - rec.ExceptionFlags = 0; - rec.ExceptionRecord = NULL; - rec.ExceptionAddress = NULL; - rec.NumberParameters = 1; - rec.ExceptionInformation[0] = (DWORD_PTR)jmp; - RtlUnwind( (void *)jmp->Frame, (void *)jmp->Rip, &rec, IntToPtr(retval) ); - } - __wine_longjmp( (__wine_jmp_buf *)jmp, retval ); -} - /********************************************************************* * _fpieee_flt (MSVCRT.@) */ diff --git a/dlls/msvcrt/except_i386.c b/dlls/msvcrt/except_i386.c index 1c302158c10..283c02638d8 100644 --- a/dlls/msvcrt/except_i386.c +++ b/dlls/msvcrt/except_i386.c @@ -27,9 +27,11 @@ #ifdef __i386__ -#include #include #include +#define longjmp ms_longjmp /* avoid prototype mismatch */ +#include +#undef longjmp #include "windef.h" #include "winbase.h" @@ -1074,7 +1076,7 @@ int WINAPIV __regs__setjmp3(_JUMP_BUFFER *jmp, int nb_args, ...) /********************************************************************* * longjmp (MSVCRT.@) */ -void CDECL MSVCRT_longjmp(_JUMP_BUFFER *jmp, int retval) +void __cdecl longjmp(_JUMP_BUFFER *jmp, int retval) { unsigned long cur_frame = 0; diff --git a/dlls/msvcrt/except_x86_64.c b/dlls/msvcrt/except_x86_64.c index e1062360212..3a2e13b3082 100644 --- a/dlls/msvcrt/except_x86_64.c +++ b/dlls/msvcrt/except_x86_64.c @@ -20,9 +20,11 @@ #if defined(__x86_64__) && !defined(__arm64ec__) -#include #include #include +#define longjmp ms_longjmp /* avoid prototype mismatch */ +#include +#undef longjmp #include "ntstatus.h" #define WIN32_NO_STATUS @@ -700,7 +702,8 @@ unsigned int CDECL __CxxQueryExceptionSize(void) /******************************************************************* * longjmp (MSVCRT.@) */ -void __cdecl MSVCRT_longjmp( _JUMP_BUFFER *jmp, int retval ) +#ifndef __WINE_PE_BUILD +void __cdecl longjmp( _JUMP_BUFFER *jmp, int retval ) { EXCEPTION_RECORD rec; @@ -717,6 +720,7 @@ void __cdecl MSVCRT_longjmp( _JUMP_BUFFER *jmp, int retval ) } __wine_longjmp( (__wine_jmp_buf *)jmp, retval ); } +#endif /******************************************************************* * _local_unwind (MSVCRT.@) diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 42fd1b57b71..ec5dabebe1f 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -672,7 +672,7 @@ @ cdecl _locking(long long long) @ cdecl _logb(double) logb @ cdecl -arch=!i386 _logbf(float) logbf -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -1368,7 +1368,7 @@ @ cdecl log10(double) @ cdecl -arch=!i386 logf(float) @ cdecl -arch=!i386 log10f(float) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbrlen(ptr long ptr) diff --git a/dlls/msvcrtd/msvcrtd.spec b/dlls/msvcrtd/msvcrtd.spec index e22d5b0102f..0c0f8570fbc 100644 --- a/dlls/msvcrtd/msvcrtd.spec +++ b/dlls/msvcrtd/msvcrtd.spec @@ -386,7 +386,7 @@ @ cdecl _lock(long) @ cdecl _locking(long long long) @ cdecl _logb(double) logb -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -733,7 +733,7 @@ @ cdecl -arch=win64 localtime(ptr) _localtime64 @ cdecl log(double) @ cdecl log10(double) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl malloc(long) @ cdecl mblen(ptr long) @ cdecl mbstowcs(ptr str long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index b37bcbe7bf4..449b734ad34 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -570,7 +570,7 @@ @ cdecl _locking(long long long) @ cdecl _logb(double) logb @ cdecl -arch=!i386 _logbf(float) logbf -@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp +@ cdecl -arch=i386 _longjmpex(ptr long) longjmp @ cdecl _lrotl(long long) MSVCRT__lrotl @ cdecl _lrotr(long long) MSVCRT__lrotr @ cdecl _lsearch(ptr ptr ptr long ptr) @@ -2405,7 +2405,7 @@ @ cdecl logbf(float) @ cdecl logbl(double) logb @ cdecl -arch=!i386 logf(float) -@ cdecl longjmp(ptr long) MSVCRT_longjmp +@ cdecl longjmp(ptr long) @ cdecl lrint(double) @ cdecl lrintf(float) @ cdecl lrintl(double) lrint