Commit d7a95644 authored by Sami Tolvanen's avatar Sami Tolvanen Committed by Eric Biggers
Browse files

BACKPORT: kbuild: Fix TRIM_UNUSED_KSYMS with LTO_CLANG

With CONFIG_LTO_CLANG, we currently link modules into native
code just before modpost, which means with TRIM_UNUSED_KSYMS
enabled, we still look at the LLVM bitcode in the .o files when
generating the list of used symbols. As the bitcode doesn't
yet have calls to compiler intrinsics and llvm-nm doesn't see
function references that only exist in function-level inline
assembly, we currently need a whitelist for TRIM_UNUSED_KSYMS to
work with LTO.

This change moves module LTO linking to happen earlier, and
thus avoids the issue with LLVM bitcode and TRIM_UNUSED_KSYMS
entirely, allowing us to also drop the whitelist from
gen_autoksyms.sh.

Link: https://github.com/ClangBuiltLinux/linux/issues/1369


Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
Reviewed-by: default avatarAlexander Lobakin <alobakin@pm.me>
Tested-by: default avatarAlexander Lobakin <alobakin@pm.me>
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>

(cherry picked from commit 850ded46)

Conflicts:
	scripts/Makefile.modfinal
	scripts/Makefile.modpost

Bug: 189327973
Change-Id: I61c3782619e6475cfff74c270b70e01e229dc8df
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
parent 0f820fe5
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment