[Bug debug/90441] [9/10 Regression] corrupt debug info with LTO

iains at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon May 13 11:58:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90441

--- Comment #12 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to rguenther@suse.de from comment #11)
> On Mon, 13 May 2019, iains at gcc dot gnu.org wrote:
> 
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90441
> > 
> > --- Comment #10 from Iain Sandoe <iains at gcc dot gnu.org> ---
> > (In reply to Iain Sandoe from comment #9)
> > > this is on the rev *before* the change, using llvm-dwarfdump from the llvm-7
> > > branch:
> > > 
> > > iains@gcc122:~/gcc-trunk/A$ ../../llvm-710-build/bin/llvm-dwarfdump --verify
> > > firmware.elf
> > > Verifying firmware.elf:	file format ELF64-x86-64
> > > Verifying .debug_abbrev...
> > > Verifying .debug_info Unit Header Chain...
> > > Verifying .debug_info references...
> > > error: invalid DIE reference 0x00000000. Offset is in between DIEs:
> > 
> > so probably a missing pointer?
> 
> It looks like an unresolved relocation - those are to be resolved
> from $label + offset where $label is defined in one of the early
> debug units.  Maybe we miss one early debug file in the link?

It doesn't seem so:
../lto-a/bin/g++ -mtune=generic -march=x86-64 -r -nostdlib -o
/tmp/ccXK3OSgdebugobj /tmp/ccuTtXKldebugobjtem /tmp/ccjVk9Cqdebugobjtem
/tmp/ccodTovvdebugobjtem

and they contain debug_info for the three object files.


More information about the Gcc-bugs mailing list