PR debug/90981 Empty .debug_addr crashes -gdwarf-5 -gsplit-dwarf
authorMark Wielaard <mark@klomp.org>
Wed, 3 Jul 2019 13:08:01 +0000 (13:08 +0000)
committerMark Wielaard <mark@gcc.gnu.org>
Wed, 3 Jul 2019 13:08:01 +0000 (13:08 +0000)
commit6c47a87b661598cfba79925a6fdd1ebf7737bbdc
treee36f5f063bdecf137efda15a7a9e9412f796c7a3
parentcc49641a7132b66a8fdf26038aa1343e60473eaa
PR debug/90981 Empty .debug_addr crashes -gdwarf-5 -gsplit-dwarf

Even if there was no, or an empty address list we would try to generate
a header for the .debug_addr section with -gdwarf-5 and -gsplit-dwarf.
The skeleton DIE would also get a (dangling) DW_AT_addr_base in that case.

PR debug/90981
* dwarf2out.c (add_top_level_skeleton_die_attrs): Only add
DW_AT_addr_base if there is actually a .debug_addr section with
addresses.
(output_addr_table): Add DWARF5 table header generation here after
checking there are actually any addresses from...
(dwarf2out_finish): ...here.
* testsuite/g++.dg/pr90981.C: New test.

From-SVN: r273008
gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/g++.dg/pr90981.C [new file with mode: 0644]