Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 Date: Fri, 14 Feb 2003 11:03:54 -0500 From: Jason Tishler Subject: Re: [ITP] rebase In-reply-to: <000101c2d42e$f1bee980$0a1c440a@BRAMSCHE> To: cygwin AT cygwin DOT com Mail-followup-to: cygwin AT cygwin DOT com Message-id: <20030214160354.GE1916@tishler.net> MIME-version: 1.0 Content-type: multipart/mixed; boundary="Boundary_(ID_ok8D19NIhKjjq7gq4izKpA)" User-Agent: Mutt/1.4i References: <20030212132345 DOT GF2160 AT tishler DOT net> <000101c2d42e$f1bee980$0a1c440a AT BRAMSCHE> --Boundary_(ID_ok8D19NIhKjjq7gq4izKpA) Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline Ralf, On Fri, Feb 14, 2003 at 02:42:40PM +0100, Ralf Habacker wrote: > > I'm concerned that my guard might have an off-by-one error and miss > > the last entry. Is there an easy way to check this? > > I have compared this with, what objdump says and it seems there is no > difference. I did some checking and arrived at the same conclusion. > I've checked in your changes additional with some debug informations > printings in Relocations::check() Thanks. I found another bug (most likely introduce by me in a previous patch) when rebasing up and the DLL is already based at the requested address. The attached patch is one way to correct this problem. Thanks, Jason -- PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6 --Boundary_(ID_ok8D19NIhKjjq7gq4izKpA) Content-type: text/plain; charset=us-ascii; NAME=rebaseimage.cc.diff Content-transfer-encoding: 7BIT Content-disposition: attachment; filename=rebaseimage.cc.diff Index: rebaseimage.cc =================================================================== RCS file: /cvsroot/kde-cygwin/tools/rebase/rebaseimage.cc,v retrieving revision 1.6 diff -u -p -r1.6 rebaseimage.cc --- rebaseimage.cc 30 Jan 2003 23:21:43 -0000 1.6 +++ rebaseimage.cc 14 Feb 2003 15:51:19 -0000 @@ -79,6 +79,8 @@ BOOL ReBaseImage( // already rebased if (ntheader->OptionalHeader.ImageBase == *NewImageBase) { + if (!fGoingDown) + *NewImageBase += *NewImageSize; if (Base::debug) std::cerr << "dll is already rebased" << std::endl; SetLastError(NO_ERROR); --Boundary_(ID_ok8D19NIhKjjq7gq4izKpA) Content-Type: text/plain; charset=us-ascii -- 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/ --Boundary_(ID_ok8D19NIhKjjq7gq4izKpA)--