summaryrefslogtreecommitdiffstats
path: root/lldb/source
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2012-12-07 03:38:23 +0000
committerJason Molenda <jmolenda@apple.com>2012-12-07 03:38:23 +0000
commit641de41cb433d618c7c8eae32f9dcab800758129 (patch)
treec3812095ceb1ec9712fbe354b62a75d7925587e8 /lldb/source
parentb006d3847688ab9169d00aa039d182574c922b0b (diff)
downloadbcm5719-llvm-641de41cb433d618c7c8eae32f9dcab800758129.tar.gz
bcm5719-llvm-641de41cb433d618c7c8eae32f9dcab800758129.zip
<rdar://problem/12831670>
When using the same-device optimization for shared cache libraries, if we have an invalid load address for __LINKEDIT, don't try to read anything out of lldb's own address space. Reading it out of the remote address space will fail gracefully if we have bad addresses but reading it out of lldb's own address space will result in a crash. llvm-svn: 169582
Diffstat (limited to 'lldb/source')
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
index 4d6d00755a5..936c1e96764 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -1326,7 +1326,7 @@ ObjectFileMachO::ParseSymtab (bool minimize)
// data across can slow down debug launch times, so we optimize this by
// reading the memory for the __LINKEDIT section from this process.
PlatformSP platform_sp (target.GetPlatform());
- if (platform_sp && platform_sp->IsHost())
+ if (platform_sp && platform_sp->IsHost() && linkedit_load_addr != LLDB_INVALID_ADDRESS)
{
data_was_read = true;
nlist_data.SetData((void *)symoff_addr, nlist_data_byte_size, eByteOrderLittle);
OpenPOWER on IntegriCloud