diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-06-30 12:26:32 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-06-30 12:26:32 +0200 |
commit | f60f32b35695eb05d36b83a78f26b833ccb04edf (patch) | |
tree | 33398703c3294a751e71d179a4961f2fb961ef07 /gcc/dwarf2out.c | |
parent | 21ea4922aceb3ffa50c3d00b8d26da6b41af92cf (diff) | |
download | gcc-f60f32b35695eb05d36b83a78f26b833ccb04edf.zip gcc-f60f32b35695eb05d36b83a78f26b833ccb04edf.tar.gz gcc-f60f32b35695eb05d36b83a78f26b833ccb04edf.tar.bz2 |
re PR debug/49364 ([4.7 regressions] Empty .debug_abbrev sections confuse SGI nm)
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.
From-SVN: r175694
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 12 |
1 files changed, 6 insertions, 6 deletions
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) |