https://sourceware.org/bugzilla/show_bug.cgi?id=30783
--- Comment #11 from Sourceware Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jan Beulich <[email protected]>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0e00e431608f6d5bf79348471b321ec35f318ee6 commit 0e00e431608f6d5bf79348471b321ec35f318ee6 Author: bhkumarn <[email protected]> Date: Fri Nov 6 14:14:05 2026 +0100 bfd: Fix addr2line for skipped DW_FORM_ref_addr CUs and DWARF5 one-file line tables For clang compiled objects, addr2line can miss a later compilation unit when an earlier CU is scanned and DW_FORM_ref_addr causes stash_comp_unit to parse ahead. Those units never go through the sequential reader. Queue them on unsearched_units and search only that small set. Separately, PR 30783 starts the DWARF5 line state machine at file index 1. A table that contains only file 0 then reports a bad file number. Keep the initial index at 1 when that slot exists; fall back to file 0 only for a one-entry DWARF5 table. bfd/ * dwarf2.c (struct dwarf2_debug_file): Add unsearched_units. (struct comp_unit): Add next_unsearched. (decode_line_info): Fall back to file 0 when a DWARF5 line table has no file 1. (find_abstract_instance): Queue CUs parsed via DW_FORM_ref_addr or DW_FORM_GNU_ref_alt. (_bfd_dwarf2_find_nearest_line_with_alt): Drain unsearched_units as a work queue after the sequential scan. -- You are receiving this mail because: You are on the CC list for the bug.
