From 00df7c126b9a0e551b32aeba9c7cb71c0e2a8e7e Mon Sep 17 00:00:00 2001 From: Dmitrii Bordukov Date: Sat, 19 Jul 2025 15:21:46 +0300 Subject: [PATCH] gprofng: do not skip weak symbols PR gprofng/33151 gprofng ignores functions that are compiled as weak symbols. This heavily affects C++ class methods that are always compiled by g++ and clang++ as weak symbols. In this case 'gprofng display text' just displays @ADDRESS() instead of proper method name. The bug has been introduced in the commit 470a0288a818. --- gprofng/src/Stabs.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gprofng/src/Stabs.cc b/gprofng/src/Stabs.cc index 116316ed5b6..20bdf8ba663 100644 --- a/gprofng/src/Stabs.cc +++ b/gprofng/src/Stabs.cc @@ -1546,7 +1546,7 @@ Stabs::readSymSec (Elf *elf, bool is_dynamic) switch (GELF_ST_TYPE (Sym.st_info)) { case STT_FUNC: - if (Sym.st_size == 0 || ELF_ST_BIND (Sym.st_info) == STB_WEAK) + if (Sym.st_size == 0) break; if (Sym.st_shndx == 0) { -- 2.47.2