Re: [linux-image-5.10.0-1-amd64] Requirement of pahole binary with CONFIG_DEBUG_INFO_BTF=y
On Mon, Jan 11, 2021 at 12:33 PM Sedat Dilek <sedat.dilek@gmail.com> wrote:
>
> On Mon, Jan 11, 2021 at 11:29 AM Salvatore Bonaccorso <carnil@debian.org> wrote:
> >
> >
> > On Mon, Jan 11, 2021 at 09:57:43AM +0100, Sedat Dilek wrote:
> > > Hi,
> > >
> > > yesterday, I installed linux-image-5.10.0-1-amd64 version 5.10.5-1
> > > from Debian/unstable.
> > >
> > > I am building custom Linux-kernels mostly to test with LLVM/Clang and
> > > use Debian's kernel-config file as a base for my work.
> > >
> > > With CONFIG_DEBUG_INFO_BTF=y there is a requirement for pahole binary
> > > from dwarves package.
> > >
> > > The requirement is coded in [1]:
> > >
> > > if ! [ -x "$(command -v ${PAHOLE})" ]; then
> > > echo >&2 "BTF: ${1}: pahole (${PAHOLE}) is not available"
> > > return 1
> > > fi
> > >
> > > Is there an install-recommendation for dwarves package?
> > > If not - I would like to open a bug-report.
> > >
> > > If you need further information, please let me know.
> >
> > this change happened in
> > https://salsa.debian.org/kernel-team/linux/-/commit/929891281c61ce4403ddd869664c949692644a2f
> > (actually earlier, then reverted and enabled for a subset of
> > architectures wiith the above commit).
> >
> > For the Debian build it adds as well the Build-Depends on dwarves (>=
> > 1.16~).
> >
> > Did I understood your question correctly?
> >
>
> Hi Salvatore,
>
> That commit looks good to me.
>
> Anyway, it breaks here CONFIG_DEBUG_INFO_BTF=y:
>
> + [ -n y -a -n y ]
> + info BTFIDS vmlinux
> + [ != silent_ ]
> + printf %-7s %s\n BTFIDS vmlinux
> BTFIDS vmlinux
> + ./tools/bpf/resolve_btfids/resolve_btfids vmlinux
> FAILED: load BTF from vmlinux: Invalid argument
> + on_exit
> + [ 255 -ne 0 ]
> + cleanup
> + rm -f .btf.vmlinux.bin.o
>
> Any comments?
>
According to [1]:
Q: Where do I find LLVM with BPF support?
OK, I see my selfmade LLVM toolchain has no BPF support.
$ which llc
/home/dileks/src/llvm-toolchain/install/bin/llc
$ llc --version
LLVM (http://llvm.org/):
LLVM version 11.0.1
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: sandybridge
Registered Targets:
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
Debian's LLC has BPF support:
$ /usr/bin/llc-11 --version | grep -i bpf
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
I am sorry for the noise.
- Sedat -
[1] https://www.kernel.org/doc/html/latest/bpf/bpf_devel_QA.html?highlight=pahole#llvm
Reply to: