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

Reply via email to