This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Missing cfgrtl GGC roots
- From: Geoff Keating <geoffk at geoffk dot org>
- To: davem at redhat dot com
- Cc: gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Mon, 24 Jun 2002 10:43:52 -0700
- Subject: Re: Missing cfgrtl GGC roots
- References: <20020624.091326.71011503.davem@redhat.com>
- Reply-to: Geoff Keating <geoffk at redhat dot com>
> Date: Mon, 24 Jun 2002 09:13:26 -0700 (PDT)
> CC: gcc-patches@gcc.gnu.org, geoffk@redhat.com
> From: "David S. Miller" <davem@redhat.com>
>
>
> If anyone is getting mysterious crashes on the mainline, the following
> might explain it. :-)
>
> I'm regtesting this on sparc64-linux and will install it onto the
> mainline once that passes.
>
> Geoffrey, the documentation about GTY(()) in the GCC internals manual
> is a little bit confusing for this case. When adding new GGC roots,
> what exactly is required in Makefile.in? I believe I got it right
> below, but you never know :-)
Yes, that's right. I see why you might be confused, I will send a
patch for the manual.
The patch looks fine.
> 2002-06-24 David S. Miller <davem@redhat.com>
>
> * Makefile.in (GTFILES): Add basic-block.h
> * basic-block.h (label_value_list, tail_recursion_label_list):
> Mark with GTY.
>
> --- Makefile.in.~1~ Thu Jun 20 18:21:37 2002
> +++ Makefile.in Mon Jun 24 09:01:42 2002
> @@ -1813,6 +1813,7 @@
> $(srcdir)/tree.h $(srcdir)/libfuncs.h $(srcdir)/hashtable.h $(srcdir)/real.h \
> $(srcdir)/varray.h $(srcdir)/ssa.h $(srcdir)/insn-addr.h $(srcdir)/cselib.h \
> $(srcdir)/c-common.h $(srcdir)/c-tree.h \
> + $(srcdir)/basic-block.h \
> $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c \
> $(srcdir)/dependence.c $(srcdir)/dwarf2out.c $(srcdir)/emit-rtl.c \
> $(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \
> --- basic-block.h.~1~ Thu Jun 20 18:21:38 2002
> +++ basic-block.h Mon Jun 24 08:58:55 2002
> @@ -267,7 +267,8 @@
>
> /* Special labels found during CFG build. */
>
> -extern rtx label_value_list, tail_recursion_label_list;
> +extern GTY(()) rtx label_value_list;
> +extern GTY(()) rtx tail_recursion_label_list;
>
> extern struct obstack flow_obstack;
>
>
--
- Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>