bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gprofng/30089] [display text] Incorrect thread count shown on aarch


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gprofng/30089] [display text] Incorrect thread count shown on aarch64
Date: Mon, 27 Mar 2023 18:53:46 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=30089

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Vladimir Mezentsev
<vmezents@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=66f76c545b293f8b89fef0f996a3a48fa59fae61

commit 66f76c545b293f8b89fef0f996a3a48fa59fae61
Author: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date:   Thu Mar 23 11:46:08 2023 -0700

    gprofng: 30089 [display text] Invalid number of threads

    The real problem is that libcollector doesn't interpose
thread_create@GLIBC_2.34
    We interpose a lot of libC functions (dlopen, fork, pthread_create, etc.).
    Some of these functions have versions. For example, dlopen@GLIBC_2.34,
    dlopen@GLIBC_2.17, dlopen@GLIBC_2.2.5, etc.
    We have to interpose each of the functions because we don't know
    which version of libC will be used during profiling.
    Historically, we have used three versions of scripts
(mapfile.aarch64-Linux,
    mapfile.amd64-Linux, mapfile.intel-Linux).
    Three are not needed. One is enough

    The fixes below include:
     - merged all version symbols into one version script.
     - added new version symbols which are defined in latest versions of libC.
     - removed unused defines and duplicated code.
     - added the DCL_FUNC_VER macro to define the version symbols.

    Tested on x86_64 and aarch64 (OL8/OL9). No regression.

    gprofng/ChangeLog
    2023-03-23  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

            PR gprofng/30089
            * libcollector/Makefile.am: Use libgprofng.ver instead of mapfile.*
            * libcollector/configure.ac: Delete GPROFNG_VARIANT.
            * src/collector_module.h: Move the SYMVER_ATTRIBUTE macro to
collector.h
            * libcollector/collector.h: Add macros (SYMVER_ATTRIBUTE,
DCL_FUNC_VER).
            Remove unused defines.
            * libcollector/dispatcher.c: Interpose functions from libC.
            Clean up the old code.
            * libcollector/iotrace.c: Likewise.
            * libcollector/libcol_util.c: Likewise.
            * libcollector/linetrace.c: Likewise.
            * libcollector/mmaptrace.c: Likewise.
            * libcollector/synctrace.c: Likewise.
            * libcollector/libgprofng.ver: New file.
            * libcollector/Makefile.in: Rebuild.
            * libcollector/configure: Rebuild.
            * libcollector/mapfile.aarch64-Linux: Removed.
            * libcollector/mapfile.amd64-Linux: Removed.
            * libcollector/mapfile.intel-Linux: Removed.
            * libcollector/mapfile.sparc-Linux: Removed.
            * libcollector/mapfile.sparcv9-Linux: Removed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]