How to sort mixed DWARF32 and DWARF64 .debug_*

Michael Matz matz@suse.de
Fri Nov 13 13:43:05 GMT 2020


Hello,

On Fri, 13 Nov 2020, Nick Clifton via Binutils wrote:

> > Let me rephrase the problem:
> > If a .debug_* output section S can be larger than 32-bit and its section
> > offset is referenced by a DWARF32 input section of itself or another
> > .debug_* output section,
> > the relocation may be subject to 32-bit relocation overflow.
> 
> But in this case using DWARF32 is the wrong thing to do.  The producers
> should be generating DWARF64.  Mitigation is all very well, but it will
> not solve the overall problem, nor will it guarantee good debug info.
> 
> > (We can imagine that for a known large project, most compilation units
> > are DWARF64.
> > Some archives may have DWARF32 debug info and may be difficult to rebuild.
> > This partition scheme can solve the problems.)
> 
> Ok, although I still think that the onus should be on the library maintainers
> to rebuild their binaries.  But I take your point that this might not always
> be practical.

The typical example in such cases are the crt*.o files.  (As are 
system-provided static archives, no matter how bad we think such practice 
is :) libc_nonshared.a? ).


Ciao,
Michael.


More information about the Binutils mailing list