[all-commits] [llvm/llvm-project] 536f35: [DWARFLinker][DWARFv5] Support debug_loclists.

avl-llvm via All-commits all-commits at lists.llvm.org
Wed Mar 15 03:51:28 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 536f35ea62c62d9b28444b33d173d5f556945c90
      https://github.com/llvm/llvm-project/commit/536f35ea62c62d9b28444b33d173d5f556945c90
  Author: Alexey Lapshin <a.v.lapshin at mail.ru>
  Date:   2023-03-15 (Wed, 15 Mar 2023)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h
    M llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
    M llvm/include/llvm/DWARFLinker/DWARFStreamer.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/DWARFStreamer.cpp
    A llvm/test/tools/dsymutil/Inputs/dwarf5-loclists.o
    M llvm/test/tools/dsymutil/X86/debug-loc-base-addr.test
    A llvm/test/tools/dsymutil/X86/dwarf5-loclists.test
    A llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-loclists.test
    R llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-loclists.test

  Log Message:
  -----------
  [DWARFLinker][DWARFv5] Support debug_loclists.

This patch adds support of DWARFv5 .debug_loclists table.
As DWARFLinker resolves relocations, it is able to always
use DW_FORM_addr instead of DW_FORM_addrx. DW_FORM_addrx
helps to minimize number of relocations, it is also used for
split DWARF. Both of these cases are not relevant for the
DWARFLinker. Thus, this patch converts all DW_FORM_addrx
forms into the DW_FORM_addr. And, as the result, it converts
location lists of DW_FORM_loclistx form into the DW_FORM_sec_offset.
For the --update case all DW_FORM_addrx, DW_FORM_loclistx
are preserved as is.

Depends On D145499

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




More information about the All-commits mailing list