[PATCH] gprofng: do not skip weak symbols [try 2]
Vladimir Mezentsev
vladimir.mezentsev@oracle.com
Fri Jul 18 16:15:41 GMT 2025
Please add in your commit message:
PR gprofng/33151
This will update bugzilla.
Thank you for the fixes gprofng.
-Vladimir
On 7/18/25 02:42, Dmitrii Bordukov wrote:
> 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 <static>@ADDRESS(<FILENAME>) instead of proper method
> name.
>
> The bug has been introduced in the commit 470a0288a818.
> ---
> gprofng/src/Stabs.cc | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gprofng/src/Stabs.cc b/gprofng/src/Stabs.cc
> index 116316ed5b6..a5e24f593e5 100644
> --- a/gprofng/src/Stabs.cc
> +++ b/gprofng/src/Stabs.cc
> @@ -1,4 +1,4 @@
> -/* Copyright (C) 2021-2025 Free Software Foundation, Inc.
> +
> Contributed by Oracle.
>
> This file is part of GNU Binutils.
> @@ -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)
> {
More information about the Binutils
mailing list