[Lldb-commits] [PATCH] D111964: [lldb] [lldb-server] Allow any protocol supported by lldb

Michał Górny via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Oct 18 13:01:57 PDT 2021


mgorny updated this revision to Diff 380502.
mgorny retitled this revision from "[lldb] [lldb-server] Support listening on serial://" to "[lldb] [lldb-server] Allow any protocol supported by lldb".
mgorny edited the summary of this revision.

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111964/new/

https://reviews.llvm.org/D111964

Files:
  lldb/tools/lldb-server/lldb-gdbserver.cpp


Index: lldb/tools/lldb-server/lldb-gdbserver.cpp
===================================================================
--- lldb/tools/lldb-server/lldb-gdbserver.cpp
+++ lldb/tools/lldb-server/lldb-gdbserver.cpp
@@ -230,24 +230,27 @@
       final_host_and_port.append("localhost");
     final_host_and_port.append(host_and_port.str());
 
-    if (reverse_connect) {
+    bool is_url = host_and_port.contains("://");
+    if (reverse_connect || is_url) {
       // llgs will connect to the gdb-remote client.
 
-      // Ensure we have a port number for the connection.
-      // Note: use rfind, because the host/port may look like "[::1]:12345".
-      uint32_t connection_portno = 0;
-      const std::string::size_type colon_pos = final_host_and_port.rfind(':');
-      if (colon_pos != std::string::npos)
-        llvm::to_integer(final_host_and_port.substr(colon_pos + 1),
-                         connection_portno);
-      if (connection_portno == 0) {
-        llvm::errs() << "error: port number must be specified on when using "
-                        "reverse connect\n";
-        exit(1);
-      }
+      if (!is_url) {
+        // Ensure we have a port number for the connection.
+        // Note: use rfind, because the host/port may look like "[::1]:12345".
+        uint32_t connection_portno = 0;
+        const std::string::size_type colon_pos = final_host_and_port.rfind(':');
+        if (colon_pos != std::string::npos)
+          llvm::to_integer(final_host_and_port.substr(colon_pos + 1),
+                           connection_portno);
+        if (connection_portno == 0) {
+          llvm::errs() << "error: port number must be specified on when using "
+                          "reverse connect\n";
+          exit(1);
+        }
 
-      // Build the connection string.
-      final_host_and_port.insert(0, "connect://");
+        // Build the connection string.
+        final_host_and_port.insert(0, "connect://");
+      }
 
       // Create the connection.
       connection_up.reset(new ConnectionFileDescriptor);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111964.380502.patch
Type: text/x-patch
Size: 2049 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20211018/237319db/attachment.bin>


More information about the lldb-commits mailing list