Re: [perf-tools] Build-error in tools/perf/util/annotate.c with LLVM-14

From: Sedat Dilek
Date: Sun Jul 03 2022 - 07:55:33 EST


On Sun, Jul 3, 2022 at 1:06 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
>
> On Sun, Jul 3, 2022 at 1:03 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> >
> > On Sun, Jul 3, 2022 at 12:57 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> > [ ... ]
> > > util/annotate.c:1766:33: error: too few arguments to function call,
> > > expected 4, have 3
> > > (fprintf_ftype) fprintf);
> > > ^
> > > /usr/include/dis-asm.h:472:13: note: 'init_disassemble_info' declared here
> > > extern void init_disassemble_info (struct disassemble_info *dinfo, void *stream,
> > > ^
> > > 1 error generated.
> > > make[4]: *** [/home/dileks/src/linux/git/tools/build/Makefile.build:97:
> > > util/annotate.o] Error 1
> >
> > This is with Debian's binutils(-dev) version 2.38.50.20220629-4.
> >
> > $ dpkg -S /usr/include/dis-asm.h
> > binutils-dev: /usr/include/dis-asm.h
> >
>
> [ /usr/include/dis-asm.h ]
>
> 470 /* Method to initialize a disassemble_info struct. This should be
> 471 called by all applications creating such a struct. */
> 472 extern void init_disassemble_info (struct disassemble_info *dinfo,
> void *stream,
> 473 fprintf_ftype fprintf_func,
> 474 fprintf_styled_ftype
> fprintf_styled_func);
>

[ CC Andres F. + bpf folks ]

The patch-series from Andres Freund from [1] fixes the issue for me on
Debian/unstable AMD64:

[PATCH v1 0/3] tools: fix compilation failure caused by
init_disassemble_info API changes
[PATCH v1 1/3] tools build: add feature test for init_disassemble_info
API changes
[PATCH v1 2/3] tools: add dis-asm-compat.h to centralize handling of
version differences
[PATCH v1 3/3] tools: Use tools/dis-asm-compat.h to fix compilation
errors with new binutils

Compile-tested only (LLVM-14 x86-64).

link="https://lore.kernel.org/lkml/20220703044814.892617-1-andres@xxxxxxxxxxx/";
b4 -d am $link

Andres, you have some test-cases how you verified the built perf is OK?

Thanks, Andres.

-Sedat-

[1] https://lore.kernel.org/lkml/20220703044814.892617-1-andres@xxxxxxxxxxx/
[2] https://lore.kernel.org/lkml/CA+icZUVVXq0Mh8=QuopF0tMZyZ0Tn8AiKEZoA3jfP47Q8B=x2A@xxxxxxxxxxxxxx/