Added build patch for big endian platforms

This commit is contained in:
Jan Horak 2017-05-31 14:30:47 +02:00
parent ce37ed282c
commit 04e99f3380
2 changed files with 100 additions and 0 deletions

98
build-big-endian.patch Normal file
View File

@ -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(); }

View File

@ -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