]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
scripts/faddr2line: Check only two symbols when calculating symbol size
authorBrian Johannesmeyer <bjohannesmeyer@gmail.com>
Mon, 15 Apr 2024 14:55:38 +0000 (16:55 +0200)
committerJosh Poimboeuf <jpoimboe@kernel.org>
Wed, 3 Jul 2024 06:38:37 +0000 (23:38 -0700)
Rather than looping through each symbol in a particular section to
calculate a symbol's size, grep for the symbol and its immediate
successor, and only use those two symbols.

Signed-off-by: Brian Johannesmeyer <bjohannesmeyer@gmail.com>
Link: https://lore.kernel.org/r/20240415145538.1938745-8-bjohannesmeyer@gmail.com
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
scripts/faddr2line

index 1fa6beef9f978e2c4d776b208fcec9b1cb8fe550..fe0cc45f03be11bed8f488dce48035ce87926dcd 100755 (executable)
@@ -252,7 +252,7 @@ __faddr2line() {
                                found=2
                                break
                        fi
-               done < <(echo "${ELF_SYMS}" | sed 's/\[.*\]//' | ${AWK} -v sec=$sym_sec '$7 == sec' | sort --key=2)
+               done < <(echo "${ELF_SYMS}" | sed 's/\[.*\]//' | ${AWK} -v sec=$sym_sec '$7 == sec' | sort --key=2 | ${GREP} -A1 --no-group-separator " ${sym_name}$")
 
                if [[ $found = 0 ]]; then
                        warn "can't find symbol: sym_name: $sym_name sym_sec: $sym_sec sym_addr: $sym_addr sym_elf_size: $sym_elf_size"