On Mon, Nov 21, 2016 at 2:29 PM, Kirill A. Shutemov
<[email protected]> wrote:
> 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.

This doesn't work if basepath is some non-existenting directory.
In my case this usually path in pbulder container.

You could try to replace only "." to "$PWD/"

>
> Let's fix this.
>
> Canonicalize modepath too while I'm there.

This is redundant. =)

>
> Signed-off-by: Kirill A. Shutemov <[email protected]>
> Cc: Sasha Levin <[email protected]>
> Cc: Konstantin Khlebnikov <[email protected]>
> ---
>  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