Re: perf build broken in 5.1-rc7

From: Thomas Backlund
Date: Tue Apr 30 2019 - 03:53:22 EST


Den 30-04-2019 kl. 10:26, skrev Thomas Backlund:

Building perf in 5.1-rc5/6/7 fails:


Build start:


 make -s -C tools/perf NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 NO_JVMTI=1 prefix=/usr lib=lib64 all
  BUILD:   Doing 'make -j32' parallel build
  HOSTCC   fixdep.o
  HOSTLD   fixdep-in.o
  LINK     fixdep
Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/vmx.h' differs from latest version at 'arch/x86/include/uapi/asm/vmx.h'
diff -u tools/arch/x86/include/uapi/asm/vmx.h arch/x86/include/uapi/asm/vmx.h

Auto-detecting system features:
...                         dwarf: [ on  ]
...            dwarf_getlocations: [ on  ]
...                         glibc: [ on  ]
...                          gtk2: [ on  ]
...                      libaudit: [ on  ]
...                        libbfd: [ on  ]
...                        libelf: [ on  ]
...                       libnuma: [ on  ]
...        numa_num_possible_cpus: [ on  ]
...                       libperl: [ on  ]
...                     libpython: [ on  ]
...                      libslang: [ on  ]
...                     libcrypto: [ on  ]
...                     libunwind: [ on  ]
...            libdw-dwarf-unwind: [ on  ]
...                          zlib: [ on  ]
...                          lzma: [ on  ]
...                     get_cpuid: [ on  ]
...                           bpf: [ on  ]
...                        libaio: [ on  ]
...        disassembler-four-args: [ OFF ]

Makefile.config:473: No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev
Makefile.config:853: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev


And breaks with:


CC       ui/setup.o
util/annotate.c: In function 'symbol__disassemble_bpf':
util/annotate.c:1767:29: error: incompatible type for argument 1 of 'disassembler'
  disassemble = disassembler(bfdf);
                             ^~~~
In file included from util/annotate.c:1689:
/usr/include/dis-asm.h:325:63: note: expected 'enum bfd_architecture' but argument is of type 'bfd *' {aka 'struct bfd *'}
 extern disassembler_ftype disassembler (enum bfd_architecture arc,
                                         ~~~~~~~~~~~~~~~~~~~~~~^~~
util/annotate.c:1767:16: error: too few arguments to function 'disassembler'
  disassemble = disassembler(bfdf);
                ^~~~~~~~~~~~
In file included from util/annotate.c:1689:
/usr/include/dis-asm.h:325:27: note: declared here
 extern disassembler_ftype disassembler (enum bfd_architecture arc,
                           ^~~~~~~~~~~~
  CC       arch/x86/util/header.o
  CC       arch/x86/util/tsc.o
  CC       arch/x86/util/pmu.o
mv: cannot stat 'util/.annotate.o.tmp': No such file or directory
  CC       bench/futex-requeue.o
  CC       arch/x86/util/kvm-stat.o
make[4]: *** [/work/rpmbuild/BUILD/kernel-x86_64/linux-5.0/tools/build/Makefile.build:97: util/annotate.o] Error 1
make[4]: *** Waiting for unfinished jobs....
  CC       util/build-id.o





And I forgot...

Reverting:
From 6987561c9e86eace45f2dbb0c564964a63f4150a Mon Sep 17 00:00:00 2001
From: Song Liu <songliubraving@xxxxxx>
Date: Mon, 11 Mar 2019 22:30:48 -0700
Subject: perf annotate: Enable annotation of BPF programs

Makes it build again.

--
Thomas