Messages in this thread | | | Date | Thu, 2 Mar 2023 09:03:57 +0100 | From | Ingo Molnar <> | Subject | [GIT PULL] objtool changes for v6.3 |
| |
Linus,
Please pull the latest objtool/core git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git objtool-core-2023-03-02
# HEAD: 00c8f01c4e84637c3db76f368b8687cb61f4dd9d objtool: Fix ORC 'signal' propagation
NOTE:
- We had to perform a rebase of 10 tail commits a week ago & merged in an upstream tree within the merge window [585a78c1f77b], to eliminate 3 duplicate commits with the Xen tree that are already upstream. (This was a cross-tree cooperation mishap we didn't want to cause duplicate upstream commits - just in case you are wondering about the merge commit.)
Changes in this cycle were:
- Shrink 'struct instruction', to improve objtool performance & memory footprint.
- Other maximum memory usage reductions - this makes the build both faster, and fixes kernel build OOM failures on allyesconfig and similar configs when they try to build the final (large) vmlinux.o.
- Fix ORC unwinding when a kprobe (INT3) is set on a stack-modifying single-byte instruction (PUSH/POP or LEAVE). This requires the extension of the ORC metadata structure with a 'signal' field.
- Misc fixes & cleanups.
Thanks,
Ingo
------------------> Ian Rogers (3): objtool: Install libsubcmd in build objtool: Properly support make V=1 objtool: Fix HOSTCC flag usage
Josh Poimboeuf (3): x86/unwind/orc: Add 'signal' field to ORC metadata x86/entry: Fix unwinding from kprobe on PUSH/POP instruction objtool: Fix ORC 'signal' propagation
Miaoqian Lin (1): objtool: Fix memory leak in create_static_call_sections()
Michal Kubecek (1): objtool: Check that module init/exit function is an indirect call target
Peter Zijlstra (9): objtool: Change arch_decode_instruction() signature objtool: Make instruction::stack_ops a single-linked list objtool: Make instruction::alts a single-linked list objtool: Shrink instruction::{type,visited} objtool: Remove instruction::reloc objtool: Union instruction::{call_dest,jump_table} objtool: Fix overlapping alternatives x86: Fix FILL_RETURN_BUFFER objtool: Remove instruction::list
Thomas Weißschuh (5): objtool: Make struct entries[] static and const objtool: Make struct check_options static objtool: Allocate multiple structures with calloc() objtool: Optimize layout of struct symbol objtool: Optimize layout of struct special_alt
arch/x86/entry/entry_64.S | 9 +- arch/x86/include/asm/nospec-branch.h | 2 +- arch/x86/include/asm/orc_types.h | 4 +- arch/x86/include/asm/unwind_hints.h | 10 +- arch/x86/kernel/unwind_orc.c | 5 +- include/linux/objtool.h | 11 +- tools/arch/x86/include/asm/orc_types.h | 4 +- tools/include/linux/objtool.h | 11 +- tools/objtool/.gitignore | 1 + tools/objtool/Build | 2 - tools/objtool/Documentation/objtool.txt | 8 + tools/objtool/Makefile | 66 ++++-- tools/objtool/arch/powerpc/decode.c | 22 +- tools/objtool/arch/x86/decode.c | 107 +++++---- tools/objtool/builtin-check.c | 2 +- tools/objtool/check.c | 375 ++++++++++++++++++++------------ tools/objtool/elf.c | 42 ++-- tools/objtool/include/objtool/arch.h | 6 +- tools/objtool/include/objtool/builtin.h | 2 - tools/objtool/include/objtool/cfi.h | 1 + tools/objtool/include/objtool/check.h | 61 +++--- tools/objtool/include/objtool/elf.h | 9 +- tools/objtool/include/objtool/objtool.h | 1 - tools/objtool/include/objtool/special.h | 2 +- tools/objtool/objtool.c | 1 - tools/objtool/orc_dump.c | 4 +- tools/objtool/orc_gen.c | 1 + tools/objtool/special.c | 6 +- 28 files changed, 455 insertions(+), 320 deletions(-)
| |