scripts/decode_stacktrace.sh: handle RIP address with segment

decode line:

  RIP: 0010:khugepaged+0x2a2/0x2280

into

  RIP: 0010:khugepaged (mm/khugepaged.c:1885)

Link: http://lkml.kernel.org/r/154660071227.52726.15645307951282727605.stgit@buzz
Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Konstantin Khlebnikov 2019-03-05 15:41:34 -08:00 committed by Linus Torvalds
parent 5c0198b6fb
commit 1d6693fb9d
1 changed files with 8 additions and 1 deletions

View File

@ -37,6 +37,13 @@ parse_symbol() {
symbol=${symbol#\(} symbol=${symbol#\(}
symbol=${symbol%\)} symbol=${symbol%\)}
# Strip segment
local segment
if [[ $symbol == *:* ]] ; then
segment=${symbol%%:*}:
symbol=${symbol#*:}
fi
# Strip the symbol name so that we could look it up # Strip the symbol name so that we could look it up
local name=${symbol%+*} local name=${symbol%+*}
@ -84,7 +91,7 @@ parse_symbol() {
code=${code//$'\n'/' '} code=${code//$'\n'/' '}
# Replace old address with pretty line numbers # Replace old address with pretty line numbers
symbol="$name ($code)" symbol="$segment$name ($code)"
} }
decode_code() { decode_code() {