diff options
Diffstat (limited to 'packages/mozilla/eabi-fix2.patch')
-rw-r--r-- | packages/mozilla/eabi-fix2.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/packages/mozilla/eabi-fix2.patch b/packages/mozilla/eabi-fix2.patch new file mode 100644 index 0000000000..5f64e7f796 --- /dev/null +++ b/packages/mozilla/eabi-fix2.patch @@ -0,0 +1,56 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=369722 + +Index: js/src/jsnum.h +=================================================================== +RCS file: /cvsroot/mozilla/js/src/jsnum.h,v +retrieving revision 3.27 +diff -p -u -8 -r3.27 jsnum.h +--- mozilla/js/src/jsnum.h 21 Dec 2006 01:00:32 -0000 3.27 ++++ mozilla/js/src/jsnum.h 8 Feb 2007 12:13:01 -0000 +@@ -52,23 +52,24 @@ JS_BEGIN_EXTERN_C + + /* + * Stefan Hanske <sh990154@mail.uni-greifswald.de> reports: + * ARM is a little endian architecture but 64 bit double words are stored + * differently: the 32 bit words are in little endian byte order, the two words + * are stored in big endian`s way. + */ + +-#if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__) +-#define CPU_IS_ARM ++#if !defined(__ARM_EABI__) && \ ++ (defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)) ++#define IEEE_ARM + #endif + + typedef union jsdpun { + struct { +-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM) ++#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM) + uint32 lo, hi; + #else + uint32 hi, lo; + #endif + } s; + jsdouble d; + } jsdpun; + +@@ -87,17 +88,17 @@ typedef union jsdpun { + + #else /* not or old GNUC */ + + /* + * We don't know of any non-gcc compilers that perform alias optimization, + * so this code should work. + */ + +-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM) ++#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM) + #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[1]) + #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[0]) + #else + #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[0]) + #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[1]) + #endif + + #define JSDOUBLE_SET_HI32(x, y) (JSDOUBLE_HI32(x)=(y)) |