On 2023-07-25 4:29 p.m., Patrick Franz wrote:
Due to the lack of resources, it's unlikely we'll even investigate this. However, if you have a patch, I'm happy to apply it.
The attached change fixes the reported segmentation fault in qsb. The change is to src/3rdparty/forkfd/forkfd_linux.c in the qt6-base package. The problem is the system_vforkfd routine assumes the stack direction is down, but on hppa the stack grows up. This causes the childFn argument to be clobbered on the stack and the segmentation fault.
With this change to qt6-base, qt6-declarative builds successfully on hppa. I believe it will also fix the qt6-multimedia build as it appears to fail for the same reason. Somehow, we need to get this installed in the 3rdparty forkfd source so all packages that use it are fixed. Regards, Dave Anglin -- John David Anglin dave.ang...@bell.net
--- ./src/3rdparty/forkfd/forkfd_linux.c.save 2023-07-27 12:04:02.940466337 +0000 +++ ./src/3rdparty/forkfd/forkfd_linux.c 2023-07-27 12:06:53.522077424 +0000 @@ -168,7 +168,12 @@ } *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; if (ppid)