[PATCH] scripts/decode_stacktrace.sh: handle RIP address with segment

From: Konstantin Khlebnikov
Date: Fri Jan 04 2019 - 06:18:42 EST


decode line:

RIP: 0010:khugepaged+0x2a2/0x2280

into

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

Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
---
scripts/decode_stacktrace.sh | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/scripts/decode_stacktrace.sh b/scripts/decode_stacktrace.sh
index 98a7d63a723e..bcdd45df3f51 100755
--- a/scripts/decode_stacktrace.sh
+++ b/scripts/decode_stacktrace.sh
@@ -37,6 +37,13 @@ parse_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
local name=${symbol%+*}

@@ -84,7 +91,7 @@ parse_symbol() {
code=${code//$'\n'/' '}

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

decode_code() {