mudflap versus cgraph
Jan Hubicka
jh@suse.cz
Tue Jun 22 09:17:00 GMT 2004
> Mark Mitchell <mark@codesourcery.com> writes:
>
> > Zack Weinberg wrote:
> >
> >>mudflap has a pass-ordering conflict which I cannot figure out how
> >>to resolve. mudflap_finish() generates and emits a function
> >>(calling tree_rest_of_compilation directly) after cgraph_optimize()
> >>has been called, which is wrong. But it has to do that, because the
> >>set of items to be registered with the mudflap runtime at static
> >>construction time is only determined at final assembly output time
> >>-- the callers of mudflap_enqueue_decl/mudflap_enqueue_constant are
> >>in varasm.c.
> >>
> >
> > I think that's the problem. In the cgraph world, the arbiter of
> > what things are needed is cgraph itself. There should be a hook
> > that cgraph calls to add additional functions -- after it has
> > already decided on everything else.
>
> Right (although there is a concern about later optimization passes
> eliminating the need for some variable or (more likely) constant).
> But that's way more invasive than I want right now.
I can implement such a function, but it will definitly have a
restrictions in a way that it should not touch anything that was not
marked as possible entry point. Objc is using similar hacks as mudflap
do BTW (bypassing cgraph and adding functions directly)
I will be partly offline till 30th, but I can definitly do it after
that.
Honza
>
> > Is this for your IMA fixes? It might be that mudflap has to be
> > broken for a while, while IMA gets fixed...
>
> Yeah, it's for IMA. If it's mudflap's turn to be broken for awhile I
> don't have a problem with that, but I didn't want to spring it on
> people with no notice.
>
> zw
>
More information about the Gcc
mailing list