[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