I use decode_stacktrace.sh as

$ ./scripts/decode_stacktrace.sh vmlinux . .

It means basepath is equal to "." and decode_stacktrace stips dot from
the filepath instead of actual basepath. Not very helpful.

Let's fix this.

Canonicalize modepath too while I'm there.

Signed-off-by: Kirill A. Shutemov <kirill.shute...@linux.intel.com>
Cc: Sasha Levin <alexander.le...@verizon.com>
Cc: Konstantin Khlebnikov <koc...@gmail.com>
---
 scripts/decode_stacktrace.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/decode_stacktrace.sh b/scripts/decode_stacktrace.sh
index c332684e1b5a..27e3cb7a14e8 100755
--- a/scripts/decode_stacktrace.sh
+++ b/scripts/decode_stacktrace.sh
@@ -9,8 +9,8 @@ if [[ $# < 2 ]]; then
 fi
 
 vmlinux=$1
-basepath=$2
-modpath=$3
+basepath=$(readlink -ev "$2")
+modpath=$(readlink -ev "$3")
 declare -A cache
 declare -A modcache
 
@@ -77,7 +77,7 @@ parse_symbol() {
        fi
 
        # Strip out the base of the path
-       code=${code//$basepath/""}
+       code=${code//$basepath\//""}
 
        # In the case of inlines, move everything to same line
        code=${code//$'\n'/' '}
-- 
2.10.2

Reply via email to