From 1f14920437abf5bc8491f6fe0b3a9e6436ce510a Mon Sep 17 00:00:00 2001 From: Tamas Berghammer Date: Tue, 12 May 2015 10:27:45 +0000 Subject: [PATCH] Return the correct user register count for arm from NativeRegisterContext The defult implementation falls back to GetRegisterCount what includes the debug registers also what shouldn't be displayed to the user. llvm-svn: 237111 --- .../Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp | 9 +++++++++ .../Plugins/Process/Linux/NativeRegisterContextLinux_arm.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp index 9d67c38..670b2f8 100644 --- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp @@ -139,6 +139,15 @@ NativeRegisterContextLinux_arm::GetRegisterSetCount () const return k_num_register_sets; } +uint32_t +NativeRegisterContextLinux_arm::GetUserRegisterCount() const +{ + uint32_t count = 0; + for (uint32_t set_index = 0; set_index < k_num_register_sets; ++set_index) + count += g_reg_sets_arm[set_index].num_registers; + return count; +} + const RegisterSet * NativeRegisterContextLinux_arm::GetRegisterSet (uint32_t set_index) const { diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h index 38be1e4..d96cec6 100644 --- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h +++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h @@ -30,6 +30,9 @@ namespace process_linux { const RegisterSet * GetRegisterSet (uint32_t set_index) const override; + uint32_t + GetUserRegisterCount() const override; + Error ReadRegister (const RegisterInfo *reg_info, RegisterValue ®_value) override; -- 2.7.4