This is the mail archive of the
mailing list for the Cygwin project.
Re: What is rebase and why did I need to run it on a fresh re-install?
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
> 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