mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 21:37:15 +02:00
testing/mozjs-38: add gcc6 bad code generation workaround, add -dbg package
This commit is contained in:
parent
a23717b73f
commit
abeab1b01b
@ -1,7 +1,7 @@
|
||||
# Maintainer: William Pitcock <nenolod@dereferenced.org>
|
||||
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"
|
||||
|
122
testing/mozjs-38/gcc-alignment.patch
Normal file
122
testing/mozjs-38/gcc-alignment.patch
Normal file
@ -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<AnyRegister> typed;
|
||||
- mozilla::AlignedStorage2<ValueOperand> 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<Value> constant;
|
||||
- mozilla::AlignedStorage2<TypedOrValueRegister> 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:
|
Loading…
Reference in New Issue
Block a user