[PATCH] D72915: [Dsymutil][Debuginfo][NFC] #4 Refactor dsymutil to separate DWARF optimizing part.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 17 04:54:08 PST 2020


avl created this revision.
avl added reviewers: JDevlieghere, friss, dblaikie, aprantl.
Herald added subscribers: jfb, hiraditya.
Herald added a reviewer: jdoerfert.
Herald added a project: LLVM.
avl added a project: debug-info.

The primary goal of this refactoring is to separate DWARF optimizing part.
So that it could be reused by linker or by any other client.
There was a thread on llvm-dev discussing the necessity of such a refactoring:

http://lists.llvm.org/pipermail/llvm-dev/2019-September/135068.html.

This is a final part from series of patches for dsymutil.
Previous patches : D71068 <https://reviews.llvm.org/D71068>, D71839 <https://reviews.llvm.org/D71839>, D72476 <https://reviews.llvm.org/D72476>. This patch:

1. Creates lib/DWARFLinker interface :

  void addObjectFile(DwarfLinkerObjFile &ObjFile); bool link(); void setOptions;

1. Moves all linking logic from tools/dsymutil/DwarfLinkerForBinary into lib/DWARFLinker.
2. Renames RelocationManager into AddressesManager.
3. Remarks creation logic moved from separate parallel execution into object file loading routine.

Testing: it passes "check-all" lit testing. MD5 checksum for clang .dSYM bundle 
matches for the dsymutil with/without that patch.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D72915

Files:
  llvm/include/llvm/CodeGen/DIE.h
  llvm/include/llvm/DWARFLinker/DWARFLinker.h
  llvm/lib/DWARFLinker/DWARFLinker.cpp
  llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
  llvm/tools/dsymutil/DwarfLinkerForBinary.h
  llvm/tools/dsymutil/DwarfStreamer.cpp
  llvm/tools/dsymutil/LinkUtils.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72915.238752.patch
Type: text/x-patch
Size: 278821 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200117/aebbb34a/attachment-0001.bin>


More information about the llvm-commits mailing list