aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorFelipe de Azevedo Piovezan <fpiovezan@apple.com>2023-07-19 11:59:10 -0400
committerFelipe de Azevedo Piovezan <fpiovezan@apple.com>2023-08-14 10:22:17 -0400
commit2e7ee4dc21430b0fe4c9ee306dc1d8c7986a6646 (patch)
tree92640eba2f79aa50242ad5da010211ec1ec9af8e /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent421c9bbf65b78e3410415cac2edf4e00bd4d38ca (diff)
downloadllvm-2e7ee4dc21430b0fe4c9ee306dc1d8c7986a6646.zip
llvm-2e7ee4dc21430b0fe4c9ee306dc1d8c7986a6646.tar.gz
llvm-2e7ee4dc21430b0fe4c9ee306dc1d8c7986a6646.tar.bz2
[DWARFVerifier] Allow simplified template names in debug_name
LLDB can benefit from having the base name of functions (i.e. without any template parameters) as an entry into accelerator tables pointing back in the DIE for the corresponding function specialization. In fact, some LLDB functionality is only possible when those entries are present. The DWARFLinker has been adding such entries for a while now, both with apple_names and with debug_names. However, this has two side effects: 1. Some LLDB functionality is only possible when dsym bundles are present (i.e. the linker touched the debug info). 2. The DWARFVerifier doesn't accept debug_name sections created by the linker, as such names are (usually) neither the AT_name nor the AT_linkage_name of the DIE. Based on recent discussion [1], and because the DWARF 5 spec says that: > A producer may choose to implement additional rules for what names are placed > in the index This patch relaxes the checks on the verifier to allow for simplified template names in the accelerator table. To do so, we move some helper functions from DWARFLinker into the core lib debug info. This addresses the point 2) above. This patch also enables addressing point 1) in the future, since the helper function is now visible to other parts of LLVM. [1]: https://github.com/llvm/llvm-project/issues/58362 Differential Revision: https://reviews.llvm.org/D155723
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions