Making cygwin1.dll, unrelocateable.

Jason Tishler
Tue Jun 11 08:40:00 GMT 2002

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:


    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?


More information about the Cygwin-apps mailing list