No description
Find a file
Sami Tolvanen fbe078d397 kbuild: lto: add a default list of used symbols
With CONFIG_LTO_CLANG, LLVM bitcode has not yet been compiled into a
binary when the .mod files are generated, which means they don't yet
contain references to certain symbols that will be present in the final
binaries. This includes intrinsic functions, such as memcpy, memmove,
and memset [1], and stack protector symbols [2]. This change adds a
default symbol list to use with CONFIG_TRIM_UNUSED_KSYMS when Clang's
LTO is used.

[1] https://llvm.org/docs/LangRef.html#standard-c-c-library-intrinsics
[2] https://llvm.org/docs/LangRef.html#llvm-stackprotector-intrinsic

Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20201211184633.3213045-7-samitolvanen@google.com
2021-01-14 08:21:09 -08:00
arch kbuild: lto: fix module versioning 2021-01-14 08:21:08 -08:00
block SCSI fixes on 20210101 2021-01-01 12:58:07 -08:00
certs
crypto
Documentation A small set of late-arriving, small documentation fixes. 2020-12-24 14:20:33 -08:00
drivers Power management updates for 5.11-rc2 2021-01-02 11:53:05 -08:00
fs block-5.11-2021-01-01 2021-01-01 12:49:09 -08:00
include kbuild: add support for Clang LTO 2021-01-14 08:21:08 -08:00
init kbuild: lto: add a default list of used symbols 2021-01-14 08:21:09 -08:00
ipc
kernel tracing: move function tracer options to Kconfig 2021-01-08 15:59:02 -08:00
lib zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c 2020-12-29 15:36:49 -08:00
LICENSES
mm mm: slub: call account_slab_page() after slab page initialization 2020-12-29 15:36:49 -08:00
net libceph: align session_key and con_secret to 16 bytes 2020-12-28 20:34:33 +01:00
samples
scripts kbuild: lto: add a default list of used symbols 2021-01-14 08:21:09 -08:00
security
sound
tools selftests/vm: fix building protection keys test 2020-12-29 15:36:49 -08:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore kbuild: lto: fix module versioning 2021-01-14 08:21:08 -08:00
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Merge branches 'pm-cpufreq' and 'pm-cpuidle' 2021-01-02 10:16:32 +01:00
Makefile kbuild: lto: limit inlining 2021-01-14 08:21:08 -08:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.