diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 12 |
2 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3ed1193..fceef96 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-06-30 Jakub Jelinek <jakub@redhat.com> + + PR debug/49364 + * dwarf2out.c (output_abbrev_section): Don't return early + if abbrev_die_table_in_use is 1. + (dwarf2out_finish): Instead don't call output_abbrev_section + nor emit abbrev_section_label in that case. + 2011-06-30 Nick Clifton <nickc@redhat.com> * config/v850/v850.h (CPP_SPEC): Define __v850e__ when compiling diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 8ff5c1e..0b5a68a 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -11358,9 +11358,6 @@ output_abbrev_section (void) { unsigned long abbrev_id; - if (abbrev_die_table_in_use == 1) - return; - for (abbrev_id = 1; abbrev_id < abbrev_die_table_in_use; ++abbrev_id) { dw_die_ref abbrev = abbrev_die_table[abbrev_id]; @@ -25226,9 +25223,12 @@ dwarf2out_finish (const char *filename) output_comp_unit (comp_unit_die (), debug_info_level >= DINFO_LEVEL_VERBOSE); /* Output the abbreviation table. */ - switch_to_section (debug_abbrev_section); - ASM_OUTPUT_LABEL (asm_out_file, abbrev_section_label); - output_abbrev_section (); + if (abbrev_die_table_in_use != 1) + { + switch_to_section (debug_abbrev_section); + ASM_OUTPUT_LABEL (asm_out_file, abbrev_section_label); + output_abbrev_section (); + } /* Output location list section if necessary. */ if (have_location_lists) |