On Thu, Jan 13, 2005 at 02:43:22PM -0500, Francis Litterio wrote: > Jason Tishler wrote: > > > Peter, > > > > On Thu, Jan 13, 2005 at 04:29:25AM +0100, Peter Valdemar M?rch wrote: > >> * What does rebase do? > > > > As its name implies, rebase rebases (i.e., changes) the base address of > > DLLs. See the following for more details: > > > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools/rebase.asp > > Why on Earth are virtual addresses hardcoded into DLLs? Do UNIX systems > do this for shared libraries? I've never heard of such a thing under > UNIX. > > Shouldn't the NT kernel's page tables allow DLL text and data sections > to be loaded at any virtual address without requiring a copy of the DLL > to be made (i.e., rebasing)?
AIUI this is true, but for cygwin's fork() to work, the child has to have the DLL's loaded into the same place. So needing the hardcoding is a consequence of the NT kernel not directly supporting fork. -- 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/