summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch23
-rw-r--r--dev-qt/qtbase/qtbase-6.6.1-r1.ebuild (renamed from dev-qt/qtbase/qtbase-6.6.1.ebuild)1
-rw-r--r--dev-qt/qtbase/qtbase-6.6.9999.ebuild1
-rw-r--r--dev-qt/qtbase/qtbase-6.9999.ebuild1
4 files changed, 26 insertions, 0 deletions
diff --git a/dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch b/dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch
new file mode 100644
index 000000000000..6b0ff1709abb
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch
@@ -0,0 +1,23 @@
+Avoid crash that happens for some users in qsb, qmake, and
+potentially other Qt tools when ran under sandbox leading
+to build failures for qtdeclarative and other packages.
+
+Former fix involved replacing 4096 by SIGSTKSZ but
+bug #918664 shown that this may be insufficient so this
+tries 32k instead.
+
+https://bugs.gentoo.org/908809
+https://bugs.gentoo.org/908816
+https://bugs.gentoo.org/913493
+https://bugs.gentoo.org/915695
+https://bugs.gentoo.org/918664
+https://codereview.qt-project.org/c/qt/qtbase/+/513140
+--- a/src/3rdparty/forkfd/forkfd_linux.c
++++ b/src/3rdparty/forkfd/forkfd_linux.c
+@@ -158,5 +158,5 @@
+ int system_vforkfd(int flags, pid_t *ppid, int (*childFn)(void *), void *token, int *system)
+ {
+- __attribute__((aligned(64))) char childStack[SIGSTKSZ];
++ __attribute__((aligned(64))) char childStack[32768];
+ pid_t pid;
+ int pidfd;
diff --git a/dev-qt/qtbase/qtbase-6.6.1.ebuild b/dev-qt/qtbase/qtbase-6.6.1-r1.ebuild
index adbaf526bcf1..90146aaed3c8 100644
--- a/dev-qt/qtbase/qtbase-6.6.1.ebuild
+++ b/dev-qt/qtbase/qtbase-6.6.1-r1.ebuild
@@ -136,6 +136,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch
"${FILESDIR}"/${PN}-6.5.2-no-glx.patch
"${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
+ "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
)
src_prepare() {
diff --git a/dev-qt/qtbase/qtbase-6.6.9999.ebuild b/dev-qt/qtbase/qtbase-6.6.9999.ebuild
index adbaf526bcf1..90146aaed3c8 100644
--- a/dev-qt/qtbase/qtbase-6.6.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.6.9999.ebuild
@@ -136,6 +136,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch
"${FILESDIR}"/${PN}-6.5.2-no-glx.patch
"${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
+ "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
)
src_prepare() {
diff --git a/dev-qt/qtbase/qtbase-6.9999.ebuild b/dev-qt/qtbase/qtbase-6.9999.ebuild
index 9516155745e3..4de73e3c0c2f 100644
--- a/dev-qt/qtbase/qtbase-6.9999.ebuild
+++ b/dev-qt/qtbase/qtbase-6.9999.ebuild
@@ -137,6 +137,7 @@ PDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch
"${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
+ "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
)
src_prepare() {