This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: Making cygwin1.dll, unrelocateable.
On Tue, Jun 11, 2002 at 11:02:20AM -0400, Christopher Faylor wrote:
> On Tue, Jun 11, 2002 at 08:59:19AM -0400, Jason Tishler wrote:
> >On Sun, Jun 09, 2002 at 09:59:28PM -0400, Christopher Faylor wrote:
> >> I think we agreed a while ago that it would be a good idea to make the
> >> cygwin DLL always occupy the same space in memory. I know that this
> >> would be a good thing for cases where c++ method pointers are stored in
> >> shared memory.
> >
> >The above will remove the special case in setup.exe's rebase
> >functionality to skip rebasing the Cygwin DLL. Although, can we change
> >the ImageBase from 0x61000000 to 0x60000000 to avoid having to rebase
> >around it?
>
> Why does that help? IIRC when I chose the 0x61000000 location, I did so
> because using 0x60000000 (which, I think, is the "correct" proposed
> location for cygwin) conflicted with some other Windows DLL.
Various sources seem to indicate that the "best" range to rebase DLLs is
0x60000000 - 0x68000000. One source is the MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/perfutil_2z39.asp
Specifically,
Therefore, you should base your DLLs from 0x60000000 to 0x68000000.
So, I thought that it would be easiest to locate the Cygwin DLL at
0x60000000 and rebase the app DLLs down from 0x68000000.
Regarding the conflict, the above URL states the following:
The system DLLs are currently based in memory from 0x70000000 to
0x78000000 (0x68000000 to 0x78000000 on MIPS).
so there "shouldn't" be a conflict with the Windows system DLLs. Do you
recall precisely which DLL caused the conflict?
Jason