This is the mail archive of the cygwin 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: ASLR sometimes stops working on Vista with 1.7? [was: Re: Cygwin 1.7 release (was ...)]


On 05/06/2009 11:35, Corinna Vinschen wrote:
Here's another thought:

I examined the address layout of the perl process again, and it struck
me as weird that the base addresses of all the DLLs which get dynamically
loaded by perl are so near together.  It looks like the problem is
actually tightened by the order in which the DLLs are rebased by rebaseall,
and the order in which the DLLs are loaded into the running process.
Some perl DLL (Dumper.dll?) allocates additional memory and that's right
after it's own image.  That's where Cwd.dll is based to.  Cwd.dll gets
rebased and ... poof.

What I did then was to change the offset to rebaseall:

ash$ rebaseall -o 0x20000 (default is 0x10000)

Then I reinstalled /bin/cyggmp-3.dll and reran cygport.  This time
it ran fine.  This is still w/o ASLR flags.

In this configuration, I can reproduce running cygport successfully
every time.

Alright, I tried a few combinations; finally "-b 0x61000000 -d -o 0x20000" (IOW descending from cygwin1's base) got autotools (and KDE4, which was also suffering heavily from this) working again. Mind you, that leaves my last dll at 0x189f0000, and I'm still not finished with KDE yet.


I'm sure more work is needed on this, but in the meantime this workaround seems to do the job. Thanks!


Yaakov


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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