summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ObjectFile
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2013-08-13 21:32:34 +0000
committerGreg Clayton <gclayton@apple.com>2013-08-13 21:32:34 +0000
commit86eac940b4641220a73fde9398878793796701c5 (patch)
treec498b7089968cb31f3327628446f7dcd3feeb536 /lldb/source/Plugins/ObjectFile
parented1d07282cc9d8e4c25d585e03e5c8a1b6f63a74 (diff)
downloadbcm5719-llvm-86eac940b4641220a73fde9398878793796701c5.tar.gz
bcm5719-llvm-86eac940b4641220a73fde9398878793796701c5.zip
<rdar://problem/14717184>
Improve the documentation for the new target.memory-module-load-level setting, and also return an error when there is no nlist data when appropriate. llvm-svn: 188317
Diffstat (limited to 'lldb/source/Plugins/ObjectFile')
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
index ff66ba93faf..e8d31181bd6 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -1555,11 +1555,13 @@ ObjectFileMachO::ParseSymtab ()
ProcessSP process_sp (m_process_wp.lock());
Process *process = process_sp.get();
+ uint32_t memory_module_load_level = eMemoryModuleLoadLevelComplete;
+
if (process)
{
Target &target = process->GetTarget();
- const uint32_t memory_module_load_level = target.GetMemoryModuleLoadLevel();
+ memory_module_load_level = target.GetMemoryModuleLoadLevel();
SectionSP linkedit_section_sp(section_list->FindSectionByName(GetSegmentNameLINKEDIT()));
// Reading mach file from memory in a process or core file...
@@ -1674,6 +1676,14 @@ ObjectFileMachO::ParseSymtab ()
}
}
+ if (nlist_data.GetByteSize() == 0 && memory_module_load_level == eMemoryModuleLoadLevelComplete)
+ {
+ if (log)
+ module_sp->LogMessage(log, "failed to read nlist data");
+ return 0;
+ }
+
+
const bool have_strtab_data = strtab_data.GetByteSize() > 0;
if (!have_strtab_data)
{
OpenPOWER on IntegriCloud