components/desktop/firefox/patches/firefox-53-sparc-gfx-atomicops.patch
author Rich Burridge <rich.burridge@oracle.com>
Tue, 02 May 2017 17:33:26 -0700
changeset 7964 d9801318ed3d
parent 6919 7972aae0fb03
permissions -rw-r--r--
25981468 Build ilmbase and openexr with the GNU compilers

Fixes endian issue in GFX on sparc and fixes atomic operations.
Will not send upstream.

diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
--- a/js/src/jit/AtomicOperations.h
+++ b/js/src/jit/AtomicOperations.h
@@ -297,17 +297,17 @@ AtomicOperations::isLockfree(int32_t siz
 #if defined(JS_CODEGEN_ARM)
 # include "jit/arm/AtomicOperations-arm.h"
 #elif defined(JS_CODEGEN_ARM64)
 # include "jit/arm64/AtomicOperations-arm64.h"
 #elif defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64)
 # include "jit/mips-shared/AtomicOperations-mips-shared.h"
 #elif defined(__ppc64__) || defined(__PPC64_)       \
     || defined(__ppc64le__) || defined(__PPC64LE__) \
-    || defined(__ppc__) || defined(__PPC__)
+    || defined(__ppc__) || defined(__PPC__) || defined(__sparc)
 # include "jit/none/AtomicOperations-ppc.h"
 #elif defined(JS_CODEGEN_NONE)
 # include "jit/none/AtomicOperations-none.h"
 #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
 # include "jit/x86-shared/AtomicOperations-x86-shared.h"
 #else
 # error "Atomic operations must be defined for this platform"
 #endif
--- a/gfx/2d/Types.h    Tue May  3 14:20:54 2016
+++ b/gfx/2d/Types.h    Tue May  3 13:43:00 2016
@@ -61,15 +61,8 @@
   // The following values are endian-independent synonyms. The _UINT32 suffix
   // indicates that the name reflects the layout when viewed as a uint32_t
   // value.
-#if MOZ_LITTLE_ENDIAN
   A8R8G8B8_UINT32 = B8G8R8A8,       // 0xAARRGGBB
   X8R8G8B8_UINT32 = B8G8R8X8        // 0x00RRGGBB
-#elif MOZ_BIG_ENDIAN
-  A8R8G8B8_UINT32 = A8R8G8B8,       // 0xAARRGGBB
-  X8R8G8B8_UINT32 = X8R8G8B8        // 0x00RRGGBB
-#else
-# error "bad endianness"
-#endif
 };

 inline bool IsOpaque(SurfaceFormat aFormat)