From 1360e9e270bcabb75551b7f5d9161493a66cfcaa Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Sun, 18 Apr 2010 09:16:04 +0000 Subject: Properly inherit the environment on darwin where environ is not available for shared libraries. llvm-svn: 101710 --- llvm/lib/System/Unix/Program.inc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'llvm/lib/System/Unix') diff --git a/llvm/lib/System/Unix/Program.inc b/llvm/lib/System/Unix/Program.inc index 7fdf3872dd9..b7b4e9eb469 100644 --- a/llvm/lib/System/Unix/Program.inc +++ b/llvm/lib/System/Unix/Program.inc @@ -34,6 +34,8 @@ #include #if !defined(__APPLE__) extern char **environ; +#else +#include // _NSGetEnviron #endif #endif @@ -202,8 +204,11 @@ Program::Execute(const Path &path, const char **args, const char **envp, } } + if (!envp) #if !defined(__APPLE__) - if (!envp) envp = (const char**)environ; + envp = (const char**)environ; +#else + envp = (const char**)*_NSGetEnviron(); // environ is missing in dylibs. #endif pid_t PID; -- cgit v1.2.3