From 8fa23b8ebf352daa61ae44fe596dd1ab36b8ca58 Mon Sep 17 00:00:00 2001 From: Tamas Berghammer Date: Mon, 9 Mar 2015 10:48:23 +0000 Subject: [PATCH] Report the actual user register count from NativeRegisterContextLinux_x86_64 Thic change have effect wehn the AVX registers aren't available with reporting the count of user registers without them. Differential revision: http://reviews.llvm.org/D8111 llvm-svn: 231638 --- .../Process/Linux/NativeRegisterContextLinux_x86_64.cpp | 13 +++++++++++++ .../Process/Linux/NativeRegisterContextLinux_x86_64.h | 3 +++ 2 files changed, 16 insertions(+) diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp index 272b86a..fa6dfd6 100644 --- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp @@ -408,6 +408,19 @@ NativeRegisterContextLinux_x86_64::GetRegisterSetCount () const return sets; } +uint32_t +NativeRegisterContextLinux_x86_64::GetUserRegisterCount() const +{ + uint32_t count = 0; + for (uint32_t set_index = 0; set_index < k_num_register_sets; ++set_index) + { + const lldb_private::RegisterSet* set = GetRegisterSet(set_index); + if (set) + count += set->num_registers; + } + return count; +} + const lldb_private::RegisterSet * NativeRegisterContextLinux_x86_64::GetRegisterSet (uint32_t set_index) const { diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h index 23d192c..b671a32 100644 --- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h +++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h @@ -30,6 +30,9 @@ namespace lldb_private 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