On Mon, Jun 2, 2014 at 5:22 PM, Ilya Enkovich <enkovich....@gmail.com> wrote:
> Hi,
>
> This patch prevents output of both instrumented and not instrumented weakref 
> variants.

Shouldn't one of them be reclaimed instead at some point?

Richard.

> Thanks,
> Ilya
> --
> gcc/
>
> 2014-06-02  Ilya Enkovich  <ilya.enkov...@intel.com>
>
>         * cgraphunit.c (output_weakrefs): If there are both
>         instrumented and original versions, output only one
>         of them.
>
>
> diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
> index c5c3333..ae9e699 100644
> --- a/gcc/cgraphunit.c
> +++ b/gcc/cgraphunit.c
> @@ -2111,9 +2111,13 @@ static void
>  output_weakrefs (void)
>  {
>    symtab_node *node;
> +  cgraph_node *cnode;
>    FOR_EACH_SYMBOL (node)
>      if (node->alias
>          && !TREE_ASM_WRITTEN (node->decl)
> +       && (!(cnode = dyn_cast <cgraph_node> (node))
> +           || !cnode->instrumented_version
> +           || !TREE_ASM_WRITTEN (cnode->instrumented_version->decl))
>         && node->weakref)
>        {
>         tree target;

Reply via email to