From: hongtao.liu Date: Tue, 14 Jan 2025 00:13:22 +0000 (+0100) Subject: Fix name mismatch for fortran. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ae987baeb5fb70877fd007db80b77e374f676c76;p=thirdparty%2Fgcc.git Fix name mismatch for fortran. Function name in afdo_string_table is step3d_t_tile. but DECL_ASSEMBLER_NAME (edge->callee->decl))) gets __step3d_t_mod_MOD_step3d_t_tile, Looks like the prefix is not in the debug string table. The patch uses afdo_string_table->get_index_by_decl (edge->callee->decl) instead. gcc/ChangeLog: PR gcov-profile/118508 * auto-profile.cc (autofdo_source_profile::get_callsite_total_count): Fix name mismatch for fortran. --- diff --git a/gcc/auto-profile.cc b/gcc/auto-profile.cc index 7e0e8c66124..9966d9312e3 100644 --- a/gcc/auto-profile.cc +++ b/gcc/auto-profile.cc @@ -848,8 +848,8 @@ autofdo_source_profile::get_callsite_total_count ( function_instance *s = get_function_instance_by_inline_stack (stack); if (s == NULL - || afdo_string_table->get_index (IDENTIFIER_POINTER ( - DECL_ASSEMBLER_NAME (edge->callee->decl))) != s->name ()) + ||(afdo_string_table->get_index_by_decl (edge->callee->decl) + != s->name())) return 0; return s->total_count ();