summaryrefslogtreecommitdiff
path: root/mozilla-1050258.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-1050258.patch')
-rw-r--r--mozilla-1050258.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/mozilla-1050258.patch b/mozilla-1050258.patch
new file mode 100644
index 0000000..e00fbba
--- /dev/null
+++ b/mozilla-1050258.patch
@@ -0,0 +1,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