[PATCH 1/3] msvcp110: Export xtime_get.
This patchset makes the Bethesda Launcher start. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45784 Signed-off-by: Gijs Vermeulen <gijsvrm(a)gmail.com> --- dlls/msvcp110/msvcp110.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index 083752663c..7bd35fa455 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -3899,4 +3899,4 @@ @ cdecl towctrans(long long) @ cdecl wctrans(str) @ cdecl wctype(str) -@ stub xtime_get +@ cdecl xtime_get(ptr long) -- 2.16.4
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45785 Signed-off-by: Gijs Vermeulen <gijsvrm(a)gmail.com> --- dlls/msvcp110/msvcp110.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index 7bd35fa455..8be2e17019 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -3892,7 +3892,7 @@ @ stub _Xp_sqrtx @ stub _Xp_subx @ stub _Xtime_diff_to_millis -@ stub _Xtime_diff_to_millis2 +@ cdecl _Xtime_diff_to_millis2(ptr ptr) @ cdecl _Xtime_get_ticks() @ stub __Wcrtomb_lk # extern _Zero -- 2.16.4
Signed-off-by: Piotr Caban <piotr(a)codeweavers.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45538 Signed-off-by: Gijs Vermeulen <gijsvrm(a)gmail.com> --- dlls/concrt140/concrt140.spec | 2 +- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr120_app/msvcr120_app.spec | 2 +- dlls/msvcrt/lock.c | 8 ++++++++ 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/dlls/concrt140/concrt140.spec b/dlls/concrt140/concrt140.spec index 7fe53b5d73..406a50569f 100644 --- a/dlls/concrt140/concrt140.spec +++ b/dlls/concrt140/concrt140.spec @@ -516,7 +516,7 @@ @ cdecl -arch=win64 ?unlock(a)critical_section@Concurrency@@QEAAXXZ(ptr) msvcr120.?unlock(a)critical_section@Concurrency@@QEAAXXZ @ thiscall -arch=win32 ?unlock(a)reader_writer_lock@Concurrency@@QAEXXZ(ptr) msvcr120.?unlock(a)reader_writer_lock@Concurrency@@QAEXXZ @ cdecl -arch=win64 ?unlock(a)reader_writer_lock@Concurrency@@QEAAXXZ(ptr) msvcr120.?unlock(a)reader_writer_lock@Concurrency@@QEAAXXZ -@ stub ?wait(a)Concurrency@@YAXI(a)Z +@ cdecl ?wait(a)Concurrency@@YAXI(a)Z(long) msvcr120.?wait(a)Concurrency@@YAXI(a)Z @ thiscall -arch=i386 ?wait(a)_Condition_variable@details(a)Concurrency@@QAEXAAVcritical_section(a)3@@Z(ptr ptr) msvcr120.?wait(a)_Condition_variable@details(a)Concurrency@@QAEXAAVcritical_section(a)3@@Z @ cdecl -arch=win64 ?wait(a)_Condition_variable@details(a)Concurrency@@QEAAXAEAVcritical_section(a)3@@Z(ptr ptr) msvcr120.?wait(a)_Condition_variable@details(a)Concurrency@@QEAAXAEAVcritical_section(a)3@@Z @ stub -arch=win32 ?wait(a)agent@Concurrency@@SA?AW4agent_status(a)2@PAV12(a)I@Z diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 88698ca5c3..15e88e2391 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -496,7 +496,7 @@ @ thiscall -arch=win32 ?unlock(a)reader_writer_lock@Concurrency@@QAEXXZ(ptr) reader_writer_lock_unlock @ cdecl -arch=win64 ?unlock(a)reader_writer_lock@Concurrency@@QEAAXXZ(ptr) reader_writer_lock_unlock @ cdecl ?vswprintf@@YAHPA_WIPB_WPAD(a)Z(ptr long wstr ptr) MSVCRT_vsnwprintf -@ stub ?wait(a)Concurrency@@YAXI(a)Z +@ cdecl ?wait(a)Concurrency@@YAXI(a)Z(long) Concurrency_wait @ thiscall -arch=win32 ?wait(a)event@Concurrency@@QAEII(a)Z(ptr) event_wait @ cdecl -arch=win64 ?wait(a)event@Concurrency@@QEAA_KI(a)Z(ptr) event_wait @ cdecl -arch=win32 ?wait_for_multiple(a)event@Concurrency@@SAIPAPAV12(a)I_NI@Z(ptr long long long) event_wait_for_multiple diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 3d116c4ec8..cd7b625d28 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -808,7 +808,7 @@ @ thiscall -arch=win32 ?unlock(a)reader_writer_lock@Concurrency@@QAEXXZ(ptr) reader_writer_lock_unlock @ cdecl -arch=win64 ?unlock(a)reader_writer_lock@Concurrency@@QEAAXXZ(ptr) reader_writer_lock_unlock @ cdecl ?vswprintf@@YAHPA_WIPB_WPAD(a)Z(ptr long wstr ptr) MSVCRT_vsnwprintf -@ stub ?wait(a)Concurrency@@YAXI(a)Z +@ cdecl ?wait(a)Concurrency@@YAXI(a)Z(long) Concurrency_wait @ cdecl -arch=arm ?wait(a)_Condition_variable@details(a)Concurrency@@QAAXAAVcritical_section(a)3@@Z(ptr ptr) _Condition_variable_wait @ thiscall -arch=i386 ?wait(a)_Condition_variable@details(a)Concurrency@@QAEXAAVcritical_section(a)3@@Z(ptr ptr) _Condition_variable_wait @ cdecl -arch=win64 ?wait(a)_Condition_variable@details(a)Concurrency@@QEAAXAEAVcritical_section(a)3@@Z(ptr ptr) _Condition_variable_wait diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index f317d1f8b3..44f728ba0a 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -790,7 +790,7 @@ @ thiscall -arch=win32 ?unlock(a)reader_writer_lock@Concurrency@@QAEXXZ(ptr) reader_writer_lock_unlock @ cdecl -arch=win64 ?unlock(a)reader_writer_lock@Concurrency@@QEAAXXZ(ptr) reader_writer_lock_unlock @ cdecl ?vswprintf@@YAHPA_WIPB_WPAD(a)Z(ptr long wstr ptr) MSVCRT_vsnwprintf -@ stub ?wait(a)Concurrency@@YAXI(a)Z +@ cdecl ?wait(a)Concurrency@@YAXI(a)Z(long) Concurrency_wait @ cdecl -arch=arm ?wait(a)_Condition_variable@details(a)Concurrency@@QAAXAAVcritical_section(a)3@@Z(ptr ptr) _Condition_variable_wait @ thiscall -arch=i386 ?wait(a)_Condition_variable@details(a)Concurrency@@QAEXAAVcritical_section(a)3@@Z(ptr ptr) _Condition_variable_wait @ cdecl -arch=win64 ?wait(a)_Condition_variable@details(a)Concurrency@@QEAAXAEAVcritical_section(a)3@@Z(ptr ptr) _Condition_variable_wait diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index 0f5d143089..935de2b2b2 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -786,7 +786,7 @@ @ thiscall -arch=win32 ?unlock(a)reader_writer_lock@Concurrency@@QAEXXZ(ptr) msvcr120.?unlock(a)reader_writer_lock@Concurrency@@QAEXXZ @ cdecl -arch=win64 ?unlock(a)reader_writer_lock@Concurrency@@QEAAXXZ(ptr) msvcr120.?unlock(a)reader_writer_lock@Concurrency@@QEAAXXZ @ cdecl ?vswprintf@@YAHPA_WIPB_WPAD(a)Z(ptr long wstr ptr) msvcr120.?vswprintf@@YAHPA_WIPB_WPAD(a)Z -@ stub ?wait(a)Concurrency@@YAXI(a)Z +@ cdecl ?wait(a)Concurrency@@YAXI(a)Z(long) msvcr120.?wait(a)Concurrency@@YAXI(a)Z @ cdecl -arch=arm ?wait(a)_Condition_variable@details(a)Concurrency@@QAAXAAVcritical_section(a)3@@Z(ptr ptr) msvcr120.?wait(a)_Condition_variable@details(a)Concurrency@@QAAXAAVcritical_section(a)3@@Z @ thiscall -arch=i386 ?wait(a)_Condition_variable@details(a)Concurrency@@QAEXAAVcritical_section(a)3@@Z(ptr ptr) msvcr120.?wait(a)_Condition_variable@details(a)Concurrency@@QAEXAAVcritical_section(a)3@@Z @ cdecl -arch=win64 ?wait(a)_Condition_variable@details(a)Concurrency@@QEAAXAEAVcritical_section(a)3@@Z(ptr ptr) msvcr120.?wait(a)_Condition_variable@details(a)Concurrency@@QEAAXAEAVcritical_section(a)3@@Z diff --git a/dlls/msvcrt/lock.c b/dlls/msvcrt/lock.c index 177fc2a17c..13dfb79f55 100644 --- a/dlls/msvcrt/lock.c +++ b/dlls/msvcrt/lock.c @@ -1404,6 +1404,14 @@ MSVCRT_bool __thiscall _ReentrantBlockingLock__TryAcquire(_ReentrantBlockingLock TRACE("(%p)\n", this); return TryEnterCriticalSection(&this->cs); } + +/* ?wait(a)Concurrency@@YAXI(a)Z */ +void __cdecl Concurrency_wait(unsigned int time) +{ + static int once; + + if (!once++) FIXME("(%d) stub!\n", time); +} #endif #if _MSVCR_VER == 110 -- 2.16.4
Hi Gijs, On 09/06/18 20:41, Gijs Vermeulen wrote:
+/* ?wait(a)Concurrency@@YAXI(a)Z */ +void __cdecl Concurrency_wait(unsigned int time) +{ + static int once; + + if (!once++) FIXME("(%d) stub!\n", time); +} Could you please add a Sleep to this stub?
Thanks, Piotr
participants (3)
-
Gijs Vermeulen -
Piotr Caban -
Piotr Caban