From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29771 invoked by alias); 18 Jun 2002 14:33:01 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 29743 invoked from network); 18 Jun 2002 14:32:57 -0000 Received: from unknown (HELO smtp.comcast.net) (24.153.64.2) by sources.redhat.com with SMTP; 18 Jun 2002 14:32:57 -0000 Received: from althea.tishler.net (bgp572446bgs.eatntn01.nj.comcast.net [68.39.6.197]) by mtaout05.icomcast.net (iPlanet Messaging Server 5.1 HotFix 0.8 (built May 13 2002)) with SMTP id <0GXW00D3OOEB29@mtaout05.icomcast.net> for cygwin@cygwin.com; Tue, 18 Jun 2002 10:32:36 -0400 (EDT) Received: by althea.tishler.net (sSMTP sendmail emulation); Tue, 18 Jun 2002 10:34:36 -0400 Date: Tue, 18 Jun 2002 08:36:00 -0000 From: Jason Tishler Subject: Re: Rebase 1.5-1: Causes invalid page fault In-reply-to: <20020618125246.33368.qmail@web21007.mail.yahoo.com> To: Nicholas Wourms Cc: cygwin@cygwin.com Mail-followup-to: Nicholas Wourms , cygwin@cygwin.com Message-id: <20020618143435.GG1568@tishler.net> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline User-Agent: Mutt/1.4i References: <20020618123900.GD1568@tishler.net> <20020618125246.33368.qmail@web21007.mail.yahoo.com> X-SW-Source: 2002-06/txt/msg00900.txt.bz2 Nicholas, On Tue, Jun 18, 2002 at 05:52:46AM -0700, Nicholas Wourms wrote: > --- Jason Tishler wrote: > > Since there have been many new packages added since then, one needs to > > determine if more DLLs need to be skipped too. > > Short of starting a program linked againsted a "potential" corrupted dll, > is there any other way to know if the dll was corrupted? Perhaps some > heuristics in rebase to detect this (if possible) and restore the original > dll returning a message stating that corruption has occurred might be the > way to go? The above has already been suggested by Rob. Although inconvenient, I don't see a way around it unless someone figures out how to prevent the corruption from occurring in the first place. > Perhaps there is something common in the mangled dlls hex that can be > used to identify this corruption? At the command line, you can use file: $ file cygcurl-2.dll cygcurl-2.dll: MS Windows PE Intel 80386 console DLL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ $ rebase -d -b 0x68000000 -o 0x10000 cygcurl-2.dll C:\cygwin\tmp\cygcurl-2.dll: new base = 67ff0000, new size = 30000 $ file cygcurl-2.dll cygcurl-2.dll: MS-DOS executable (EXE), OS/2 or MS Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Inside of a program, you can examine the PE header (specifically the PE characteristics field). See rebaser::is_rebaseable() in the following: http://cygwin.com/ml/cygwin-apps/2002-02/msg00010.html for some ideas. > > Yes, please. I'm willing to review your drafts. > > I'll draw up a tentitive version using the LDP HOWTO sgml style and send > it as soon as it is ready. You know, it occurs to me that cygwin is > getting big enough to justify a Cygwin Documentation Project... Anyhow, > I'm going to cull the archives for questions on rebase, please tell me if > there are any other MLs on which you discussed this. It should "all" be on the cygwin lists, but I have discussed this issue on the Python list too. The Python discussion has been captured here: http://www.zope.org/Members/dgeorgieff/howto_zope_cvs_on_cygwin/ > > OK, the above indicates that rebase.exe is blowing up in the call to > > ReBaseImage(). So, either these is a problem with ReBaseImage() (under > > Me) or bad arguments are being passed. Can you get the values of the > > arguments? > > Forgive my ignorance, but how do you suggest I approach this? Since > rebase isn't linked against cygwin1.dll, strace doesn't work on it. Is > there a way to do this operation gdb or is there another tool I should > use? Use gdb by setting a breakpoint ("b" command) at the call to ReBaseImage() and then printing ("p" command) out the arguments. Do they look valid? Jason -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/