qt5: request stack size on newer musl systems by LDFLAGS
since 1.1.21 musl supports reading the minimal stack size from the PT_GNU_STACK elf header[1]. [1] https://git.musl-libc.org/cgit/musl/commit/?id=7b3348a98c139b4b4238384e52d4b0eb237e4833
This commit is contained in:
parent
fee8fc5b52
commit
acd77ac90f
|
@ -1,32 +0,0 @@
|
||||||
--- qtwebengine/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc.orig 2018-09-19 13:42:22.591109990 +0200
|
|
||||||
+++ qtwebengine/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc 2018-09-19 13:43:38.538113908 +0200
|
|
||||||
@@ -12,11 +12,15 @@
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
|
|
||||||
-// Use 2MB default stack size for Native Client, otherwise use system default.
|
|
||||||
#if defined(__native_client__)
|
|
||||||
+// Use 2MB default stack size for Native Client
|
|
||||||
const size_t kDefaultStackSize = 2 * 1024 * 1024;
|
|
||||||
-#else
|
|
||||||
+#elif defined(__GLIBC__)
|
|
||||||
+// Use system default for Gnu libc
|
|
||||||
const size_t kDefaultStackSize = 0;
|
|
||||||
+#else
|
|
||||||
+// Use 2MB default stack size for Musl libc
|
|
||||||
+const size_t kDefaultStackSize = 2 * 1024 * 1024;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
--- qtwebengine/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc.orig 2018-09-23 17:42:44.130455819 +0200
|
|
||||||
+++ qtwebengine/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc 2018-09-23 17:43:35.195452776 +0200
|
|
||||||
@@ -732,6 +732,9 @@
|
|
||||||
// Default on AIX is 96kB -- bump up to 2MB
|
|
||||||
stack_size = 2 * 1024 * 1024;
|
|
||||||
#endif
|
|
||||||
+#if !defined(__GLIBC__)
|
|
||||||
+ stack_size = 2 * 1024 * 1024;
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
if (stack_size > 0) {
|
|
||||||
result = pthread_attr_setstacksize(&attr, stack_size);
|
|
|
@ -1,20 +0,0 @@
|
||||||
--- qtwebengine/src/3rdparty/chromium/third_party/mesa/src/src/gallium/auxiliary/os/os_thread.h.orig 2018-09-19 17:15:54.558770949 +0200
|
|
||||||
+++ qtwebengine/src/3rdparty/chromium/third_party/mesa/src/src/gallium/auxiliary/os/os_thread.h 2018-09-19 17:22:16.914790675 +0200
|
|
||||||
@@ -62,6 +62,16 @@
|
|
||||||
|
|
||||||
sigfillset(&new_set);
|
|
||||||
pthread_sigmask(SIG_SETMASK, &new_set, &saved_set);
|
|
||||||
+
|
|
||||||
+ pthread_attr_t attr;
|
|
||||||
+ pthread_attr_init(&attr);
|
|
||||||
+#if !defined(__GLIBC__)
|
|
||||||
+ /* For Musl libc set a thread stack size of 2 MiB */
|
|
||||||
+ ret = pthread_attr_setstacksize(&attr, 2 * 1024 * 1024);
|
|
||||||
+ if (ret)
|
|
||||||
+ return 0;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
- ret = pthread_create( &thread, NULL, routine, param );
|
|
||||||
+ ret = pthread_create( &thread, &attr, routine, param );
|
|
||||||
pthread_sigmask(SIG_SETMASK, &saved_set, NULL);
|
|
||||||
if (ret)
|
|
|
@ -1,16 +0,0 @@
|
||||||
--- qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp 2018-10-07 21:25:14.377211462 +0200
|
|
||||||
+++ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp 2018-10-07 21:26:13.987214537 +0200
|
|
||||||
@@ -1456,7 +1456,12 @@
|
|
||||||
pthread_cond_init(&m_scavengeCondition, 0);
|
|
||||||
m_scavengeThreadActive = true;
|
|
||||||
pthread_t thread;
|
|
||||||
+ pthread_attr_t attr;
|
|
||||||
+ pthread_attr_init(&attr);
|
|
||||||
+#if !defined(__GLIBC__)
|
|
||||||
+ pthread_attr_setstacksize(&attr, 2 * 1024 * 1024);
|
|
||||||
+#endif
|
|
||||||
- pthread_create(&thread, 0, runScavengerThread, this);
|
|
||||||
+ pthread_create(&thread, &attr, runScavengerThread, this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void* TCMalloc_PageHeap::runScavengerThread(void* context)
|
|
|
@ -1,31 +0,0 @@
|
||||||
--- qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/ThreadingPthreads.cpp.orig 2018-10-07 21:27:22.340218063 +0200
|
|
||||||
+++ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/ThreadingPthreads.cpp 2018-10-07 21:29:30.743224688 +0200
|
|
||||||
@@ -168,8 +168,12 @@
|
|
||||||
ThreadData* threadData = new ThreadData();
|
|
||||||
threadData->entryPoint = entryPoint;
|
|
||||||
threadData->arg = data;
|
|
||||||
-
|
|
||||||
- if (pthread_create(&threadHandle, 0, runThreadWithRegistration, static_cast<void*>(threadData))) {
|
|
||||||
+ pthread_attr_t attr;
|
|
||||||
+ pthread_attr_init(&attr);
|
|
||||||
+#if !defined(__GLIBC__)
|
|
||||||
+ pthread_attr_setstacksize(&attr, 2 * 1024 * 1024);
|
|
||||||
+#endif
|
|
||||||
+ if (pthread_create(&threadHandle, &attr, runThreadWithRegistration, static_cast<void*>(threadData))) {
|
|
||||||
LOG_ERROR("Failed to create pthread at entry point %p with data %p", entryPoint, data);
|
|
||||||
delete threadData;
|
|
||||||
return 0;
|
|
||||||
@@ -180,7 +184,12 @@
|
|
||||||
ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, const char*)
|
|
||||||
{
|
|
||||||
pthread_t threadHandle;
|
|
||||||
- if (pthread_create(&threadHandle, 0, entryPoint, data)) {
|
|
||||||
+ pthread_attr_t attr;
|
|
||||||
+ pthread_attr_init(&attr);
|
|
||||||
+#if !defined(__GLIBC__)
|
|
||||||
+ pthread_attr_setstacksize(&attr, 2 * 1024 * 1024);
|
|
||||||
+#endif
|
|
||||||
+ if (pthread_create(&threadHandle, &attr, entryPoint, data)) {
|
|
||||||
LOG_ERROR("Failed to create pthread at entry point %p with data %p", entryPoint, data);
|
|
||||||
return 0;
|
|
||||||
}
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'qt5'
|
# Template file for 'qt5'
|
||||||
pkgname=qt5
|
pkgname=qt5
|
||||||
version=5.11.3
|
version=5.11.3
|
||||||
revision=3
|
revision=4
|
||||||
wrksrc="qt-everywhere-src-${version}"
|
wrksrc="qt-everywhere-src-${version}"
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
hostmakedepends="cmake clang flex git glib-devel gperf ninja pkg-config
|
hostmakedepends="cmake clang flex git glib-devel gperf ninja pkg-config
|
||||||
|
@ -64,7 +64,7 @@ fi
|
||||||
CFLAGS="-DOPENSSL_NO_PSK -DOPENSSL_NO_NEXTPROTONEG"
|
CFLAGS="-DOPENSSL_NO_PSK -DOPENSSL_NO_NEXTPROTONEG"
|
||||||
CXXFLAGS="${CFLAGS} -Wno-deprecated-declarations -Wno-class-memaccess -Wno-packed-not-aligned"
|
CXXFLAGS="${CFLAGS} -Wno-deprecated-declarations -Wno-class-memaccess -Wno-packed-not-aligned"
|
||||||
# Required for musl libc
|
# Required for musl libc
|
||||||
LDFLAGS="-pthread -ldl -fPIE"
|
LDFLAGS="-pthread -ldl -fPIE -Wl,-z,stack-size=2097152"
|
||||||
|
|
||||||
if [ "$CROSS_BUILD" ]; then
|
if [ "$CROSS_BUILD" ]; then
|
||||||
# Need some devel packages in the host to build qmake, moc, uic, rcc
|
# Need some devel packages in the host to build qmake, moc, uic, rcc
|
||||||
|
|
Loading…
Reference in New Issue