diff options
author | Sami Tolvanen <samitolvanen@google.com> | 2020-12-11 10:46:23 -0800 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2021-01-14 08:21:09 -0800 |
commit | fbe078d397b4d59232f05fde977d3b1e7d0c2028 (patch) | |
tree | 298965a7f44d326039861efb9a197839da21cc86 /scripts | |
parent | dd2776222abb9893e5b5c237a2c8c880d8854cee (diff) | |
download | linux-fbe078d397b4d59232f05fde977d3b1e7d0c2028.tar.bz2 |
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
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/lto-used-symbollist.txt | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/lto-used-symbollist.txt b/scripts/lto-used-symbollist.txt new file mode 100644 index 000000000000..38e7bb9ebaae --- /dev/null +++ b/scripts/lto-used-symbollist.txt @@ -0,0 +1,5 @@ +memcpy +memmove +memset +__stack_chk_fail +__stack_chk_guard |