[all-commits] [llvm/llvm-project] fe4880: Emit a .debug_addr section with dsymutil

Shubham Sandeep Rastogi via All-commits all-commits at lists.llvm.org
Sat Jul 22 10:49:28 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fe48801feca0411f5ecfa37fe8802a2b3eece98f
      https://github.com/llvm/llvm-project/commit/fe48801feca0411f5ecfa37fe8802a2b3eece98f
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2023-07-22 (Sat, 22 Jul 2023)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h
    M llvm/include/llvm/DWARFLinker/DWARFStreamer.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/DWARFStreamer.cpp
    M llvm/test/tools/dsymutil/ARM/dummy-debug-map-amr64.map
    A llvm/test/tools/dsymutil/ARM/dwarf5-addr_base.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-addrx-0x0-last.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
    A llvm/test/tools/dsymutil/Inputs/DWARF5-addr_base/1.o
    A llvm/test/tools/dsymutil/Inputs/DWARF5-addr_base/2.o
    A llvm/test/tools/dsymutil/Inputs/DWARF5-addr_base/3.o
    M llvm/test/tools/dsymutil/X86/dwarf5-addrx.test
    M llvm/test/tools/dsymutil/X86/dwarf5-dw-op-addrx.test
    M llvm/test/tools/dsymutil/X86/dwarf5-rnglists.test
    M llvm/test/tools/dsymutil/X86/op-convert-offset.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-addresses.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test

  Log Message:
  -----------
  Emit a .debug_addr section with dsymutil

DWARF5 has support for DW_FORM_addrx, which can be useful for space
savings, but it needs a .debug_addr section to be used. dsymutil does
not have the ability to emit a debug_addr section currently. This patch
adds support for that.

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


  Commit: c5a45b2515e6d2c3d29e86ad41c9be5a88f172d4
      https://github.com/llvm/llvm-project/commit/c5a45b2515e6d2c3d29e86ad41c9be5a88f172d4
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2023-07-22 (Sat, 22 Jul 2023)

  Changed paths:
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    M llvm/test/tools/dsymutil/Inputs/invalid.o
    A llvm/test/tools/dsymutil/dwarf5-addrbase-broken.test

  Log Message:
  -----------
  Do not emit a .debug_addr section if the DW_AT_addr_base is not set.

If the DW_AT_addr_base is not set, dsymutil should not copy any addrx
attributes into the cloned DIE, which will result in no .debug_addr
section being emitted.

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


  Commit: ab7874e945f0ecba4a62605950503b4c5d830c0b
      https://github.com/llvm/llvm-project/commit/ab7874e945f0ecba4a62605950503b4c5d830c0b
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2023-07-22 (Sat, 22 Jul 2023)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h
    M llvm/include/llvm/DWARFLinker/DWARFStreamer.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/DWARFStreamer.cpp
    M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
    M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
    M llvm/test/tools/dsymutil/X86/dwarf5-loclists.test
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-loclists.test

  Log Message:
  -----------
  Change DW_LLE_baseaddr to DW_LLE_baseaddrx in .debug_loclist section

With https://reviews.llvm.org/D154638, the ability to emit a .debug_addr
section has been added to dsymutil. With this, instead of emitting a
DW_LLE_baseaddr in the .debug_loclist section, a DW_LLE_baseaddrx can be
emitted instead, which will allow for more indirection.

Differetial Revision: https://reviews.llvm.org/D155724


Compare: https://github.com/llvm/llvm-project/compare/af32e51a43fb...ab7874e945f0


More information about the All-commits mailing list