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