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.0:Question about Cygwin1.dll crashing with DEP/NX

On 30 May 2006 17:08, Carry Suryakusuma wrote:

> I have old Cygwin binaries, source codes and build environment for version
> 1.0. These Cygwin binaries crashed badly on the newer Windows XP and later
> with Date Execution Protection (DEP) support running on DEP enabled
> processor.

  Probably some kind of thunk or trampoline or other self-modifying code.
> I think the problem is around the Cygwin1.dll and I would like to fix it
> if I can. I rebuilt the Cygwin1.dll to try to debug it, but it was
> useless. The Cygwin program like tr.exe simply crashed when loading the
> Cygwin1.dll. It created a stackdump with the following content:
> C:\temp\carry\DEP>cat tr.exe.stackdump
>     0       0 [main] C:\Cygwin\bin\cat.exe 1000 handle_exceptions:
>     0    5900 [main] cat 1000 stackdump: Dumping stack trace to
> cat.exe.stackdump

  Well, the address in the stackdump file would have told you where the access
violation occurred, and that should have lead you to the part of the source
that is trying to call to NX code.

> I rebuilt the Cygwin1.dll using the following build environment:
> 1. bash version: GNU bash, version 2.03.0(2)-release (i686-pc-cygwin)
> 2. make version: GNU Make version 3.77, by Richard Stallman and Roland
> McGrath.
> 3. gcc version: 2.9-cygwin-990830
> 4. g++ version: 2.9-cygwin-990830
> 5. ld version: GNU ld 2.9-cygwin-990830
> Is there anyway for me to fix this with the existing source codes and
> probably the build environment and tools that I have to support DEP on
> Windows XP and later?

  Ummm, the versions you're using are seven years out-of-date.  The chances of
them working with operating systems and features that didn't even exist at the
time aren't good.  For example, back in 1999, compilers thought it was OK to
dynamically generate a trampoline on the stack and call out through it,
because nobody had invented DEP at that stage.

  Honestly, if you really want to struggle along without the last seven years
worth of bugfixes to make/gcc/binutils, good luck to you, but nobody's going
to be keen to spend a lot of time helping you refix all those old bugs.....

  Why don't you just update your cygwin installation binaries and then rebuild
all your sources with the up-to-date versions of everything?

Can't think of a witty .sigline today....

Unsubscribe info:
Problem reports:

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