freebsd kernel with SKQ
Go to file
Dimitry Andric f134051fcf Pull in r315334 from upstream lld trunk (by Rafael Espindola):
Don't create a dummy __tls_get_addr.

  We just don't need one with the current setup.

  We only error on undefined references that are used by some
  relocation.

  If we managed to relax all uses of __tls_get_addr, no relocation uses
  it and we don't produce an error.

  This is less code and fixes the case were we fail to relax. Before we
  would produce a broken output, but now we produce an error.

Pull in r320390 from upstream lld trunk (by Rafael Espindola):

  Create reserved symbols early so they can be versioned.

  This fixes pr35570.

  We were creating these symbols after parsing version scripts, so they
  could not be versioned.

  We cannot move the version script parsing later because we need it for
  lto.

  One option is to move both addReservedSymbols and
  createSyntheticSections earlier. The disadvantage is that some
  sections created by createSyntheticSections replace other input
  sections. For example, gdb index replaces .debug_gnu_pubnames, so it
  wants to run after gc sections so that it can set S->Live to false.

  What this patch does instead is to move just the ElfHeader creation
  early.

Pull in r320412 from upstream lld trunk (by Rafael Espindola):

  Handle symbols pointing to output sections.

  Now that gc sections runs after linker defined symbols are added it
  can see symbols that point to an OutputSection.

  Should fix a bot failure.

Pull in r320431 from upstream lld trunk (by Peter Collingbourne):

  ELF: Do not follow relocation edges to output sections during GC.

  This fixes an assertion error introduced by r320390.

  Differential Revision: https://reviews.llvm.org/D41095

Together these fix handling of reserved symbols, in particular _end,
which is needed to make brk(2) and sbrk(2) work correctly.  This
unbreaks the emacs ports on amd64, and also appears to unbreak most of
world on i386.

MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D13466
2017-12-13 19:03:48 +00:00
bin Fix mandoc -Tlint warnings in bin/ 2017-12-07 01:57:27 +00:00
cddl Actually add the -x setenv test Makefile, missed in r326499. 2017-12-08 19:26:25 +00:00
contrib Pull in r315334 from upstream lld trunk (by Rafael Espindola): 2017-12-13 19:03:48 +00:00
crypto Merge OpenSSL 1.0.2n. 2017-12-07 18:02:57 +00:00
etc Follow-up to r325967, which removed /etc/casper, by also removing it 2017-12-12 22:21:20 +00:00
gnu build-tools: De-special-case the gcc tools build. 2017-10-31 19:02:05 +00:00
include SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
kerberos5 various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
lib SPDX: some uses of the RSA-MD license. 2017-12-13 16:30:39 +00:00
libexec Use strlcpy(). 2017-12-05 07:21:47 +00:00
release Fix the reldoc target in release/Makefile following doc commit r51264. 2017-12-07 20:00:19 +00:00
rescue Avoid referencing private lib names directly. 2017-11-10 07:53:02 +00:00
sbin Tone down the description for the growfs "-y" flag. 2017-12-13 14:08:33 +00:00
secure Merge OpenSSL 1.0.2n. 2017-12-07 18:02:57 +00:00
share Add myself to committers-src.dot 2017-12-11 04:40:25 +00:00
stand Revert r326792, r326784, r326772, r326712 2017-12-12 22:06:22 +00:00
sys Cleaup, no functional change. 2017-12-13 17:11:57 +00:00
targets Disconnect OFED after r326169 broke all DIRDEPS support for it. 2017-12-07 01:49:35 +00:00
tests tests: ipsec: Don't load/unload aesni.ko in the test header 2017-12-03 18:35:07 +00:00
tools Start adding commands that I know are good to build up residual 2017-12-11 02:44:15 +00:00
usr.bin Replace homemade equivalent of tolower(3) by towlower(3) 2017-12-13 16:09:00 +00:00
usr.sbin SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
.arcconfig callsign isn't required anymore 2016-09-29 06:19:45 +00:00
.arclint arc lint: Explain linting explain 2017-12-09 08:21:29 +00:00
COPYRIGHT Bump copyright year. 2016-12-31 12:41:42 +00:00
LOCKS
MAINTAINERS Move sys/boot to stand. Fix all references to new location 2017-11-14 23:02:19 +00:00
Makefile Import OpenSSL 1.0.2n. 2017-12-07 17:37:15 +00:00
Makefile.inc1 Makefile.inc1: map mips MACHINE_/TARGET_ARCH to triples 2017-12-05 21:42:09 +00:00
Makefile.libcompat Fix nested MAKEOBJDIRPREFIX breaking various release/buildworld/toolchain targets. 2017-11-05 00:11: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 Remove basename_r(3). 2017-12-08 22:06:18 +00:00
README Import OpenSSL 1.0.2n. 2017-12-07 17:37:15 +00:00
README.md Document the sys/boot -> stand move in hier.7 and the top-level README. 2017-12-03 20:36:36 +00:00
UPDATING Fill in date. 2017-11-26 04:55:23 +00:00

FreeBSD Source:

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

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 kernel configuration files reside in the sys/<arch>/conf sub-directory. GENERIC is the default configuration used in release builds. NOTES contains entries and documentation for all possible devices, not just those commonly used.

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.

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