https://github.com/yuvald-sweet-security updated https://github.com/llvm/llvm-project/pull/131519
>From df4b4e2a0361eaeaace3f8578f4f30d95fee059a Mon Sep 17 00:00:00 2001 From: Yuval Deutscher <yuvald@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 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lldb/tools/lldb-server/lldb-platform.cpp b/lldb/tools/lldb-server/lldb-platform.cpp index 880b45b989b9c..54650a8890325 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,13 +547,13 @@ 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, - log_channels, &main_loop, - &platform_handles](std::unique_ptr<Socket> sock_up) { + 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(), - gdbserver_port, inferior_arguments, - log_file, log_channels, main_loop); + Status error = spawn_process( + HostInfo::GetProgramFileSpec(), sock_up.get(), gdbserver_port, + inferior_arguments, log_file, log_channels, main_loop); if (error.Fail()) { Log *log = GetLog(LLDBLog::Platform); LLDB_LOGF(log, "spawn_process failed: %s", error.AsCString()); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits