FreeBSD src
Go to file
Warner Losh f835d609b7 stand: Use -Oz/-Os for all loader/stand builds.
While we're not super size constrained, the x86 BIOS /boot/loader has
to be less than about 520k-530k to be reliable. The LUA loader is at
this size today. -Oz saves 15-20% on the size, keeping us safely small
enough (comparable to where we were with the 4th loader). This will
also help with sjg's work on bringing in bearssl, though we may again
be looking for space in the LUA loader.

Size table for clang 6.0.0:
	default		-O1		-Os		-Oz
4th	442368		417792		389120		376832
lua	524288		479232		446464		430080

Tested by: kevans91@ (ubldr on armv7), dhw@ (loader on amdy64)
Differential Revision: https://reviews.freebsd.org/D16724
2018-08-15 20:31:11 +00:00
bin dd: Incorporate some changes from imp for status=progress 2018-08-15 19:46:13 +00:00
cddl zfs: add ztest to the kyua test suite. 2018-08-15 13:05:04 +00:00
contrib Fix a broken "SEE ALSO" section of hlfsd(8). 2018-08-14 20:33:48 +00:00
crypto Merge OpenSSL 1.0.2p. 2018-08-14 17:48:02 +00:00
etc Fix build after r337849 2018-08-15 16:22:12 +00:00
gnu Update libstdc++ configuration. 2018-07-16 18:53:28 +00:00
include Install symlink for sys/nvpair.h in include/Makefile symlinks target 2018-08-13 05:16:27 +00:00
kerberos5 krb5-config build: Remove gratuitous escaping 2018-08-12 00:06:21 +00:00
lib libbe(3): Fix leaky faucets 2018-08-14 18:11:06 +00:00
libexec Remove pointless comment. 2018-08-03 10:59:05 +00:00
release Add a space between a variable and escaped new line. 2018-08-13 17:24:31 +00:00
rescue Avoid referencing private lib names directly. 2017-11-10 07:53:02 +00:00
sbin Add SECURITY section to loader(8). 2018-08-15 08:45:05 +00:00
secure Move ssh config file handling into the ssh Makefiles. 2018-08-15 14:53:42 +00:00
share make.conf(5): Note that src.conf should not be used for ports and documentation. 2018-08-15 10:45:24 +00:00
stand stand: Use -Oz/-Os for all loader/stand builds. 2018-08-15 20:31:11 +00:00
sys Fix in6_multi double free 2018-08-15 20:23:08 +00:00
targets Remove special cases for armeb in the build. 2018-07-17 23:23:54 +00:00
tests Fix a couple whitespace errors in r337814. 2018-08-14 20:26:54 +00:00
tools Make distribution now happens from top of source tree. 2018-08-10 06:28:25 +00:00
usr.bin indent(1): bug fix after r336333 2018-08-15 18:19:45 +00:00
usr.sbin Don't let clobber jailparam values when checking for modification of 2018-08-15 20:23:17 +00:00
.arcconfig
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.gitattributes Remove spuriously added svn properties 2018-08-02 18:37:02 +00:00
.gitignore Ignore _.universe-toolchain file. 2018-07-01 13:50:37 +00:00
COPYRIGHT Remove 'All Rights Reserved' from the collection copyright and templates. 2018-05-09 02:02:49 +00:00
LOCKS LOCKS: update current locks 2018-06-09 03:08:04 +00:00
MAINTAINERS Add pointer to freebsd-numerics for libm. 2018-07-16 15:29:32 +00:00
Makefile Import OpenSSL 1.0.2p. 2018-08-14 16:18:14 +00:00
Makefile.inc1 libbe(3)/bectl(8): More SYSROOT/GCC build fixes 2018-08-11 22:45:39 +00:00
Makefile.libcompat Install the 32-bit compat sanitizer libraries. 2018-08-03 18:52:51 +00:00
Makefile.sys.inc AUTO_OBJ: For all top-level targets enforce using an OBJDIR. 2017-12-05 21:29:47 +00:00
ObsoleteFiles.inc Add a few forgotten files to ObsoleteFiles.inc: 2018-07-25 17:14:05 +00:00
README Import OpenSSL 1.0.2p. 2018-08-14 16:18:14 +00:00
README.md README: add generic notes about GENERIC and NOTES 2018-06-17 19:44:24 +00:00
UPDATING Add post-mortem note to UPDATING about r337506 2018-08-15 19:28:48 +00:00

FreeBSD Source:

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

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

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. See build(7), config(8), https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html, and https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html for more information, including setting make(1) variables.

Source Roadmap:

bin		System/user commands.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

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.

stand		Boot loader sources.

sys		Kernel sources.

sys/<arch>/conf Kernel configuration files. GENERIC is the configuration
		used in release builds. NOTES contains documentation of
		all possible entries.

tests		Regression tests which can be run by Kyua.  See tests/README
		for additional information.

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:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html