qt5: musl libc main thread stack bottom calc

For musl libc, just as for Android, the main thread pretends
to have a tiny stack space. Add a patch based on the one
found at: https://bugreports.qt.io/browse/QTBUG-44268

Closes #3965
This commit is contained in:
Jürgen Buchmüller 2016-04-04 22:08:01 +02:00
parent 18f38bdd17
commit 05abaf453c
2 changed files with 27 additions and 1 deletions

View file

@ -0,0 +1,26 @@
For musl libc the stackBottom for the main thread is recalculated
just as it is for Android. See: https://bugreports.qt.io/browse/QTBUG-44268
--- qtdeclarative/src/qml/jsruntime/qv4engine.cpp 2016-02-26 10:34:34.000000000 +0100
+++ qtdeclarative/src/qml/jsruntime/qv4engine.cpp 2016-04-04 21:52:43.780823136 +0200
@@ -94,6 +94,11 @@
#include <valgrind/memcheck.h>
#endif
+#if defined(Q_OS_LINUX) && !defined(__GLIBC__)
+#include <sys/syscall.h>
+#define gettid() syscall(SYS_gettid)
+#endif
+
QT_BEGIN_NAMESPACE
using namespace QV4;
@@ -147,7 +152,7 @@
pthread_attr_getstack(&attr, &stackBottom, &stackSize);
pthread_attr_destroy(&attr);
-# if defined(Q_OS_ANDROID)
+# if defined(Q_OS_ANDROID) || !defined(__GLIBC__)
// Bionic pretends that the main thread has a tiny stack; work around it
if (gettid() == getpid()) {
rlimit limit;

View file

@ -1,7 +1,7 @@
# Template file for 'qt5'
pkgname=qt5
version=5.6.0
revision=4
revision=5
wrksrc="qt-everywhere-opensource-src-${version}"
homepage="http://qt.io/"
short_desc="A cross-platform application and UI framework (QT5)"