From: Masahiro Yamada <masahiroy@kernel.org> To: Kees Cook <keescook@chromium.org> Cc: Sami Tolvanen <samitolvanen@google.com>, Steven Rostedt <rostedt@goodmis.org>, Will Deacon <will@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Paul E. McKenney" <paulmck@kernel.org>, Nick Desaulniers <ndesaulniers@google.com>, clang-built-linux <clang-built-linux@googlegroups.com>, Kernel Hardening <kernel-hardening@lists.openwall.com>, linux-arch <linux-arch@vger.kernel.org>, linux-arm-kernel <linux-arm-kernel@lists.infradead.org>, Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, linux-pci@vger.kernel.org, X86 ML <x86@kernel.org> Subject: Re: [PATCH v6 14/25] kbuild: lto: remove duplicate dependencies from .mod files Date: Fri, 4 Dec 2020 02:59:31 +0900 Message-ID: <CAK7LNAT350QjusoYCQEHDdoxAfTZjj82xp86O1qoNF=0u0PN-g@mail.gmail.com> (raw) In-Reply-To: <202010141549.412F2BF0@keescook> On Thu, Oct 15, 2020 at 7:50 AM Kees Cook <keescook@chromium.org> wrote: > > On Mon, Oct 12, 2020 at 05:31:52PM -0700, Sami Tolvanen wrote: > > 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 <samitolvanen@google.com> > > Reviewed-by: Kees Cook <keescook@chromium.org> > > Hi Masahiro, > > This appears to be a general improvement as well. This looks like it can > land without depending on the rest of the series. It cannot. Adding "sort -u" is pointless without the rest of the series since the symbol duplication happens only with Clang LTO. This is not a solution. "reduce the probability of this happening" well describes it. I wrote a different patch. > -Kees > > > --- > > scripts/Makefile.build | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/scripts/Makefile.build b/scripts/Makefile.build > > index ab0ddf4884fd..96d6c9e18901 100644 > > --- a/scripts/Makefile.build > > +++ b/scripts/Makefile.build > > @@ -266,7 +266,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 > > -- > > 2.28.0.1011.ga647a8990f-goog > > > > -- > Kees Cook > > -- > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/202010141549.412F2BF0%40keescook. -- Best Regards Masahiro Yamada
next prev parent reply index Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-13 0:31 [PATCH v6 00/25] Add support for Clang LTO Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 01/25] kbuild: preprocess module linker script Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 02/25] objtool: Add a pass for generating __mcount_loc Sami Tolvanen 2020-10-14 16:50 ` Ingo Molnar 2020-10-14 18:21 ` Peter Zijlstra 2020-10-15 20:10 ` Josh Poimboeuf 2020-10-13 0:31 ` [PATCH v6 03/25] objtool: Don't autodetect vmlinux.o Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 04/25] tracing: move function tracer options to Kconfig Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 05/25] tracing: add support for objtool mcount Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 06/25] x86, build: use " Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 07/25] treewide: remove DISABLE_LTO Sami Tolvanen 2020-10-14 22:43 ` Kees Cook 2020-10-17 1:46 ` Masahiro Yamada 2020-10-13 0:31 ` [PATCH v6 08/25] kbuild: add support for Clang LTO Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 09/25] kbuild: lto: fix module versioning Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 10/25] objtool: Split noinstr validation from --vmlinux Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 11/25] kbuild: lto: postpone objtool Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 12/25] kbuild: lto: limit inlining Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 13/25] kbuild: lto: merge module sections Sami Tolvanen 2020-10-14 22:49 ` Kees Cook 2020-10-20 16:42 ` Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 14/25] kbuild: lto: remove duplicate dependencies from .mod files Sami Tolvanen 2020-10-14 22:50 ` Kees Cook 2020-12-03 17:59 ` Masahiro Yamada [this message] 2020-12-03 18:47 ` Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 15/25] init: lto: ensure initcall ordering Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 16/25] init: lto: fix PREL32 relocations Sami Tolvanen 2020-10-14 22:53 ` Kees Cook 2020-10-15 0:12 ` Jann Horn 2020-10-13 0:31 ` [PATCH v6 17/25] PCI: Fix PREL32 relocations for LTO Sami Tolvanen 2020-10-14 22:58 ` Kees Cook 2020-10-13 0:31 ` [PATCH v6 18/25] modpost: lto: strip .lto from module names Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 19/25] scripts/mod: disable LTO for empty.c Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 20/25] efi/libstub: disable LTO Sami Tolvanen 2020-10-13 0:31 ` [PATCH v6 21/25] drivers/misc/lkdtm: disable LTO for rodata.o Sami Tolvanen 2020-10-13 0:32 ` [PATCH v6 22/25] x86/asm: annotate indirect jumps Sami Tolvanen 2020-10-14 22:46 ` Kees Cook 2020-10-14 23:23 ` Jann Horn 2020-10-15 10:22 ` Peter Zijlstra 2020-10-15 20:39 ` Josh Poimboeuf 2020-10-20 16:45 ` Sami Tolvanen 2020-10-20 18:52 ` Josh Poimboeuf 2020-10-20 19:24 ` Sami Tolvanen 2020-10-21 8:56 ` Peter Zijlstra 2020-10-21 9:08 ` Peter Zijlstra 2020-10-21 9:32 ` Peter Zijlstra 2020-10-21 21:27 ` Josh Poimboeuf 2020-10-22 7:25 ` Peter Zijlstra 2020-10-23 17:48 ` Sami Tolvanen 2020-10-23 18:04 ` Nick Desaulniers 2020-10-21 15:01 ` Sami Tolvanen 2020-10-22 0:22 ` Sami Tolvanen 2020-10-23 17:36 ` Sami Tolvanen 2020-11-09 23:11 ` Sami Tolvanen 2020-11-10 2:29 ` Josh Poimboeuf 2020-11-10 3:18 ` Nick Desaulniers 2020-11-10 4:48 ` Sami Tolvanen 2020-11-10 16:11 ` Josh Poimboeuf 2020-11-10 17:46 ` Josh Poimboeuf 2020-11-10 18:59 ` Sami Tolvanen 2020-11-13 19:54 ` Josh Poimboeuf 2020-11-13 20:24 ` Sami Tolvanen 2020-11-13 20:52 ` Josh Poimboeuf 2020-11-13 22:34 ` Josh Poimboeuf 2020-11-13 22:54 ` Sami Tolvanen 2020-11-13 22:56 ` Josh Poimboeuf 2020-11-13 23:31 ` Sami Tolvanen 2020-11-14 0:49 ` Josh Poimboeuf 2020-10-21 9:51 ` Peter Zijlstra 2020-10-21 18:30 ` Josh Poimboeuf 2020-10-13 0:32 ` [PATCH v6 23/25] x86, vdso: disable LTO only for vDSO Sami Tolvanen 2020-10-13 0:32 ` [PATCH v6 24/25] x86, cpu: disable LTO for cpu.c Sami Tolvanen 2020-10-13 0:32 ` [PATCH v6 25/25] x86, build: allow LTO_CLANG and THINLTO to be selected Sami Tolvanen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAK7LNAT350QjusoYCQEHDdoxAfTZjj82xp86O1qoNF=0u0PN-g@mail.gmail.com' \ --to=masahiroy@kernel.org \ --cc=clang-built-linux@googlegroups.com \ --cc=gregkh@linuxfoundation.org \ --cc=keescook@chromium.org \ --cc=kernel-hardening@lists.openwall.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kbuild@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=ndesaulniers@google.com \ --cc=paulmck@kernel.org \ --cc=peterz@infradead.org \ --cc=rostedt@goodmis.org \ --cc=samitolvanen@google.com \ --cc=will@kernel.org \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-PCI Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-pci/0 linux-pci/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-pci linux-pci/ https://lore.kernel.org/linux-pci \ linux-pci@vger.kernel.org public-inbox-index linux-pci Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-pci AGPL code for this site: git clone https://public-inbox.org/public-inbox.git