Christopher Faylor <[EMAIL PROTECTED]> 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/