diff options
author | Koen Kooi <koen@openembedded.org> | 2009-11-08 09:46:57 +0100 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2009-11-08 09:46:57 +0100 |
commit | c9abb05e8896ef7096bb74cb541339dda901e17e (patch) | |
tree | 1f76b8e93397422b9ef77ed92bebc256019ced0a /recipes/mozilla/firefox-3.5.5/Bug339782.additional.fix.diff | |
parent | 09dc5f642ea5ba01121e56babe9359811d831bdc (diff) |
firefix: add 3.5.5
Diffstat (limited to 'recipes/mozilla/firefox-3.5.5/Bug339782.additional.fix.diff')
-rw-r--r-- | recipes/mozilla/firefox-3.5.5/Bug339782.additional.fix.diff | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/recipes/mozilla/firefox-3.5.5/Bug339782.additional.fix.diff b/recipes/mozilla/firefox-3.5.5/Bug339782.additional.fix.diff new file mode 100644 index 0000000000..0848e730d3 --- /dev/null +++ b/recipes/mozilla/firefox-3.5.5/Bug339782.additional.fix.diff @@ -0,0 +1,39 @@ +# XPTC_InvokeByIndex crashes +# Bug 339782 [ARM] XPTC_InvokeByIndex crashes when cross-compiled under GCC 3.4.x with EABI (CodeSourcery) +Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp +=================================================================== +--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp ++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp +@@ -51,22 +51,32 @@ + #ifdef __ARM_EABI__ + #define DOUBLEWORD_ALIGN(p) ((PRUint32 *)((((PRUint32)(p)) + 7) & 0xfffffff8)) + #define VAR_STACK_SIZE_64 3 + #else + #define DOUBLEWORD_ALIGN(p) (p) + #define VAR_STACK_SIZE_64 2 + #endif + ++#ifdef __ARM_EABI__ ++#define DOUBLEWORD_ALIGN(p) ((PRUint32 *)((((PRUint32)(p)) + 7) & 0xfffffff8)) ++#else ++#define DOUBLEWORD_ALIGN(p) (p) ++#endif ++ + // Remember that these 'words' are 32bit DWORDS + + static PRUint32 + invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s) + { + PRUint32 result = 0; ++ ++ /* Note that we give a "worst case" estimate of how much stack _might_ be ++ * needed, rather than the real count - this should be safe */ ++ + for(PRUint32 i = 0; i < paramCount; i++, s++) + { + if(s->IsPtrData()) + { + result++; + continue; + } + switch(s->type) |