Alexandre Julliard : rpcrt4: Support delegated proxies on ARM.
Alexandre Julliard
julliard at winehq.org
Tue Nov 13 15:01:57 CST 2018
Module: wine
Branch: master
Commit: e24f2f3b90937f00bb011c05af98f63d9934b920
URL: https://source.winehq.org/git/wine.git/?a=commit;h=e24f2f3b90937f00bb011c05af98f63d9934b920
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Nov 13 16:08:06 2018 +0100
rpcrt4: Support delegated proxies on ARM.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/rpcrt4/cstub.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/dlls/rpcrt4/cstub.c b/dlls/rpcrt4/cstub.c
index 77b0faf..b85d411 100644
--- a/dlls/rpcrt4/cstub.c
+++ b/dlls/rpcrt4/cstub.c
@@ -167,6 +167,25 @@ typedef struct
static const BYTE opcodes[16] = { 0x48, 0x8b, 0x49, 0x20, 0x48, 0x8b, 0x01,
0xff, 0xa0, 0, 0, 0, 0, 0x48, 0x8d, 0x36 };
+#elif defined(__arm__)
+
+static const DWORD opcodes[] =
+{
+ 0xe52d4004, /* push {r4} */
+ 0xe5900010, /* ldr r0, [r0, #16] */
+ 0xe5904000, /* ldr r4, [r0] */
+ 0xe59fc008, /* ldr ip, [pc, #8] */
+ 0xe08cc004, /* add ip, ip, r4 */
+ 0xe49d4004, /* pop {r4} */
+ 0xe59cf000 /* ldr pc, [ip] */
+};
+
+typedef struct
+{
+ DWORD opcodes[ARRAY_SIZE(opcodes)];
+ DWORD offset;
+} vtbl_method_t;
+
#else
#warning You must implement delegated proxies/stubs for your CPU
More information about the wine-cvs
mailing list