Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)
From: Jason Tishler <[email-masked]>
To: Robert Collins <[email-masked]>
Cc: Cygwin <[email-masked]>, Michael Hudson <[email-masked]>, [email-masked]
Date: Tue, 18 Dec 2001 08:33:35 -0500

Rob,

On Sun, Dec 16, 2001 at 07:26:37PM +1100, Robert Collins wrote:
> From: "Jason Tishler" <[email-masked]>
> >           - cygwin1.dll: since I believe that it relies on being based
> >             at 0x61000000
> 
> It does not rely on any base address per se. It *does* reply on the base
> address being consistent between forked/spawned and exec'd parent and
> children.
> [snip]

I knew that I was going to put my foot in my mouth with the above feeble
explanation.  Thanks for setting the record straight.

> >           - cygcurl-2.dll: because it gets "whacked" by rebase and
> >             AFAICT is not used by Python anyway
> 
> Can you detail 'whack' a little more?

    $ cp /usr/bin/cygcurl-2.dll .
    $ file cygcurl-2.dll
    cygcurl-2.dll: MS Windows PE Intel 80386 console DLL
    $ rebase -b 0x68000000 -d cygcurl-2.dll 
    cygcurl-2.dll: new base = 68000000, new size = 20000
    $ file cygcurl-2.dll 
    cygcurl-2.dll: MS-DOS executable (EXE), OS/2 or MS Windows
    $ objdump -p cygcurl-2.dll
    objdump: cygcurl-2.dll: File format not recognized

The above seems to indicated that cygcurl-2.dll did not "survive" a rebase
which is why I used the term "whacked."

> >           - cygtclpip80.dll: because it appears not to be relocatable
> 
> What error do you get?

None.  The rebase is just ineffective which should not be surprising
since:

    $ file cygtclpip80.dll 
    cygtclpip80.dll: MS Windows PE Intel 80386 ... not relocatable
                                                       ^^^^^^^^^^^
> > Hence, the rebasing appears not to completely solve this problem.
> 
> Can you get process explorer to show their address space - get them to
> fail, and stop rather than terminating (usually there is a dialog you
> could leave open or you can use the CYGWIN debug flags).

By "process explorer," do you mean Process Explorer (aka HandleEx) from
Sysinternals?  Or, Process Viewer that is part of Visual Studio?  Or,
something else?

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