bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/15646] gold-generated .gdb_index has duplicated symbols that g


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gold/15646] gold-generated .gdb_index has duplicated symbols that gdb-generated index doesn't
Date: Thu, 28 May 2020 15:26:26 +0000

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

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Tom de Vries <vries@sourceware.org>:

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

commit f030440daa989ae3dadc1fa4342cfa16d690db3c
Author: Tom de Vries <tdevries@suse.de>
Date:   Thu May 28 17:26:22 2020 +0200

    [gdb/symtab] Make gold index workaround more precise

    There's a PR gold/15646 - "gold-generated .gdb_index has duplicated
    symbols that gdb-generated index doesn't", that causes gold to generate
    duplicate symbols in the index.

    F.i., a namespace N1 declared in a header file can be listed for two CUs
that
    include the header file:
    ...
    [759] N1:
            2 [global type]
            3 [global type]
    ...

    This causes a gdb performance problem: f.i. when attempting to set a
    breakpoint on a non-existing function N1::misspelled, the symtab for both
CUs
    will be expanded.

    Gdb contains a workaround for this, added in commit 8943b87476 "Work around
    gold/15646", that skips duplicate global symbols in the index.

    However, the workaround does not check for the symbol kind ("type" in the
    example above).

    Make the workaround more precise by limiting it to symbol kind "type".

    Tested on x86_64-linux, with target boards cc-with-gdb-index and
    gold-gdb-index.

    gdb/ChangeLog:

    2020-05-28  Tom de Vries  <tdevries@suse.de>

            * dwarf2/read.c (dw2_symtab_iter_next, dw2_expand_marked_cus):
Limit
            PR gold/15646 workaround to symbol kind "type".

-- 
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]