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: [1.7] rebaseall doesn't solve the problem

Corinna Vinschen wrote:
> Success!
> - I removed all Cygwin traces from my TS test machine.
> - I disabled DEP for all applications and rebooted (necessary so that the
>   next step succeeds).
> - I installed a 1.7 distro from scratch.
> - I re-enabled DEP for all apps and rebooted.
> - I disabled the TS hack in the Cygwin DLL, rebuilt it and installed it
>   on the TS machine.
> - I started bash and it crashed.
> - I started ash (always works for some reason).
> - I called "./peflags -t 1 /bin/bash"

But it seems that the rebase package itself, when built, must be sure to
mark peflags.exe as tsaware before packaging it for distribution,
regardless of which ld.exe is used.  Just in case -- otherwise the poor
TS user won't be able to run peflags to fix everything else?

That leads to a small chicken-and-egg problem if somebody tries to build
the rebase package on a TS system, before the new ld is available.  But
we can live with that.

> - I started bash and... it worked!
> - I started GDB and it crashed.
> - I called "./peflags -t 1 /bin/gdb"
> - I started GDB and it worked.
> - I started grep and...
> - I called ... /bin/grep
> - ... worked.
> - ... and ssh ...
> - ... and mkpasswd ...
> - ... and mkgroup ...

Glad to hear it.

> So it seems that setting the TS-aware flag for all applications by
> default is the way to go, same as in Visual C++.

Makes sense.

> Unfortunately that doesn't help us with existing packages in the distro,
> only for new ones, but at least we now have the peflags tool for these
> cases.

Well, we will soon.  There's still a few things to deal with.
  1) code audit. I'd appreciate a thorough review of the code before
recommending that people use this tool on every app in their
installation.  I know, no warranty express or implied, We're Just Mean,
and You Get To Keep The Pieces, but still...
  2) peflagsall
  3) I'd like to make sure that the interface to peflags and the new
option(s) to ld are the same or very similar.  Once Dave posts his patch
for ld to the binutils list, I'm sure there will be much bike-shedding
about the name of the options, and perhaps discussion about the
implementation. I'd like to wait for ld CVS to be updated with Dave's
eventual contribution after those issues are resolved, and then make
whatever changes to peflags seem appropriate before releasing the tool
  4) testing, testing, testing.  Naturally.

Until then, keep the URL to my previous message in this thread handy:
"Download peflags.c from ... and ..." <g>

> Nevertheless, I will disable the TS hack in Cygwin 1.7 now.  We have a
> much better solution now and the hack was a real PITA performance-wise.

I guess, as long as that URL "solution/FAQ answer" is sufficient in the

> Thank you very much for doing that!  I think this deserves a gold star.
> Igor?  Are you still with us?  I didn't see a mail from you since October.

I'm glad you're pleased with the tsaware facilities, but frankly I'm
happier that the dynbase feature SEEMS to reduce the incidence of fork
problems under Vista!  My previously-working 1.7 installation became
downright unusable last week before I wrote this tool.


Unsubscribe info:
Problem reports:

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