summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2012-12-13 01:54:18 +0000
committerJason Molenda <jmolenda@apple.com>2012-12-13 01:54:18 +0000
commit0f47b2a63174514fb7124af6c2b0537027941543 (patch)
treeb79d04a77bcab359ce71e2eaf33ad75ec8eb8efc
parent07bab73c7f0a8dc8477c69d8b744b98610dd9304 (diff)
downloadbcm5719-llvm-0f47b2a63174514fb7124af6c2b0537027941543.tar.gz
bcm5719-llvm-0f47b2a63174514fb7124af6c2b0537027941543.zip
<rdar://problem/12831670>
For iOS native lldb, don't initialize the ModuleList notifier callback. See the added comment for details on how this is a problem in that environment. We'll need to restructure how the ModuleDidLoad notification is called vrs. when the DynamicLoader pluging has had a chance to set the Sectino load addresses. llvm-svn: 170082
-rw-r--r--lldb/source/Target/Target.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index a8cd131580b..888545a0f1a 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -66,7 +66,20 @@ Target::Target(Debugger &debugger, const ArchSpec &target_arch, const lldb::Plat
m_platform_sp (platform_sp),
m_mutex (Mutex::eMutexTypeRecursive),
m_arch (target_arch),
+#ifndef LLDB_DISABLE_PYTHON
m_images (this),
+#else
+ // FIXME: The module added notification needed for python scripting support
+ // causes a problem with in-memory-only Modules at startup if we have
+ // a breakpoint (the ObjectFile is parsed before we've set the Section load
+ // addresses leading to an invalid __LINKEDIT section addr on Mac OS X and
+ // all the problems that will happen from that).
+ // As a temporary solution for iOS debugging (where all the modules are in-memory-only),
+ // disable this notification system there. The problem could still happen on
+ // an x86 system but it is much less common.
+ // <rdar://problem/12831670> describes the failure mode for on-iOS debugging.
+ m_images (NULL),
+#endif
m_section_load_list (),
m_breakpoint_list (false),
m_internal_breakpoint_list (true),
OpenPOWER on IntegriCloud