summaryrefslogtreecommitdiff
path: root/mozilla-1050258.patch
blob: e00fbba17a4072f149f3afd70082ead191d4a32d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# HG changeset patch
# User Douglas Crosher <dtc-moz@scieneer.com>
# Date 1415349848 -39600
#      Fri Nov 07 19:44:08 2014 +1100
# Node ID b98d6205da98b5bec30b0677c30a6d09f351f4b8
# Parent  17e19083908620e8a83876e49bac6f6ba2fcc272
Bug 1050258 - ARM hard-float XPCOM: correct argument passing.

diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp b/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp
--- a/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp
+++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp
@@ -219,16 +219,17 @@ static inline void copy_dword(uint32_t* 
 {
   if (ireg_args + 1 < end) {
     if ((uint32_t)ireg_args & 4) {
       ireg_args++;
     }
     *(uint64_t *)ireg_args = data;
     ireg_args += 2;
   } else {
+    ireg_args = end;
     if ((uint32_t)stack_args & 4) {
       stack_args++;
     }
     *(uint64_t *)stack_args = data;
     stack_args += 2;
   }
 }
 
bgstack15