Source: icedove Version: 1:58.0~b3-1 Severity: normal Tags: patch User: debian-sp...@lists.debian.org Usertags: sparc64
Hello! Attached are three patches taken from the Firefox package in Fedora [1] which fix Thunderbird 58 on sparc64. Those patches should also reduce the build issues on ppc64/ppc64el although you might one or two patches more. I edited the Fedora patch "build-ppc64-s390x-curl.patch" to include sparc64 (__sparc__ && __arch64__) as well. Please note that rustc isn't currently available as a Debian package on sparc64 but I used a local install from git to build Thunderbird. I expect to have a rustc package for sparc64 once Rust 1.24 is out. All patches need to applied in the "mozilla" subdirectory with "patch -p1 < $PATCHNAME". Adrian > [1] https://koji.fedoraproject.org/koji/buildinfo?buildID=1020385 -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
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 { #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 -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 { 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 #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A) static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig; #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A) static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_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 -up firefox-58.0/js/src/jit/none/MacroAssembler-none.h.old firefox-58.0/js/src/jit/none/MacroAssembler-none.h --- firefox-58.0/js/src/jit/none/MacroAssembler-none.h.old 2018-01-24 20:33:52.569147937 +0100 +++ firefox-58.0/js/src/jit/none/MacroAssembler-none.h 2018-01-24 20:34:06.985088057 +0100 @@ -88,7 +88,7 @@ static constexpr Register WasmTableCallI static constexpr Register WasmTlsReg { Registers::invalid_reg }; static constexpr uint32_t ABIStackAlignment = 4; -static constexpr uint32_t CodeAlignment = 4; +static constexpr uint32_t CodeAlignment = 8; static constexpr uint32_t JitStackAlignment = 8; static constexpr uint32_t JitStackValueAlignment = JitStackAlignment / sizeof(Value);
diff -up firefox-54.0/toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h.ppc-curl firefox-54.0/toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h --- firefox-54.0/toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h.ppc-curl 2017-06-09 23:31:15.186207877 +0200 +++ firefox-54.0/toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h 2017-06-10 00:21:26.731117206 +0200 @@ -155,7 +155,9 @@ /* The size of `long', as computed by sizeof. */ #if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \ - defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64) + defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64) || \ + defined(__PPC64__) || defined(__pcc64le__) || defined(__S390X__) || defined(__s390x__) || \ + (defined(__sparc__) && defined(__arch64__)) #define CURL_SIZEOF_LONG 8 #else #define CURL_SIZEOF_LONG 4