[PATCH] D77169: [DWARFLinker][dsymutil][NFC] Move DwarfStreamer into DWARFLinker.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 31 13:44:48 PDT 2020


avl created this revision.
avl added reviewers: dblaikie, JDevlieghere, friss, clayborg.
avl added projects: LLVM, debug-info.
Herald added subscribers: hiraditya, aprantl, mgorny.

For implementing "remove obsolete debug info in lld", it is neccesary
to have DWARF generation code implementation. dsymutil uses DwarfStreamer
for that purpose. DwarfStreamer uses AsmPrinter. It is considered OK
to use AsmPrinter based code in lld(D74169 <https://reviews.llvm.org/D74169>). This patch moves
DwarfStreamer implementation into DWARFLinker, so that it could be reused
from lld.

Generally, a better place for such a common DWARF generation code would be
not DWARFLinker but an additional separate library. Such a library could
contain a single version of DWARF generation routines and could also
be independent of AsmPrinter. At the current moment, DwarfStreamer
does not pretend to be such a general implementation of DWARF generation.
So I decided to put it into DWARFLinker since it is the only user
of DwarfStreamer.

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/D77169

Files:
  llvm/include/llvm/DWARFLinker/DWARFLinker.h
  llvm/include/llvm/DWARFLinker/DWARFStreamer.h
  llvm/lib/DWARFLinker/CMakeLists.txt
  llvm/lib/DWARFLinker/DWARFStreamer.cpp
  llvm/lib/DWARFLinker/LLVMBuild.txt
  llvm/tools/dsymutil/CMakeLists.txt
  llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
  llvm/tools/dsymutil/DwarfLinkerForBinary.h
  llvm/tools/dsymutil/DwarfStreamer.cpp
  llvm/tools/dsymutil/DwarfStreamer.h
  llvm/tools/dsymutil/LinkUtils.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77169.253985.patch
Type: text/x-patch
Size: 13912 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200331/c949565b/attachment.bin>


More information about the llvm-commits mailing list