mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
0d5d418268
Summary: 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, D71839, 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. Reviewers: JDevlieghere, friss, dblaikie, aprantl, jdoerfert Reviewed By: JDevlieghere Subscribers: merge_guards_bot, hiraditya, jfb, llvm-commits, probinson, thegameg Tags: #llvm, #debug-info Differential Revision: https://reviews.llvm.org/D72915