diff options
| author | Ed Maste <emaste@FreeBSD.org> | 2014-02-25 21:42:16 +0000 |
|---|---|---|
| committer | Ed Maste <emaste@FreeBSD.org> | 2014-02-25 21:42:16 +0000 |
| commit | 03b99097822ca3ac69252d9afae716a584ed56c4 (patch) | |
| tree | e0f754ea0922908b0f1be8f01c4efbdfc20462eb /source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp | |
| parent | 866dcdacfe59f5f448e008fe2c4cb9dfcf72b2ec (diff) | |
Notes
Diffstat (limited to 'source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp')
| -rw-r--r-- | source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp b/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp index f833c9b47520..c446bbfa7dce 100644 --- a/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp +++ b/source/Plugins/Process/POSIX/RegisterContextPOSIXProcessMonitor_x86.cpp @@ -109,6 +109,15 @@ RegisterContextPOSIXProcessMonitor_x86_64::ReadRegister(const unsigned reg, RegisterValue &value) { ProcessMonitor &monitor = GetMonitor(); + +#if defined(__FreeBSD__) + if (reg >= m_reg_info.first_dr) + return monitor.ReadDebugRegisterValue(m_thread.GetID(), + GetRegisterOffset(reg), + GetRegisterName(reg), + GetRegisterSize(reg), + value); +#endif return monitor.ReadRegisterValue(m_thread.GetID(), GetRegisterOffset(reg), GetRegisterName(reg), @@ -164,6 +173,13 @@ RegisterContextPOSIXProcessMonitor_x86_64::WriteRegister(const unsigned reg, } ProcessMonitor &monitor = GetMonitor(); +#if defined(__FreeBSD__) + if (reg >= m_reg_info.first_dr) + return monitor.WriteDebugRegisterValue(m_thread.GetID(), + GetRegisterOffset(reg_to_write), + GetRegisterName(reg_to_write), + value_to_write); +#endif return monitor.WriteRegisterValue(m_thread.GetID(), GetRegisterOffset(reg_to_write), GetRegisterName(reg_to_write), |
