diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 4192ff64aba..2f76515b103 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1066,7 +1066,7 @@ @ stub _scwprintf_p_l @ cdecl _searchenv(str str ptr) msvcrt._searchenv @ cdecl _searchenv_s(str str ptr long) msvcrt._searchenv_s -@ stub _seh_longjmp_unwind4 +@ stdcall -i386 _seh_longjmp_unwind4(ptr) msvcrt._seh_longjmp_unwind4 @ stdcall -i386 _seh_longjmp_unwind(ptr) msvcrt._seh_longjmp_unwind @ cdecl _set_SSE2_enable(long) msvcrt._set_SSE2_enable @ cdecl _set_abort_behavior(long long) msvcrt._set_abort_behavior diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 215873445b3..86d93c868b6 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -918,7 +918,7 @@ @ stub _scwprintf_p_l @ cdecl _searchenv(str str ptr) msvcrt._searchenv @ cdecl _searchenv_s(str str ptr long) msvcrt._searchenv_s -@ stub _seh_longjmp_unwind4 +@ stdcall -i386 _seh_longjmp_unwind4(ptr) msvcrt._seh_longjmp_unwind4 @ stdcall -i386 _seh_longjmp_unwind(ptr) msvcrt._seh_longjmp_unwind @ cdecl _set_SSE2_enable(long) msvcrt._set_SSE2_enable @ cdecl _set_abort_behavior(long long) msvcrt._set_abort_behavior diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 1bb525d9e6d..9749a638a76 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -904,7 +904,7 @@ @ stub _scwprintf_p_l @ cdecl _searchenv(str str ptr) msvcrt._searchenv @ cdecl _searchenv_s(str str ptr long) msvcrt._searchenv_s -@ stub _seh_longjmp_unwind4 +@ stdcall -i386 _seh_longjmp_unwind4(ptr) msvcrt._seh_longjmp_unwind4 @ stdcall -i386 _seh_longjmp_unwind(ptr) msvcrt._seh_longjmp_unwind @ cdecl _set_SSE2_enable(long) msvcrt._set_SSE2_enable @ cdecl _set_abort_behavior(long long) msvcrt._set_abort_behavior diff --git a/dlls/msvcrt/except.c b/dlls/msvcrt/except.c index 422e3fa57b6..eb209036417 100644 --- a/dlls/msvcrt/except.c +++ b/dlls/msvcrt/except.c @@ -519,6 +519,15 @@ void __stdcall _seh_longjmp_unwind(struct MSVCRT___JUMP_BUFFER *jmp) msvcrt_local_unwind2( (MSVCRT_EXCEPTION_FRAME *)jmp->Registration, jmp->TryLevel, (void *)jmp->Ebp ); } +/********************************************************************* + * _seh_longjmp_unwind4 (MSVCRT.@) + */ +void __stdcall _seh_longjmp_unwind4(struct MSVCRT___JUMP_BUFFER *jmp) +{ + msvcrt_local_unwind4( (void *)jmp->Cookie, (MSVCRT_EXCEPTION_FRAME *)jmp->Registration, + jmp->TryLevel, (void *)jmp->Ebp ); +} + #elif defined(__x86_64__) /******************************************************************* diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 5d065fb458c..3534c1ec3d6 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -859,7 +859,7 @@ # stub _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) -# stub _seh_longjmp_unwind4 +@ stdcall -i386 _seh_longjmp_unwind4(ptr) @ stdcall -i386 _seh_longjmp_unwind(ptr) @ cdecl _set_SSE2_enable(long) MSVCRT__set_SSE2_enable @ cdecl _set_controlfp(long long) diff --git a/dlls/msvcrtd/msvcrtd.spec b/dlls/msvcrtd/msvcrtd.spec index e4372e96be8..08119a737e7 100644 --- a/dlls/msvcrtd/msvcrtd.spec +++ b/dlls/msvcrtd/msvcrtd.spec @@ -485,6 +485,7 @@ @ cdecl -arch=i386 _safe_fprem1() msvcrt._safe_fprem1 @ cdecl _scalb(double long) msvcrt._scalb @ cdecl _searchenv(str str ptr) msvcrt._searchenv +@ stdcall -i386 _seh_longjmp_unwind4(ptr) msvcrt._seh_longjmp_unwind4 @ stdcall -i386 _seh_longjmp_unwind(ptr) msvcrt._seh_longjmp_unwind @ cdecl _set_error_mode(long) msvcrt._set_error_mode @ cdecl _set_sbh_threshold(long) msvcrt._set_sbh_threshold