diff options
| author | Josh Poimboeuf <[email protected]> | 2025-05-07 23:56:55 +0000 |
|---|---|---|
| committer | Peter Zijlstra <[email protected]> | 2025-05-14 11:09:02 +0000 |
| commit | 4ed9d82bf5b21d65e2f18249eec89a6a84df8f23 (patch) | |
| tree | fe4280c54b29644b7860378b5857fb65880c8dcf /rust/helpers/xarray.c | |
| parent | objtool: Fix up st_info in COMDAT group section (diff) | |
| download | kernel-4ed9d82bf5b21d65e2f18249eec89a6a84df8f23.tar.gz kernel-4ed9d82bf5b21d65e2f18249eec89a6a84df8f23.zip | |
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: 2cb291596e2c ("objtool: Fix up st_info in COMDAT group section")
Signed-off-by: Josh Poimboeuf <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Tested-by: Rong Xu <[email protected]>
Link: https://lkml.kernel.org/r/2a33e583c87e3283706f346f9d59aac20653b7fd.1746662991.git.jpoimboe@kernel.org
Diffstat (limited to 'rust/helpers/xarray.c')
0 files changed, 0 insertions, 0 deletions
