1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
Mirror of the FreeBSD src repository https://git.FreeBSD.org/src.git .
Go to file
Peter Wemm ce04fea445 Remove last remaining references to malloc/realloc and functions that
call them.  All the execX() libc functions should be vfork() safe now.
Specifically:
- execlp() does the argument count-and-build into a vector from alloca
    (like the others) - buildargv() is no longer used (and gone).
- execvp() uses alloca/strcpy rather than strdup().
- the ENOEXEC handler uses alloca rather than malloc.
- a couple of free() calls removed - alloca works on the local stack and
    the allocations are freed on function exit (which is why buildargv
    wasn't useful - it's alloca() context would disappear on return).
Along the way:
- If alloca() fails (can it?), set errno = ENOMEM explicitly.
- The ENOEXEC recovery routine that trys again with /bin/sh appeared to
    not be terminating the new argv[] array for /bin/sh, allowing it to
    walk off the end of the list.

I dithered a bit about using alloca() even more as it's most commonly
associated with gcc.  However, standalone portable (using malloc) and
machine-specific assembler alloca implementations appear to be available
on just about all the architectures we're likely to want to port to.
alloca will be the least of our problems if ever going to another compiler.
1999-03-23 16:40:34 +00:00
bin Support seconds with -v. 1999-03-09 09:38:54 +00:00
contrib fix conflicts. 1999-03-22 01:29:39 +00:00
crypto Old stuff laying around: Don't use getstr which can conflict with some 1998-12-16 06:06:06 +00:00
etc Finally remove the ancient `-exec rm -f {} ;' cruft that used to be 1999-03-21 12:34:06 +00:00
games Document -D option. Give a more helpful error message for some cases. 1999-03-09 11:44:51 +00:00
gnu Need to translate more .h to .ph then just /usr/include & 1999-03-18 19:39:07 +00:00
include o Runnable threads are now maintained in priority queues. The 1999-03-23 05:11:30 +00:00
kerberos5 Link everything against libcrypt. ELF builds complain without it. 1999-01-25 06:49:43 +00:00
kerberosIV Link everything against libcrypt. ELF builds complain without it. 1999-01-25 06:49:43 +00:00
lib Remove last remaining references to malloc/realloc and functions that 1999-03-23 16:40:34 +00:00
libexec Set the CPU resource limit back to infinity before exec()ing PP. 1999-03-09 22:04:44 +00:00
release Offer an X Kern Developer collection, by user request (it's also more 1999-03-19 10:54:38 +00:00
sbin Describe the new semantics of 'create': 1999-03-23 04:55:50 +00:00
secure MaxHeaderLines is now MaxHeadersLength (in bytes) 1999-02-07 09:48:52 +00:00
share Removed all traces of LN_FLAGS. It was only used to produce a link 1999-03-23 03:06:25 +00:00
sys Add a sysctl variable which can help stop chroot(2) escapes. 1999-03-23 14:26:40 +00:00
tools Do a better job of finding the default root device. 1999-02-15 02:22:24 +00:00
usr.bin Display floats with format %*.0f instead of as "*****" if there is 1999-03-22 03:44:01 +00:00
usr.sbin Now bb structures are linked together. 1999-03-21 12:32:17 +00:00
COPYRIGHT Add Id keyword 1998-09-13 23:11:13 +00:00
Makefile Note that the upgrade target exists, and what it does. 1999-03-20 20:10:19 +00:00
Makefile.inc0 Don't use /usr/obj/elf for make world anymore. 1999-01-14 06:45:53 +00:00
Makefile.inc1 The legacy boot stuff is available only on i386, not all architectures 1999-03-01 01:09:06 +00:00
Makefile.upgrade Set X11BASE to something deliberately bogus in elf_buildworld so that 1999-03-23 08:09:25 +00:00
README No more src/lkm dir... 1999-01-06 14:02:35 +00:00
UPDATING Add pointer sys/boot/README for new boot system (this should be in a 1999-03-18 05:39:45 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.13 1998/09/13 09:38:34 markm Exp $

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel and the contents of /etc.  Please see the top of the Makefile
in this directory for more information on the standard build targets
and compile-time flags.

Building a kernel with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

crypto		Export controlled stuff (see crypto/README).

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html