[ITP] rebase

Jason Tishler jason@tishler.net
Fri Feb 14 16:43:00 GMT 2003


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
-------------- next part --------------
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);


-------------- next part --------------
--
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/


More information about the Cygwin mailing list