forked from OSchip/llvm-project
Fix process launch from Windows host to Android target.
Summary: - Denormalized path on Windows host causes bad `A` packet. - Executables copied from Windows host doesn't have executable bits. Reviewers: tberghammer, zturner, ovyalov Reviewed By: ovyalov Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D9492 llvm-svn: 236516
This commit is contained in:
parent
6ebc207703
commit
ce36c4cee1
|
@ -1312,7 +1312,7 @@ GDBRemoteCommunicationClient::SendArgumentsPacket (const ProcessLaunchInfo &laun
|
|||
const char *arg = NULL;
|
||||
const Args &launch_args = launch_info.GetArguments();
|
||||
if (exe_file)
|
||||
exe_path = exe_file.GetPath();
|
||||
exe_path = exe_file.GetPath(false);
|
||||
else
|
||||
{
|
||||
arg = launch_args.GetArgumentAtIndex(0);
|
||||
|
@ -3221,7 +3221,7 @@ GDBRemoteCommunicationClient::SetFilePermissions (const char *path,
|
|||
if (response.GetChar() != 'F')
|
||||
return Error("invalid response to '%s' packet", packet);
|
||||
|
||||
return Error(response.GetU32(false, UINT32_MAX), eErrorTypePOSIX);
|
||||
return Error(response.GetU32(UINT32_MAX), eErrorTypePOSIX);
|
||||
}
|
||||
|
||||
static uint64_t
|
||||
|
|
|
@ -2378,6 +2378,7 @@ Target::Install (ProcessLaunchInfo *launch_info)
|
|||
module_sp->SetPlatformFileSpec(remote_file);
|
||||
if (is_main_executable)
|
||||
{
|
||||
platform_sp->SetFilePermissions(remote_file.GetPath(false).c_str(), 0700);
|
||||
if (launch_info)
|
||||
launch_info->SetExecutableFile(remote_file, false);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue