This is the mail archive of the cygwin-apps@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: ld non-relocatable


----- Original Message -----
From: "Charles Wilson" <cwilson@ece.gatech.edu>


> No good.  The --no-relocate switch has exactly the same effect as
> 'objcopy -R .reloc': they both strip ONLY the relocation info and not
> the debugging stuff.  However, when you do that, and try to run an
> executable, you get the following popup:
>
> The application or DLL <path to dll> is not a valid Windows image.
> Please check this against your installation diskette.

Urgle.

> There seems to be some tie between the debug info and the reloc stuff --
> you need both or neither, it seems.  Since 'strip -g' will remove the
> debugging info (but not symbols nor reloc), it is interesting that the
> following works:
>
<snip>

Ah well, worth a crack Nigel. I looked at removing the generation of
relocation info in the pe-dll emulation code, but from what I could see no
objects would get copied into the output if I did that :]. So I need a
replacement set of copy-object logic that doesn't do relocation.

> on my earlier experiments with MSVC/link's /fixed switch.  The DLL's
> generated that way HAVE symbols.  HAVE debug info. DON'T have relocs.
> But executables work.

Yeah - at link time all things are possible. I'll drop this for now, and
when I have a chunk of time to do more than trivial hacks, I'll bring it up
on binutils and see what the correct approach is.

Rob

> Hmmm...
>
> BTW, all tests above were performed with --disable-auto-imports.  One
> thing at a time.

Cool - they are orthogonal though (:]) so it wouldn't make a difference.

> --Chuck
>
>
>
>


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