mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 21:44:31 +00:00
[0.4.13][RPCRT4] Sync msvc.S with WINE's inline assembly,
as suggested by Thomas It fixes CORE-18505 '[MSVC only] VBox 2.0.0 is not able to open, but on GCC it can' It regressed by: 0.4.12-dev-555-gb6fdb56b9a
and 0.4.12-dev-544-g5db885cae7
Fix picked from 0.4.15-dev-5461-g062a8f20a9
The fix works also for MSVC2010SP1 dbg builds in the older branches. I will not create a new GCC iso for that revision, because this commit does not affect GCC at all.
This commit is contained in:
parent
759e5e3364
commit
69507b2407
|
@ -13,11 +13,12 @@ _call_stubless_func:
|
|||
mov ecx, [ecx] /* This->lpVtbl */
|
||||
mov ecx, [ecx-8] /* MIDL_STUBLESS_PROXY_INFO */
|
||||
mov edx, [ecx+8] /* Info->FormatStringOffset */
|
||||
mov edx,[edx+eax*2] /* FormatStringOffset[index] */
|
||||
and edx, 0000FFFFh
|
||||
movzx edx, word ptr [edx+eax*2] /* FormatStringOffset[index] */
|
||||
add edx, [ecx+4] /* info->ProcFormatString + offset */
|
||||
mov eax, [edx+8] /* arguments size */
|
||||
and eax, 0000FFFFh
|
||||
movzx eax, byte ptr [edx+1] /* Oi_flags */
|
||||
and eax, 8 /* Oi_HAS_RPCFLAGS */
|
||||
shr eax, 1
|
||||
movzx eax, word ptr [edx+eax+4] /* arguments size */
|
||||
push eax
|
||||
lea eax, [esp+8] /* &This */
|
||||
push eax
|
||||
|
|
Loading…
Reference in a new issue