summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog9
-rw-r--r--debian/patches/dyson-jsruntime-MemoryManager.patch30
-rw-r--r--debian/patches/dyson-qv4engine-getStackLimit.patch25
-rw-r--r--debian/patches/series1
4 files changed, 24 insertions, 41 deletions
diff --git a/debian/changelog b/debian/changelog
index 84f02d6..28ae5b7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+qtdeclarative-opensource-src (5.3.2-4+dyson1) unstable; urgency=medium
+
+ * Package for Dyson
+ * Removed debian/patches/dyson-jsruntime-MemoryManager.patch
+ * Updated debian/patches/dyson-qv4engine-getStackLimit.patch: also check if
+ stack is "unlimited"
+
+ -- Igor Pashev <pashev.igor@gmail.com> Sun, 01 Mar 2015 18:42:23 +0300
+
qtdeclarative-opensource-src (5.3.2-4) unstable; urgency=medium
* Remove CMake files for plugins, we don't need to ship them.
diff --git a/debian/patches/dyson-jsruntime-MemoryManager.patch b/debian/patches/dyson-jsruntime-MemoryManager.patch
deleted file mode 100644
index bde5c3b..0000000
--- a/debian/patches/dyson-jsruntime-MemoryManager.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Index: qtdeclarative-opensource-src-5.2.1/src/qml/jsruntime/qv4mm.cpp
-===================================================================
---- qtdeclarative-opensource-src-5.2.1.orig/src/qml/jsruntime/qv4mm.cpp 2014-02-02 00:38:02.000000000 +0400
-+++ qtdeclarative-opensource-src-5.2.1/src/qml/jsruntime/qv4mm.cpp 2014-04-27 10:02:29.017973776 +0400
-@@ -67,6 +67,11 @@
- #include <sys/storage.h> // __tls()
- #endif
-
-+#if OS(SOLARIS)
-+#include <thread.h>
-+#include <errno.h>
-+#endif
-+
- QT_BEGIN_NAMESPACE
-
- using namespace QV4;
-@@ -231,6 +236,13 @@
- # if OS(DARWIN)
- void *st = pthread_get_stackaddr_np(pthread_self());
- m_d->stackTop = static_cast<quintptr *>(st);
-+# elif OS(SOLARIS)
-+ stack_t ss;
-+ int rc;
-+ do {
-+ rc = thr_stksegment(&ss);
-+ } while ((rc != 0) && (errno == EAGAIN));
-+ m_d->stackTop = static_cast<quintptr *>(ss.ss_sp);
- # else
- void* stackBottom = 0;
- pthread_attr_t attr;
diff --git a/debian/patches/dyson-qv4engine-getStackLimit.patch b/debian/patches/dyson-qv4engine-getStackLimit.patch
index 09b6006..6d5019b 100644
--- a/debian/patches/dyson-qv4engine-getStackLimit.patch
+++ b/debian/patches/dyson-qv4engine-getStackLimit.patch
@@ -1,11 +1,11 @@
-Index: qtdeclarative-opensource-src-5.2.1/src/qml/jsruntime/qv4engine.cpp
+Index: qtdeclarative/src/qml/jsruntime/qv4engine.cpp
===================================================================
---- qtdeclarative-opensource-src-5.2.1.orig/src/qml/jsruntime/qv4engine.cpp 2014-02-02 00:38:02.000000000 +0400
-+++ qtdeclarative-opensource-src-5.2.1/src/qml/jsruntime/qv4engine.cpp 2014-04-27 09:34:20.425260667 +0400
-@@ -77,6 +77,10 @@
- #if USE(PTHREADS)
- # include <pthread.h>
- # include <sys/resource.h>
+--- qtdeclarative.orig/src/qml/jsruntime/qv4engine.cpp
++++ qtdeclarative/src/qml/jsruntime/qv4engine.cpp
+@@ -84,6 +84,10 @@
+ #if HAVE(PTHREAD_NP_H)
+ # include <pthread_np.h>
+ #endif
+# if OS(SOLARIS)
+# include <thread.h>
+# include <errno.h>
@@ -13,7 +13,7 @@ Index: qtdeclarative-opensource-src-5.2.1/src/qml/jsruntime/qv4engine.cpp
#endif
QT_BEGIN_NAMESPACE
-@@ -106,6 +110,14 @@
+@@ -113,6 +117,19 @@ quintptr getStackLimit()
} else
size = pthread_get_stacksize_np(thread_self);
stackLimit -= size;
@@ -23,8 +23,13 @@ Index: qtdeclarative-opensource-src-5.2.1/src/qml/jsruntime/qv4engine.cpp
+ do {
+ rc = thr_stksegment(&ss); // can fail only with EAGAIN
+ } while ((rc != 0) && (errno == EAGAIN));
-+ stackLimit = reinterpret_cast<quintptr>(ss.ss_sp);
-+ stackLimit -= ss.ss_size;
++ // Is stack "unlimited" ?
++ if (ss.ss_size == RLIM_INFINITY) {
++ stackLimit = 0xFFFF800000000000L;
++ } else {
++ stackLimit = reinterpret_cast<quintptr>(ss.ss_sp);
++ stackLimit -= ss.ss_size;
++ }
# else
void* stackBottom = 0;
pthread_attr_t attr;
diff --git a/debian/patches/series b/debian/patches/series
index d4df744..5acf0a7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,4 @@
freebsd_registers.diff
dyson-qv4engine-getStackLimit.patch
dyson-wtf-MathExtras.patch
-dyson-jsruntime-MemoryManager.patch
dyson-jsruntime-pow.patch