diff options
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 41d6b7674a0..ae25fb4b4f1 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -824,15 +824,22 @@ NativeProcessLinux::LaunchArgs::~LaunchArgs() // ----------------------------------------------------------------------------- Error -NativeProcessLinux::LaunchProcess ( - Module *exe_module, +NativeProcessProtocol::Launch ( ProcessLaunchInfo &launch_info, NativeProcessProtocol::NativeDelegate &native_delegate, NativeProcessProtocolSP &native_process_sp) { Log *log (GetLogIfAllCategoriesSet (LIBLLDB_LOG_PROCESS)); - Error error; + lldb::ModuleSP exe_module_sp; + PlatformSP platform_sp (Platform::GetHostPlatform ()); + Error error = platform_sp->ResolveExecutable( + ModuleSpec(launch_info.GetExecutableFile(), launch_info.GetArchitecture()), + exe_module_sp, + nullptr); + + if (! error.Success()) + return error; // Verify the working directory is valid if one was specified. FileSpec working_dir{launch_info.GetWorkingDirectory()}; @@ -906,7 +913,7 @@ NativeProcessLinux::LaunchProcess ( } std::static_pointer_cast<NativeProcessLinux> (native_process_sp)->LaunchInferior ( - exe_module, + exe_module_sp.get(), launch_info.GetArguments ().GetConstArgumentVector (), launch_info.GetEnvironmentEntries ().GetConstArgumentVector (), stdin_file_spec, @@ -930,7 +937,7 @@ NativeProcessLinux::LaunchProcess ( } Error -NativeProcessLinux::AttachToProcess ( +NativeProcessProtocol::Attach ( lldb::pid_t pid, NativeProcessProtocol::NativeDelegate &native_delegate, NativeProcessProtocolSP &native_process_sp) |