Advise needed on varasm.c constant recording bug

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Mon Dec 31 17:10:00 GMT 2001


    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.



More information about the Gcc mailing list