Quoting Pi-Hsun Shih (2020-07-20 01:27:07)
> Currently the basepath is removed only from the beginning of the string.
> When the symbol is inlined and there's multiple line outputs of
> addr2line, only the first line would have basepath removed.
> 
> Change to remove the basepath prefix from all lines.
> 
> Fixes: 31013836a71e ("scripts/decode_stacktrace: match basepath using shell 
> prefix operator, not regex")
> Signed-off-by: Pi-Hsun Shih <pih...@chromium.org>
> Co-developed-by: Shik Chen <s...@chromium.org>
> Signed-off-by: Shik Chen <s...@chromium.org>

I thought Co-developed-by and the other SoB came before your SoB.

> ---
>  scripts/decode_stacktrace.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Stephen Boyd <swb...@chromium.org>

> 
> diff --git a/scripts/decode_stacktrace.sh b/scripts/decode_stacktrace.sh
> index 66a6d511b524..0869def435ee 100755
> --- a/scripts/decode_stacktrace.sh
> +++ b/scripts/decode_stacktrace.sh
> @@ -87,8 +87,8 @@ parse_symbol() {
>                 return
>         fi
>  
> -       # Strip out the base of the path
> -       code=${code#$basepath/}
> +       # Strip out the base of the path on each line
> +       code=$(while read -r line; do echo "${line#$basepath/}"; done <<< 
> "$code")
>  
>         # In the case of inlines, move everything to same line
>         code=${code//$'\n'/' '}

Given that there's a while loop now maybe this line above could be
removed and the echo above replaced with a printf.

Reply via email to