PR42288 emit empty .debug_aranges section.

* dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
  when info_section_emitted.

From-SVN: r173340
This commit is contained in:
Mark Wielaard 2011-05-03 19:36:08 +00:00 committed by Mark Wielaard
parent 3af42a7bac
commit 6ac00218e1
2 changed files with 13 additions and 11 deletions

View file

@ -1,3 +1,9 @@
2011-04-26 Mark Wielaard <mjw@redhat.com>
PR42288
* dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
when info_section_emitted.
2011-05-03 Joseph Myers <joseph@codesourcery.com>
* config/mips/mips-opts.h: New.

View file

@ -24587,21 +24587,17 @@ dwarf2out_finish (const char *filename)
}
}
/* Output the address range information. We only put functions in the
arange table, so don't write it out if we don't have any. */
/* Output the address range information if a CU (.debug_info section)
was emitted. We output an empty table even if we had no functions
to put in it. This because the consumer has no way to tell the
difference between an empty table that we omitted and failure to
generate a table that would have contained data. */
if (info_section_emitted)
{
unsigned long aranges_length = size_of_aranges ();
/* Empty .debug_aranges would contain just header and
terminating 0,0. */
if (aranges_length
!= (unsigned long) (DWARF_ARANGES_HEADER_SIZE
+ 2 * DWARF2_ADDR_SIZE))
{
switch_to_section (debug_aranges_section);
output_aranges (aranges_length);
}
switch_to_section (debug_aranges_section);
output_aranges (aranges_length);
}
/* Output ranges section if necessary. */