|
Message-ID: <CAL3m8eBQWY-dbxy1M97HSmDcWBB3Vu7cztQ1fd3KNUqchyiZ=Q@mail.gmail.com> Date: Tue, 15 Apr 2014 23:15:14 -0500 From: M Farkas-Dyck <strake888@...il.com> To: musl@...ts.openwall.com Subject: Re: [patch] expose execvpe under _(GNU|BSD)_SOURCE On 15/04/2014, Rich Felker <dalias@...c.org> wrote: > I don't really object to exposing it under _BSD_SOURCE, but is there > precedent for this? Yes: http://www.openbsd.org/cgi-bin/man.cgi?query=execvpe > Testing feature test macros with #ifdef in the libc source files is > not meaningful, and doesn't respect the namespace. There are two > possible right ways to do this: either a separate source file (so it > can't affect the namespace), or a weak alias from __execvpe to > execvpe. The latter would be preferable here since it would have zero > increase to code size. --- include/unistd.h | 3 +++ src/process/execvp.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/include/unistd.h b/include/unistd.h index bf10a6d..342ab68 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -88,6 +88,9 @@ int execle(const char *, const char *, ...); int execl(const char *, const char *, ...); int execvp(const char *, char *const []); int execlp(const char *, const char *, ...); +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int execvpe(const char *, char *const [], char *const []); +#endif int fexecve(int, char *const [], char *const []); _Noreturn void _exit(int); diff --git a/src/process/execvp.c b/src/process/execvp.c index 0a33e42..5c486b1 100644 --- a/src/process/execvp.c +++ b/src/process/execvp.c @@ -47,3 +47,5 @@ int execvp(const char *file, char *const argv[]) { return __execvpe(file, argv, __environ); } + +weak_alias(__execvpe, execvpe); -- 1.8.5.2
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.