This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Use chain_next on struct dw_loc_descr_node for GTY (PR debug/64511)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 22 Jan 2015 21:39:43 +0100
- Subject: [PATCH] Use chain_next on struct dw_loc_descr_node for GTY (PR debug/64511)
- Authentication-results: sourceware.org; auth=none
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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?
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