# HG changeset patch # User Douglas Crosher # 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; } }