[committed] dwarf2out.c: fix jit issue with early_dwarf_finished

David Malcolm dmalcolm@redhat.com
Thu Dec 1 21:59:00 GMT 2016


All of the jit testcases that generate debuginfo appear to have been
failing since r240228 on their 2nd in-process iteration on this
assertion in set_early_dwarf's ctor:

      gcc_assert (! early_dwarf_finished);

Root cause is that the global is never reset at the end of compilation,
which this patch fixes in the obvious way.

Successfully bootstrapped&regrtested on x86_64-pc-linux-gnu; fixes
55 FAILs in jit.sum.

Committed to trunk as r243136 (under the "obvious" rule).

gcc/ChangeLog:
	* dwarf2out.c (dwarf2out_c_finalize): Reset early_dwarf and
	early_dwarf_finished.
---
 gcc/dwarf2out.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 66a4919..d87ba21 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -29829,6 +29829,9 @@ dwarf2out_c_finalize (void)
   cold_text_section = NULL;
   current_unit_personality = NULL;
 
+  early_dwarf = false;
+  early_dwarf_finished = false;
+
   next_die_offset = 0;
   single_comp_unit_die = NULL;
   comdat_type_list = NULL;
-- 
1.8.5.3



More information about the Gcc-patches mailing list