Module: wine Branch: master Commit: bcd62a7f2e7e6af3deea27cccc672ef1045d800b URL: http://source.winehq.org/git/wine.git/?a=commit;h=bcd62a7f2e7e6af3deea27cccc...
Author: Alexandre Julliard julliard@winehq.org Date: Tue May 17 12:49:20 2011 +0200
msvcrt: Implement _seh_longjmp_unwind4 for i386.
---
dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/except.c | 9 +++++++++ dlls/msvcrt/msvcrt.spec | 2 +- dlls/msvcrtd/msvcrtd.spec | 1 + 6 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 4192ff6..2f76515 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 2158734..86d93c8 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 1bb525d..9749a63 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 422e3fa..eb20903 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 5d065fb..3534c1e 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 e4372e9..08119a7 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