This revision was automatically updated to reflect the committed changes.
Closed by commit rL250700: Fix for random watchpoint testsuite failures on 
AArch64 targets. (authored by omjavaid).

Changed prior to commit:
  http://reviews.llvm.org/D12522?vs=37748&id=37758#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D12522

Files:
  lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp

Index: 
lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
===================================================================
--- lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+++ lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
@@ -807,11 +807,12 @@
 
     memset (&dreg_state, 0, sizeof (dreg_state));
     ioVec.iov_base = &dreg_state;
-    ioVec.iov_len = sizeof (dreg_state);
 
     if (hwbType == eDREGTypeWATCH)
     {
         hwbType = NT_ARM_HW_WATCH;
+        ioVec.iov_len = sizeof (dreg_state.dbg_info) + sizeof (dreg_state.pad)
+                + (sizeof (dreg_state.dbg_regs [0]) * m_max_hwp_supported);
 
         for (uint32_t i = 0; i < m_max_hwp_supported; i++)
         {
@@ -822,6 +823,8 @@
     else
     {
         hwbType = NT_ARM_HW_BREAK;
+        ioVec.iov_len = sizeof (dreg_state.dbg_info) + sizeof (dreg_state.pad)
+                + (sizeof (dreg_state.dbg_regs [0]) * m_max_hbp_supported);
 
         for (uint32_t i = 0; i < m_max_hbp_supported; i++)
         {


Index: lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
===================================================================
--- lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+++ lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
@@ -807,11 +807,12 @@
 
     memset (&dreg_state, 0, sizeof (dreg_state));
     ioVec.iov_base = &dreg_state;
-    ioVec.iov_len = sizeof (dreg_state);
 
     if (hwbType == eDREGTypeWATCH)
     {
         hwbType = NT_ARM_HW_WATCH;
+        ioVec.iov_len = sizeof (dreg_state.dbg_info) + sizeof (dreg_state.pad)
+                + (sizeof (dreg_state.dbg_regs [0]) * m_max_hwp_supported);
 
         for (uint32_t i = 0; i < m_max_hwp_supported; i++)
         {
@@ -822,6 +823,8 @@
     else
     {
         hwbType = NT_ARM_HW_BREAK;
+        ioVec.iov_len = sizeof (dreg_state.dbg_info) + sizeof (dreg_state.pad)
+                + (sizeof (dreg_state.dbg_regs [0]) * m_max_hbp_supported);
 
         for (uint32_t i = 0; i < m_max_hbp_supported; i++)
         {
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to