llvm-symbolizer: Avoid infinite recursion walking dwos where the dwo contains a dwo_n...
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 22 Apr 2016 22:50:56 +0000 (22:50 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 22 Apr 2016 22:50:56 +0000 (22:50 +0000)
commite438cff47532a6a9189fa7ba24042b6ae1f1ac25
tree2a51992d2c83465a73bf715420f317f033490baf
parentefa3fe14d14e427e56a19a11983f8f68246a8c9d
llvm-symbolizer: Avoid infinite recursion walking dwos where the dwo contains a dwo_name attribute

The dwo_name was added to dwo files to improve diagnostics in dwp, but
it confuses tools that attempt to load any dwo named by a dwo_name, even
ones inside dwos. Avoid this by keeping track of whether a unit is
already a dwo unit, and if so, not loading further dwos.

llvm-svn: 267241
llvm/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
llvm/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
llvm/test/DebugInfo/Inputs/split-dwarf-empty.dwo [new file with mode: 0644]
llvm/test/DebugInfo/Inputs/split-dwarf-empty.o [new file with mode: 0644]
llvm/test/DebugInfo/llvm-symbolizer-split-dwarf-empty.test [new file with mode: 0644]