Home | History | Annotate | Download | only in gen
History log of /src/lib/libc/gen/execvp.c
RevisionDateAuthorComments
 1.32  20-Jan-2024  christos Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
 1.31  26-Sep-2014  christos add execvpe, execlpe (reviewed by phone)
 1.30  20-Jul-2007  yamt branches: 1.30.16;
add a comment.
 1.29  09-Nov-2006  christos undo the previous; we need alloca here, otherwise the parent will leak on
vfork.
 1.28  09-Nov-2006  christos use mmap instead of malloc because we may have vforked. pointed out by yamt.
 1.27  08-Nov-2006  christos if we are using ssp, use malloc instead of alloca.
 1.26  29-Nov-2005  christos WARNS=4
 1.25  01-Jun-2005  lukem appease gcc -Wuninitialized
 1.24  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.23  15-Mar-2003  christos PR/13242: John Heasley: ENOTDIR is not fatal
 1.22  04-Mar-2003  nathanw Don't acquire __environ_lock around exec*() calls; nothing requires
that these calls be thread-safe with respect to the environment, and it
causes serious problems for threaded applications which call vfork() and
exec*() (including indirectly, via popen() or system()).

Acquire and release __environ_lock in the parent in popen() and system() to
play safe and provide the child with a stable environment.

__environ_lock should also have an atfork() handler; still under development.
 1.21  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.20  08-Dec-2001  enami Use memcpy instead of memmove since no overlaps here (copy from somewhere
outside of the funciton to our stack).
 1.19  19-Sep-2001  enami Cosmetic changes (including ANSI'fy).
 1.18  19-Sep-2001  enami Remove unnecessary alloca, strcpy and strlen call.
 1.17  18-Sep-2001  simonb Use alloca() instead of malloc() and strdup(). Proper fix for the find
problem posted to current-users@netbsd.org. Solution suggested by a
couple of folks on that mailing list, and Art Grabowski who pointed me
at a similar change in OpenBSD.
 1.16  22-Jan-2000  mycroft branches: 1.16.6;
Delint.
Remove trailing ; from uses of __weak_alias(). The macro inserts this if
needed.
 1.15  20-Sep-1999  lukem back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
 1.14  16-Sep-1999  lukem * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

_DIAGASSERT(path != NULL)
#ifdef _DIAGNOSTIC
if (path == NULL) {
errno = EFAULT;
return (-1);
}
#endif
 1.13  16-Sep-1999  lukem revert previous (as per klaus). will diagassert() name == NULL check instead...
 1.12  16-Sep-1999  lukem check name != NULL before checking name[0] != '\0'
 1.11  04-Feb-1999  kleink Make argv construction code reentrant.
 1.10  12-Nov-1998  christos fix lint const lossage.
 1.9  11-Sep-1998  kleink Add a multiple-reader/single-writer lock to protect environ.
 1.8  26-Aug-1998  perry fix bcopy->memcpy with memcpy->memmove -- not strictly needed, but...
 1.7  10-Aug-1998  perry bzero->memset, bcopy->memcpy, bcmp->memcmp
 1.6  26-Feb-1998  perry trivial changes to reduce lint complaints
 1.5  03-Feb-1998  perry remove obsolete register declarations
 1.4  21-Jul-1997  jtc If port provides __weak_alias(), provide an Standard C and POSIX pure
identifier namespace by renaming non standard functions and variables
such that they have a leading underscore. The library will use those
names internally. Weak aliases are used to provide the original names
to the API.

This is only the first part of this change. It is most of the functions
which are implemented in C for all NetBSD ports. Subsequent changes are
to add the same support to the remaining C files, to assembly files, and
to the automagically generated assembly source used for system calls.
When all of the above is done, ports with weak alias support should add
a definition for __weak_alias to <sys/cdefs.h>.
 1.3  13-Jul-1997  christos Fix RCSID's
Initialize `path' in case of error.
Fix gcc warnings.
 1.2  24-Apr-1997  kleink POSIX.1/stopgap measure: if "" is to be executed, fail with ENOENT
immediately as there is no way for namei() to deal with this when
traversing $PATH.
 1.1  03-Jul-1996  jtc branches: 1.1.2;
Split all exec*() functions out of exec.c into their own files.
 1.1.2.1  19-Sep-1996  jtc snapshot namespace cleanup: gen
 1.16.6.3  28-Jan-2002  nathanw Catch up to -current.
 1.16.6.2  08-Oct-2001  nathanw Catch up to -current.
 1.16.6.1  08-Aug-2001  nathanw _REENT -> _REENTRANT
 1.30.16.2  20-Jul-2007  yamt add a comment.
 1.30.16.1  20-Jul-2007  yamt file execvp.c was added on branch matt-mips64 on 2007-07-20 12:41:08 +0000

RSS XML Feed