Fix infinite recursion in DWO file parsing
authorPavel Labath <labath@google.com>
Tue, 29 Mar 2016 13:42:02 +0000 (13:42 +0000)
committerPavel Labath <labath@google.com>
Tue, 29 Mar 2016 13:42:02 +0000 (13:42 +0000)
commiteb0c5c8776498f8644bf55cf35e1d86d2b44e428
tree6a8d0766abb82b47dc0709f0f2ad86258dd61a04
parent9a3f32c00d5ac5a3e9fbe6e3b87b65133757444c
Fix infinite recursion in DWO file parsing

Summary:
Since r264316, clang started adding DW_AT_GNU_dwo_name attribute to dwo files (previously, this
attribute was only present in main object files), breaking pretty much every dwo test. The
problem was that we were treating the presence of said attribute as a signal that we should look
for information in an external object file, and caused us to enter an infinite loop. I fix this
by making sure we do not go looking for an external dwo file if we already *are* parsing a dwo
file.

Reviewers: tberghammer, clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D18547

llvm-svn: 264729
lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h