Fixed an issue in GDBRemoteCommunicationClient where we weren't listening to
the "payload_length" argument for the "payload" packet data. This meant we 
could end up sending random extra data with a packet depending on how the 
packet was constructed.

Fixed GDBRemoteRegisterContext to properly save and restore all registers. 
Previous fixes had been added to work around the "payload_length" issues fixed
above and aren't needed anymore.

Fix logging in GDBRemoteCommunication to make sure we log the correct packet
data being sent by using the packet length when dumping the packet contents.

Added register definitions for 'arm-lldb' in the "disasm-gdb-remote.pl" script
so if you have a register dump from the GDB remote that doesn't include the
qRegisterInfo packets, you can manually tell the script which registers are
which.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131715 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/disasm-gdb-remote.pl b/scripts/disasm-gdb-remote.pl
index 84788de..3a12f4d 100755
--- a/scripts/disasm-gdb-remote.pl
+++ b/scripts/disasm-gdb-remote.pl
@@ -204,6 +204,95 @@
         { name => 'd31'     , info => $float64_href },
     ],
     
+    
+    'arm-lldb' => [
+        { name => 'r0'      , info => $reg32_href   },
+        { name => 'r1'      , info => $reg32_href   },
+        { name => 'r2'      , info => $reg32_href   },
+        { name => 'r3'      , info => $reg32_href   },
+        { name => 'r4'      , info => $reg32_href   },
+        { name => 'r5'      , info => $reg32_href   },
+        { name => 'r6'      , info => $reg32_href   },
+        { name => 'r7'      , info => $reg32_href   },
+        { name => 'r8'      , info => $reg32_href   },
+        { name => 'r9'      , info => $reg32_href   },
+        { name => 'r10'     , info => $reg32_href   },
+        { name => 'r11'     , info => $reg32_href   },
+        { name => 'r12'     , info => $reg32_href   },
+        { name => 'sp'      , info => $reg32_href   },
+        { name => 'lr'      , info => $reg32_href   },
+        { name => 'pc'      , info => $reg32_href   },
+        { name => 'cpsr'    , info => $reg32_href   },
+        { name => 's0'      , info => $float32_href },
+        { name => 's1'      , info => $float32_href },
+        { name => 's2'      , info => $float32_href },
+        { name => 's3'      , info => $float32_href },
+        { name => 's4'      , info => $float32_href },
+        { name => 's5'      , info => $float32_href },
+        { name => 's6'      , info => $float32_href },
+        { name => 's7'      , info => $float32_href },
+        { name => 's8'      , info => $float32_href },
+        { name => 's9'      , info => $float32_href },
+        { name => 's10'     , info => $float32_href },
+        { name => 's11'     , info => $float32_href },
+        { name => 's12'     , info => $float32_href },
+        { name => 's13'     , info => $float32_href },
+        { name => 's14'     , info => $float32_href },
+        { name => 's15'     , info => $float32_href },
+        { name => 's16'     , info => $float32_href },
+        { name => 's17'     , info => $float32_href },
+        { name => 's18'     , info => $float32_href },
+        { name => 's19'     , info => $float32_href },
+        { name => 's20'     , info => $float32_href },
+        { name => 's21'     , info => $float32_href },
+        { name => 's22'     , info => $float32_href },
+        { name => 's23'     , info => $float32_href }, 
+        { name => 's24'     , info => $float32_href },
+        { name => 's25'     , info => $float32_href },
+        { name => 's26'     , info => $float32_href },
+        { name => 's27'     , info => $float32_href },
+        { name => 's28'     , info => $float32_href },
+        { name => 's29'     , info => $float32_href },
+        { name => 's30'     , info => $float32_href },
+        { name => 's31'     , info => $float32_href },
+        { name => 'd0'      , info => $float64_href },
+        { name => 'd1'      , info => $float64_href },
+        { name => 'd2'      , info => $float64_href },
+        { name => 'd3'      , info => $float64_href },
+        { name => 'd4'      , info => $float64_href },
+        { name => 'd5'      , info => $float64_href },
+        { name => 'd6'      , info => $float64_href },
+        { name => 'd7'      , info => $float64_href },
+        { name => 'd8'      , info => $float64_href },
+        { name => 'd9'      , info => $float64_href },
+        { name => 'd10'     , info => $float64_href },
+        { name => 'd11'     , info => $float64_href },
+        { name => 'd12'     , info => $float64_href },
+        { name => 'd13'     , info => $float64_href },
+        { name => 'd14'     , info => $float64_href },
+        { name => 'd15'     , info => $float64_href },
+        { name => 'd16'     , info => $float64_href },
+        { name => 'd17'     , info => $float64_href },
+        { name => 'd18'     , info => $float64_href },
+        { name => 'd19'     , info => $float64_href },
+        { name => 'd20'     , info => $float64_href },
+        { name => 'd21'     , info => $float64_href },
+        { name => 'd22'     , info => $float64_href },
+        { name => 'd23'     , info => $float64_href }, 
+        { name => 'd24'     , info => $float64_href },
+        { name => 'd25'     , info => $float64_href },
+        { name => 'd26'     , info => $float64_href },
+        { name => 'd27'     , info => $float64_href },
+        { name => 'd28'     , info => $float64_href },
+        { name => 'd29'     , info => $float64_href },
+        { name => 'd30'     , info => $float64_href },
+        { name => 'd31'     , info => $float64_href },
+        { name => 'fpscr'   , info => $reg32_href   },
+        { name => 'exc'     , info => $reg32_href   },
+        { name => 'fsr'     , info => $reg32_href   },
+        { name => 'far'     , info => $reg32_href   },
+    ],    
+    
     'x86_64-gdb' => [
     	{ name => 'rax'		, info => $reg64_href   },
     	{ name => 'rbx'     , info => $reg64_href   },