Emit a .debug_addr section with dsymutil
authorShubham Sandeep Rastogi <srastogi22@apple.com>
Wed, 28 Jun 2023 22:19:35 +0000 (15:19 -0700)
committerShubham Sandeep Rastogi <srastogi22@apple.com>
Sat, 22 Jul 2023 17:41:44 +0000 (10:41 -0700)
commitfe48801feca0411f5ecfa37fe8802a2b3eece98f
treed544535d03de4ce048afa7d99451a40590a3ef59
parentaf32e51a43fb4343f4c407bf1ee051ff78a57494
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
18 files changed:
llvm/include/llvm/DWARFLinker/DWARFLinker.h
llvm/include/llvm/DWARFLinker/DWARFStreamer.h
llvm/lib/DWARFLinker/DWARFLinker.cpp
llvm/lib/DWARFLinker/DWARFStreamer.cpp
llvm/test/tools/dsymutil/ARM/dummy-debug-map-amr64.map
llvm/test/tools/dsymutil/ARM/dwarf5-addr_base.test [new file with mode: 0644]
llvm/test/tools/dsymutil/ARM/dwarf5-addrx-0x0-last.test
llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
llvm/test/tools/dsymutil/Inputs/DWARF5-addr_base/1.o [new file with mode: 0644]
llvm/test/tools/dsymutil/Inputs/DWARF5-addr_base/2.o [new file with mode: 0644]
llvm/test/tools/dsymutil/Inputs/DWARF5-addr_base/3.o [new file with mode: 0644]
llvm/test/tools/dsymutil/X86/dwarf5-addrx.test
llvm/test/tools/dsymutil/X86/dwarf5-dw-op-addrx.test
llvm/test/tools/dsymutil/X86/dwarf5-rnglists.test
llvm/test/tools/dsymutil/X86/op-convert-offset.test
llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-addresses.test
llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-rnglists.test