OPNsense - FreeBSD source
Find a file
Juli Mallett 5619a3e4bf Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.
o) Add TARGET_ABI to the MIPS toolchain build process.  This sets the default
   ABI to one of o32, n32 or n64.  If it is not set, o32 is assumed as that is
   the current default.
o) Set the default GCC cpu type to any specified TARGET_CPUTYPE.  This is
   necessary to have a working "cc" if e.g. mips64 is specified, as binutils
   will refuse to link objects using different ISAs in some cases.
o) Add support for n32 and n64 ABIs to binutils and GCC.
o) Add additional required libgcc2 stubs for n32 and n64.
o) Add support for the "mips64r2" architecture to GCC.  Add the "octeon"
o) When static linking, wrap default libraries in --start-group and
   --end-group.  This is required for static linking to work on n64 with the
   interdependencies between libraries there.  This is what other OSes that
   support n64 seem to do, as well.
o) Fix our GCC spec to define __mips64 for 64-bit targets, not __mips64__, the
   former being what libgcc, etc., check and the latter seemingly being a
   misspelling of a hand merge from a Linux spec.
o) When no TARGET_CPUTYPE is specified at build time, make GCC take the default
   ISA from the ABI.  Our old defaults were too liberal and assumed that 64-bit
   ABIs should default to the MIPS64 ISA and that 32-bit ABIs should default to
   the MIPS32 ISA, when we are supporting or will support some systems based on
   earlier 32-bit and 64-bit ISAs, most notably MIPS-III.
o) Merge a new opcode file (and support code) from a later version of binutils
   and add flags and code necessary to support Octeon-specific instructions.
   This should also make merging opcodes for other modern architectures easier.

Reviewed by:	imp
2010-06-02 11:06:03 +00:00
bin Zero struct before reading from it 2010-06-02 09:34:41 +00:00
cddl Allow to use 'jailed' property again. 2010-05-31 23:29:56 +00:00
contrib Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain. 2010-06-02 11:06:03 +00:00
crypto More commas 2010-06-01 22:46:57 +00:00
etc Add a new build option, MAN_UTILS. This option lets you control building 2010-05-19 23:56:26 +00:00
games mdoc cleanup 2010-06-02 10:20:23 +00:00
gnu Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain. 2010-06-02 11:06:03 +00:00
include Move realpath(3) prototype to a POSIX section. 2010-04-21 16:38:37 +00:00
kerberos5 Fix a typo. 2010-01-09 18:53:03 +00:00
lib mdoc: spell macros correctly, there's no need for the backslash escape 2010-06-02 10:20:38 +00:00
libexec mdoc: use literal text, not a column table to present the 2010-06-02 10:20:31 +00:00
release The EFI system partition used to make the CD image bootable is running 2010-05-28 17:50:35 +00:00
rescue Enable liblzma support in libarchive 2010-05-10 15:28:44 +00:00
sbin Clarify devfs manpages slightly. 2010-05-29 20:24:01 +00:00
secure Regenerate manual pages for OpenSSL 0.9.8n. 2010-04-01 15:37:38 +00:00
share mdoc cleanup 2010-06-02 10:20:23 +00:00
sys Add a facility to dynamically adjust or unconfigure p1003_1b mib. 2010-06-02 09:59:05 +00:00
tools Fix stuttering sequences and reverse ranges 2010-06-02 07:47:29 +00:00
usr.bin mdoc cleanup 2010-06-02 10:20:23 +00:00
usr.sbin Add file include processing for newsyslog. 2010-05-29 22:55:59 +00:00
COPYRIGHT Happy New Year 2010! :-) 2009-12-31 10:00:37 +00:00
LOCKS Update LOCKS syntax. 2008-06-05 19:47:58 +00:00
MAINTAINERS Add a comment to MAINTAINERS indicating that sbin/routed is in fact 2010-04-10 12:29:09 +00:00
Makefile For those of us mere mortals who do not aspire to the lofty heights 2010-03-18 18:58:17 +00:00
Makefile.inc1 Revert r208353. It did not work as I expected because WITHOUT_MAN is set 2010-05-20 20:15:56 +00:00
ObsoleteFiles.inc - Add versioned symbols to liblzma 2010-05-14 20:40:37 +00:00
README Simply running ``make world'' will bomb unless you dig up the 2006-06-07 03:33:48 +00:00
UPDATING Note 8.0-RELEASE. 2010-05-12 21:20:04 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

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, the kernel-modules and the contents of /etc.  The ``world''
target should only be used in cases where the source tree has not
changed from the currently running version.  See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

The ``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  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 is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/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 NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


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

contrib		Packages contributed by 3rd parties.

crypto		Cryptography 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.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

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/doc/en_US.ISO8859-1/books/handbook/synching.html