2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/tools/objtool/include/objtool
Josh Poimboeuf 4ed9d82bf5 objtool: Speed up SHT_GROUP reindexing
After elf_update_group_sh_info() was introduced, a prototype version of
"objtool klp diff" went from taking ~1s to several minutes, due to
looping almost endlessly in elf_update_group_sh_info() while creating
thousands of local symbols in a file with thousands of sections.

Dramatically improve the performance by marking all symbols' correlated
SHT_GROUP sections while reading the object.  That way there's no need
to search for it every time a symbol gets reindexed.

Fixes: 2cb291596e ("objtool: Fix up st_info in COMDAT group section")
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Rong Xu <xur@google.com>
Link: https://lkml.kernel.org/r/2a33e583c87e3283706f346f9d59aac20653b7fd.1746662991.git.jpoimboe@kernel.org
2025-05-14 13:09:02 +02:00
..
arch.h objtool: Split INSN_CONTEXT_SWITCH into INSN_SYSCALL and INSN_SYSRET 2025-04-08 09:14:11 +02:00
builtin.h objtool: Reduce CONFIG_OBJTOOL_WERROR verbosity 2025-03-25 09:20:27 +01:00
cfi.h objtool: Allow stack operations in UNWIND_HINT_UNDEFINED regions 2023-06-07 10:03:11 -07:00
check.h objtool: Fix X86_FEATURE_SMAP alternative handling 2025-03-25 09:20:26 +01:00
elf.h objtool: Speed up SHT_GROUP reindexing 2025-05-14 13:09:02 +02:00
endianness.h objtool: Use target file endianness instead of a compiled constant 2022-11-18 19:00:15 +11:00
objtool.h objtool: Improve error handling 2025-03-25 09:20:27 +01:00
orc.h objtool/x86: Separate arch-specific and generic parts 2024-03-11 22:23:47 +08:00
special.h objtool: Fix X86_FEATURE_SMAP alternative handling 2025-03-25 09:20:26 +01:00
warn.h objtool: Change "warning:" to "error: " for fatal errors 2025-04-01 09:07:13 +02:00