aboutsummaryrefslogtreecommitdiff
path: root/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp')
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
index e5b347c9f72d..57983c4979a6 100644
--- a/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
+++ b/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
@@ -89,7 +89,15 @@ GDBRemoteRegisterContext::GetRegisterCount ()
const RegisterInfo *
GDBRemoteRegisterContext::GetRegisterInfoAtIndex (size_t reg)
{
- return m_reg_info.GetRegisterInfoAtIndex (reg);
+ RegisterInfo* reg_info = m_reg_info.GetRegisterInfoAtIndex (reg);
+
+ if (reg_info && reg_info->dynamic_size_dwarf_expr_bytes)
+ {
+ const ArchSpec &arch = m_thread.GetProcess ()->GetTarget ().GetArchitecture ();
+ uint8_t reg_size = UpdateDynamicRegisterSize (arch, reg_info);
+ reg_info->byte_size = reg_size;
+ }
+ return reg_info;
}
size_t