Follow Unix behavior and return 127 if the command is not found,
and 126 if it is not executable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78120 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/System/Unix/Program.inc b/lib/System/Unix/Program.inc
index d2baca8..4814228 100644
--- a/lib/System/Unix/Program.inc
+++ b/lib/System/Unix/Program.inc
@@ -202,7 +202,7 @@
execv(path.c_str(), (char**)args);
// If the execve() failed, we should exit and let the parent pick up
// our non-zero exit status.
- exit(127);
+ exit(errno == ENOENT ? 127 : 126);
}
// Parent process: Break out of the switch to do our processing.