]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
scripts/faddr2line: Pass --addresses argument to addr2line
authorBrian Johannesmeyer <bjohannesmeyer@gmail.com>
Mon, 15 Apr 2024 14:55:35 +0000 (16:55 +0200)
committerJosh Poimboeuf <jpoimboe@kernel.org>
Wed, 3 Jul 2024 06:38:36 +0000 (23:38 -0700)
In preparation for identifying an addr2line sentinel. See previous work
[0], which applies a similar change to perf.

[0] commit 8dc26b6f718a ("perf srcline: Make sentinel reading for binutils
addr2line more robust")

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

index bb3b5f03f4ea756abd219175f138f8adb144888a..820680c59a39eae677c2ffe3315b5ffb63da4c33 100755 (executable)
@@ -260,9 +260,12 @@ __faddr2line() {
 
                # Pass section address to addr2line and strip absolute paths
                # from the output:
-               local args="--functions --pretty-print --inlines --exe=$objfile"
+               local args="--functions --pretty-print --inlines --addresses --exe=$objfile"
                [[ $IS_VMLINUX = 0 ]] && args="$args --section=$sec_name"
-               local output=$(${ADDR2LINE} $args $addr | sed "s; $dir_prefix\(\./\)*; ;")
+               local output_with_addr=$(${ADDR2LINE} $args $addr | sed "s; $dir_prefix\(\./\)*; ;")
+               [[ -z $output_with_addr ]] && continue
+
+               local output=$(echo "${output_with_addr}" | sed 's/^0x[0-9a-fA-F]*: //')
                [[ -z $output ]] && continue
 
                # Default output (non --list):