This is the mail archive of the cygwin-developers@cygwin.com 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]

Re: process-startup headache.


----- Original Message -----
From: "Robert Collins" <robert.collins@itdomain.com.au>


> Hi folk,
>
> A similar-in-appearance problem is occuring with binaries linked by a
> patched ld.exe, (which I just installed tonight, so the first thing is
> not an artifact of that). I'm trying out Paul Solovosky{I hope thats
> right}'s ld-that-auto-imports.
>

This problem is not related to the slow startup problem. The problem is
that the .dll's generated by Paul's ld, have a default base address of
0x610c0000 which collides with cygwin's base addres of 0x61000000.
Cygwin doesn't seem to be relocatable in practice, even though the .dll
is marked as relocatable.

Workaround: To build .dll's with the patched ld that work with cygwin
1.3.2 use -Wl,--image-base=0x10000000 on the gcc commandle line.
(0x10000000 is the default .dll address according to MSDN. [don't
use --dll - --dll creates the 0x610c0000 address that doesn't work).

Long term solution:I think cygwin1.dll should be marked non-relocatable
to prevent .dll's that collide with the cygwin1.dll causing crashes and
unexplained behaviour.

Rob


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