mirror of
https://github.com/reactos/wine.git
synced 2025-02-18 20:10:18 +00:00
rpcrt4: Add an assembly wrapper to implement the NdrClientCall2 calling convention on x86_64.
This commit is contained in:
parent
379479a973
commit
b6599bd7df
@ -913,6 +913,21 @@ done:
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
|
||||
__ASM_GLOBAL_FUNC( NdrClientCall2,
|
||||
"movq %r8,0x18(%rsp)\n\t"
|
||||
"movq %r9,0x20(%rsp)\n\t"
|
||||
"leaq 0x18(%rsp),%r8\n\t"
|
||||
"subq $0x28,%rsp\n\t"
|
||||
__ASM_CFI(".cfi_adjust_cfa_offset 0x28\n\t")
|
||||
"call " __ASM_NAME("ndr_client_call") "\n\t"
|
||||
"addq $0x28,%rsp\n\t"
|
||||
__ASM_CFI(".cfi_adjust_cfa_offset -0x28\n\t")
|
||||
"ret" );
|
||||
|
||||
#else /* __x86_64__ */
|
||||
|
||||
/***********************************************************************
|
||||
* NdrClientCall2 [RPCRT4.@]
|
||||
*/
|
||||
@ -927,6 +942,7 @@ CLIENT_CALL_RETURN WINAPIV NdrClientCall2( PMIDL_STUB_DESC desc, PFORMAT_STRING
|
||||
return *(CLIENT_CALL_RETURN *)&ret;
|
||||
}
|
||||
|
||||
#endif /* __x86_64__ */
|
||||
|
||||
/* Calls a function with the specified arguments, restoring the stack
|
||||
* properly afterwards as we don't know the calling convention of the
|
||||
|
Loading…
x
Reference in New Issue
Block a user