From abeab1b01bd0d77ca6012a4ca12621b5793ecf07 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Tue, 6 Jun 2017 04:50:06 +0000 Subject: testing/mozjs-38: add gcc6 bad code generation workaround, add -dbg package --- testing/mozjs-38/APKBUILD | 10 +-- testing/mozjs-38/gcc-alignment.patch | 122 +++++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+), 4 deletions(-) create mode 100644 testing/mozjs-38/gcc-alignment.patch (limited to 'testing/mozjs-38') diff --git a/testing/mozjs-38/APKBUILD b/testing/mozjs-38/APKBUILD index 67414bdffb..b0369daf2c 100644 --- a/testing/mozjs-38/APKBUILD +++ b/testing/mozjs-38/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: William Pitcock pkgname=mozjs-38 pkgver=38.8.0 -pkgrel=2 +pkgrel=3 pkgdesc="standalone mozilla javascript engine" url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/38" arch="all" @@ -10,12 +10,13 @@ depends="" depends_dev="icu-dev nspr-dev libffi-dev readline-dev" makedepends="$depends_dev python2 perl sed" install="" -subpackages="$pkgname-dev" +subpackages="$pkgname-dev $pkgname-dbg" source="https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.bz2 fix-fortify-system-wrappers.patch copy-headers.patch pkg-config-version.patch - icu-add-bracket.patch" + icu-add-bracket.patch + gcc-alignment.patch" builddir="$srcdir/mozilla-esr38" _builddir="$builddir/js/src" options="!check" @@ -47,4 +48,5 @@ sha512sums="fcd2497a60176b8403a1793d1ad0a1c96a0a60217c2d4d7acd0506abf6810892bd51 a4f613ba4e977796fa024824940bbc1d3df549138612bfcdbb643753d54d4d5bfbf601a12f76312a87ecc7ec595ff34ddefb47c2cd1a6e31252c1fa3a263bdae fix-fortify-system-wrappers.patch 22cc4e4595ddbd7ff037ce5f04755de4156d24921fa57161afbaa6494c795e30b6cfc08e8b999dbcce145c231cc6a3322334134e40f251f514b4688598a75f61 copy-headers.patch f3d87ffa7232e7242c4a1bf2762c2d1d4e190e72bd1c15fe223bce2480769bf577021ca799aab9570e3219144fcd9978e97cf8648f0cb7abe379bcabc9b03c4c pkg-config-version.patch -658df4a957b2e11345dc3caf884d2063b4e492c58f002114d3c8d7b595731cde33d1ad43e02cc2eba4ec0e7a751c3c5bbbf0cacab6ca726f2a1158864b09af8c icu-add-bracket.patch" +658df4a957b2e11345dc3caf884d2063b4e492c58f002114d3c8d7b595731cde33d1ad43e02cc2eba4ec0e7a751c3c5bbbf0cacab6ca726f2a1158864b09af8c icu-add-bracket.patch +fba936027456cc30f3fb17036634a1f572078f4d90b8410b9647b579004b5ca5053ad870d7eeb73f3cf3139832cc2b4949c3c4dc7c0f31b87d4066218a6a5965 gcc-alignment.patch" diff --git a/testing/mozjs-38/gcc-alignment.patch b/testing/mozjs-38/gcc-alignment.patch new file mode 100644 index 0000000000..a3a57d5447 --- /dev/null +++ b/testing/mozjs-38/gcc-alignment.patch @@ -0,0 +1,122 @@ +--- a/js/src/jit/RegisterSets.h 2017-02-10 17:33:06.210702431 -0800 ++++ b/js/src/jit/RegisterSets.h 2017-02-10 17:43:52.877514146 -0800 +@@ -7,7 +7,6 @@ + #ifndef jit_RegisterSets_h + #define jit_RegisterSets_h + +-#include "mozilla/Alignment.h" + #include "mozilla/MathAlgorithms.h" + + #include "jit/JitAllocPolicy.h" +@@ -26,8 +25,8 @@ + Code code_; + + public: +- AnyRegister() +- { } ++ AnyRegister() = default; ++ + explicit AnyRegister(Register gpr) { + code_ = gpr.code(); + } +@@ -156,7 +155,7 @@ + } + #endif + +- ValueOperand() {} ++ ValueOperand() = default; + }; + + // Registers to hold either either a typed or untyped value. +@@ -165,46 +164,25 @@ + // Type of value being stored. + MIRType type_; + +- // Space to hold either an AnyRegister or a ValueOperand. + union U { +- mozilla::AlignedStorage2 typed; +- mozilla::AlignedStorage2 value; ++ AnyRegister typed; ++ ValueOperand value; + } data; + +- AnyRegister& dataTyped() { +- MOZ_ASSERT(hasTyped()); +- return *data.typed.addr(); +- } +- ValueOperand& dataValue() { +- MOZ_ASSERT(hasValue()); +- return *data.value.addr(); +- } +- +- AnyRegister dataTyped() const { +- MOZ_ASSERT(hasTyped()); +- return *data.typed.addr(); +- } +- const ValueOperand& dataValue() const { +- MOZ_ASSERT(hasValue()); +- return *data.value.addr(); +- } +- + public: + +- TypedOrValueRegister() +- : type_(MIRType_None) +- {} ++ TypedOrValueRegister() = default; + + TypedOrValueRegister(MIRType type, AnyRegister reg) + : type_(type) + { +- dataTyped() = reg; ++ data.typed = reg; + } + + MOZ_IMPLICIT TypedOrValueRegister(ValueOperand value) + : type_(MIRType_Value) + { +- dataValue() = value; ++ data.value = value; + } + + MIRType type() const { +@@ -220,11 +198,13 @@ + } + + AnyRegister typedReg() const { +- return dataTyped(); ++ MOZ_ASSERT(hasTyped()); ++ return data.typed; + } + + ValueOperand valueReg() const { +- return dataValue(); ++ MOZ_ASSERT(hasValue()); ++ return data.value; + } + + AnyRegister scratchReg() { +@@ -240,19 +220,18 @@ + // Whether a constant value is being stored. + bool constant_; + +- // Space to hold either a Value or a TypedOrValueRegister. + union U { +- mozilla::AlignedStorage2 constant; +- mozilla::AlignedStorage2 reg; ++ Value constant; ++ TypedOrValueRegister reg; + } data; + + Value& dataValue() { + MOZ_ASSERT(constant()); +- return *data.constant.addr(); ++ return data.constant; + } + TypedOrValueRegister& dataReg() { + MOZ_ASSERT(!constant()); +- return *data.reg.addr(); ++ return data.reg; + } + + public: -- cgit v1.2.3