ntdll: Correctly align the stack for odd numbers of arguments in relay traces on ARM

André Hentschel nerv at dawncrow.de
Mon Feb 18 16:24:15 CST 2013


http://bugs.winehq.org/show_bug.cgi?id=32990
---
 dlls/ntdll/relay.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/relay.c b/dlls/ntdll/relay.c
index b3c4aea..81e1593 100644
--- a/dlls/ntdll/relay.c
+++ b/dlls/ntdll/relay.c
@@ -364,7 +364,8 @@ __ASM_GLOBAL_FUNC( call_entry_point,
                    "cmp r3, #0\n\t"
                    "beq 5f\n\t"
                    "sub SP, SP, r3\n\t"
-                   "bic SP, SP, #15\n\t"
+                   "tst r1, #1\n\t"
+                   "subeq SP, SP, #4\n\t"
                    "1:\tsub r3, r3, #4\n\t"
                    "ldr r0, [r2, r3]\n\t"
                    "str r0, [SP, r3]\n\t"
-- 
1.8.0


-- 

Best Regards, André Hentschel


More information about the wine-patches mailing list