This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Observation for ALL maintainers who provide dlls (was Re: question for perl maintainer)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]