Re: FAILED unresolved symbol vfs_truncate on arm64 with LLVM

Andrii Nakryiko
2021-02-09T04:46:38Z

On Mon, Feb 8, 2021 at 7:44 PM Nathan Chancellor <nathan@kernel.org> wrote:
>
> Hi all,
>
> Recently, an issue with CONFIG_DEBUG_INFO_BTF was reported for arm64:
> https://groups.google.com/g/clang-built-linux/c/de_mNh23FOc/m/E7cu5BwbBAAJ
>
> $ make -skj"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
> LLVM=1 O=build/aarch64 defconfig
>
> $ scripts/config \
> --file build/aarch64/.config \
> -e BPF_SYSCALL \
> -e DEBUG_INFO_BTF \
> -e FTRACE \
> -e FUNCTION_TRACER
>
> $ make -skj"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
> LLVM=1 O=build/aarch64 olddefconfig all
> ...
> FAILED unresolved symbol vfs_truncate
> ...
>
> My bisect landed on commit 6e22ab9da793 ("bpf: Add d_path helper")
> although that seems obvious given that is what introduced
> BTF_ID(func, vfs_truncate).
>
> I am using the latest pahole v1.20 and LLVM is at
> https://github.com/llvm/llvm-project/commit/14da287e18846ea86e45b421dc47f78ecc5aa7cb
> although I can reproduce back to LLVM 10.0.1, which is the earliest
> version that the kernel supports. I am very unfamiliar with BPF so I
> have no idea what is going wrong here. Is this a known issue?
>

I'll skip the reproduction games this time and will just request the
vmlinux image. Please upload somewhere so that we can look at DWARF
and see what's going on. Thanks.

> Cheers,
> Nathan