summaryrefslogtreecommitdiff
path: root/dev-qt/qtbase/files/qtbase-6.5.2-hppa-forkfd-grow-stack.patch
blob: ccada9f80e3492f1ad026b51f382d4cc0e5e39b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Patch taken from Debian[1], largely broken on HPPA without and several
tests give segmentation faults[2].

Needs upstreaming if someone familiar with HPPA wants to give this
attention. Note forkfd is essentially maintained in qtbase's repo[3]
rather than truly third party.

[1] https://bugs.debian.org/1042018
[2] https://bugs.gentoo.org/914371
[3] https://code.qt.io/cgit/qt/qtbase.git/tree/src/3rdparty/forkfd

Description: Change how stack grows on HPPA.
 On HPPA stack grows upwards. This patch introduces this change for
 this 3rd party code.
Author: John David Anglin <dave.anglin@bell.net>
--- a/src/3rdparty/forkfd/forkfd_linux.c
+++ b/src/3rdparty/forkfd/forkfd_linux.c
@@ -170,5 +170,10 @@
     *system = 1;
 
+#if defined(__hppa__)
+    /* Stack grows up */
+    pid = clone(childFn, childStack, cloneflags, token, &pidfd, NULL, NULL);
+#else
     pid = clone(childFn, childStack + sizeof(childStack), cloneflags, token, &pidfd, NULL, NULL);
+#endif
     if (pid < 0)
         return pid;