diff --git a/gcc/tree.cc b/gcc/tree.cc index 125f38b1cfa..833c3a9cc89 100644 --- a/gcc/tree.cc +++ b/gcc/tree.cc @@ -798,8 +798,9 @@ need_assembler_name_p (tree decl) || DECL_ASSEMBLER_NAME_SET_P (decl)) return false; - /* Abstract decls do not need an assembler name. */ - if (DECL_ABSTRACT_P (decl)) + /* Abstract decls do not need an assembler name, except they + can be looked up by autofdo. */ + if (DECL_ABSTRACT_P (decl) && !flag_auto_profile) return false; /* For VAR_DECLs, only static, public and external symbols need an