[Lldb-commits] [lldb] 6e5c4a4 - [lldb] Re-enable GDB server client memory tag read tests

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Fri Jun 25 03:10:27 PDT 2021


Author: David Spickett
Date: 2021-06-25T10:09:52Z
New Revision: 6e5c4a443d7e354a37d7dcb82a65216679ab1b40

URL: https://github.com/llvm/llvm-project/commit/6e5c4a443d7e354a37d7dcb82a65216679ab1b40
DIFF: https://github.com/llvm/llvm-project/commit/6e5c4a443d7e354a37d7dcb82a65216679ab1b40.diff

LOG: [lldb] Re-enable GDB server client memory tag read tests

These were disabled in 473a3a773ea565612e836ae6c2093178c5a9eb72
because they failed on 32 bit platforms. (Arm for sure but I assume
any 32 bit)

This was due to the printf formatter used. These assumed
that types like uint64_t/size_t would be certain size/type and
that changes on 32 bit.

Instead use "z" to print the size_t and PRI<...> formatters
for the addr_t (always uint64_t) and the int32_t.

Added: 
    

Modified: 
    lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
index a7fcf084fa60c..0e529d221495e 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
@@ -590,7 +590,7 @@ DataBufferSP GDBRemoteCommunicationClient::ReadMemoryTags(lldb::addr_t addr,
                                                           size_t len,
                                                           int32_t type) {
   StreamString packet;
-  packet.Printf("qMemTags:%lx,%lx:%x", addr, len, type);
+  packet.Printf("qMemTags:%" PRIx64 ",%zx:%" PRIx32, addr, len, type);
   StringExtractorGDBRemote response;
 
   Log *log = ProcessGDBRemoteLog::GetLogIfAnyCategoryIsSet(GDBR_LOG_MEMORY);

diff  --git a/lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp b/lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
index 91e63451d949c..b9fc107527a21 100644
--- a/lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
+++ b/lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
@@ -465,7 +465,7 @@ TEST_F(GDBRemoteCommunicationClientTest, GetQOffsets) {
   EXPECT_EQ(llvm::None, GetQOffsets("TextSeg=0x1234"));
   EXPECT_EQ(llvm::None, GetQOffsets("TextSeg=12345678123456789"));
 }
-#if 0
+
 static void
 check_qmemtags(TestClient &client, MockServer &server, size_t read_len,
                const char *packet, llvm::StringRef response,
@@ -530,4 +530,3 @@ TEST_F(GDBRemoteCommunicationClientTest, ReadMemoryTags) {
   check_qmemtags(client, server, 32, "qMemTags:def0,20:1", "m01020",
                  llvm::None);
 }
-#endif


        


More information about the lldb-commits mailing list