[Reland][Debuginfo][llvm-dwarfutil] Add check for unsupported debug sections.
authorAlexey Lapshin <a.v.lapshin@mail.ru>
Thu, 28 Jul 2022 16:20:58 +0000 (19:20 +0300)
committerAlexey Lapshin <a.v.lapshin@mail.ru>
Thu, 28 Jul 2022 18:29:16 +0000 (21:29 +0300)
commite74197bc12f68c4e7940574bec5f983297db56f8
treee316af4024938c278a084cdf413d59e4d6eb55da
parent0f93a45b118eeb72269bd3015bc5524c85412654
[Reland][Debuginfo][llvm-dwarfutil] Add check for unsupported debug sections.

Current DWARFLinker implementation does not support some debug sections
(mainly DWARF v5 sections). This patch adds diagnostic for such sections.
The warning would be displayed for critical(such that could not be removed)
sections and the source file would be skipped. Other unsupported sections
would be removed and warning message should be displayed. The zero exit
status would be returned for both cases.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D123623
19 files changed:
llvm/include/llvm/DWARFLinker/DWARFLinker.h
llvm/lib/DWARFLinker/DWARFLinker.cpp
llvm/test/tools/llvm-dwarfutil/ELF/X86/Inputs/type-units.o [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-cu-index.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-gdb-index.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-gnu-pubnames.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-gnu-pubtypes.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-loclists.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-macinfo.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-macro.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-names.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-pubnames.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-pubtypes.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-rnglists.test [new file with mode: 0644]
llvm/test/tools/llvm-dwarfutil/ELF/X86/warning-skipped-types.test [new file with mode: 0644]
llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
llvm/tools/llvm-dwarfutil/DebugInfoLinker.h
llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp