The failure is not ASLR but a fork() EAGAIN after msys2-runtime upgrade.
When pacman upgrades msys2-runtime mid-session, the shared memory
region size changes (60344 -> 59320). All subsequent fork() calls in
the same bash session fail with 'Resource temporarily unavailable'
(EAGAIN). The bash runner then exits with code 254.
Fix: split the step into two separate bash sessions:
1. pacman upgrade (msys2-runtime gets upgraded, session exits cleanly)
2. make install (starts fresh with the new msys2-runtime, no stale forks)
The Set-ProcessMitigation step is kept as a precaution but the root
cause was the mid-session runtime upgrade, not ASLR.
bash.exe on GitHub Actions Windows runners fails with exit code 254
when Windows Mandatory ASLR (ForceRelocateImages) is enabled. This
causes the Cygwin/MSYS2 make install step to fail consistently on
both PRs and main.
Fix: disable ForceRelocateImages via Set-ProcessMitigation in a
PowerShell step before invoking bash.exe.
See: https://github.com/appveyor/ci/issues/3777
* make.yml: reduce binary size
* replace manuall strip by RUSTFLAGS
* use linker flags useful to reduce binary size
* remove unwind table by -C force-unwind-tables=no.
Unwind tables are useful for debug.
but we publish milti-call binary containing them from
CICD.yml and individual binaries from size CI.
So we dont hurt debuggability for size bench.
* make.yml: add comment about binary size
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
---------
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>