Add stack size calculation fix for HPPA (bug #538674).
authorJeroen Roovers <jer@gentoo.org>
Wed, 18 Feb 2015 06:30:46 +0000 (06:30 +0000)
committerJeroen Roovers <jer@gentoo.org>
Wed, 18 Feb 2015 06:30:46 +0000 (06:30 +0000)
Package-Manager: portage-2.2.17/cvs/Linux x86_64
Manifest-Sign-Key: 0xA792A613

dev-qt/qtdeclarative/ChangeLog
dev-qt/qtdeclarative/Manifest
dev-qt/qtdeclarative/files/qtdeclarative-5.4.0-stack-direction.patch [new file with mode: 0644]
dev-qt/qtdeclarative/qtdeclarative-5.4.0.ebuild

index ed3788e4b7d5d017ad0a04371d0b7a2380dcb20d..709de4f043c3850bef966d462ac1b077051f0b17 100644 (file)
@@ -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.
index 9fee591c6ca18812ef380963499ac5c3524bf3bb..5b70f181b233559b49211b1f0b862b58eabc2ddb 100644 (file)
@@ -1,18 +1,19 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
+AUX qtdeclarative-5.4.0-stack-direction.patch 1866 SHA256 c5767459f2b75c9ffef1c17638c15f96de48efb9a4e44719ee6ced325ebbf8ed SHA512 518c9ea14280fd2b2d1ae8ad4026a217e800c1e1b6081c05f9f226f0b6c0ad53d89fcf897b09f9d2b84432b64741c27db964fbd7ee548872c67d3e85ffc20749 WHIRLPOOL b4e512dd913c6b3b9f0e996dca2539343a257710c4b20977f466ccb2e8586c068aef331bf497b8cdb17630a2e40f5a3f02ab29cca6d7f63eebfadce63ad9cda1
 DIST qt-everywhere-opensource-src-4.8.5.tar.gz 241491467 SHA256 eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138 SHA512 47118d1aa30c59a1eb74e805023cd060edcb35bb0944fe6651889254b75acbd4b83700ba92a9bc215663474d26330cb44f084098c380fac9270742659e5864eb WHIRLPOOL a18f47fd91b522d1543e415aff4f5056202e0cab03da9cfcae9fe2d4118cb1dd1d5fd6a5e2edb9c1e4a68563188d44440e234d268d9c0aef6e3ca3f0988dd357
 DIST qt-everywhere-opensource-src-4.8.6.tar.gz 241623667 SHA256 8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c SHA512 c2d07c3cf9d687cb9b93e337c89df3f0055bd02bc8aa5ecd55d3ffb238b31a4308aeabc3c51a4f94ac76a1b00796f047513d02e427ed93ae8dd99f836fff7692 WHIRLPOOL 473566814a77237dbdd37a47980c1085f6cf39599c4d6b0120959fe80dadf65c4eaafd5f528dd86cea8815562faa204bedfe3b766c2ca4f2d2c99efc21dbca84
 DIST qtdeclarative-opensource-src-5.4.0.tar.xz 18401844 SHA256 e67c9275b0f6869a7c1e8023ad7c0a23fb19f8a8d2f350371e954ead0cfad7b6 SHA512 95ae6e4e6d4eb5dc8e9eec2a8c9b9bba3878850add72a073ab03f7520a40c5ab6525b98177d30b49d02d44c19817bfc336b36bf630cf92b02515f5fff1278971 WHIRLPOOL 727362b9f9819b8a0f12256f8371b31513120be11c37828d6ea5c649669daf77f906737f15e35cec779a742b70dfe88c9b98f61e203ad2e527245953251d6ef8
 EBUILD qtdeclarative-4.8.5.ebuild 1982 SHA256 ef04c159545997c13d866af405727d598073d07dd51a0be315b1d47343f5cc42 SHA512 f3235d4cef1ffc732be9034e12da9ce3217ba8c4532336a0d116bba9902d645c4c5ef93fde1ea94724ea50ab3e5431cb5e7fc072400e7dbcf972935f4ebe6f3f WHIRLPOOL b4fc1afe86e01206ce909154d55d5cc50f90d48fae6c96b2d501c8b589994e88a5e3f8600c31cca541c21e689e8441208063a5188bb36d392e8f5e8888947ea2
 EBUILD qtdeclarative-4.8.6-r1.ebuild 1668 SHA256 a1e78d3dd4bab0a730cd34a95df95d9bd32f9561041df6c7d88461558adc51a4 SHA512 429b08881dd6b705e80803efc9bdab7c91d099cbb6ffe6431c107403e5656304e0029d20ccb2ffa8e001e0fe926665628ded01098ff3a7b64d43b9ef39a4e5b7 WHIRLPOOL 92f3ec750864b8075cd7b899690be78c21ce7dc462bcaadd7b9789bba5b124841f3e44f905a966b8564d55450d22c836ec5e1ef57f0b295bccf0d9bbf9152804
-EBUILD qtdeclarative-5.4.0.ebuild 1289 SHA256 ab5495b3b415831d1a2fa4fdd04163f6fbd863bc6a618cc1f6f067938de2f043 SHA512 cb1e4c54110951ac9eee939a2a3fc44b83a62013b64b318d24656a5a2a8f8a804fe6b83de5797f670c3ad8ae2ed7ed101bfad28a87e5eac7d74a34635105767c WHIRLPOOL d4d5317df91f562706680b7676d90034e4a4e399be49c0631e352a405ebd618c566ff85e9ae437cbcde4982b0e6e336116e8eda59d60fa458c8e478e33649e6a
-MISC ChangeLog 11257 SHA256 1c00d30bf410fd38fbb8d07d45cce72c21c7501cf4b5c34159d8def4ef03e638 SHA512 623f369acef4ed363ce0b6af3658150c9d2b6dde6f43a0811f8bce6d945112339de323d6b2d5b63c902c8bdf75370d3681ad993331d7474ee19fcc763ec6bc54 WHIRLPOOL fa67bf8bfc2f707dd6c901de25a7cb46db72ae5de65ad8561c509ebb62f87eb24ad06480199983d12632d1edfcfcaeb7c9a01034658d3f064ff372fdf955b377
+EBUILD qtdeclarative-5.4.0.ebuild 1344 SHA256 5893aeaedf1be0c49602de770517dee6faaf76d4686527a1ac6963f56db04875 SHA512 90ddb77180d5510e857741470a1d34f5c8dd388b81b1a1db8963aa9ef74a9ba0cb9db66db9545683d07ac09ebbbe48b971c15da0395bb40a18dd5300a692a909 WHIRLPOOL e6e06748312368378c30d18f83952295a00d77d055e2083a11d65d8c05b7fc6f5bcf42b8cc5f2d21570c9985efb52f823b49208870b881899969e70122882c05
+MISC ChangeLog 11442 SHA256 33b10f06aa2cff25a5f424334e43fbaf1d2abe07170bc4650f9dac1d0004dcd9 SHA512 a705a68897ef84914745b11cbd10c89acb7d99904fd9254742e13555c067cdcbd6009eb479fc34081c87a0346f08a3e00638dde943203caca3e0072f191e8fa4 WHIRLPOOL 2ba2c328a72136e7e223be9d044683fb83807eade3b8ecb832bf918ce700fd39907d62cf1ee8c148b2a8bbf5f915844eeb2b3fb29157ecf4f735165451b5bd94
 MISC metadata.xml 936 SHA256 0b7fe39080ec6de4fb909be67c20d791410d24a512dbc805e779c86f6bec6127 SHA512 9fd8fdb6dec2fb0a47ed86a3f74827246147e439551421185b25bfe279e49a9f93d374529041546e9647c0321555dd94f25c690598ae05bb36350b29a8195ca5 WHIRLPOOL cd591d5cf83bcfacc2ef8a9a8dc0d25acb6d38b778a25e4ebc4ba551554b70ee97d90f6341436e8ac97cdec13e9ef21d174fad11a499e4d9cf6c5c4921a16370
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iEYEAREIAAYFAlTQs1gACgkQVWmRsqeSphP9uQCfV0nOmmTmvByL6IjjM2BT/D3R
-lnQAniPGUL1pf13bwHaW9KAIkFiGxl+J
-=LRFK
+iEYEAREIAAYFAlTkMZYACgkQVWmRsqeSphMNkACfZwc5ihouRFfnhZb3G952bIEF
+qOoAn2nMztsOMguWdacq+WRGFL9b65Yb
+=96J4
 -----END PGP SIGNATURE-----
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 (file)
index 0000000..1889fa8
--- /dev/null
@@ -0,0 +1,46 @@
+commit a4152c29b6f98c32a30a824bc50a760ce6bad6c7\r
+Author: Rolf Eike Beer <eb@emlix.com>\r
+Date:   Wed Feb 4 13:24:53 2015 +0100\r
+\r
+    QML: do not check stack size if stack grows up\r
+    \r
+    On architectures where the stack grows upwards (i.e. HP PA-RISC) the\r
+    stack limit calculation fails because the variables used to check the\r
+    offset are usually close to the bottom of the stack, which is in this\r
+    case the origin of the stack grows. Since these machines are a rare\r
+    obscurity simply simply assume that everything is fine on these\r
+    machines. The few people that are indeed running QML on such machines\r
+    will probably be able configure their stack size properly by default.\r
+    \r
+    Task-number: QTBUG-44268\r
+    Change-Id: Ia83a39179a0f6e0602ba7a5032d386e12d8d1ba3\r
+\r
+diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp\r
+index 5bba745..6156e5c 100644\r
+--- a/src/qml/jsruntime/qv4engine.cpp\r
++++ b/src/qml/jsruntime/qv4engine.cpp\r
+@@ -108,8 +108,14 @@ quintptr getStackLimit()\r
+     } else\r
+         size = pthread_get_stacksize_np(thread_self);\r
+     stackLimit -= size;\r
++#  elif defined(__hppa)\r
++    // On some architectures the stack grows upwards. All of these are rather exotic, so simply assume\r
++    // everything is fine there.\r
++    // Known examples:\r
++    // -HP PA-RISC\r
++    stackLimit = 0;\r
++\r
+ #  else\r
+-    void* stackBottom = 0;\r
+     pthread_attr_t attr;\r
+ #if HAVE(PTHREAD_NP_H) && OS(FREEBSD)\r
+     // on FreeBSD pthread_attr_init() must be called otherwise getting the attrs crashes\r
+@@ -117,7 +123,9 @@ quintptr getStackLimit()\r
+ #else\r
+     if (pthread_getattr_np(pthread_self(), &attr) == 0) {\r
+ #endif\r
++        void *stackBottom = Q_NULLPTR;\r
+         size_t stackSize = 0;\r
++\r
+         pthread_attr_getstack(&attr, &stackBottom, &stackSize);\r
+         pthread_attr_destroy(&attr);
\ No newline at end of file
index 355fae17b8742fdf759009955a6a6a866fd4cfe7..089762620c786373c1c14c14075132593f1b9e78 100644 (file)
@@ -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