From 11757f68852ccbd28590c348abe525ed1b645205 Mon Sep 17 00:00:00 2001 From: Sami Tolvanen Date: Fri, 28 Aug 2020 17:16:53 +0530 Subject: [PATCH] kbuild: lto: remove duplicate dependencies from .mod files With LTO, llvm-nm prints out symbols for each archive member separately, which results in a lot of duplicate dependencies in the .mod file when CONFIG_TRIM_UNUSED_SYMS is enabled. When a module consists of several compilation units, the output can exceed the default xargs command size limit and split the dependency list to multiple lines, which results in used symbols getting trimmed. This change removes duplicate dependencies, which will reduce the probability of this happening and makes .mod files smaller and easier to read. Signed-off-by: Sami Tolvanen Signed-off-by: UtsavBalar1231 --- scripts/Makefile.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Makefile.build b/scripts/Makefile.build index dadc24989390..559d7bf30d8f 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -351,7 +351,7 @@ endef # List module undefined symbols (or empty line if not enabled) ifdef CONFIG_TRIM_UNUSED_KSYMS -cmd_undef_syms = $(NM) $@ | sed -n 's/^ \+U //p' | xargs echo +cmd_undef_syms = $(NM) $@ | sed -n 's/^ \+U //p' | sort -u | xargs echo else cmd_undef_syms = echo endif