https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104407
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- So at least /* Generate the RTL even if early_dwarf to force mangling of all refered to symbols. */ rtl = rtl_for_decl_init (init, type); if (rtl && !early_dwarf) doesn't apply anymore since we mangle all globals in free-lang-data. But of course we do not actually run free-lang-data without -flto ... assign_assembler_name_if_needed is the part that's needed. I suppose we could, in dwarf2out, do a walk_tree on the initializer and call that function on each decl.