Windows heaps and Cygwin heap
Fri May 13 10:32:00 GMT 2011
On 13/05/2011 5:29 AM, Corinna Vinschen wrote:
> On May 13 10:36, Corinna Vinschen wrote:
>> So we now know that we are actually observing a part of the ASLR
>> strategy of NT6. Heap addresses are always randomized. Yes, there is a
>> PE flag which controls ASLR on a per-executable basis, but unfortunately
>> this only influences the usage of ASLR for the executable image itself,
>> as well as the thread stacks. There's no way at all to disable heap ASLR.
> It appears that I misread. The PE flag might not influence stack
> randomization, but what I found in the net is contradictory. However,
> even if stack ASLR is always on, it seems the preferred addresses of
> thread stacks are also in the range below 0x20000000.
Maybe I've been confused by some of that contradictory info as well, but
I had the impression that PE improves dll placement (still random, but
at least consistent for a given login sesssion), but does nothing at all
for heaps, thread stacks, or non-image file mappings. I'd love to be
even partly wrong tho...
In any case, I also have never seen problems above 0x20000000. Should we
also rebase all cyg*.dll to land above that address? Statically-linked
dlls shifting around are a huge problem for me, at least (emacs!)
More information about the Cygwin-developers