From: Dmitrii Bordukov Date: Sat, 19 Jul 2025 12:21:46 +0000 (+0300) Subject: gprofng: do not skip weak symbols X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=00df7c126b9a0e551b32aeba9c7cb71c0e2a8e7e;p=thirdparty%2Fbinutils-gdb.git 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. --- 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) {