diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dd06c64c39b..33278d880ae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,11 @@ 2011-09-13 Jan Hubicka - other/49533 + PR other/49533 + * cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output. + +2011-09-13 Jan Hubicka + + PR other/49533 * ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos. 2011-09-13 Paul Brook diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 829bcc72bc0..2dedcc5c31a 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -1772,9 +1772,15 @@ assemble_thunks_and_aliases (struct cgraph_node *node) 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; } }