This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: Observation for ALL maintainers who provide dlls (was Re: question for perl maintainer)
- From: Christopher Faylor <cgf-no-personal-reply-please at cygwin dot com>
- To: cygwin-apps at cygwin dot com
- Date: Sat, 9 Jul 2005 21:23:10 -0400
- Subject: Re: Observation for ALL maintainers who provide dlls (was Re: question for perl maintainer)
- References: <000701c584e8$53392420$204861cb@DANNY>
- Reply-to: cygwin-apps at cygwin dot com
On Sun, Jul 10, 2005 at 12:42:12PM +1200, Danny Smith wrote:
>Wouldn't this patch to ld/pe.em solve the e-a-i-b problem?
>
>*** pe.em.orig Sun Jul 10 12:33:54 2005
>--- pe.em Sun Jul 10 12:33:29 2005
>*************** static unsigned long
>*** 666,672 ****
> compute_dll_image_base (const char *ofile)
> {
> unsigned long hash = strhash (ofile);
>! return 0x60000000 | ((hash << 16) & 0x0FFC0000);
> }
> #endif
>
>--- 666,673 ----
> compute_dll_image_base (const char *ofile)
> {
> unsigned long hash = strhash (ofile);
>! /* Avoid conflicts with cygwin1.dll's base of 0x61000000. */
>! return 0x61000000 | ((hash << 16) & 0x0FFC0000);
> }
> #endif
Almost. It would probably have to be something like:
>! return 0x61200000 | ((hash << 16) & 0x0FFC0000);
to avoid loading into cygwin1.dll's current address space.
Am I reading this right, though? auto-image-base puts everything above
0x60000000. That doesn't seem quite right.
cgf