http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60727

--- Comment #4 from Martin Jambor <jamborm at gcc dot gnu.org> ---
OK, the bit is actually calculated when streaming the node out (ugh)
in the following way:

  bp_pack_value (&bp, tag == LTO_symtab_analyzed_node
         && symtab_get_symbol_partitioning_class (node) == SYMBOL_PARTITION
         && (reachable_from_other_partition_p (node, encoder)
             || referenced_from_other_partition_p (&node->ref_list,
                               encoder)), 1);

and with the patch, reachable_from_other_partition_p returns true
because it goes over all callers and if it does not find one in the
encoder it assumes it is in another partition.  The one caller is an
always_inline function that is not streamed after being squashed.

Honza told me on IRC that he would come up with a different patch to
fix the FORTIFY_SOURCE issue so I guess we don't need to fix this.
Otherwise we'd need to aff !flag_wpa or some such thing to the
condition.

Reply via email to