From ecfc10bbfb2124e01ea99ac6ccb979071913f716 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Tue, 19 Jan 2016 13:53:19 +0100 Subject: [PATCH] msvcrt: Add _crt_debugger_hook implementation. Based on a patch by Andrey Zhezherun. Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- .../api-ms-win-crt-runtime-l1-1-0.spec | 2 +- dlls/msvcr100/msvcr100.spec | 3 ++- dlls/msvcr110/msvcr110.spec | 4 ++-- dlls/msvcr120/msvcr120.spec | 4 ++-- dlls/msvcr120_app/msvcr120_app.spec | 4 ++-- dlls/msvcr80/msvcr80.spec | 4 ++-- dlls/msvcr90/msvcr90.spec | 3 ++- dlls/msvcrt/misc.c | 8 ++++++++ dlls/ucrtbase/ucrtbase.spec | 2 +- 9 files changed, 22 insertions(+), 12 deletions(-) diff --git a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec index 6afa0423858..65a73adc40e 100644 --- a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec +++ b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec @@ -30,7 +30,7 @@ @ cdecl _controlfp_s(ptr long long) ucrtbase._controlfp_s @ stub _crt_at_quick_exit @ cdecl _crt_atexit(ptr) ucrtbase._crt_atexit -@ stub _crt_debugger_hook +@ cdecl _crt_debugger_hook(long) ucrtbase._crt_debugger_hook @ cdecl _endthread() ucrtbase._endthread @ cdecl _endthreadex(long) ucrtbase._endthreadex @ cdecl _errno() ucrtbase._errno diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index d8627d20fe3..39742aaa448 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -745,7 +745,8 @@ @ cdecl _cputws(wstr) @ cdecl _creat(str long) MSVCRT__creat @ cdecl _create_locale(long str) MSVCRT__create_locale -@ stub _crt_debugger_hook +@ cdecl -arch=i386 _crt_debugger_hook(long) MSVCRT__crt_debugger_hook +@ cdecl -arch=arm,win64 __crt_debugger_hook(long) MSVCRT__crt_debugger_hook @ varargs _cscanf(str) @ varargs _cscanf_l(str ptr) @ varargs _cscanf_s(str) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index bf82d30c481..dd23c750353 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1093,8 +1093,8 @@ @ cdecl _cputws(wstr) @ cdecl _creat(str long) MSVCRT__creat @ cdecl _create_locale(long str) MSVCRT__create_locale -@ stub -arch=i386 _crt_debugger_hook -@ stub -arch=arm,win64 __crt_debugger_hook +@ cdecl -arch=i386 _crt_debugger_hook(long) MSVCRT__crt_debugger_hook +@ cdecl -arch=arm,win64 __crt_debugger_hook(long) MSVCRT__crt_debugger_hook @ varargs _cscanf(str) @ varargs _cscanf_l(str ptr) @ varargs _cscanf_s(str) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 69cb2c1e1af..461b5299730 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1084,8 +1084,8 @@ @ cdecl _cputws(wstr) @ cdecl _creat(str long) MSVCRT__creat @ cdecl _create_locale(long str) MSVCRT__create_locale -@ stub -arch=i386 _crt_debugger_hook -@ stub -arch=arm,win64 __crt_debugger_hook +@ cdecl -arch=i386 _crt_debugger_hook(long) MSVCRT__crt_debugger_hook +@ cdecl -arch=arm,win64 __crt_debugger_hook(long) MSVCRT__crt_debugger_hook @ varargs _cscanf(str) @ varargs _cscanf_l(str ptr) @ varargs _cscanf_s(str) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index 1e4554f20e6..425c839b691 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1038,8 +1038,8 @@ @ cdecl _copysignf(float float) msvcr120._copysignf @ cdecl _creat(str long) msvcr120._creat @ cdecl _create_locale(long str) msvcr120._create_locale -@ stub -arch=i386 _crt_debugger_hook -@ stub -arch=arm,win64 __crt_debugger_hook +@ cdecl -arch=i386 _crt_debugger_hook(long) msvcr120._crt_debugger_hook +@ cdecl -arch=arm,win64 __crt_debugger_hook(long) msvcr120.__crt_debugger_hook @ cdecl _ctime32(ptr) msvcr120._ctime32 @ cdecl _ctime32_s(str long ptr) msvcr120._ctime32_s @ cdecl _ctime64(ptr) msvcr120._ctime64 diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 510703825d4..17af90b9ba6 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -409,8 +409,8 @@ @ cdecl _cputws(wstr) @ cdecl _creat(str long) MSVCRT__creat @ cdecl _create_locale(long str) MSVCRT__create_locale -@ stub -arch=i386 _crt_debugger_hook -@ stub -arch=arm,win64 __crt_debugger_hook +@ cdecl -arch=i386 _crt_debugger_hook(long) MSVCRT__crt_debugger_hook +@ cdecl -arch=arm,win64 __crt_debugger_hook(long) MSVCRT__crt_debugger_hook @ varargs _cscanf(str) @ varargs _cscanf_l(str ptr) @ varargs _cscanf_s(str) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 30bfbcd379d..fd08455e8ba 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -392,7 +392,8 @@ @ cdecl _cputws(wstr) @ cdecl _creat(str long) MSVCRT__creat @ cdecl _create_locale(long str) MSVCRT__create_locale -@ stub _crt_debugger_hook +@ cdecl -arch=i386 _crt_debugger_hook(long) MSVCRT__crt_debugger_hook +@ cdecl -arch=arm,win64 __crt_debugger_hook(long) MSVCRT__crt_debugger_hook @ varargs _cscanf(str) @ varargs _cscanf_l(str ptr) @ varargs _cscanf_s(str) diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c index 4e9f2889dee..c1510ef6cad 100644 --- a/dlls/msvcrt/misc.c +++ b/dlls/msvcrt/misc.c @@ -498,3 +498,11 @@ void CDECL MSVCR120__vacopy(__ms_va_list *dest, __ms_va_list src) { __ms_va_copy(*dest, src); } + +/********************************************************************* + * _crt_debugger_hook (MSVCR80.@) + */ +void CDECL MSVCRT__crt_debugger_hook(int reserved) +{ + WARN("(%x)\n", reserved); +} diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index e65a1c09dff..e59e26fbfe8 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -242,7 +242,7 @@ @ cdecl _create_locale(long str) MSVCRT__create_locale @ stub _crt_at_quick_exit @ cdecl _crt_atexit(ptr) MSVCRT__crt_atexit -@ stub _crt_debugger_hook +@ cdecl _crt_debugger_hook(long) MSVCRT__crt_debugger_hook @ cdecl _ctime32(ptr) MSVCRT__ctime32 @ cdecl _ctime32_s(str long ptr) MSVCRT__ctime32_s @ cdecl _ctime64(ptr) MSVCRT__ctime64