[Lldb-commits] [lldb] [lldb] Use correct path for lldb-server executable (PR #131519)

Yuval Deutscher via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 17 04:06:38 PDT 2025


https://github.com/yuvald-sweet-security updated https://github.com/llvm/llvm-project/pull/131519

>From bf755daf57a0255157f0b8ccec2372d2ef9e2ef3 Mon Sep 17 00:00:00 2001
From: Yuval Deutscher <yuvald at sweet.security>
Date: Sun, 16 Mar 2025 14:08:57 +0000
Subject: [PATCH] [lldb] Use correct path for lldb-server executable

---
 lldb/tools/lldb-server/lldb-platform.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lldb/tools/lldb-server/lldb-platform.cpp b/lldb/tools/lldb-server/lldb-platform.cpp
index 880b45b989b9c..351a840851f36 100644
--- a/lldb/tools/lldb-server/lldb-platform.cpp
+++ b/lldb/tools/lldb-server/lldb-platform.cpp
@@ -31,6 +31,7 @@
 #include "Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h"
 #include "lldb/Host/ConnectionFileDescriptor.h"
 #include "lldb/Host/HostGetOpt.h"
+#include "lldb/Host/HostInfo.h"
 #include "lldb/Host/MainLoop.h"
 #include "lldb/Host/OptionParser.h"
 #include "lldb/Host/Socket.h"
@@ -256,7 +257,7 @@ static void client_handle(GDBRemoteCommunicationServerPlatform &platform,
   printf("Disconnected.\n");
 }
 
-static Status spawn_process(const char *progname, const Socket *conn_socket,
+static Status spawn_process(const FileSpec &prog, const Socket *conn_socket,
                             uint16_t gdb_port, const lldb_private::Args &args,
                             const std::string &log_file,
                             const StringRef log_channels, MainLoop &main_loop) {
@@ -267,8 +268,7 @@ static Status spawn_process(const char *progname, const Socket *conn_socket,
 
   ProcessLaunchInfo launch_info;
 
-  FileSpec self_spec(progname, FileSpec::Style::native);
-  launch_info.SetExecutableFile(self_spec, true);
+  launch_info.SetExecutableFile(prog, true);
   Args &self_args = launch_info.GetArguments();
   self_args.AppendArgument(llvm::StringRef("platform"));
   self_args.AppendArgument(llvm::StringRef("--child-platform-fd"));
@@ -547,11 +547,11 @@ int main_platform(int argc, char *argv[]) {
   {
     llvm::Expected<std::vector<MainLoopBase::ReadHandleUP>> platform_handles =
         platform_sock->Accept(
-            main_loop, [progname, gdbserver_port, &inferior_arguments, log_file,
+            main_loop, [gdbserver_port, &inferior_arguments, log_file,
                         log_channels, &main_loop,
                         &platform_handles](std::unique_ptr<Socket> sock_up) {
               printf("Connection established.\n");
-              Status error = spawn_process(progname, sock_up.get(),
+              Status error = spawn_process(HostInfo::GetProgramFileSpec(), sock_up.get(),
                                            gdbserver_port, inferior_arguments,
                                            log_file, log_channels, main_loop);
               if (error.Fail()) {



More information about the lldb-commits mailing list