summaryrefslogtreecommitdiff
path: root/debian/patches/dyson-jsruntime-MemoryManager.patch
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-04-27 14:51:34 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-04-27 14:51:34 +0400
commit68ff2bbe7bbe96d9da6788d3ee9273d1bf50a903 (patch)
tree99a8c985c3b74cbb42dc28660c51eb72b2fec5a6 /debian/patches/dyson-jsruntime-MemoryManager.patch
parent19d586fd1a3fde028c666fb5f49dd66f41b7da36 (diff)
downloadqtdeclarative-68ff2bbe7bbe96d9da6788d3ee9273d1bf50a903.tar.gz
qtdeclarative-opensource-src (5.2.1-5+dyson1)dyson/5.2.1-5+dyson1
* Package for Dyson * debian/libqt5qml5.symbols: added illumos-amd64 arch where amd64 and kfreebsd-amd64 * debian/libqt5quickparticles5.symbol: likewise * Added patches: dyson-qv4engine-getStackLimit.patch dyson-wtf-MathExtras.patch dyson-jsruntime-MemoryManager.patch dyson-jsruntime-pow.patch
Diffstat (limited to 'debian/patches/dyson-jsruntime-MemoryManager.patch')
-rw-r--r--debian/patches/dyson-jsruntime-MemoryManager.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/debian/patches/dyson-jsruntime-MemoryManager.patch b/debian/patches/dyson-jsruntime-MemoryManager.patch
new file mode 100644
index 0000000..bde5c3b
--- /dev/null
+++ b/debian/patches/dyson-jsruntime-MemoryManager.patch
@@ -0,0 +1,30 @@
+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;