This is the mail archive of the
mailing list for the Cygwin project.
Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)
- From: Jason Tishler <jason at tishler dot net>
- To: Robert Collins <robert dot collins at itdomain dot com dot au>
- Cc: Cygwin <cygwin at sources dot redhat dot com>, Michael Hudson <mwh at python dot net>,david_abrahams at users dot sourceforge dot net
- Date: Tue, 18 Dec 2001 08:33:35 -0500
- Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)
- References: <20011210074629.B2148@dothill.com> <118101c1860b$61b48fb0$0200a8c0@lifelesswks>
On Sun, Dec 16, 2001 at 07:26:37PM +1100, Robert Collins wrote:
> From: "Jason Tishler" <email@example.com>
> > - 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
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
$ 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,
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html