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 ();
 }