X-Spam-Check-By: sourceware.org
To: cygwin@cygwin.com
From: Ross Patterson <me@rpatterson.net>
Subject:  Re: Cygwin Python/PIL TCL/TK fork rebase solution
Date:  Tue, 16 Jan 2007 10:09:50 -0800
Lines: 31
Message-ID:  <87zm8ihmhd.fsf@superfluity.lefae.org>
References:  <87ejpvluvj.fsf@superfluity.lefae.org> 	<3D1F5241A4BA56B7EBA1D30B@qjunbur.quns.cam.ac.uk> 	<45ACC59F.397A6589@dessent.net> <45ACCBEF.49170261@dessent.net> 	<C997D9C1A0EA00B6C5A47F1F@qjunbur.quns.cam.ac.uk> 	<20070116175838.GB14405@trixie.casa.cgf.cx>
Mime-Version:  1.0
Content-Type:  text/plain; charset=us-ascii
User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.92 (gnu/linux)
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com> writes:

> On Tue, Jan 16, 2007 at 05:50:06PM +0000, Robin Walker wrote:
>>For this to be the problem it appears to be, I'm guessing that there must 
>>be some shortcoming in the Windows APIs in this area when compared with 
>>facilities available within other Posix-compliant OSs.
>
> It isn't a shortcoming at all.  Windows is perfectly within its rights
> to put DLLs whereever it wants.  Windows doesn't implement fork() so it
> doesn't have to worry about creating a new process whose addresss space
> is a carbon copy of another process.
>
>>How does Linux deal with the same issues of having libraries (or whatever 
>>are logically equivalent to DLLs) potentially linked at different bases in 
>>the two address spaces?
>
> fork() is part of the OS in Linux and the fork() function is absolutely
> intrinsic and necessary for anything on Linux or UNIX to work correctly.
> It doesn't have to deal with anything like this since a fork is in the
> low level of the OS, not in a library running in an application.

This has been an illuminating discussion and has given a lot more
detail to what I already understood about the rebase/fork issue.

I'd still like to understand how one chooses base address and offset
values for rebase, seeing as I was just shooting in the dark until
something said "OWW!"  :)

Anyone?

Ross


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

