This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: ld non-relocatable
Charles Wilson wrote:
>
> BTW, all tests above were performed with --disable-auto-imports. One
> thing at a time.
I get the same behavior with the (also-experimental) auto-imports stuff
turned on. Good to know that the auto-imports doesn't depend in some
funky way on the .reloc section.
Going back to --disable-auto-imports case (just for consistency):
It doesn't make a difference whether you strip out the .reloc section
first (either via objcopy or --no-relocate), and THEN strip out the
debug info, or if you strip out the debug info first and then strip out
the .reloc via objcopy second. In either strip-out-order, executables
will work without .reloc only if the debug info is also absent.
Thus: there is no magic being done to the pei-386 header by 'strip -g',
unless that magic can exist with AND without .reloc. I dunno. This is
a weird one. I wonder if the debug info created by MSVC/'link -DLL
-FIXED' is different from the debug info created by MSVC/'link -DLL'.
That is, the debug information must be generated differently for a
non-relocatable DLL, and currently ld creates it the same way for both
flavors -- thus, our "non-relocatable" dll's only work if we also remove
the erroneous debug info.
--Chuck