Re: [PATCH 2/2] scripts/faddr2line: Use LLVM addr2line and readelf if LLVM=1

From: Will Deacon
Date: Tue Jul 25 2023 - 13:21:33 EST


On Mon, Jul 24, 2023 at 05:07:49PM -0700, Josh Poimboeuf wrote:
> On Mon, Jul 24, 2023 at 06:45:17PM +0100, Will Deacon wrote:
> > GNU utilities cannot necessarily parse objects built by LLVM, which can
> > result in confusing errors when using 'faddr2line':
> >
> > $ CROSS_COMPILE=aarch64-linux-gnu- ./scripts/faddr2line vmlinux do_one_initcall+0xf4/0x260
> > aarch64-linux-gnu-addr2line: vmlinux: unknown type [0x13] section `.relr.dyn'
> > aarch64-linux-gnu-addr2line: DWARF error: invalid or unhandled FORM value: 0x25
> > do_one_initcall+0xf4/0x260:
> > aarch64-linux-gnu-addr2line: vmlinux: unknown type [0x13] section `.relr.dyn'
> > aarch64-linux-gnu-addr2line: DWARF error: invalid or unhandled FORM value: 0x25
> > $x.73 at main.c:?
> >
> > Although this can be worked around by setting CROSS_COMPILE to "llvm=-",
> > it's cleaner to follow the same syntax as the top-level Makefile and
> > accept LLVM=1 as an indication to use the llvm- tools.
> >
> > Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> > Cc: John Stultz <jstultz@xxxxxxxxxx>
> > Signed-off-by: Will Deacon <will@xxxxxxxxxx>
>
> This one looks good to me, I'll go ahead and queue it.

Thanks, Josh!

Will