[Lldb-commits] [lldb] r173105 - in /lldb/trunk: docs/lldb-gdb-remote.txt source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp tools/debugserver/source/RNBRemote.cpp
Greg Clayton
gclayton at apple.com
Mon Jan 21 15:32:42 PST 2013
Author: gclayton
Date: Mon Jan 21 17:32:42 2013
New Revision: 173105
URL: http://llvm.org/viewvc/llvm-project?rev=173105&view=rev
Log:
Changed the register number lists for the qRegisterInfo packet response to be raw hex to match all other register reading and writing APIs.
Modified:
lldb/trunk/docs/lldb-gdb-remote.txt
lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
lldb/trunk/tools/debugserver/source/RNBRemote.cpp
Modified: lldb/trunk/docs/lldb-gdb-remote.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/docs/lldb-gdb-remote.txt?rev=173105&r1=173104&r2=173105&view=diff
==============================================================================
--- lldb/trunk/docs/lldb-gdb-remote.txt (original)
+++ lldb/trunk/docs/lldb-gdb-remote.txt Mon Jan 21 17:32:42 2013
@@ -371,15 +371,15 @@
arguments when the argument fits into a register)
container-regs
- The value for this key is a comma separated list of decimal register
- numbers.
+ The value for this key is a comma separated list of raw hex (no
+ leading "0x") register numbers.
This specifies that this register is contained in other concrete
register values. For example "eax" is in the lower 32 bits of the
"rax" register value for x86_64, so "eax" could specify that it is
contained in "rax" by specifying the register number for "rax".
- "container-regs:0,1;"
+ "container-regs:00,0a,3b;"
This is handy for defining what GDB used to call "pseudo" registers.
These registers are never requested by LLDB via the register read
@@ -387,13 +387,13 @@
of this register.
invalidate-regs
- The value for this key is a comma separated list of decimal register
- numbers.
+ The value for this key is a comma separated list of raw hex (no
+ leading "0x") register numbers.
This specifies which register values should be invalidated when this
register is modified.
- "invalidate-regs:1,2,3;"
+ "invalidate-regs:01,0b,1e;"
This is handy when modifying a specific register can cause other
register values to change. For example, when debugging an ARM target,
Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=173105&r1=173104&r2=173105&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Mon Jan 21 17:32:42 2013
@@ -382,7 +382,9 @@
value_pair = value_pair.second.split(',');
if (!value_pair.first.empty())
{
- value_regs.push_back (Args::StringToUInt32 (value_pair.first.str().c_str()));
+ uint32_t reg = Args::StringToUInt32 (value_pair.first.str().c_str(), LLDB_INVALID_REGNUM, 16);
+ if (reg != LLDB_INVALID_REGNUM)
+ value_regs.push_back (reg);
}
} while (!value_pair.second.empty());
}
@@ -395,7 +397,9 @@
value_pair = value_pair.second.split(',');
if (!value_pair.first.empty())
{
- invalidate_regs.push_back (Args::StringToUInt32 (value_pair.first.str().c_str()));
+ uint32_t reg = Args::StringToUInt32 (value_pair.first.str().c_str(), LLDB_INVALID_REGNUM, 16);
+ if (reg != LLDB_INVALID_REGNUM)
+ invalidate_regs.push_back (reg);
}
} while (!value_pair.second.empty());
}
Modified: lldb/trunk/tools/debugserver/source/RNBRemote.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/RNBRemote.cpp?rev=173105&r1=173104&r2=173105&view=diff
==============================================================================
--- lldb/trunk/tools/debugserver/source/RNBRemote.cpp (original)
+++ lldb/trunk/tools/debugserver/source/RNBRemote.cpp Mon Jan 21 17:32:42 2013
@@ -1572,7 +1572,7 @@
{
if (i > 0)
ostrm << ',';
- ostrm << DECIMAL << reg_entry->nub_info.update_regs[i];
+ ostrm << RAW_HEXBASE << reg_entry->nub_info.update_regs[i];
}
ostrm << ';';
}
More information about the lldb-commits
mailing list