http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59469
--- Comment #38 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- So maybe the following patch is enough: diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c index f5f9d1318ee0..bdb536131707 100644 --- a/gcc/lto/lto-symtab.c +++ b/gcc/lto/lto-symtab.c @@ -57,7 +57,7 @@ lto_cgraph_replace_node (struct cgraph_node *node, } /* Merge node flags. */ - if (node->force_output) + if (node->force_output || node->forced_by_abi) cgraph_mark_force_output_node (prevailing_node); if (node->address_taken) {