---- exec.c.orig Fri Jan 3 15:16:55 2003
-+++ exec.c Sat May 3 14:03:35 2003
-@@ -51,7 +51,8 @@
- #include <stdarg.h>
+--- exec.c.orig 2010-07-06 16:02:22.000000000 -0700
++++ exec.c 2010-07-06 16:31:46.000000000 -0700
+@@ -48,7 +48,11 @@ __FBSDID("$FreeBSD: src/lib/libc/gen/exe
#include "un-namespace.h"
+ #include "libc_private.h"
-extern char **environ;
+#include <crt_externs.h>
+#define environ (*_NSGetEnviron())
++
++int
++_execvpe(const char *name, char * const argv[], char * const envp[]);
int
execl(const char *name, const char *arg, ...)
+@@ -259,8 +263,9 @@ retry: (void)_execve(bp, argv, envp);
+ }
+ if (eacces)
+ errno = EACCES;
+- else
++ else if (cur)
+ errno = ENOENT;
++ /* else use existing errno from _execve */
+ done:
+ return (-1);
+ }
+@@ -271,7 +276,7 @@ execvP(const char *name, const char *pat
+ return execvPe(name, path, argv, environ);
+ }
+
+-int
++__private_extern__ int
+ _execvpe(const char *name, char * const argv[], char * const envp[])
+ {
+ const char *path;