[Lldb-commits] [PATCH] D35734: Don't allow LLDB to try and parse .debug_types
Phabricator via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Jul 24 11:42:17 PDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL308911: Don't allow .debug_types to be parsed as LLDB can crash when enums are not able… (authored by gclayton).
Changed prior to commit:
https://reviews.llvm.org/D35734?vs=107710&id=107936#toc
Repository:
rL LLVM
https://reviews.llvm.org/D35734
Files:
lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Index: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
===================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -497,6 +497,21 @@
if (section_list == NULL)
return 0;
+ // On non Apple platforms we might have .debug_types debug info that
+ // is created by using "-fdebug-types-section". LLDB currently will try
+ // to load this debug info, but it causes crashes during debugging when
+ // types are missing since it doesn't know how to parse the info in
+ // the .debug_types type units. This causes all complex debug info
+ // types to be unresolved. Because this causes LLDB to crash and since
+ // it really doesn't provide a solid debuggiung experience, we should
+ // disable trying to debug this kind of DWARF until support gets
+ // added or deprecated.
+ if (section_list->FindSectionByName(ConstString(".debug_types"))) {
+ m_obj_file->GetModule()->ReportWarning(
+ "lldb doesn’t support .debug_types debug info");
+ return 0;
+ }
+
uint64_t debug_abbrev_file_size = 0;
uint64_t debug_info_file_size = 0;
uint64_t debug_line_file_size = 0;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35734.107936.patch
Type: text/x-patch
Size: 1294 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20170724/770c78f6/attachment.bin>
More information about the lldb-commits
mailing list