summaryrefslogtreecommitdiff
path: root/tools/bugpoint
diff options
context:
space:
mode:
authorViktor Kutuzov <vkutuzov@accesssoftek.com>2009-07-14 19:10:55 +0000
committerViktor Kutuzov <vkutuzov@accesssoftek.com>2009-07-14 19:10:55 +0000
commit699220b64fd6335cc678f830bb35aa5952d354e7 (patch)
tree2b92f8edc281612c4889411eaa32b347ef11361c /tools/bugpoint
parent5e25dd388c0b23d34d44c4300e7d27dac9be1f39 (diff)
downloadllvm-699220b64fd6335cc678f830bb35aa5952d354e7.tar.gz
llvm-699220b64fd6335cc678f830bb35aa5952d354e7.tar.bz2
llvm-699220b64fd6335cc678f830bb35aa5952d354e7.tar.xz
Fix for bugpoint -remote-client
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75665 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint')
-rw-r--r--tools/bugpoint/ToolRunner.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/tools/bugpoint/ToolRunner.cpp b/tools/bugpoint/ToolRunner.cpp
index e00a2b93a0..503a5dda13 100644
--- a/tools/bugpoint/ToolRunner.cpp
+++ b/tools/bugpoint/ToolRunner.cpp
@@ -635,6 +635,7 @@ int GCC::ExecuteProgram(const std::string &ProgramFile,
std::vector<const char*> ProgramArgs;
+ std::string Exec;
if (RemoteClientPath.isEmpty())
ProgramArgs.push_back(OutputBinary.c_str());
else {
@@ -650,10 +651,10 @@ int GCC::ExecuteProgram(const std::string &ProgramFile,
ProgramArgs.push_back(RemoteExtra.c_str());
}
+ // Full path to the binary
char* env_pwd = getenv("PWD");
- std::string Exec = "cd ";
Exec += env_pwd;
- Exec += "; ./";
+ Exec += "/";
Exec += OutputBinary.c_str();
ProgramArgs.push_back(Exec.c_str());
}
@@ -673,14 +674,21 @@ int GCC::ExecuteProgram(const std::string &ProgramFile,
FileRemover OutputBinaryRemover(OutputBinary);
- if (RemoteClientPath.isEmpty())
+ if (RemoteClientPath.isEmpty()) {
+ DEBUG(std::cerr << "<run locally>" << std::flush;);
return RunProgramWithTimeout(OutputBinary, &ProgramArgs[0],
sys::Path(InputFile), sys::Path(OutputFile), sys::Path(OutputFile),
Timeout, MemoryLimit);
- else
- return RunProgramWithTimeout(sys::Path(RemoteClientPath), &ProgramArgs[0],
- sys::Path(InputFile), sys::Path(OutputFile), sys::Path(OutputFile),
- Timeout, MemoryLimit);
+ } else {
+ std::cout << "<run remotely>" << std::flush;
+ int RemoteClientStatus = RunProgramWithTimeout(sys::Path(RemoteClientPath),
+ &ProgramArgs[0], sys::Path(InputFile), sys::Path(OutputFile),
+ sys::Path(OutputFile), Timeout, MemoryLimit);
+ if (RemoteClientStatus != 0) {
+ std::cerr << "Remote Client failed with an error: " <<
+ RemoteClientStatus << ".\n" << std::flush;
+ }
+ }
}
int GCC::MakeSharedObject(const std::string &InputFile, FileType fileType,