Message ID | 20150122203943.GL1746@tucnak.redhat.com |
---|---|
State | New |
Headers | show |
On Thu, Jan 22, 2015 at 9:39 PM, Jakub Jelinek <jakub@redhat.com> wrote: > Hi! > > The latest testcase from the PR ICEs on running out of stack during GC > collection, because we have a long chain of dw_loc_descr_nodes. > Am not adding the testcase to the testsuite because it looks too costly. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? Ok. Thanks, Richard. > 2015-01-22 Jakub Jelinek <jakub@redhat.com> > > PR debug/64511 > * dwarf2out.c (struct dw_loc_descr_node): Add chain_next > GTY markup. > > --- gcc/dwarf2out.h.jj 2015-01-05 13:07:14.000000000 +0100 > +++ gcc/dwarf2out.h 2015-01-22 14:58:52.448204612 +0100 > @@ -205,7 +205,7 @@ struct GTY(()) dw_val_node { > /* Locations in memory are described using a sequence of stack machine > operations. */ > > -struct GTY(()) dw_loc_descr_node { > +struct GTY((chain_next ("%h.dw_loc_next"))) dw_loc_descr_node { > dw_loc_descr_ref dw_loc_next; > ENUM_BITFIELD (dwarf_location_atom) dw_loc_opc : 8; > /* Used to distinguish DW_OP_addr with a direct symbol relocation > > Jakub
--- gcc/dwarf2out.h.jj 2015-01-05 13:07:14.000000000 +0100 +++ gcc/dwarf2out.h 2015-01-22 14:58:52.448204612 +0100 @@ -205,7 +205,7 @@ struct GTY(()) dw_val_node { /* Locations in memory are described using a sequence of stack machine operations. */ -struct GTY(()) dw_loc_descr_node { +struct GTY((chain_next ("%h.dw_loc_next"))) dw_loc_descr_node { dw_loc_descr_ref dw_loc_next; ENUM_BITFIELD (dwarf_location_atom) dw_loc_opc : 8; /* Used to distinguish DW_OP_addr with a direct symbol relocation