From 16c32898b93c9c8ab0595c2bfb2d0eca7ed90489 Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Wed, 25 Apr 2018 10:57:43 +0200 Subject: Second arches build fixes --- build-aarch64-skia.patch | 21 ++++++++++ build-big-endian.patch | 91 ++++++++++++++++---------------------------- firefox.spec | 8 ++-- mozilla-fix-attr-order.patch | 28 -------------- 4 files changed, 58 insertions(+), 90 deletions(-) create mode 100644 build-aarch64-skia.patch delete mode 100644 mozilla-fix-attr-order.patch diff --git a/build-aarch64-skia.patch b/build-aarch64-skia.patch new file mode 100644 index 0000000..33d2d35 --- /dev/null +++ b/build-aarch64-skia.patch @@ -0,0 +1,21 @@ +diff -up firefox-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia firefox-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp +--- firefox-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia 2018-04-20 12:07:26.242037226 +0200 ++++ firefox-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp 2018-04-20 12:12:58.916428432 +0200 +@@ -666,7 +666,7 @@ SI F approx_powf(F x, F y) { + } + + SI F from_half(U16 h) { +-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. ++#if 0 && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. + return vcvt_f32_f16(h); + + #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) +@@ -686,7 +686,7 @@ SI F from_half(U16 h) { + } + + SI U16 to_half(F f) { +-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. ++#if 0 && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. + return vcvt_f16_f32(f); + + #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/build-big-endian.patch b/build-big-endian.patch index 932da57..111bd6a 100644 --- a/build-big-endian.patch +++ b/build-big-endian.patch @@ -1,67 +1,22 @@ -diff -up firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h ---- firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 2017-07-31 18:20:55.000000000 +0200 -+++ firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h 2017-09-29 17:25:04.651876330 +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 -up firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h ---- firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2017-07-31 18:20:55.000000000 +0200 -+++ firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h 2017-09-29 17:25:04.651876330 +0200 -@@ -83,7 +83,8 @@ enum SkColorType { +diff -up firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h +diff -up firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h +--- firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2018-04-25 10:28:21.367480569 +0200 ++++ firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h 2018-04-25 10:34:58.240051062 +0200 +@@ -83,8 +83,8 @@ enum SkColorType { + kN32_SkColorType = kBGRA_8888_SkColorType, #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" +-#else +- #error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order" ++#else + kN32_SkColorType = kBGRA_8888_SkColorType #endif }; -diff -up firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h ---- firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian 2017-07-31 18:20:55.000000000 +0200 -+++ firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h 2017-09-29 17:25:04.652876327 +0200 -@@ -74,8 +74,13 @@ static inline GrColor GrColorPackA4(unsi - * 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 -up firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h ---- firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2017-07-31 18:20:55.000000000 +0200 -+++ firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h 2017-09-29 17:25:04.652876327 +0200 -@@ -326,15 +326,13 @@ enum GrPixelConfig { +diff -up firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h +--- firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2018-04-25 10:28:21.367480569 +0200 ++++ firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h 2018-04-25 10:31:41.692759011 +0200 +@@ -344,15 +344,13 @@ enum GrPixelConfig { static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1; // Aliases for pixel configs that match skia's byte order. @@ -78,4 +33,22 @@ diff -up firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-56. + static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSBGRA_8888_GrPixelConfig; #endif - // Returns true if the pixel config is a GPU-specific compressed format + /** +diff -up firefox-60.0/gfx/skia/skia/include/private/GrColor.h.big-endian firefox-60.0/gfx/skia/skia/include/private/GrColor.h +--- firefox-60.0/gfx/skia/skia/include/private/GrColor.h.big-endian 2018-04-16 22:05:28.000000000 +0200 ++++ firefox-60.0/gfx/skia/skia/include/private/GrColor.h 2018-04-25 10:28:21.367480569 +0200 +@@ -74,8 +74,13 @@ static inline GrColor GrColorPackA4(unsi + * 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 --git a/firefox.spec b/firefox.spec index 3dd5aaf..bae0e83 100644 --- a/firefox.spec +++ b/firefox.spec @@ -132,7 +132,7 @@ Patch35: build-ppc-jit.patch Patch37: build-jit-atomic-always-lucky.patch # Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x) Patch38: build-cacheFlush-missing.patch -Patch39: mozilla-fix-attr-order.patch +Patch40: build-aarch64-skia.patch # Fedora specific patches Patch215: firefox-enable-addons.patch @@ -295,9 +295,11 @@ This package contains results of tests executed during build. %ifarch s390 %patch25 -p1 -b .rhbz-1219542-s390 %endif -#%patch29 -p1 -b .big-endian +%if 0%{?big_endian} +%patch29 -p1 -b .big-endian +%endif %patch37 -p1 -b .jit-atomic-lucky -#%patch39 -p1 -b .fix-attr-order +%patch40 -p1 -b .aarch64-skia %patch3 -p1 -b .arm diff --git a/mozilla-fix-attr-order.patch b/mozilla-fix-attr-order.patch deleted file mode 100644 index aef2d25..0000000 --- a/mozilla-fix-attr-order.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/media/webrtc/trunk/webrtc/common_audio/vad/vad_core.c.fix-attr-order mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/media/webrtc/trunk/webrtc/common_audio/vad/vad_core.c ---- mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/media/webrtc/trunk/webrtc/common_audio/vad/vad_core.c.fix-attr-order 2018-02-03 11:59:21.173058184 -0500 -+++ mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/media/webrtc/trunk/webrtc/common_audio/vad/vad_core.c 2018-02-03 11:59:44.727509671 -0500 -@@ -115,8 +115,8 @@ static int32_t WeightedAverage(int16_t* - // undefined behavior, so not a good idea; this just makes UBSan ignore the - // violation, so that our old code can continue to do what it's always been - // doing.) --static inline int32_t OverflowingMulS16ByS32ToS32(int16_t a, int32_t b) -- RTC_NO_SANITIZE("signed-integer-overflow") { -+RTC_NO_SANITIZE("signed-integer-overflow") static inline int32_t OverflowingMulS16ByS32ToS32(int16_t a, int32_t b) -+{ - return a * b; - } - -diff -up mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c.fix-attr-order mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c ---- mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c.fix-attr-order 2018-02-03 12:00:01.033129964 -0500 -+++ mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c 2018-02-03 12:00:45.758088456 -0500 -@@ -209,8 +209,8 @@ void WebRtcIsacfix_NormLatticeFilterMa(s - // Left shift of an int32_t that's allowed to overflow. (It's still undefined - // behavior, so not a good idea; this just makes UBSan ignore the violation, so - // that our old code can continue to do what it's always been doing.) --static inline int32_t OverflowingLShiftS32(int32_t x, int shift) -- RTC_NO_SANITIZE("shift") { -+RTC_NO_SANITIZE("shift") static inline int32_t OverflowingLShiftS32(int32_t x, int shift) -+{ - return x << shift; - } - -- cgit