summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver/source
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/tools/debugserver/source')
-rw-r--r--lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp2
-rw-r--r--lldb/tools/debugserver/source/RNBRemote.cpp18
-rw-r--r--lldb/tools/debugserver/source/debugserver.cpp31
3 files changed, 48 insertions, 3 deletions
diff --git a/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp b/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
index 6ebcd60845b..c8eba035339 100644
--- a/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
+++ b/lldb/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp
@@ -2572,7 +2572,7 @@ DNBArchMachARM::g_gpr_registers[] =
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 ),
- DEFINE_GPR_IDX ( 7, r7, NULL, GENERIC_REGNUM_FP ),
+ DEFINE_GPR_IDX ( 7, r7, "fp", GENERIC_REGNUM_FP ),
DEFINE_GPR_IDX ( 8, r8, NULL, INVALID_NUB_REGNUM ),
DEFINE_GPR_IDX ( 9, r9, NULL, INVALID_NUB_REGNUM ),
DEFINE_GPR_IDX (10, r10, NULL, INVALID_NUB_REGNUM ),
diff --git a/lldb/tools/debugserver/source/RNBRemote.cpp b/lldb/tools/debugserver/source/RNBRemote.cpp
index 2548d3d04cc..cc3091da631 100644
--- a/lldb/tools/debugserver/source/RNBRemote.cpp
+++ b/lldb/tools/debugserver/source/RNBRemote.cpp
@@ -877,7 +877,23 @@ g_gdb_register_map_arm[] =
{ 55, 4, "s29", {0}, NULL, 0},
{ 56, 4, "s30", {0}, NULL, 0},
{ 57, 4, "s31", {0}, NULL, 0},
- { 58, 4, "fpscr", {0}, NULL, 0}
+ { 58, 4, "fpscr", {0}, NULL, 0},
+ { 59, 8, "d16", {0}, NULL, 0},
+ { 60, 8, "d17", {0}, NULL, 0},
+ { 61, 8, "d18", {0}, NULL, 0},
+ { 62, 8, "d19", {0}, NULL, 0},
+ { 63, 8, "d20", {0}, NULL, 0},
+ { 64, 8, "d21", {0}, NULL, 0},
+ { 65, 8, "d22", {0}, NULL, 0},
+ { 66, 8, "d23", {0}, NULL, 0},
+ { 67, 8, "d24", {0}, NULL, 0},
+ { 68, 8, "d25", {0}, NULL, 0},
+ { 69, 8, "d26", {0}, NULL, 0},
+ { 70, 8, "d27", {0}, NULL, 0},
+ { 71, 8, "d28", {0}, NULL, 0},
+ { 72, 8, "d29", {0}, NULL, 0},
+ { 73, 8, "d30", {0}, NULL, 0},
+ { 74, 8, "d31", {0}, NULL, 0}
};
register_map_entry_t
diff --git a/lldb/tools/debugserver/source/debugserver.cpp b/lldb/tools/debugserver/source/debugserver.cpp
index 12a873ef8e3..24e33e72a0e 100644
--- a/lldb/tools/debugserver/source/debugserver.cpp
+++ b/lldb/tools/debugserver/source/debugserver.cpp
@@ -831,7 +831,36 @@ main (int argc, char *argv[])
RNBRunLoopMode start_mode = eRNBRunLoopModeExit;
- while ((ch = getopt_long(argc, argv, "a:A:d:gi:vktl:f:w:x:rs:nu:", g_long_options, &long_option_index)) != -1)
+ char short_options[512];
+ uint32_t short_options_idx = 0;
+
+ // Handle the two case that don't have short options in g_long_options
+ short_options[short_options_idx++] = 'k';
+ short_options[short_options_idx++] = 't';
+
+ for (i=0; g_long_options[i].name != NULL; ++i)
+ {
+ if (isalpha(g_long_options[i].val))
+ {
+ short_options[short_options_idx++] = g_long_options[i].val;
+ switch (g_long_options[i].has_arg)
+ {
+ default:
+ case no_argument:
+ break;
+
+ case optional_argument:
+ short_options[short_options_idx++] = ':';
+ // Fall through to required_argument case below...
+ case required_argument:
+ short_options[short_options_idx++] = ':';
+ break;
+ }
+ }
+ }
+ // NULL terminate the short option string.
+ short_options[short_options_idx++] = '\0';
+ while ((ch = getopt_long(argc, argv, short_options, g_long_options, &long_option_index)) != -1)
{
DNBLogDebug("option: ch == %c (0x%2.2x) --%s%c%s\n",
ch, (uint8_t)ch,
OpenPOWER on IntegriCloud