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


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



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