This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Advise needed on varasm.c constant recording bug
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: rth at redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 31 Dec 01 18:42:31 EST
- Subject: Re: Advise needed on varasm.c constant recording bug
It's just as "theoretical" as any other GC bug. That is to say,
not theoretical at all. You should be able to make such a test
case fail by using "--enable-checking=gcac".
No, I don't think so. You misunderstand: the bug is not that freed
memory is referenced, it isn't. The bug is that the code assumes that if two
addresses are the same, the types must be. This can only happen if memory
was in fact reused for a later type and two aggregate constants are made,
with the same values for each field and also with the type node at the
same address.
Given the massive simplifiction of varasm.c that would result from
getting rid of the constant descriptors, I'd support cleaning that out
now and not waiting for 3.2.
Well, I'll be away between January 2 and 9, but can do it when I get back.