------- Additional Comments From rth at gcc dot gnu dot org 2005-03-10 13:37 ------- The problem appears to be unrelated to the referenced patch.
Debugging shows that we have a node that has been removed from the cgraph_nodes list. Because the node is not on the cgraph_nodes list, the node->prev->next == node invariant does not hold, and so the code generated by the chain_next/chain_prev GTY annotations segfaults. The node is still reachable from another node's next_needed, which seems like the real bug. Honza agreed to work on the problem on IRC. The easiest way to show the problem is to manually add if (x != NULL && x != (void *)1 && x->previous == NULL && x != cgraph_nodes) abort (); to gt_ggc_mx_cgraph_node. -- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|rth at gcc dot gnu dot org |jh at suse dot cz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20225