From: Peter Zijlstra <peterz@infradead.org>
To: Sami Tolvanen <samitolvanen@google.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>,
Jann Horn <jannh@google.com>,
the arch/x86 maintainers <x86@kernel.org>,
Masahiro Yamada <masahiroy@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Will Deacon <will@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Paul E. McKenney" <paulmck@kernel.org>,
Kees Cook <keescook@chromium.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 <linux-arm-kernel@lists.infradead.org>,
linux-kbuild <linux-kbuild@vger.kernel.org>,
kernel list <linux-kernel@vger.kernel.org>,
linux-pci@vger.kernel.org
Subject: Re: [PATCH v6 22/25] x86/asm: annotate indirect jumps
Date: Wed, 21 Oct 2020 11:08:17 +0200 [thread overview]
Message-ID: <20201021090817.GU2651@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20201021085606.GZ2628@hirez.programming.kicks-ass.net>
On Wed, Oct 21, 2020 at 10:56:06AM +0200, Peter Zijlstra wrote:
> The "falls through to next function" seems to be limited to things like:
>
> warning: objtool: setup_vq() falls through to next function setup_vq.cold()
> warning: objtool: e1000_xmit_frame() falls through to next function e1000_xmit_frame.cold()
>
> So something's weird with the .cold thing on vmlinux.o runs.
Shiny, check this:
$ nm defconfig-build/vmlinux.o | grep setup_vq
00000000004d33a0 t setup_vq
00000000004d4c20 t setup_vq
000000000001edcc t setup_vq.cold
000000000001ee31 t setup_vq.cold
00000000004d3dc0 t vp_setup_vq
$ nm defconfig-build/vmlinux.o | grep e1000_xmit_frame
0000000000741490 t e1000_xmit_frame
0000000000763620 t e1000_xmit_frame
000000000002f579 t e1000_xmit_frame.cold
0000000000032b6e t e1000_xmit_frame.cold
$ nm defconfig-build/vmlinux.o | grep e1000_diag_test
000000000074c220 t e1000_diag_test
000000000075eb70 t e1000_diag_test
000000000002fc2a t e1000_diag_test.cold
0000000000030880 t e1000_diag_test.cold
I guess objtool goes sideways when there's multiple symbols with the
same name in a single object file. This obvously never happens on single
TU .o files.
Not sure what to do about that.
next prev parent reply other threads:[~2020-10-21 9:08 UTC|newest]
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
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 [this message]
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=20201021090817.GU2651@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=clang-built-linux@googlegroups.com \
--cc=gregkh@linuxfoundation.org \
--cc=jannh@google.com \
--cc=jpoimboe@redhat.com \
--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=masahiroy@kernel.org \
--cc=ndesaulniers@google.com \
--cc=paulmck@kernel.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).