On Fri, Jul 10, 2026 at 8:31 AM Nikhil Sabharwal via Cygwin
<[email protected]> wrote:
>
> To the developers & maintainers of cygwin
>
> I wanted to reach out regarding Cygwin and its compatibility with Windows
> exploit protection mechanisms, specifically ASLR. My current understanding is
> that MSYS2 has difficulties supporting this feature due to limitations
> inherited from Cygwin. Certain functionality within the compatibility layer
> appears to rely on a fixed address layout, causing binaries with ASLR enabled
> to fail with error messages such as:
>
> *** fatal error - cygheap base mismatch detected - 0xD5F410/0xE9F410
> These are the results I observe when running binaries built with the
> DYNAMICBASE flag enabled.
This seems to work around the problem. Note: I copied the solution
from stackoverflow with no real understanding on my part, so I can't
explain what's going on
LDFLAGS="${LDFLAGS} -Wl,--dynamicbase,--export-all-symbols"
# https://en.wikipedia.org/wiki/Address_space_layout_randomization
#
https://stackoverflow.com/questions/24283918/how-can-i-enable-aslr-dep-and-safeseh-on-an-exe-in-codeblocks-using-mingw
# ASLR with gcc has a problem: -Wl,--dynamicbase doesn't emit the
necessary relocation table.
# As a workaround, you can pass -Wl,--dynamicbase,--export-all-symbols
# NOTE: you can't have both this and profiling (cflags='-pg') enabled!
Regards,
Lee
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple