Mail Archives: cygwin/2012/02/06/06:56:54
Corinna Vinschen writes:
>
> On Feb 6 11:00, Heiko Elger wrote:
> > Corinna Vinschen writes:
> >
> > > >
> > > > Antivirus software is deinstalled, Windows defender is deactivated.
> > > > Rebaseall and peflagsall were running.
> > >
> > > YoU don't need to run peflags. If you have set the ASLR flag, it could
> > > be the culprit. Try resetting it and, I think, reboot the machine. As
> > > far as I understand ASLR on Windows, it stores rebase addresses for DLLs
> > > in a database and always uses the same values until reboot.
> > >
> > Oops - I thought running rebaseall AND peflagsall is recommended on a
win7/64
> > system?
>
> No, that was a misunderstanding at one point. I thought this has been
> removed from the relevant docs.
That's possible - I cannot find this documentation now - but I'm really sure
that I'd read this some months ago.
>
> > I just installed a full cygwin installation (without
games/gnome/kde/audio) in
> > another directory (please note: no snapshot installed) and did the
follwing
> > for testing how many dlls have ASLR bit set:
> >
> > $find . -iname '*.dll' | xargs peflags -v 2>/dev/null |
grep '+dynamicbase' |
> > wc -l
> >
> > [fresh installation]
> > 77 (is this OK?)
> >
> > [old installation with peflagsall run]
> > 1450
> >
> > 1450 DLLs !!! so perhaps this is real problem.
> >
> > But what's about the other possible problem: tsawareness?
> > Should I set tsware for the DLLs - we always use remote desktop for
connecting
> > to other windows machines - so tsware should be set?
> > Is this correct?
>
> Yes and no. Only executables need this flag, it's ignored on DLLs.
> And, gcc sets this flag by default since 4.3.4, so I think there's no
> reason to use it anymore. Latest gcc 4.5.x also sets the large address
> awareness flag on executables. Advantage of that flag: You get an
> extra 2 Gigs of VM per process starting at 0x80000000 on 64 bit systems.
> Cygwin will put its application heap there, so you have more space in the
> lower 2 Gigs for DLL rebasing.
Oops - that was my personal error - I know tsawareness is set to EXE files
only.
>
> > What's the best to reinstall our system, cause I really not know which dll
> > should have set dynamicbase or not?
>
> None of it, actually.
>
> > Use cygwin setup option REINSTALL or remove installation and INSTALL?
>
> Just use peflags to remove the flag instead of reinstalling. I'm not
> sure if some DLLs have this flag set by default in the distro, and in
> that case you're back to square one and have to run peflags anyway.
That's why I did counting dlls with dynamicbase flag already set - in a fresh
installation. So over 77 dlls have set this flag.
Or do you mean to remove the flag on really all DLLs?
So - why do not REINSTALL/INSTALL?
Are there any benefits - expect for the effort of time.
Just two question beyond the scope of this posting:
What's the best and easy way to duplicate a cygwin installation to 25 other
machines?
How to completely remove an cygwin installation includeing registry settings?
best regards
Heiko
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -