Hi,
this patch solves second problem seen on libreoffice build. Here cgraph
decides to output
alias, but because assemble_alias still contains the old alias pair path, it
ends up adding
the alias pair that is later discarded and alias not output.
This will be cleaned up once I turn weakrefs to the new alias infrastructure.
Hopefully
next week.
Honza
Bootstrapped/regtested x86_64-linux, comitted.
PR other/49533
* cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output.
Index: cgraphunit.c
===================================================================
--- cgraphunit.c (revision 178808)
+++ cgraphunit.c (working copy)
@@ -1772,9 +1772,15 @@ assemble_thunks_and_aliases (struct cgra
if (ref->use == IPA_REF_ALIAS)
{
struct cgraph_node *alias = ipa_ref_refering_node (ref);
+ bool saved_written = TREE_ASM_WRITTEN (alias->thunk.alias);
+
+ /* Force assemble_alias to really output the alias this time instead
+ of buffering it in same alias pairs. */
+ TREE_ASM_WRITTEN (alias->thunk.alias) = 1;
assemble_alias (alias->decl,
DECL_ASSEMBLER_NAME (alias->thunk.alias));
assemble_thunks_and_aliases (alias);
+ TREE_ASM_WRITTEN (alias->thunk.alias) = saved_written;
}
}