[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