[all-commits] [llvm/llvm-project] 4b825c: [BOLT][DWARF] Add support for transitive DW_AT_nam...

Alexander Yermolovich via All-commits all-commits at lists.llvm.org
Wed Dec 11 14:28:17 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4b825c7417f72ee88ee3e4316d0c01ed463f1241
      https://github.com/llvm/llvm-project/commit/4b825c7417f72ee88ee3e4316d0c01ed463f1241
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    A bolt/test/X86/dwarf5-debug-names-abstract-origin-linkage-name-only.s
    A bolt/test/X86/dwarf5-debug-names-abstract-origin-specification.s

  Log Message:
  -----------
  [BOLT][DWARF] Add support for transitive DW_AT_name/DW_AT_linkage_name resolution for DW_AT_name/DW_AT_linkage_name. (#119493)

This fix handles a case where a DIE that does not have
DW_AT_name/DW_AT_linkage_name, but has a reference to another DIE using
DW_AT_abstract_origin/DW_AT_specification. It also fixes a bug where
there are cross CU references for those attributes. Previously it would
use a DWARF Unit of a DIE which was being processed The
warf5-debug-names-cross-cu.s test just happened to work because how it
was constructed where string section was shared by both DWARF Units.

To resolve DW_AT_name/DW_AT_linkage_name this patch iterates over
references until it either reaches the final DIE or finds both of those
names.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list