summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2012-10-06 02:02:26 +0000
committerJason Molenda <jmolenda@apple.com>2012-10-06 02:02:26 +0000
commit53667f5da1056590c6db64bfbe2628e83115291e (patch)
treeb1057cf2bd4f47849886a72f0b07d934b990caff /lldb/source/Plugins/Process/gdb-remote
parentcc62f28735768c09b0c5effea183d0d7c9be6a4f (diff)
downloadbcm5719-llvm-53667f5da1056590c6db64bfbe2628e83115291e.tar.gz
bcm5719-llvm-53667f5da1056590c6db64bfbe2628e83115291e.zip
In DynamicLoaderDarwinKernel::OSKextLoadedKextSummary::LoadImageUsingMemoryModule(),
if we have a kernel binary, set the target's architecture to match. Include the target's architecture in the ModuleSpec when we're searching for the kext binaries on the local system -- otherwise we won't get a specific slice of a fat file picked out for us and we won't use the returned Module correctly. Remove the redundant attempt to find a file on the local filesystem from this method. In ProcessGDBRemote::CheckForKernel(), if we have a kernel binary in memory, mark the canJIT as false. There is no jitting code in kernel debug sessions. llvm-svn: 165357
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 494785e3bd2..1cc1009dccd 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -511,6 +511,7 @@ ProcessGDBRemote::CheckForKernel (Stream *strm)
{
m_kernel_load_addr = exe_objfile->GetHeaderAddress().GetFileAddress();
m_dyld_plugin_name = DynamicLoaderDarwinKernel::GetPluginNameStatic();
+ SetCanJIT(false);
return;
}
}
@@ -569,6 +570,7 @@ ProcessGDBRemote::CheckForKernel (Stream *strm)
{
m_kernel_load_addr = kernel_addr;
m_dyld_plugin_name = DynamicLoaderDarwinKernel::GetPluginNameStatic();
+ SetCanJIT(false);
return;
}
}
@@ -1981,6 +1983,9 @@ ProcessGDBRemote::IsAlive ()
return m_gdb_comm.IsConnected() && m_private_state.GetValue() != eStateExited;
}
+// For kernel debugging, we return the load address of the kernel binary as the
+// ImageInfoAddress and we return the DynamicLoaderDarwinKernel as the GetDynamicLoader()
+// name so the correct DynamicLoader plugin is chosen.
addr_t
ProcessGDBRemote::GetImageInfoAddress()
{
OpenPOWER on IntegriCloud