Added generic register numbers for simple ABI argument registers and defined
the appropriate registers for arm and x86_64. The register names for the
arguments that are the size of a pointer or less are all named "arg1", "arg2",
etc. This allows you to read these registers by name:

(lldb) register read arg1 arg2 arg3
...

You can also now specify you want to see alternate register names when executing
the read register command:

(lldb) register read --alternate
(lldb) register read -A

llvm-svn: 131376
diff --git a/lldb/tools/debugserver/source/DNBDefs.h b/lldb/tools/debugserver/source/DNBDefs.h
index 10f3727..fb259f2 100644
--- a/lldb/tools/debugserver/source/DNBDefs.h
+++ b/lldb/tools/debugserver/source/DNBDefs.h
@@ -163,6 +163,14 @@
 #define GENERIC_REGNUM_FP       2   // Frame Pointer
 #define GENERIC_REGNUM_RA       3   // Return Address
 #define GENERIC_REGNUM_FLAGS    4   // Processor flags register
+#define GENERIC_REGNUM_ARG1     5   // The register that would contain pointer size or less argument 1 (if any)
+#define GENERIC_REGNUM_ARG2     6   // The register that would contain pointer size or less argument 2 (if any)
+#define GENERIC_REGNUM_ARG3     7   // The register that would contain pointer size or less argument 3 (if any)
+#define GENERIC_REGNUM_ARG4     8   // The register that would contain pointer size or less argument 4 (if any)
+#define GENERIC_REGNUM_ARG5     9   // The register that would contain pointer size or less argument 5 (if any)
+#define GENERIC_REGNUM_ARG6     10  // The register that would contain pointer size or less argument 6 (if any)
+#define GENERIC_REGNUM_ARG7     11  // The register that would contain pointer size or less argument 7 (if any)
+#define GENERIC_REGNUM_ARG8     12  // The register that would contain pointer size or less argument 8 (if any)
 
 enum DNBRegisterType
 {
diff --git a/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp b/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
index f2c2451..d637b5e 100644
--- a/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
+++ b/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
@@ -2544,10 +2544,10 @@
 const DNBRegisterInfo
 DNBArchMachARM::g_gpr_registers[] =
 {
-    DEFINE_GPR_IDX ( 0,  r0,  NULL, INVALID_NUB_REGNUM   ),
-    DEFINE_GPR_IDX ( 1,  r1,  NULL, INVALID_NUB_REGNUM   ),
-    DEFINE_GPR_IDX ( 2,  r2,  NULL, INVALID_NUB_REGNUM   ),
-    DEFINE_GPR_IDX ( 3,  r3,  NULL, INVALID_NUB_REGNUM   ),
+    DEFINE_GPR_IDX ( 0,  r0,"arg1", GENERIC_REGNUM_ARG1  ),
+    DEFINE_GPR_IDX ( 1,  r1,"arg2", GENERIC_REGNUM_ARG2  ),
+    DEFINE_GPR_IDX ( 2,  r2,"arg3", GENERIC_REGNUM_ARG3  ),
+    DEFINE_GPR_IDX ( 3,  r3,"arg4", GENERIC_REGNUM_ARG4  ),
     DEFINE_GPR_IDX ( 4,  r4,  NULL, INVALID_NUB_REGNUM   ),
     DEFINE_GPR_IDX ( 5,  r5,  NULL, INVALID_NUB_REGNUM   ),
     DEFINE_GPR_IDX ( 6,  r6,  NULL, INVALID_NUB_REGNUM   ),
@@ -2560,7 +2560,7 @@
     DEFINE_GPR_NAME (sp, "r13", GENERIC_REGNUM_SP    ),
     DEFINE_GPR_NAME (lr, "r14", GENERIC_REGNUM_RA    ),
     DEFINE_GPR_NAME (pc, "r15", GENERIC_REGNUM_PC    ),
-    DEFINE_GPR_NAME (cpsr,  NULL, GENERIC_REGNUM_FLAGS )
+    DEFINE_GPR_NAME (cpsr, "flags", GENERIC_REGNUM_FLAGS )
 };
 
 // Floating point registers
diff --git a/lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp b/lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
index f51e26b..621cda7 100644
--- a/lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
+++ b/lldb/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
@@ -819,6 +819,7 @@
 #define DEFINE_GPR(reg) { e_regSetGPR, gpr_##reg, #reg, NULL, Uint, Hex, GPR_SIZE(reg), GPR_OFFSET(reg), gcc_dwarf_##reg, gcc_dwarf_##reg, INVALID_NUB_REGNUM, gdb_##reg }
 #define DEFINE_GPR_ALT(reg, alt, gen) { e_regSetGPR, gpr_##reg, #reg, alt, Uint, Hex, GPR_SIZE(reg), GPR_OFFSET(reg), gcc_dwarf_##reg, gcc_dwarf_##reg, gen, gdb_##reg }
 #define DEFINE_GPR_ALT2(reg, alt) { e_regSetGPR, gpr_##reg, #reg, alt, Uint, Hex, GPR_SIZE(reg), GPR_OFFSET(reg), INVALID_NUB_REGNUM, INVALID_NUB_REGNUM, INVALID_NUB_REGNUM, gdb_##reg }
+#define DEFINE_GPR_ALT3(reg, alt, gen) { e_regSetGPR, gpr_##reg, #reg, alt, Uint, Hex, GPR_SIZE(reg), GPR_OFFSET(reg), INVALID_NUB_REGNUM, INVALID_NUB_REGNUM, gen, gdb_##reg }
 
 // General purpose registers for 64 bit
 const DNBRegisterInfo
@@ -826,22 +827,22 @@
 {
     DEFINE_GPR      (rax),
     DEFINE_GPR      (rbx),
-    DEFINE_GPR      (rcx),
-    DEFINE_GPR      (rdx),
-    DEFINE_GPR      (rdi),
-    DEFINE_GPR      (rsi),
-    DEFINE_GPR_ALT  (rbp, "fp", GENERIC_REGNUM_FP),
-    DEFINE_GPR_ALT  (rsp, "sp", GENERIC_REGNUM_SP),
-    DEFINE_GPR      (r8),
-    DEFINE_GPR      (r9),
+    DEFINE_GPR_ALT  (rcx , "arg4", GENERIC_REGNUM_ARG4),
+    DEFINE_GPR_ALT  (rdx , "arg3", GENERIC_REGNUM_ARG3),
+    DEFINE_GPR_ALT  (rdi , "arg1", GENERIC_REGNUM_ARG1),
+    DEFINE_GPR_ALT  (rsi , "arg2", GENERIC_REGNUM_ARG2),
+    DEFINE_GPR_ALT  (rbp , "fp"  , GENERIC_REGNUM_FP),
+    DEFINE_GPR_ALT  (rsp , "sp"  , GENERIC_REGNUM_SP),
+    DEFINE_GPR_ALT  (r8  , "arg5", GENERIC_REGNUM_ARG5),
+    DEFINE_GPR_ALT  (r9  , "arg6", GENERIC_REGNUM_ARG6),
     DEFINE_GPR      (r10),
     DEFINE_GPR      (r11),
     DEFINE_GPR      (r12),
     DEFINE_GPR      (r13),
     DEFINE_GPR      (r14),
     DEFINE_GPR      (r15),
-    DEFINE_GPR_ALT  (rip, "pc", GENERIC_REGNUM_PC),
-    DEFINE_GPR_ALT2 (rflags, "flags"),
+    DEFINE_GPR_ALT  (rip , "pc", GENERIC_REGNUM_PC),
+    DEFINE_GPR_ALT3 (rflags, "flags", GENERIC_REGNUM_FLAGS),
     DEFINE_GPR_ALT2 (cs,        NULL),
     DEFINE_GPR_ALT2 (fs,        NULL),
     DEFINE_GPR_ALT2 (gs,        NULL),