Hi, can_remove_node_now_p has two thikos in it that makes it to remove aliases of comdats that eventually may lead to unresolved symbols. Fixed thus.
Bootstrapped/regtested x86_64-linux, comitted. Honza Index: ChangeLog =================================================================== --- ChangeLog (revision 178808) +++ ChangeLog (working copy) @@ -1,3 +1,8 @@ +2011-09-13 Jan Hubicka <j...@suse.cz> + + PR other/49533 + * ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos. + 2011-09-13 Paul Brook <p...@codesourcery.com> * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. Index: ipa-inline-transform.c =================================================================== --- ipa-inline-transform.c (revision 178808) +++ ipa-inline-transform.c (working copy) @@ -120,8 +120,8 @@ can_remove_node_now_p (struct cgraph_nod return true; for (next = node->same_comdat_group; next != node; next = next->same_comdat_group) - if (node->callers && node->callers != e - && !can_remove_node_now_p_1 (node)) + if ((next->callers && next->callers != e) + || !can_remove_node_now_p_1 (next)) return false; return true; }