peflags warning and tsaware flags

Corinna Vinschen corinna-cygwin@cygwin.com
Fri Apr 27 07:37:00 GMT 2012


On Apr 27 07:57, Achim Gratz wrote:
> Larry Hall (Cygwin) writes:
> > Does this help?
> 
> Thanks, I've been reading this before.  Tentatively I concluded that all
> Cygwin executables should have the +tsaware set, I just wanted to make
> sure that there aren't some that I would break if I do this.

To the contrary.  Originally we didn't care for the tsaware flag at all,
up to the point when we encountered that bash just crashed on a
TS-enabled 2008 Server.

After some debugging I found that, on a TS-enabled machine, the system
loads an additional DLL if an application is not marked as tsaware.  I
don't know what this DLL is doing exactly, but apparently it performs
certain tests on the executable to search for possible incompatibilities
of an application and then changes the system behaviour to match the
application's (or the system's) expectations.

Unfortunately it turned out that the DLL could also leave the process in
a broken state.  In case of bash it changed the page protection of parts
of the .text segment to non-executable, which then resulted in a SEGV.
I opened a support case at Microsoft, but it has been rejected.

So, adding the tsaware flag to Cygwin executables might not help, but
should never hurt.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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



More information about the Cygwin mailing list