delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/05/28/07:26:29

Resent-Message-Id: <200405281126 DOT i4SBQRDJ030545 AT delorie DOT com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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: Wed, 26 May 2004 08:49:41 -0400
From: Jason Tishler <jason AT tishler DOT net>
To: "Arms, Mike" <marms AT sandia DOT gov>
Cc: Cygwin <cygwin AT cygwin DOT com>
Subject: Re: rebaseall question
Message-ID: <20040526124941.GA2044@tishler.net>
Mail-Followup-To: "Arms, Mike" <marms AT sandia DOT gov>, Cygwin <cygwin AT cygwin DOT com>
References: <16F54D8E44BBEE4BBBDB5EFB3AEEB86D8025C9 AT es06snlnt DOT sandia DOT gov>
Mime-Version: 1.0
In-Reply-To: <16F54D8E44BBEE4BBBDB5EFB3AEEB86D8025C9@es06snlnt.sandia.gov>
User-Agent: Mutt/1.4.1i
Resent-From: Jason Tishler <jason AT tishler DOT net>
Resent-Date: Fri, 28 May 2004 07:30:53 -0400
Resent-To: Cygwin <cygwin AT cygwin DOT com>
X-IsSubscribed: yes

Mike,

Please post instead of sending private email.

On Tue, May 25, 2004 at 02:08:49PM -0600, Arms, Mike wrote:
> I began my search trying to get the Perl module GD::Text
> to compile under Cygwin and Cywin Perl 5.8.2-1 .
> The "make" step would fail right away with:
> 
> Checking if your kit is complete...
> Looks good
> C:\cygwin\bin\perl.exe (2780): *** unable to remap
> C:\cygwin\bin\cygfreetype-6.dll to same address as parent(0x?) != 0xD00000
>      10 [main] perl 2936 sync_with_child: child 2780(0x27C) died before
> initialization with status code 0x1
>    3880 [main] perl 2936 sync_with_child: *** child state child loading dlls
> 
> Note: in the log above, I neglected to grab the hex address so
> I just show it as 0x? .
> 
> So I did some googling and found several references to solving
> this problem by using your "rebaseall" utility. I followed the
> procedure (stopped all cygwin processes, fired up a Cygwin bash
> window, and ran "rebaseall -v"). It did not report that it
> changed "/usr/bin/cygfreetype-6.dll" . And no change when I
> ran "make". So I ran the "rebase" program directly with:
> 
>   rebase -v -b 13631488 /usr/bin/cygfreetype-6.dll
> 
> That indicated that it changed the base address to 0xD00000.
> Ran the make again, and it did a similar complaint with
> "/usr/bin/cygz.dll". I ran rebase on it with an offset based
> on the 60000 size from the previous rebase:
> 
>   rebase -v -b 14024704 /usr/bin/cygz.dll
> 
> So now the "make" is complaining:
> 
>   C:\cygwin\bin\perl.exe (2780): *** unable to remap
> C:\cygwin\bin\cygiconv-2.dll to same address as parent(0xDC0000) != 0xDD0000
> 
> I hesitate to do any more rebasing for fear of totally hosing my
> Cywgin installation. I take it that each of these DLL's need
> a separate base address that does not overlap with any others
> (after taking into consideration their size)?

Yes.

> Is there a way to list the mappings for all of the cygwin DLLs?

The following will display the base addresses for all DLLs install via
Cygwin setup.exe:

    $ zcat /etc/setup/*.gz | grep '.dll$' | sed 's/^/\//' | xargs objdump -p | egrep 'pei-i386|ImageBase'

> Is this contained in a file somewhere?

No.

> Why would rebaseall when passed the Files arguments choose to skip
> them? (That was from the output, although the names of the additional
> Files were not shown.)

IIRC, because they are read-only, non-existent, etc.

> Hoping for some illumination. Thanks.

Note the following:

1. Rebasing is usually an all or nothing operation.  Hence, I typically
only recommend using rebaseall.

2. rebaseall only rebases DLLs installed via Cygwin's setup.exe and the
extra ones possibly specified by the -T option.  So, if your make
produces new DLLs that are dlopen-ed by perl then this could be your
problem.

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


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019