This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

lots of aborts in dwarf2out_finish


I regularly build with --with-dwarf2 (which forces dwarf2 debugging to
be default).  I'm seeing a lot of testsuite failures because of an
abort in dwarf2out_finish.

This example is typical:

$ cat /work/src/gcc/gcc/testsuite/gcc.c-torture/compile/951116-1.c
f ()
{
  long long i;
  int j;
  long long k = i = j;

  int inner () {return j + i;}
  return k;
}
$ ./cc1 -O3 -g /work/src/gcc/gcc/testsuite/gcc.c-torture/compile/951116-1.c
 f inner
951116-1.c: At top level:
951116-1.c:10: Internal compiler error in `dwarf2out_finish', 
	       at dwarf2out.c:9942
(gdb) frame 1
#1  0x80d7d4f in dwarf2out_finish () at dwarf2out.c:9942
9942                abort ();
(gdb) l
9934	    if (die->die_parent == NULL)
9935	      {
9936		dw_die_ref origin = get_AT_ref (die, DW_AT_abstract_origin);
9937              if (origin)
9938                add_child_die (origin->die_parent, die);
9939              else if (die == comp_unit_die)
9940                ;
9941              else
9942                abort ();
9943            }
9944          free (node);
9945        }
(gdb) p die
$1 = (struct die_struct *) 0x82a3c80
(gdb) p *die
$2 = {die_tag = DW_TAG_subprogram, die_attr = 0x82a3d20, die_parent = 0x0, 
   die_child = 0x0, die_sib = 0x0, die_offset = 0, die_abbrev = 0}
(gdb) call debug_dwarf_die (die)
DIE    0: DW_TAG_subprogram
  abbrev id: 0 offset: 0
  DW_AT_inline: 3
  DW_AT_type: die -> 0
  DW_AT_decl_line: 7
  DW_AT_decl_file: 1
  DW_AT_name: "inner"

This was not happening a couple of days ago.  You were in this file
recently, so could you look at it?

thanks-
zw

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]