ld non-relocatable

Charles Wilson cwilson@ece.gatech.edu
Mon Jul 23 15:17:00 GMT 2001

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.


More information about the Cygwin-apps mailing list