rdar://problem/11487457
Add convenience registers eax, ebx, ecx, edx, edi, esi, ebp, esp to the 'register read' command for x86_64.
Add a GDBRemoteRegisterContext::Addx86_64ConvenienceRegisters() method called from ProcessGDBRemote::BuildDynamicRegisterInfo().
Servicing of eax, for example, is accomplished by delegating to rax with an adjusted offset into the register context.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157230 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 4ebe3f5..3d83a1a 100644
--- a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -400,6 +400,10 @@
m_register_info.HardcodeARMRegisters(from_scratch);
}
+ // Add some convenience registers (eax, ebx, ecx, edx, esi, edi, ebp, esp) to x86_64.
+ if (target_arch.IsValid() && target_arch.GetMachine() == llvm::Triple::x86_64)
+ m_register_info.Addx86_64ConvenienceRegisters();
+
// At this point, we can finalize our register info.
m_register_info.Finalize ();
}