[Lldb-commits] [lldb] r331073 - [debugserver] Fix the G packet handling.

Frederic Riss via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 27 12:59:42 PDT 2018


Author: friss
Date: Fri Apr 27 12:59:42 2018
New Revision: 331073

URL: http://llvm.org/viewvc/llvm-project?rev=331073&view=rev
Log:
[debugserver] Fix the G packet handling.

Of course r331004 needed a counterpart on the write side.

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteGPacket.py
    lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp

Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteGPacket.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteGPacket.py?rev=331073&r1=331072&r2=331073&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteGPacket.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteGPacket.py Fri Apr 27 12:59:42 2018
@@ -24,6 +24,15 @@ class TestGdbRemoteGPacket(gdbremote_tes
         register_bank = context.get("register_bank")
         self.assertTrue(register_bank[0] != 'E')
 
+        self.test_sequence.add_log_lines(
+            ["read packet: $G" + register_bank + "#00",
+             {"direction": "send", "regex": r"^\$(.+)#[0-9a-fA-F]{2}$",
+              "capture": {1: "G_reply"}}],
+            True)
+        context = self.expect_gdbremote_sequence()
+        self.assertTrue(context.get("G_reply")[0] != 'E')
+
+
     @skipIfOutOfTreeDebugserver
     @debugserver_test
     def test_g_packet_debugserver(self):

Modified: lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp?rev=331073&r1=331072&r2=331073&view=diff
==============================================================================
--- lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp (original)
+++ lldb/trunk/tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp Fri Apr 27 12:59:42 2018
@@ -2717,7 +2717,9 @@ nub_size_t DNBArchImplX86_64::SetRegiste
 
     // Copy fcw through mxcsrmask as there is no padding
     memcpy(&m_state.context.fpu.no_avx.__fpu_fcw, p, 5);
-    p += 5;
+    // We wrote 5 bytes, but we skip 6 to account for __fpu_rsrv1
+    // to match the g_fpu_registers_* tables.
+    p += 6;
     memcpy(&m_state.context.fpu.no_avx.__fpu_fop, p, 8);
     p += 8;
     memcpy(&m_state.context.fpu.no_avx.__fpu_dp, p, 6);




More information about the lldb-commits mailing list