summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Horak <jhorak@redhat.com>2017-05-31 14:30:47 +0200
committerJan Horak <jhorak@redhat.com>2017-05-31 14:30:47 +0200
commit04e99f338087df901937a287b89186afd3b00ea1 (patch)
tree5d83d0b025fc4f0aee1936e5c8a4fc248d1d8d60
parentUpdated sources (diff)
downloadlibrewolf-fedora-ff-04e99f338087df901937a287b89186afd3b00ea1.tar.gz
librewolf-fedora-ff-04e99f338087df901937a287b89186afd3b00ea1.tar.bz2
librewolf-fedora-ff-04e99f338087df901937a287b89186afd3b00ea1.zip
Added build patch for big endian platforms
-rw-r--r--build-big-endian.patch98
-rw-r--r--firefox.spec2
2 files changed, 100 insertions, 0 deletions
diff --git a/build-big-endian.patch b/build-big-endian.patch
new file mode 100644
index 0000000..c2aaea1
--- /dev/null
+++ b/build-big-endian.patch
@@ -0,0 +1,98 @@
+diff -ru firefox-53.0.3/gfx/skia/skia/include/core/SkColorPriv.h firefox-53.0.3-changed/gfx/skia/skia/include/core/SkColorPriv.h
+--- firefox-53.0.3/gfx/skia/skia/include/core/SkColorPriv.h 2017-01-16 17:16:50.000000000 +0100
++++ firefox-53.0.3-changed/gfx/skia/skia/include/core/SkColorPriv.h 2017-05-30 12:42:18.032534367 +0200
+@@ -31,7 +31,7 @@
+ *
+ * Here we enforce this constraint.
+ */
+-
++/*
+ #ifdef SK_CPU_BENDIAN
+ #define SK_RGBA_R32_SHIFT 24
+ #define SK_RGBA_G32_SHIFT 16
+@@ -43,6 +43,7 @@
+ #define SK_BGRA_R32_SHIFT 8
+ #define SK_BGRA_A32_SHIFT 0
+ #else
++*/
+ #define SK_RGBA_R32_SHIFT 0
+ #define SK_RGBA_G32_SHIFT 8
+ #define SK_RGBA_B32_SHIFT 16
+@@ -52,7 +53,7 @@
+ #define SK_BGRA_G32_SHIFT 8
+ #define SK_BGRA_R32_SHIFT 16
+ #define SK_BGRA_A32_SHIFT 24
+-#endif
++/*#endif*/
+
+ #if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
+ #error "can't define PMCOLOR to be RGBA and BGRA"
+diff -ru firefox-53.0.3/gfx/skia/skia/include/core/SkImageInfo.h firefox-53.0.3-changed/gfx/skia/skia/include/core/SkImageInfo.h
+--- firefox-53.0.3/gfx/skia/skia/include/core/SkImageInfo.h 2017-02-27 17:10:59.000000000 +0100
++++ firefox-53.0.3-changed/gfx/skia/skia/include/core/SkImageInfo.h 2017-05-30 12:44:00.250165657 +0200
+@@ -83,7 +83,8 @@
+ #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
+ kN32_SkColorType = kRGBA_8888_SkColorType,
+ #else
+- #error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
++ //#error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
++ kN32_SkColorType = kBGRA_8888_SkColorType
+ #endif
+ };
+
+diff -ru firefox-53.0.3/gfx/skia/skia/include/gpu/GrColor.h firefox-53.0.3-changed/gfx/skia/skia/include/gpu/GrColor.h
+--- firefox-53.0.3/gfx/skia/skia/include/gpu/GrColor.h 2017-02-27 17:10:59.000000000 +0100
++++ firefox-53.0.3-changed/gfx/skia/skia/include/gpu/GrColor.h 2017-05-31 09:01:50.756536464 +0200
+@@ -74,8 +74,13 @@
+ * Since premultiplied means that alpha >= color, we construct a color with
+ * each component==255 and alpha == 0 to be "illegal"
+ */
+-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
++//Just for big endian platforms, little has: (~(0xFF << GrColor_SHIFT_A))
++#ifdef SK_CPU_BENDIAN
++#define GrColor_ILLEGAL 0xFFFFFF00
++#else
++#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
+
++#endif
+ #define GrColor_WHITE 0xFFFFFFFF
+ #define GrColor_TRANSPARENT_BLACK 0x0
+
+diff -ru firefox-53.0.3/gfx/skia/skia/include/gpu/GrTypes.h firefox-53.0.3-changed/gfx/skia/skia/include/gpu/GrTypes.h
+--- firefox-53.0.3/gfx/skia/skia/include/gpu/GrTypes.h 2017-02-27 17:10:59.000000000 +0100
++++ firefox-53.0.3-changed/gfx/skia/skia/include/gpu/GrTypes.h 2017-05-30 17:21:27.782537859 +0200
+@@ -275,9 +275,9 @@
+ static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
+
+ // Aliases for pixel configs that match skia's byte order.
+-#ifndef SK_CPU_LENDIAN
+- #error "Skia gpu currently assumes little endian"
+-#endif
++//#ifndef SK_CPU_LENDIAN
++// #error "Skia gpu currently assumes little endian"
++//#endif
+ #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
+ static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSBGRA_8888_GrPixelConfig;
+@@ -285,7 +285,8 @@
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
+ static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSRGBA_8888_GrPixelConfig;
+ #else
+- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
++ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
++ static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSBGRA_8888_GrPixelConfig;
+ #endif
+
+ // Returns true if the pixel config is a GPU-specific compressed format
+diff -ru firefox-53.0.3/js/src/jit/none/MacroAssembler-none.h firefox-53.0.3-changed/js/src/jit/none/MacroAssembler-none.h
+--- firefox-53.0.3/js/src/jit/none/MacroAssembler-none.h 2017-04-11 06:15:18.000000000 +0200
++++ firefox-53.0.3-changed/js/src/jit/none/MacroAssembler-none.h 2017-05-30 16:03:20.475810030 +0200
+@@ -196,7 +196,7 @@
+ static bool SupportsSimd() { return false; }
+ static bool SupportsUnalignedAccesses() { return false; }
+
+- void executableCopy(void*, bool) { MOZ_CRASH(); }
++ void executableCopy(void*, bool flushICache = true) { MOZ_CRASH(); }
+ void copyJumpRelocationTable(uint8_t*) { MOZ_CRASH(); }
+ void copyDataRelocationTable(uint8_t*) { MOZ_CRASH(); }
+ void copyPreBarrierTable(uint8_t*) { MOZ_CRASH(); }
diff --git a/firefox.spec b/firefox.spec
index 123749a..9422ddb 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -133,6 +133,7 @@ Patch25: rhbz-1219542-s390-build.patch
Patch26: build-icu-big-endian.patch
Patch27: mozilla-1335250.patch
Patch28: build-1360521-missing-cheddar.patch
+Patch29: build-big-endian.patch
# Fedora specific patches
# Unable to install addons from https pages
@@ -309,6 +310,7 @@ This package contains results of tests executed during build.
%endif
%patch27 -p1 -b .1335250
%patch28 -p2 -b .1360521-missing-cheddar
+%patch29 -p1 -b .big-endian
%patch3 -p1 -b .arm
bgstack15