[all-commits] [llvm/llvm-project] 82a06a: [DWARFLinker][NFC] Change interface of DWARFLinker...

avl-llvm via All-commits all-commits at lists.llvm.org
Sun Dec 4 02:17:38 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 82a06a6bd180d7062095131e26a2a04ffa790b2f
      https://github.com/llvm/llvm-project/commit/82a06a6bd180d7062095131e26a2a04ffa790b2f
  Author: Alexey Lapshin <a.v.lapshin at mail.ru>
  Date:   2022-12-04 (Sun, 04 Dec 2022)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/LinkUtils.h
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp

  Log Message:
  -----------
  [DWARFLinker][NFC] Change interface of DWARFLinker to specify accel table kinds explicitly.

Currently, DWARFLinker receives kind of accel tables as predefined sets:

```
  Apple,   ///< .apple_names, .apple_namespaces, .apple_types, .apple_objc.
  Dwarf,   ///< DWARF v5 .debug_names.
  Default, ///< Dwarf for DWARF5 or later, Apple otherwise.
  Pub,     ///< .debug_pubnames, .debug_pubtypes
```

This patch removes implicit sets of tables(Default, Dwarf) and allows to ask for several sets:

```
  Apple,     ///< .apple_names, .apple_namespaces, .apple_types, .apple_objc.
  Pub,       ///< .debug_pubnames, .debug_pubtypes
  DebugNames ///< .debug_names.
```

It allows seamlessness adding more accel tables in the future: .gdb_index, .debug_cu_index...
Doing things that way, DWARFLinker will be independent of consumers' requirements.
f.e. dsymutil and llvm-dwarfutil may have different variants for Default set
(so, instead of implementing these differencies inside DWARFLinker it could be
implemented in the corresponding module).

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




More information about the All-commits mailing list