diff options
| author | Jason Molenda <jmolenda@apple.com> | 2012-10-06 02:02:26 +0000 |
|---|---|---|
| committer | Jason Molenda <jmolenda@apple.com> | 2012-10-06 02:02:26 +0000 |
| commit | 53667f5da1056590c6db64bfbe2628e83115291e (patch) | |
| tree | b1057cf2bd4f47849886a72f0b07d934b990caff /lldb/source/Plugins/Process/gdb-remote | |
| parent | cc62f28735768c09b0c5effea183d0d7c9be6a4f (diff) | |
| download | bcm5719-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.cpp | 5 |
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() { |

