[PATCH 4/7] scripts/faddr2line: Pass --addresses argument to addr2line

From: Brian Johannesmeyer
Date: Mon Mar 11 2024 - 16:41:39 EST


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@xxxxxxxxx>
---
scripts/faddr2line | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/scripts/faddr2line b/scripts/faddr2line
index bb3b5f03f4ea..820680c59a39 100755
--- a/scripts/faddr2line
+++ b/scripts/faddr2line
@@ -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):
--
2.34.1