------- Comment #2 from howarth at nitro dot med dot uc dot edu 2010-05-15 05:16 ------- It appears that only darwin uses the set_user_assembler_name() call so we ought to be able to restore the previous behavior with...
Index: gcc/varpool.c =================================================================== --- gcc/varpool.c (revision 159421) +++ gcc/varpool.c (working copy) @@ -321,6 +321,14 @@ || node->force_output) return true; + + /* ??? If the assembler name is set by hand, it is possible to assemble + the name later after finalizing the function and the fact is noticed + in assemble_name then. This is arguably a bug. */ + if (TARGET_MACHO && DECL_ASSEMBLER_NAME_SET_P (decl) + && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))) + return true; + /* Externally visible variables must be output. The exception is COMDAT variables that must be output only when they are needed. */ if (TREE_PUBLIC (decl) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44146