diff options
author | Greg Clayton <gclayton@apple.com> | 2013-07-12 22:52:22 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2013-07-12 22:52:22 +0000 |
commit | 3deb0e7ca5e0bc0bdac8e29a17b46976f28c7c46 (patch) | |
tree | 9fabffabdc51de08ab0e86ccb09863dbba3ab8c9 /lldb/source/Plugins/DynamicLoader | |
parent | 1baf2ea2d1e2445b10061ae5cd401159edf0e247 (diff) | |
download | bcm5719-llvm-3deb0e7ca5e0bc0bdac8e29a17b46976f28c7c46.tar.gz bcm5719-llvm-3deb0e7ca5e0bc0bdac8e29a17b46976f28c7c46.zip |
Revert the ELF core file support until a few things can be worked out:
RegisterContextCoreLinux_x86_64 inherits from RegisterContextLinux_x86_64 which inherits from RegisterContext_x86_64 which uses has:
ProcessMonitor &GetMonitor();
This register context used by the core file can't use this since the process plug-in will be ProcessElfCore and the implementation of GetMonitor() does:
ProcessMonitor &
RegisterContext_x86_64::GetMonitor()
{
ProcessSP base = CalculateProcess();
ProcessPOSIX *process = static_cast<ProcessPOSIX*>(base.get());
return process->GetMonitor();
}
ProcessELFCore doesn't, nor should it inherit from ProcessPOSIX and any call to GetMonitor() will fail for ELF core files.
Suggested cleanups:
- Make a register context class that is a base class that doesn't have any reading smarts, then make one that uses ProcessPOSIX and the has the GetMonitor() call, and one that gets its data straight from the core file.
llvm-svn: 186223
Diffstat (limited to 'lldb/source/Plugins/DynamicLoader')
-rw-r--r-- | lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp index 3ec67fe52d8..7123786b601 100644 --- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp +++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp @@ -19,8 +19,6 @@ #include "lldb/Core/Log.h" #include "lldb/Target/Process.h" -#include "Plugins/Process/elf-core/ProcessElfCore.h" - #include "AuxVector.h" using namespace lldb; @@ -55,10 +53,8 @@ ParseAuxvEntry(DataExtractor &data, DataBufferSP AuxVector::GetAuxvData() { - if (m_process->GetPluginName() == ProcessElfCore::GetPluginNameStatic()) - return static_cast<ProcessElfCore *>(m_process)->GetAuxvData(); - else - return lldb_private::Host::GetAuxvData(m_process); + + return lldb_private::Host::GetAuxvData(m_process); } void |