bug-binutils
[Top][All Lists]
Advanced

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

[Bug binutils/17541] addr2line: function names in anonymous namespaces a


From: cvs-commit at gcc dot gnu.org
Subject: [Bug binutils/17541] addr2line: function names in anonymous namespaces are incorrectly reported.
Date: Wed, 10 Dec 2014 12:32:55 +0000

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

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  e00e81980c70659d0efe686b31a55db5faaa91f9 (commit)
      from  fa15f18deaf6f48e0b415ad3e8864de0b1cf6a39 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

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

commit e00e81980c70659d0efe686b31a55db5faaa91f9
Author: Alan Modra <address@hidden>
Date:   Wed Dec 10 09:51:56 2014 +1030

    Don't return DW_AT_name for function name in C++

    DW_AT_name for functions typically just contains the base function
    name, so lacks namespace, class and parameter information.  It would
    be possible to extract all these from the DWARF, but at a considerable
    complication of the parser in dwarf2.c, and then you'd need to mangle
    it all together.  Much simpler is to look up the actual symbol.  This
    patch does that, avoiding the extra symbol lookup when the language
    doesn't do name mangling.

        PR 17541
        * dwarf2.c (struct comp_unit): Add "lang".
        (non_mangled): New function.
        (struct funcinfo): Add "is_linkage".  Reorder for better packing.
        Make "name" a const char*.
        (lookup_address_in_function_table): Delete functionname_ptr param.
        (find_abstract_instance_name): Add is_linkage param.  Set if we
        have DW_AT_linkage_name or non_mangled DW_AT_name.
        (scan_unit_for_symbols): Similarly set func->is_linkage.
        (parse_comp_unit): Stash DW_AT_language.
        (comp_unit_find_nearest_line): Replace functionname_ptr param
        with function_ptr param.
        (_bfd_dwarf2_find_nearest_line): Adjust above calls.  Set
        functionname_ptr from function->name.  Call _bfd_elf_find_function
        to retrieve symbol for function if not linkage name.
        (_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from..
        * elf.c (elf_find_function): ..here.
        (_bfd_elf_find_nearest_line): Adjust calls.
        * elf-bfd.h (_bfd_elf_find_function): Declare.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog |   22 ++++++
 bfd/dwarf2.c  |  228 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 bfd/elf-bfd.h |    2 +
 bfd/elf.c     |  130 ++------------------------------
 4 files changed, 229 insertions(+), 153 deletions(-)

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