aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-06-30 12:26:32 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-06-30 12:26:32 +0200
commitf60f32b35695eb05d36b83a78f26b833ccb04edf (patch)
tree33398703c3294a751e71d179a4961f2fb961ef07 /gcc/dwarf2out.c
parent21ea4922aceb3ffa50c3d00b8d26da6b41af92cf (diff)
downloadgcc-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.c12
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)