NetBSD/lib/libc/gen
jtc a0d2fe2548 Thanks to the calling conventions used by some cpus, the argument lists
passed to the execl(), execle(), and execlp() functions are in the form
of the argument vector to be passed to execve().  On these architectures,
it is unnecessary to count the number of arguments, allocate space on
the stack, copy the arguments, etc.  The vector already on the stack
can be used instead.

When some arguments are passed in registers (like most RISC CPU's), it
should be possible to allocate stack space adjacent such that the
registers can be copied to that memory.  After that, the same
approach described above can be used.

This change takes advantage of this on the i386, m68k, and ns32k.  It
is probably true on the vax, but I am unable to check.  RISC CPU's
probably need assembly language implementations to ensure everything
is placed exactly as needed when registers are copied to the stack...
1996-07-04 07:18:56 +00:00
..
_err.c #define _verr* to verr*, to make these use prototypes correctly 1996-04-17 23:05:44 +00:00
_errx.c #define _verr* to verr*, to make these use prototypes correctly 1996-04-17 23:05:44 +00:00
_sys_errlist.c Changed name of __weak_reference() to __indr_reference(). They really 1995-03-23 19:58:48 +00:00
_sys_nerr.c Changed name of __weak_reference() to __indr_reference(). They really 1995-03-23 19:58:48 +00:00
_sys_siglist.c Changed name of __weak_reference() to __indr_reference(). They really 1995-03-23 19:58:48 +00:00
_verr.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
_verrx.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
_vwarn.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
_vwarnx.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
_warn.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
_warnx.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
alarm.3 Rewrite the description of alarm(3) to match reality. 1996-02-01 20:11:48 +00:00
alarm.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
assert.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
clock.3 merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
clock.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
closedir.c Don't cast void functions to void. 1995-06-16 07:05:27 +00:00
confstr.3 clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
confstr.c #include appropriate header files to bring prototypes into scope 1995-05-13 06:58:18 +00:00
ctermid.3 merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
ctermid.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
ctype_.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
ctype.3 merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
daemon.3 update to 4.4-Lite where appropriate, clean up Id format, etc. 1995-02-25 13:40:51 +00:00
daemon.c update to 4.4-Lite where appropriate, clean up Id format, etc. 1995-02-25 13:40:51 +00:00
devname.3 merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
devname.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
directory.3 clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
disklabel.c eliminate the need for some (fatal) casts. 1995-06-07 13:14:09 +00:00
err.3 update to 4.4-Lite where appropriate, clean up Id format, etc. 1995-02-25 13:40:51 +00:00
err.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
errlist.c update to 4.4-Lite where appropriate, clean up Id format, etc. 1995-02-25 13:40:51 +00:00
errno.c merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
errx.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
exec.3 merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
execl.c Thanks to the calling conventions used by some cpus, the argument lists 1996-07-04 07:18:56 +00:00
execle.c Thanks to the calling conventions used by some cpus, the argument lists 1996-07-04 07:18:56 +00:00
execlp.c Thanks to the calling conventions used by some cpus, the argument lists 1996-07-04 07:18:56 +00:00
execv.c Split all exec*() functions out of exec.c into their own files. 1996-07-03 21:41:46 +00:00
execvp.c Split all exec*() functions out of exec.c into their own files. 1996-07-03 21:41:46 +00:00
fnmatch.3 delete wordexp reference 1995-02-27 06:25:38 +00:00
fnmatch.c merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
frexp.3 merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
fstab.c Add explict function return types 1996-04-03 19:48:56 +00:00
ftok.3 merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
ftok.c merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
fts.3 merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
fts.c merge with Lite, keeping local changes. Also use new Id format. 1995-02-27 03:42:42 +00:00
getbsize.3 update to 4.4-Lite where appropriate, clean up Id format, etc. 1995-02-25 13:40:51 +00:00
getbsize.c Add missing argument to warnx(). 1996-01-22 16:34:08 +00:00
getcap.3 update to 4.4-Lite where appropriate, clean up Id format, etc. 1995-02-25 13:40:51 +00:00
getcap.c Do not terminate the search on errors other than ENOENT. 1995-08-24 05:26:35 +00:00
getcwd.3 stdio.h -> unistd.h 1995-07-30 06:05:35 +00:00
getcwd.c Don't cast void functions to void. 1995-06-16 07:05:27 +00:00
getdiskbyname.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getdomainname.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getdomainname.c Change return type of {get,set}{domain,host}name() from long to int. 1995-06-16 07:36:03 +00:00
getfsent.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getgrent.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getgrent.c Improvements to YP support from Jason Downs. 1995-07-28 05:43:01 +00:00
getgrouplist.3 Manpage fixes from Jochen Pohl. Aligns the prototypes in the SYNOPSIS 1995-10-12 15:39:23 +00:00
getgrouplist.c Don't duplicate the primary group. The first member of the groups list 1995-06-01 22:51:17 +00:00
gethostname.3 Add proper punctuation; Reported by Mike Long <mike.long@analog.com> in PR #2302. 1996-04-08 20:56:38 +00:00
gethostname.c Change return type of {get,set}{domain,host}name() from long to int. 1995-06-16 07:36:03 +00:00
getloadavg.3 clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
getloadavg.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
getlogin.c update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getmntinfo.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getmntinfo.c update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getnetgrent.3 clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
getnetgrent.c - grab prototypes from netgroup.h 1996-04-27 18:59:05 +00:00
getpagesize.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getpagesize.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
getpass.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getpass.c Signal mask was not restored correctly. 1996-05-20 06:13:07 +00:00
getpwent.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getpwent.c Improvements to YP support from Jason Downs. 1995-07-28 05:43:01 +00:00
getsubopt.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getsubopt.c getsubopt() uses strcmp(), so include <string.h> 1995-06-16 07:15:18 +00:00
getttyent.3 Add missing documentation for TTY_MDMBUF. 1996-03-17 19:36:53 +00:00
getttyent.c Don't cast void functions to void. 1995-06-16 07:05:27 +00:00
getusershell.3 update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
getusershell.c update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
glob.3 fix a couple of typesetting and grammatical errors in GLOB_BRACE's description 1996-04-19 00:12:16 +00:00
glob.c update from Lite, with local changes. fix Ids, etc. 1995-02-27 04:12:15 +00:00
initgroups.3 Manpage fixes from Jochen Pohl. Aligns the prototypes in the SYNOPSIS 1995-10-12 15:39:23 +00:00
initgroups.c Don't set the rgid or egid. Document this behavior. This is compatible with 1995-06-03 02:27:17 +00:00
isalnum.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:25 +00:00
isalpha.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:25 +00:00
isascii.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:25 +00:00
isatty.c merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:25 +00:00
isblank.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:25 +00:00
iscntrl.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:25 +00:00
isctype.c merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:25 +00:00
isdigit.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
isgraph.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
isinf.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
islower.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
isprint.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
ispunct.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
isspace.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
isupper.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
isxdigit.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
ldexp.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
Makefile.inc Split all exec*() functions out of exec.c into their own files. 1996-07-03 21:41:46 +00:00
modf.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
nice.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
nice.c merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
nlist.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
nlist.c update for ecoff header changes. Most changes taken from PR 2413, 1996-05-16 20:49:20 +00:00
opendir.c don't assume f_fstypename is larger than MFSNAMELEN or is nul-terminated 1995-06-18 10:58:06 +00:00
pause.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
pause.c merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
popen.3 clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
popen.c Changed to conform to POSIX.2 B.3.2.2 "popen() shall ensure that any streams 1996-06-29 00:51:49 +00:00
psignal.3 add setlocale(3) and strsignal(3) cross references 1995-07-03 22:48:08 +00:00
psignal.c merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
pwcache.3 Close PR 2376 1996-05-06 13:45:44 +00:00
pwcache.c #include appropriate header files to bring prototypes into scope 1995-05-13 06:58:18 +00:00
raise.3 merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
raise.c merge with Lite, keeping local changes. Fix up Id format, etc. 1995-02-27 04:34:47 +00:00
readdir.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
realpath.3 New-style RCS ids. 1995-12-28 08:51:55 +00:00
rewinddir.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
scandir.3 clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
scandir.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
seekdir.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
setdomainname.c Change return type of {get,set}{domain,host}name() from long to int. 1995-06-16 07:36:03 +00:00
sethostname.c Change return type of {get,set}{domain,host}name() from long to int. 1995-06-16 07:36:03 +00:00
setjmp.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
setjmperr.c fix up some RCS Id's i botched. 1995-03-04 01:55:49 +00:00
setmode.3 Manpage fixes from Jochen Pohl. Aligns the prototypes in the SYNOPSIS 1995-10-12 15:39:23 +00:00
setmode.c Add explict function return types 1996-04-03 19:48:56 +00:00
setproctitle.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
setproctitle.c Use the new ps_strings format. 1995-05-16 14:23:06 +00:00
siginterrupt.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
siginterrupt.c Add explict function return types 1996-04-03 19:48:56 +00:00
siglist.c fix up some RCS Id's i botched. 1995-03-04 01:55:49 +00:00
signal.3 Changed signal prototype to be more like ANSI C 1996-03-26 02:05:55 +00:00
signal.c fix up some RCS Id's i botched. 1995-03-04 01:55:49 +00:00
signame.c fix up some RCS Id's i botched. 1995-03-04 01:55:49 +00:00
sigsetops.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
sigsetops.c fix up some RCS Id's i botched. 1995-03-04 01:55:49 +00:00
sleep.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
sleep.c Slight simplification. 1996-05-11 11:04:51 +00:00
sysconf.3 Manpage fixes from Jochen Pohl. Aligns the prototypes in the SYNOPSIS 1995-10-12 15:39:23 +00:00
sysconf.c fix up some RCS Id's i botched. 1995-03-04 01:55:49 +00:00
sysctl.3 Document that "<sys/sysctl.h>" isn't enough ... suggest including 1996-04-13 02:07:15 +00:00
sysctl.c #include appropriate header files to bring prototypes into scope 1995-05-13 06:58:18 +00:00
syslog.3 fix typo 1995-08-12 05:02:46 +00:00
syslog.c Clean up a little, and fix a fencepost error. 1995-08-31 16:28:01 +00:00
telldir.c clean up Id's on files previously imported... 1995-02-25 08:50:56 +00:00
time.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
time.c merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
times.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
times.c merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
timezone.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
timezone.c merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
tolower_.c Winning Strategies has placed this code in the public domain. 1995-05-11 23:03:44 +00:00
tolower.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
toupper_.c Winning Strategies has placed this code in the public domain. 1995-05-11 23:03:44 +00:00
toupper.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
ttyname.3 merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
ttyname.c Use POSIX tty semantics. 1995-05-02 01:40:14 +00:00
ttyslot.c merge with 4.4-Lite, keeping local changes. clean up Ids 1995-02-27 05:50:11 +00:00
ualarm.3 merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
ualarm.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
uname.3 merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
uname.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
unvis.3 Manpage fixes from Jochen Pohl. Aligns the prototypes in the SYNOPSIS 1995-10-12 15:39:23 +00:00
unvis.c fix prototype that i botched. 1995-02-25 17:18:31 +00:00
usleep.3 merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
usleep.c Eliminate race by stopping timer before restarting it with remaining time 1995-10-26 22:07:00 +00:00
utime.3 merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
utime.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
valloc.3 merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
valloc.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
verr.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
verrx.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
vis.3 comprised -> composed. Closes PR 2345. 1996-04-23 05:18:06 +00:00
vis.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
vwarn.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
vwarnx.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
wait3.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
wait.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
waitpid.c merge with Lite, keep local changes. clean up id usage 1995-02-25 15:39:01 +00:00
warn.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00
warnx.c Split each function in err.c out into its own file. This is needed 1996-04-15 23:44:53 +00:00