diff options
author | Jason Molenda <jmolenda@apple.com> | 2014-10-06 22:23:30 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2014-10-06 22:23:30 +0000 |
commit | 7dd293904dcac3a78f4079d1149a5145a46a7fdf (patch) | |
tree | 5ffac847c13fe24538a8173038758f521e765f78 /lldb/source | |
parent | 02ad9378d78e7a3d4e9520e7917e385cdb9ed711 (diff) | |
download | bcm5719-llvm-7dd293904dcac3a78f4079d1149a5145a46a7fdf.tar.gz bcm5719-llvm-7dd293904dcac3a78f4079d1149a5145a46a7fdf.zip |
Add another address to check for the kernel's load addr in debug configs.
<rdar://problem/18560328>
llvm-svn: 219152
Diffstat (limited to 'lldb/source')
-rw-r--r-- | lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp index 5047b1f2cf0..eba73d5ed61 100644 --- a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp +++ b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp @@ -256,21 +256,24 @@ DynamicLoaderDarwinKernel::SearchForKernelWithDebugHints (Process *process) if (process->GetTarget().GetArchitecture().GetAddressByteSize() == 8) { addr = process->ReadUnsignedIntegerFromMemory (0xffffff8000002010ULL, 8, LLDB_INVALID_ADDRESS, read_err); + if (CheckForKernelImageAtAddress (addr, process).IsValid()) + { + return addr; + } + addr = process->ReadUnsignedIntegerFromMemory (0xffffff8000004010ULL, 8, LLDB_INVALID_ADDRESS, read_err); + if (CheckForKernelImageAtAddress (addr, process).IsValid()) + { + return addr; + } } else { addr = process->ReadUnsignedIntegerFromMemory (0xffff0110, 4, LLDB_INVALID_ADDRESS, read_err); - } - - if (addr == 0) - addr = LLDB_INVALID_ADDRESS; - - if (addr != LLDB_INVALID_ADDRESS) - { if (CheckForKernelImageAtAddress (addr, process).IsValid()) + { return addr; + } } - return LLDB_INVALID_ADDRESS; } |