[PATCH] D74169: [WIP][LLD][ELF][DebugInfo] Remove obsolete debug info.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 3 10:47:35 PDT 2020


avl updated this revision to Diff 254852.
avl retitled this revision from "[WIP][LLD][ELF][DebugInfo] Skeleton implementation of removing obsolete debug info." to "[WIP][LLD][ELF][DebugInfo] Remove obsolete debug info.".
avl edited the summary of this revision.
avl added a comment.
Herald added a subscriber: hiraditya.

This version is a full patch implementing "remove obsolete debug info from lld" functionality.
As it was requested, It is presented as a full patch, which could be applied to the current code
base and evaluated. Some parts of that patch are already presented for review - D77169 <https://reviews.llvm.org/D77169>, D76085 <https://reviews.llvm.org/D76085>.
I am going to add tests for this patch and to address comments. Performance results would be presented in a separate message.

Limitations: it does not support DWARF5, modules, -fdebug-types-section, type units, .debug_types, multiple .debug_info sections.

Testing: it passes check-all lit testing. It is able to compile llvm code base. llvm-dwarfdump --verify shows zero errors for clang built by lld from this patch.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74169/new/

https://reviews.llvm.org/D74169

Files:
  debuginfo-tests/CMakeLists.txt
  debuginfo-tests/dwarflinker/Inputs/gc-debuginfo-main.c
  debuginfo-tests/dwarflinker/Inputs/gc-debuginfo-mod1.c
  debuginfo-tests/dwarflinker/Inputs/gc-debuginfo-mod2.c
  debuginfo-tests/dwarflinker/gc-debuginfo.c
  debuginfo-tests/llgdb-tests/dwarflinker/Inputs/gc-debuginfo-mod1.c
  debuginfo-tests/llgdb-tests/dwarflinker/Inputs/gc-debuginfo-mod2.c
  debuginfo-tests/llgdb-tests/dwarflinker/gc-debuginfo.c
  lld/ELF/CMakeLists.txt
  lld/ELF/Config.h
  lld/ELF/DWARF.cpp
  lld/ELF/DWARF.h
  lld/ELF/Driver.cpp
  lld/ELF/InputSection.cpp
  lld/ELF/InputSection.h
  lld/ELF/LLDDwarfLinker.cpp
  lld/ELF/LLDDwarfLinker.h
  lld/ELF/Options.td
  lld/ELF/OutputSections.cpp
  lld/ELF/OutputSections.h
  lld/ELF/Writer.cpp
  lld/ELF/Writer.h
  lld/test/ELF/gc-debuginfo-cl-errors.s
  lld/test/ELF/gc-debuginfo.test
  llvm/include/llvm/DWARFLinker/DWARFLinker.h
  llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
  llvm/include/llvm/DWARFLinker/DWARFStreamer.h
  llvm/include/llvm/MC/MCAsmInfo.h
  llvm/include/llvm/Object/ObjectFile.h
  llvm/lib/DWARFLinker/CMakeLists.txt
  llvm/lib/DWARFLinker/DWARFLinker.cpp
  llvm/lib/DWARFLinker/DWARFLinkerCompileUnit.cpp
  llvm/lib/DWARFLinker/DWARFStreamer.cpp
  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
  llvm/unittests/DebugInfo/DWARF/CMakeLists.txt
  llvm/unittests/DebugInfo/DWARF/DWARFLinkerCompileUnit.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74169.254852.patch
Type: text/x-patch
Size: 84294 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200403/2a7ec5a9/attachment-0001.bin>


More information about the llvm-commits mailing list