This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Windows heaps and Cygwin heap


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!)

Ryan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]