[Bug debug/82933] [8 Regression] valgrind error in set_cur_line_info_table with -g

2017-11-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82933

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek  ---
Fixed.

[Bug debug/82933] [8 Regression] valgrind error in set_cur_line_info_table with -g

2017-11-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82933

--- Comment #4 from Jakub Jelinek  ---
Author: jakub
Date: Tue Nov 21 07:50:15 2017
New Revision: 254987

URL: https://gcc.gnu.org/viewcvs?rev=254987=gcc=rev
Log:
PR debug/82933
* run-rtl-passes.c: Include debug.h.
(run_rtl_passes): Call debug_hooks->assembly_start.
* dwarf2out.c (dwarf2out_assembly_start): Return early if invoked
multiple times.

* gcc.dg/rtl/x86_64/pr82933.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/rtl/x86_64/pr82933.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/run-rtl-passes.c
trunk/gcc/testsuite/ChangeLog

[Bug debug/82933] [8 Regression] valgrind error in set_cur_line_info_table with -g

2017-11-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82933

--- Comment #3 from Jakub Jelinek  ---
Created attachment 42663
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42663=edit
gcc8-pr82933.patch

Or we can just hack around this and hope dwarf2out or others don't rely on some
other hooks to be invoked before actually processing the RTL.

[Bug debug/82933] [8 Regression] valgrind error in set_cur_line_info_table with -g

2017-11-20 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82933

Jakub Jelinek  changed:

   What|Removed |Added

 CC||dmalcolm at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
The problem is that dwarf2out.c relies on
  (*debug_hooks->assembly_start) ();
being called before any RTL is finalized, which the __RTL handling in the C FE
violates.  This debug hook also can't be called more than once, and is invoked
by cgraph.
Would it be possible to stash the RTL somewhere into struct function or the
tree, just set some flag and only perform run_rtl_passes when such a function
is actually queued to be emitted?

[Bug debug/82933] [8 Regression] valgrind error in set_cur_line_info_table with -g

2017-11-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82933

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |8.0
Summary|valgrind error in   |[8 Regression] valgrind
   |set_cur_line_info_table |error in
   |with -g |set_cur_line_info_table
   ||with -g