Don't try to read the eh_frame section out of a dSYM.
It won't have one and it isn't needed.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177688 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
index 6f30932..069d23e 100644
--- a/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -1477,7 +1477,11 @@
}
else
{
- if (text_section_sp.get() && eh_frame_section_sp.get())
+ // If m_type is eTypeDebugInfo, then this is a dSYM - it will have the load command claiming an eh_frame
+ // but it doesn't actually have the eh_frame content. And if we have a dSYM, we don't need to do any
+ // of this fill-in-the-missing-symbols works anyway - the debug info should give us all the functions in
+ // the module.
+ if (text_section_sp.get() && eh_frame_section_sp.get() && m_type != eTypeDebugInfo)
{
DWARFCallFrameInfo eh_frame(*this, eh_frame_section_sp, eRegisterKindGCC, true);
DWARFCallFrameInfo::FunctionAddressAndSizeVector functions;