[Top][All Lists]

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

[Bug binutils/23652] addr2line finds and parses external debug informati

From: cvs-commit at gcc dot gnu.org
Subject: [Bug binutils/23652] addr2line finds and parses external debug information but does not use the result for its output
Date: Wed, 27 Nov 2019 01:38:35 +0000


--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <address@hidden>:


commit e76790600aeba4939225eda32e59642ed2813ac8
Author: Alan Modra <address@hidden>
Date:   Tue Nov 26 22:32:51 2019 +1030

    PR23652, Use symbols from debug bfd for _bfd_elf_find_function

    Sometimes DWARF info for a function is incomplete, and the function
    can be retrieved by examining symbols.  However, when separate debug
    files are used it may be that the original file is completely
    stripped of symbols.  This patch teaches BFD to look at symbols from
    the debug file in that case.

    The patch also removes arm_elf_find_function, instead implementing
    elf_backend_maybe_function_sym.  arm_elf_find_function was written
    before the generic _bfd_elf_find_function called maybe_function_sym.
    aarch64 copied arm, so that file gets the same treatment.  There is
    some chance this will speed up arm and aarch64 lookup of function/line.

        PR 23652
        * dwarf2.c (_bfd_dwarf2_stash_syms): New function.
        (_bfd_dwarf2_find_nearest_line): Use it here, passing syms to
        _bfd_elf_find_function.  Call _bfd_elf_find_function in cases
        where _bfd_elf_find_nearest_line would do so.
        * elf.c (_bfd_elf_find_nearest_line): Omit _bfd_elf_find_function
        for dwarf2.
        * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly.  Tidy.
        * elf32-arm.c (elf32_arm_maybe_function_sym): New function.
        (elf_backend_maybe_function_sym): Define.
        (arm_elf_find_function, elf32_arm_find_nearest_line): Delete.
        (bfd_elf32_find_nearest_line): Don't define.
        * elfnn-aarch64.c (elfNN_aarch64_maybe_function_sym): New function.
        (elf_backend_maybe_function_sym): Define.
        (aarch64_elf_find_function, elfNN_aarch64_find_nearest_line): Delete.
        (bfd_elfNN_find_nearest_line): Don't define.

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]