Give cc1plus enough stack for aquamarine under emulation

DRM.cpp needs more than 8 MiB of compiler stack. GCC raises its own limit
natively, but the aarch64 builder runs under QEMU user-mode emulation, which
fixes the guest stack at exec and ignores setrlimit, so cc1plus segfaulted.
Unpatched 0.15.1 fails the same way. QEMU_STACK_SIZE sizes it at exec; native
builds ignore it and the object code is identical.
This commit is contained in:
Marcelo Alcantara committed 2026-09-25 20:45:29 +10:00
1 parent b27a8c609e
commit 4e58d1c77f
1 file changed
+6
+6
View File
@@ -44,6 +44,12 @@ prepare() {
build() {
cd "$_archive"
# cc1plus needs more than 8 MiB of stack for DRM.cpp. GCC raises its own
# limit natively, but under QEMU user-mode emulation (the aarch64 builder)
# the guest stack is fixed at exec and setrlimit is ignored, so the compiler
# segfaults. QEMU reads this at exec; native builds ignore it. The object
# code is identical either way.
export QEMU_STACK_SIZE=64M
cmake -B build \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release