diff options
| author | Ashok Thirumurthi <ashok.thirumurthi@intel.com> | 2013-05-09 19:59:47 +0000 |
|---|---|---|
| committer | Ashok Thirumurthi <ashok.thirumurthi@intel.com> | 2013-05-09 19:59:47 +0000 |
| commit | acbb1a5db5791f8c4b6beb1a673d474589d9a9a5 (patch) | |
| tree | 151c00f84fa12b41ea3d5d216b078c48b1c58be3 /lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp | |
| parent | 078551c7b1b9ea71e32b0c9f87fb547d9f3ed9c7 (diff) | |
Fixed "log enable linux registers" and added a test.
- Eliminated the use of static for methods that read m_register_infos, so that these routines can be implemented in the base class.
- Eliminated m_register_infos in the base class because this is not used when derived classes call UpdateRegisterInfo.
- Also moved the namespace using declarations from headers to source files.
Thanks to Daniel and Samuel for their review feedback.
llvm-svn: 181538
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp')
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp index 4ebde16245e0..e9a45d79da67 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp +++ b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp @@ -449,9 +449,9 @@ WriteOperation::Execute(ProcessMonitor *monitor) class ReadRegOperation : public Operation { public: - ReadRegOperation(lldb::tid_t tid, unsigned offset, + ReadRegOperation(lldb::tid_t tid, unsigned offset, const char *reg_name, RegisterValue &value, bool &result) - : m_tid(tid), m_offset(offset), + : m_tid(tid), m_offset(offset), m_reg_name(reg_name), m_value(value), m_result(result) { } @@ -460,6 +460,7 @@ public: private: lldb::tid_t m_tid; uintptr_t m_offset; + const char *m_reg_name; RegisterValue &m_value; bool &m_result; }; @@ -481,7 +482,7 @@ ReadRegOperation::Execute(ProcessMonitor *monitor) } if (log) log->Printf ("ProcessMonitor::%s() reg %s: 0x%" PRIx64, __FUNCTION__, - POSIXThread::GetRegisterNameFromOffset(m_offset), data); + m_reg_name, data); } //------------------------------------------------------------------------------ @@ -490,9 +491,9 @@ ReadRegOperation::Execute(ProcessMonitor *monitor) class WriteRegOperation : public Operation { public: - WriteRegOperation(lldb::tid_t tid, unsigned offset, + WriteRegOperation(lldb::tid_t tid, unsigned offset, const char *reg_name, const RegisterValue &value, bool &result) - : m_tid(tid), m_offset(offset), + : m_tid(tid), m_offset(offset), m_reg_name(reg_name), m_value(value), m_result(result) { } @@ -501,6 +502,7 @@ public: private: lldb::tid_t m_tid; uintptr_t m_offset; + const char *m_reg_name; const RegisterValue &m_value; bool &m_result; }; @@ -518,8 +520,7 @@ WriteRegOperation::Execute(ProcessMonitor *monitor) #endif if (log) - log->Printf ("ProcessMonitor::%s() reg %s: %p", __FUNCTION__, - POSIXThread::GetRegisterNameFromOffset(m_offset), buf); + log->Printf ("ProcessMonitor::%s() reg %s: %p", __FUNCTION__, m_reg_name, buf); if (PTRACE(PTRACE_POKEUSER, m_tid, (void*)m_offset, buf, 0)) m_result = false; else @@ -1715,21 +1716,21 @@ ProcessMonitor::WriteMemory(lldb::addr_t vm_addr, const void *buf, size_t size, } bool -ProcessMonitor::ReadRegisterValue(lldb::tid_t tid, unsigned offset, +ProcessMonitor::ReadRegisterValue(lldb::tid_t tid, unsigned offset, const char* reg_name, unsigned size, RegisterValue &value) { bool result; - ReadRegOperation op(tid, offset, value, result); + ReadRegOperation op(tid, offset, reg_name, value, result); DoOperation(&op); return result; } bool ProcessMonitor::WriteRegisterValue(lldb::tid_t tid, unsigned offset, - const RegisterValue &value) + const char* reg_name, const RegisterValue &value) { bool result; - WriteRegOperation op(tid, offset, value, result); + WriteRegOperation op(tid, offset, reg_name, value, result); DoOperation(&op); return result; } |
