[all-commits] [llvm/llvm-project] 4c273c: [DWARFLinker] Refactor cloneAddressAttribute().

avl-llvm via All-commits all-commits at lists.llvm.org
Mon Feb 13 03:26:22 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4c273cd071150912fd6f1e4aee12148cf78a6410
      https://github.com/llvm/llvm-project/commit/4c273cd071150912fd6f1e4aee12148cf78a6410
  Author: Alexey Lapshin <a.v.lapshin at mail.ru>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    A llvm/test/tools/dsymutil/Inputs/call-dwarf5.o
    A llvm/test/tools/dsymutil/X86/dwarf5-call-site-entry-reloc.test
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.h
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp

  Log Message:
  -----------
  [DWARFLinker] Refactor cloneAddressAttribute().

As a preparation for implementing DWARFv5 address ranges generation,
this patch refactors cloneAddressAttribute() method. It has special
handling for addresses which can be relocated in some unrelated value,
for applying relocations twice, for indexed addresses. Instead of
all these special handlings this patch uses general handling:

Read attribute value from InputDIE and apply PCOffset.

Another thing is that current handling of DW_FORM_addrx misses the
fact that relocations might be applied twice in some cases. This
patch fixes this problem also.

Differential Revision: https://reviews.llvm.org/D143269




More information about the All-commits mailing list