Re: [PATCH] scripts/decode_stacktrace.sh: optionally use LLVM utilities

From: Carlos Llamas
Date: Tue Jan 09 2024 - 15:05:20 EST


On Fri, Sep 29, 2023 at 03:48:17AM +0000, Carlos Llamas wrote:
> GNU's addr2line can have problems parsing a vmlinux built with LLVM,
> particularly when LTO was used. In order to decode the traces correctly
> this patch adds the ability to switch to LLVM's utilities readelf and
> addr2line. The same approach is followed by Will in [1].
>
> Before:
> $ scripts/decode_stacktrace.sh vmlinux < kernel.log
> [17716.240635] Call trace:
> [17716.240646] skb_cow_data (??:?)
> [17716.240654] esp6_input (ld-temp.o:?)
> [17716.240666] xfrm_input (ld-temp.o:?)
> [17716.240674] xfrm6_rcv (??:?)
> [...]
>
> After:
> $ LLVM=1 scripts/decode_stacktrace.sh vmlinux < kernel.log
> [17716.240635] Call trace:
> [17716.240646] skb_cow_data (include/linux/skbuff.h:2172 net/core/skbuff.c:4503)
> [17716.240654] esp6_input (net/ipv6/esp6.c:977)
> [17716.240666] xfrm_input (net/xfrm/xfrm_input.c:659)
> [17716.240674] xfrm6_rcv (net/ipv6/xfrm6_input.c:172)
> [...]
>
> Note that one could set CROSS_COMPILE=llvm- instead to hack around this
> issue. However, doing so can break the decodecode routine as it will
> force the selection of other LLVM utilities down the line e.g. llvm-as.
>
> [1] https://lore.kernel.org/all/20230914131225.13415-3-will@xxxxxxxxxx/
>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: John Stultz <jstultz@xxxxxxxxxx>
> Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> Signed-off-by: Carlos Llamas <cmllamas@xxxxxxxxxx>
> ---

There is no clear maintainer for this script. However, I had a look at
git history and it seems this might need to be picked up by Andrew.

Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

Andrew can you please pick this up?

--
Carlos Llamas