lkml.org 
[lkml]   [2020]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] scripts/decode_stacktrace: strip all base path prefixes
Date
When addr2line returns more than one location, decode_stacktrace does
not currently remove base path from the paths. So the result might look
like (line wrapped here):
ptrace_stop (include/linux/freezer.h:57
/home/abuild/rpmbuild/BUILD/kernel-default-5.8.rc5/linux-5.8-rc5/linux-obj/../include/linux/freezer.h:67
/home/abuild/rpmbuild/BUILD/kernel-default-5.8.rc5/linux-5.8-rc5/linux-obj/../include/linux/freezer.h:128
/home/abuild/rpmbuild/BUILD/kernel-default-5.8.rc5/linux-5.8-rc5/linux-obj/../include/linux/freezer.h:173
/home/abuild/rpmbuild/BUILD/kernel-default-5.8.rc5/linux-5.8-rc5/linux-obj/../kernel/signal.c:2217)

Make sure all the lines are processed, so the result now looks like
(line wrapped here again):
ptrace_stop (include/linux/freezer.h:57 include/linux/freezer.h:67
include/linux/freezer.h:128 include/linux/freezer.h:173
kernel/signal.c:2217)

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Fixes: 67a28de47faa (scripts/decode_stacktrace: only strip base path when a prefix of the path)
Cc: Sasha Levin <sashal@kernel.org>
---
scripts/decode_stacktrace.sh | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/scripts/decode_stacktrace.sh b/scripts/decode_stacktrace.sh
index 4bdcb6d8c605..3fddcb48b464 100755
--- a/scripts/decode_stacktrace.sh
+++ b/scripts/decode_stacktrace.sh
@@ -140,14 +140,15 @@ parse_symbol() {
return
fi

- # Strip out the base of the path
- code=${code#$basepath/}
-
- # In the case of inlines, move everything to same line
- code=${code//$'\n'/' '}
+ declare -a output
+ while read LINE; do
+ # Strip out the base of the path
+ LINE=${LINE#$basepath/}
+ output+=("$LINE")
+ done <<< $code

# Replace old address with pretty line numbers
- symbol="$segment$name ($code)"
+ symbol="$segment$name (${output[@]})"
}

decode_code() {
--
2.27.0
\
 
 \ /
  Last update: 2020-07-20 09:44    [W:0.042 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site