diff options
Diffstat (limited to 'xulrunner-2.0-64bit-big-endian.patch')
-rw-r--r-- | xulrunner-2.0-64bit-big-endian.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/xulrunner-2.0-64bit-big-endian.patch b/xulrunner-2.0-64bit-big-endian.patch new file mode 100644 index 0000000..d1d63e8 --- /dev/null +++ b/xulrunner-2.0-64bit-big-endian.patch @@ -0,0 +1,31 @@ +diff -up xulrunner-2.0/mozilla-central/js/src/jsval.h.s390 xulrunner-2.0/mozilla-central/js/src/jsval.h +--- xulrunner-2.0/mozilla-central/js/src/jsval.h.s390 2010-11-15 10:43:49.000000000 +0100 ++++ xulrunner-2.0/mozilla-central/js/src/jsval.h 2010-11-15 10:45:41.000000000 +0100 +@@ -331,6 +331,27 @@ typedef union jsval_layout + double asDouble; + void *asPtr; + } jsval_layout; ++# elif JS_BITS_PER_WORD == 64 ++typedef union jsval_layout ++{ ++ uint64 asBits; ++#ifndef _WIN64 ++ /* MSVC does not pack these correctly :-( */ ++ struct { ++ uint64 payload47 : 47; ++ JSValueTag tag : 17; ++ } debugView; ++#endif ++ struct { ++ union { ++ int32 i32; ++ uint32 u32; ++ JSWhyMagic why; ++ } payload; ++ } s; ++ double asDouble; ++ void *asPtr; ++} jsval_layout; + # endif /* JS_BITS_PER_WORD */ + #endif /* defined(IS_LITTLE_ENDIAN) */ + |