[GIT PULL] objtool changes for v5.14

From: Ingo Molnar
Date: Mon Jun 28 2021 - 01:57:14 EST


Linus,

Please pull the latest objtool/core git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git objtool-core-2021-06-28

# HEAD: d33b9035e14a35f6f2a5f067f0b156a93581811d objtool: Improve reloc hash size guestimate

The biggest change in this cycle is the new code to handle
and rewrite variable sized jump labels - which results in
slightly tighter code generation in hot paths, through the
use of short(er) NOPs.

Also a number of cleanups and fixes, and a change to the
generic include/linux/compiler.h to handle a s390 GCC quirk.

Thanks,

Ingo

------------------>
Josh Poimboeuf (1):
kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n'

Peter Zijlstra (16):
objtool: Rewrite hashtable sizing
x86, objtool: Dont exclude arch/x86/realmode/
jump_label, x86: Strip ASM jump_label support
jump_label, x86: Factor out the __jump_table generation
jump_label, x86: Improve error when we fail expected text
jump_label, x86: Introduce jump_entry_size()
jump_label, x86: Add variable length patching support
jump_label: Free jump_entry::key bit1 for build use
jump_label, x86: Emit short JMP
objtool: Decode jump_entry::key addend
objtool: Rewrite jump_label instructions
objtool: Provide stats for jump_labels
jump_label, x86: Allow short NOPs
jump_label/x86: Remove unused JUMP_LABEL_NOP_SIZE
objtool: Reflow handle_jump_alt()
objtool: Improve reloc hash size guestimate

Vasily Gorbik (2):
compiler.h: Avoid using inline asm operand modifiers
instrumentation.h: Avoid using inline asm operand modifiers


arch/x86/include/asm/jump_label.h | 79 +++++++-----------
arch/x86/kernel/jump_label.c | 81 ++++++++++++-------
arch/x86/realmode/Makefile | 1 -
include/linux/compiler.h | 22 ++++--
include/linux/instrumentation.h | 20 +++--
include/linux/jump_label.h | 16 +++-
kernel/jump_label.c | 12 +--
scripts/Makefile.build | 5 +-
tools/objtool/arch/x86/include/arch/special.h | 1 +
tools/objtool/check.c | 38 ++++++++-
tools/objtool/elf.c | 110 ++++++++++++++++----------
tools/objtool/include/objtool/elf.h | 18 +++--
tools/objtool/include/objtool/objtool.h | 3 +
tools/objtool/include/objtool/special.h | 1 +
tools/objtool/special.c | 14 ++++
15 files changed, 267 insertions(+), 154 deletions(-)