X-Spam-Check-By: sourceware.org From: "Dave Korn" To: Subject: RE: 1.0:Question about Cygwin1.dll crashing with DEP/NX Date: Tue, 30 May 2006 17:24:01 +0100 Message-ID: <032201c68405$75b8b520$a501a8c0@CAM.ARTIMI.COM> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 In-Reply-To: Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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: > Exception: STATUS_ACCESS_VIOLATION > 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? cheers, DaveK -- Can't think of a witty .sigline today.... -- 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/