aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-03-18 16:18:05 +0000
committerJakub Jelinek <jakub@redhat.com>2011-03-18 16:18:05 +0000
commit7813a6b116d39471734fbf9a50b3ededf64d78c8 (patch)
tree1aecf8a59cfbc06f52fa1411e322505d3765acea
parent688c48ab5f92cadbac9d209d0ae091d582f5179a (diff)
PR debug/48176
* dwarf2out.c (dwarf2out_finish): Call output_aranges even when arange_table_in_use is 0, but either text_section_used or cold_text_section_used is true. Don't call it if !info_section_emitted. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@171150 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/dwarf2out.c3
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4b33a39ba82..26c07837cce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2011-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48176
+ * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
+ arange_table_in_use is 0, but either text_section_used or
+ cold_text_section_used is true. Don't call it if
+ !info_section_emitted.
+
2011-03-18 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 74905e3f53e..5d64b8d3fb9 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -23667,7 +23667,8 @@ 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. */
- if (arange_table_in_use)
+ if ((text_section_used || cold_text_section_used || arange_table_in_use)
+ && info_section_emitted)
{
switch_to_section (debug_aranges_section);
output_aranges ();