summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2015-02-18 06:30:45 +0000
committerJeroen Roovers <jer@gentoo.org>2015-02-18 06:30:45 +0000
commitee835107157443372fcdd6085e916ed875bcf4e9 (patch)
treedd2246e9632b8d81edc8937c9b4fa22cce544102 /dev-qt/qtdeclarative
parentrevbump; convert -> distutils-r1, rm old (diff)
downloadgentoo-2-ee835107157443372fcdd6085e916ed875bcf4e9.tar.gz
gentoo-2-ee835107157443372fcdd6085e916ed875bcf4e9.tar.bz2
gentoo-2-ee835107157443372fcdd6085e916ed875bcf4e9.zip
Add stack size calculation fix for HPPA (bug #538674).
(Portage version: 2.2.17/cvs/Linux x86_64, signed Manifest commit with key A792A613)
Diffstat (limited to 'dev-qt/qtdeclarative')
-rw-r--r--dev-qt/qtdeclarative/ChangeLog6
-rw-r--r--dev-qt/qtdeclarative/files/qtdeclarative-5.4.0-stack-direction.patch46
-rw-r--r--dev-qt/qtdeclarative/qtdeclarative-5.4.0.ebuild6
3 files changed, 56 insertions, 2 deletions
diff --git a/dev-qt/qtdeclarative/ChangeLog b/dev-qt/qtdeclarative/ChangeLog
index ed3788e4b7d5..709de4f043c3 100644
--- a/dev-qt/qtdeclarative/ChangeLog
+++ b/dev-qt/qtdeclarative/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-qt/qtdeclarative
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-qt/qtdeclarative/ChangeLog,v 1.23 2015/02/03 11:39:02 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-qt/qtdeclarative/ChangeLog,v 1.24 2015/02/18 06:30:45 jer Exp $
+
+ 18 Feb 2015; Jeroen Roovers <jer@gentoo.org> qtdeclarative-5.4.0.ebuild,
+ +files/qtdeclarative-5.4.0-stack-direction.patch:
+ Add stack size calculation fix for HPPA (bug #538674).
03 Feb 2015; Jeroen Roovers <jer@gentoo.org> qtdeclarative-5.4.0.ebuild:
Marked ~hppa too.
diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-5.4.0-stack-direction.patch b/dev-qt/qtdeclarative/files/qtdeclarative-5.4.0-stack-direction.patch
new file mode 100644
index 000000000000..1889fa80c70d
--- /dev/null
+++ b/dev-qt/qtdeclarative/files/qtdeclarative-5.4.0-stack-direction.patch
@@ -0,0 +1,46 @@
+commit a4152c29b6f98c32a30a824bc50a760ce6bad6c7
+Author: Rolf Eike Beer <eb@emlix.com>
+Date: Wed Feb 4 13:24:53 2015 +0100
+
+ QML: do not check stack size if stack grows up
+
+ On architectures where the stack grows upwards (i.e. HP PA-RISC) the
+ stack limit calculation fails because the variables used to check the
+ offset are usually close to the bottom of the stack, which is in this
+ case the origin of the stack grows. Since these machines are a rare
+ obscurity simply simply assume that everything is fine on these
+ machines. The few people that are indeed running QML on such machines
+ will probably be able configure their stack size properly by default.
+
+ Task-number: QTBUG-44268
+ Change-Id: Ia83a39179a0f6e0602ba7a5032d386e12d8d1ba3
+
+diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp
+index 5bba745..6156e5c 100644
+--- a/src/qml/jsruntime/qv4engine.cpp
++++ b/src/qml/jsruntime/qv4engine.cpp
+@@ -108,8 +108,14 @@ quintptr getStackLimit()
+ } else
+ size = pthread_get_stacksize_np(thread_self);
+ stackLimit -= size;
++# elif defined(__hppa)
++ // On some architectures the stack grows upwards. All of these are rather exotic, so simply assume
++ // everything is fine there.
++ // Known examples:
++ // -HP PA-RISC
++ stackLimit = 0;
++
+ # else
+- void* stackBottom = 0;
+ pthread_attr_t attr;
+ #if HAVE(PTHREAD_NP_H) && OS(FREEBSD)
+ // on FreeBSD pthread_attr_init() must be called otherwise getting the attrs crashes
+@@ -117,7 +123,9 @@ quintptr getStackLimit()
+ #else
+ if (pthread_getattr_np(pthread_self(), &attr) == 0) {
+ #endif
++ void *stackBottom = Q_NULLPTR;
+ size_t stackSize = 0;
++
+ pthread_attr_getstack(&attr, &stackBottom, &stackSize);
+ pthread_attr_destroy(&attr); \ No newline at end of file
diff --git a/dev-qt/qtdeclarative/qtdeclarative-5.4.0.ebuild b/dev-qt/qtdeclarative/qtdeclarative-5.4.0.ebuild
index 355fae17b874..089762620c78 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-5.4.0.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-5.4.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-qt/qtdeclarative/qtdeclarative-5.4.0.ebuild,v 1.3 2015/02/03 11:39:02 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-qt/qtdeclarative/qtdeclarative-5.4.0.ebuild,v 1.4 2015/02/18 06:30:45 jer Exp $
EAPI=5
@@ -28,6 +28,10 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}/${P}-stack-direction.patch"
+)
+
src_prepare() {
use localstorage || sed -i -e '/localstorage/d' \
src/imports/imports.pro || die