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

--- Comment #13 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Iain Sandoe from comment #12)
> (In reply to rguent...@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.

Which verifies (according to llvm-dwarfdump) and looks sane on readelf -wi.

The -r output file is deleted for the prelink case, so can't easily check that.

(since the problem exists before and after the change, perhaps I can find the
rev that improves the save-temps)

Reply via email to