Fix linux build. posix_spawn doesn't inherit the environment by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101701 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/System/Unix/Program.inc b/lib/System/Unix/Program.inc
index 44e831f..476e90b 100644
--- a/lib/System/Unix/Program.inc
+++ b/lib/System/Unix/Program.inc
@@ -34,6 +34,8 @@
 #include <spawn.h>
 #endif
 
+extern char **environ;
+
 namespace llvm {
 using namespace sys;
 
@@ -126,7 +128,7 @@
 
 #ifdef HAVE_POSIX_SPAWN
 static bool RedirectIO_PS(const Path *Path, int FD, std::string *ErrMsg,
-                         posix_spawn_file_actions_t &FileActions) {
+                          posix_spawn_file_actions_t &FileActions) {
   if (Path == 0) // Noop
     return false;
   std::string File;
@@ -200,6 +202,7 @@
     }
 
     pid_t PID;
+    if (!envp) envp = (const char**)environ;
     int Err = posix_spawn(&PID, path.c_str(), &FileActions,
                           /*attrp*/0, (char**)args, (char**)envp);