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:
1 parent
b27a8c609e
commit
4e58d1c77f
1 file changed
+6
@@ -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
|
||||
|
||||
Reference in new issue
Block a user