diff -r afcaf2131b0e -r 89d4b9910eb7 mozilla-ppc64le.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-ppc64le.patch Thu Jan 02 21:56:34 2014 +0100 @@ -0,0 +1,257 @@ +# HG changeset patch +# Parent cad86882605788345b2791275efc6e1fa7500dbd +# User Ulrich Weigand +General PPC64 LE support + +diff --git a/configure.in b/configure.in +--- a/configure.in ++++ b/configure.in +@@ -1079,17 +1079,17 @@ esac + + # Only set CPU_ARCH if we recognize the value of OS_TEST + + case "$OS_TEST" in + *86 | i86pc) + CPU_ARCH=x86 + ;; + +-powerpc64 | ppc64) ++powerpc64 | ppc64 | powerpc64le | ppc64le) + CPU_ARCH=ppc64 + ;; + + powerpc | ppc | rs6000) + CPU_ARCH=ppc + ;; + + Alpha | alpha | ALPHA) +diff --git a/js/src/assembler/wtf/Platform.h b/js/src/assembler/wtf/Platform.h +--- a/js/src/assembler/wtf/Platform.h ++++ b/js/src/assembler/wtf/Platform.h +@@ -160,26 +160,32 @@ + /* WTF_CPU_PPC - PowerPC 32-bit */ + #if defined(__ppc__) \ + || defined(__PPC__) \ + || defined(__powerpc__) \ + || defined(__powerpc) \ + || defined(__POWERPC__) \ + || defined(_M_PPC) \ + || defined(__PPC) ++#if !defined(__ppc64__) && !defined(__PPC64__) + #define WTF_CPU_PPC 1 ++#endif ++#if !defined(__LITTLE_ENDIAN__) + #define WTF_CPU_BIG_ENDIAN 1 + #endif ++#endif + + /* WTF_CPU_PPC64 - PowerPC 64-bit */ + #if defined(__ppc64__) \ + || defined(__PPC64__) + #define WTF_CPU_PPC64 1 ++#if !defined(__LITTLE_ENDIAN__) + #define WTF_CPU_BIG_ENDIAN 1 + #endif ++#endif + + /* WTF_CPU_SH4 - SuperH SH-4 */ + #if defined(__SH4__) + #define WTF_CPU_SH4 1 + #endif + + /* WTF_CPU_SPARC32 - SPARC 32-bit */ + #if defined(__sparc) && !defined(__arch64__) || defined(__sparcv8) +diff --git a/js/src/configure.in b/js/src/configure.in +--- a/js/src/configure.in ++++ b/js/src/configure.in +@@ -910,17 +910,17 @@ esac + + # Only set CPU_ARCH if we recognize the value of OS_TEST + + case "$OS_TEST" in + *86 | i86pc) + CPU_ARCH=x86 + ;; + +-powerpc64 | ppc64) ++powerpc64 | ppc64 | powerpc64le | ppc64le) + CPU_ARCH=ppc64 + ;; + + powerpc | ppc | rs6000) + CPU_ARCH=ppc + ;; + + Alpha | alpha | ALPHA) +diff --git a/js/src/jscpucfg.h b/js/src/jscpucfg.h +--- a/js/src/jscpucfg.h ++++ b/js/src/jscpucfg.h +@@ -26,17 +26,17 @@ + # define HAVE_VA_LIST_AS_ARRAY 1 + # endif + + # define IS_LITTLE_ENDIAN 1 + # undef IS_BIG_ENDIAN + # define JS_BYTES_PER_WORD 4 + # define JS_BITS_PER_WORD_LOG2 5 + +-#elif defined(__APPLE__) ++#elif defined(__APPLE__) || defined(__powerpc__) || defined(__ppc__) + # if __LITTLE_ENDIAN__ + # define IS_LITTLE_ENDIAN 1 + # undef IS_BIG_ENDIAN + # elif __BIG_ENDIAN__ + # undef IS_LITTLE_ENDIAN + # define IS_BIG_ENDIAN 1 + # endif + +@@ -88,18 +88,17 @@ + # if defined(_STACK_GROWS_UPWARD) + # define JS_STACK_GROWTH_DIRECTION (1) + # elif defined(_STACK_GROWS_DOWNWARD) + # define JS_STACK_GROWTH_DIRECTION (-1) + # endif + # endif + + #elif defined(__sparc) || defined(__sparc__) || \ +- defined(_POWER) || defined(__powerpc__) || \ +- defined(__ppc__) || defined(__hppa) || \ ++ defined(_POWER) || defined(__hppa) || \ + defined(_MIPSEB) || defined(_BIG_ENDIAN) + /* IA64 running HP-UX will have _BIG_ENDIAN defined. + * IA64 running Linux will have endian.h and be handled above. + */ + # undef IS_LITTLE_ENDIAN + # define IS_BIG_ENDIAN 1 + + #else /* !defined(__sparc) && !defined(__sparc__) && ... */ +diff --git a/media/webrtc/trunk/webrtc/typedefs.h b/media/webrtc/trunk/webrtc/typedefs.h +--- a/media/webrtc/trunk/webrtc/typedefs.h ++++ b/media/webrtc/trunk/webrtc/typedefs.h +@@ -47,23 +47,33 @@ + //#define WEBRTC_ARCH_ARM_FAMILY + //#define WEBRTC_ARCH_ARMEL + #define WEBRTC_ARCH_32_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN + #define WEBRTC_LITTLE_ENDIAN + #elif defined(__powerpc64__) + #define WEBRTC_ARCH_PPC64 1 + #define WEBRTC_ARCH_64_BITS 1 ++#ifdef __LITTLE_ENDIAN__ ++#define WEBRTC_ARCH_LITTLE_ENDIAN ++#define WEBRTC_LITTLE_ENDIAN ++#else + #define WEBRTC_ARCH_BIG_ENDIAN + #define WEBRTC_BIG_ENDIAN ++#endif + #elif defined(__ppc__) || defined(__powerpc__) + #define WEBRTC_ARCH_PPC 1 + #define WEBRTC_ARCH_32_BITS 1 ++#ifdef __LITTLE_ENDIAN__ ++#define WEBRTC_ARCH_LITTLE_ENDIAN ++#define WEBRTC_LITTLE_ENDIAN ++#else + #define WEBRTC_ARCH_BIG_ENDIAN + #define WEBRTC_BIG_ENDIAN ++#endif + #elif defined(__sparc64__) + #define WEBRTC_ARCH_SPARC 1 + #define WEBRTC_ARCH_64_BITS 1 + #define WEBRTC_ARCH_BIG_ENDIAN + #define WEBRTC_BIG_ENDIAN + #elif defined(__sparc__) + #define WEBRTC_ARCH_SPARC 1 + #define WEBRTC_ARCH_32_BITS 1 +diff --git a/mfbt/Endian.h b/mfbt/Endian.h +--- a/mfbt/Endian.h ++++ b/mfbt/Endian.h +@@ -86,17 +86,17 @@ + # error "CPU type is unknown" + # endif + #elif defined(_WIN32) + # if defined(_M_IX86) + # define MOZ_LITTLE_ENDIAN 1 + # else + # error "CPU type is unknown" + # endif +-#elif defined(__APPLE__) ++#elif defined(__APPLE__) || defined(__powerpc__) || defined(__ppc__) + # if __LITTLE_ENDIAN__ + # define MOZ_LITTLE_ENDIAN 1 + # elif __BIG_ENDIAN__ + # define MOZ_BIG_ENDIAN 1 + # endif + #elif defined(__GNUC__) && \ + defined(__BYTE_ORDER__) && \ + defined(__ORDER_LITTLE_ENDIAN__) && \ +@@ -114,18 +114,17 @@ + # endif + /* + * We can't include useful headers like or + * here because they're not present on all platforms. Instead we have + * this big conditional that ideally will catch all the interesting + * cases. + */ + #elif defined(__sparc) || defined(__sparc__) || \ +- defined(_POWER) || defined(__powerpc__) || \ +- defined(__ppc__) || defined(__hppa) || \ ++ defined(_POWER) || defined(__hppa) || \ + defined(_MIPSEB) || defined(__ARMEB__) || \ + defined(__s390__) || \ + (defined(__sh__) && defined(__LITTLE_ENDIAN__)) || \ + (defined(__ia64) && defined(__BIG_ENDIAN__)) + # define MOZ_BIG_ENDIAN 1 + #elif defined(__i386) || defined(__i386__) || \ + defined(__x86_64) || defined(__x86_64__) || \ + defined(_MIPSEL) || defined(__ARMEL__) || \ +diff --git a/nsprpub/pr/include/md/_linux.cfg b/nsprpub/pr/include/md/_linux.cfg +--- a/nsprpub/pr/include/md/_linux.cfg ++++ b/nsprpub/pr/include/md/_linux.cfg +@@ -24,18 +24,23 @@ + #elif defined(__GNU__) + #define PR_AF_INET6 26 /* same as AF_INET6 */ + #else + #define PR_AF_INET6 10 /* same as AF_INET6 */ + #endif + + #ifdef __powerpc64__ + ++#ifdef __LITTLE_ENDIAN__ ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++#else + #undef IS_LITTLE_ENDIAN + #define IS_BIG_ENDIAN 1 ++#endif + #define IS_64 + + #define PR_BYTES_PER_BYTE 1 + #define PR_BYTES_PER_SHORT 2 + #define PR_BYTES_PER_INT 4 + #define PR_BYTES_PER_INT64 8 + #define PR_BYTES_PER_LONG 8 + #define PR_BYTES_PER_FLOAT 4 +@@ -70,18 +75,23 @@ + #define PR_ALIGN_OF_POINTER 8 + #define PR_ALIGN_OF_WORD 8 + + #define PR_BYTES_PER_WORD_LOG2 3 + #define PR_BYTES_PER_DWORD_LOG2 3 + + #elif defined(__powerpc__) + ++#ifdef __LITTLE_ENDIAN__ ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++#else + #undef IS_LITTLE_ENDIAN + #define IS_BIG_ENDIAN 1 ++#endif + + #define PR_BYTES_PER_BYTE 1 + #define PR_BYTES_PER_SHORT 2 + #define PR_BYTES_PER_INT 4 + #define PR_BYTES_PER_INT64 8 + #define PR_BYTES_PER_LONG 4 + #define PR_BYTES_PER_FLOAT 4 + #define PR_BYTES_PER_DOUBLE 8