Re: [PATCH 4/4] perf intel-pt: Use shared x86 insn decoder

From: Arnaldo Carvalho de Melo
Date: Fri Aug 30 2019 - 16:06:28 EST


Em Fri, Aug 30, 2019 at 04:59:37PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, Aug 29, 2019 at 05:41:21PM -0500, Josh Poimboeuf escreveu:
> > +++ b/tools/perf/util/intel-pt-decoder/Build
> > @@ -1,7 +1,7 @@
> > perf-$(CONFIG_AUXTRACE) += intel-pt-pkt-decoder.o intel-pt-insn-decoder.o intel-pt-log.o intel-pt-decoder.o
> >
> > -inat_tables_script = util/intel-pt-decoder/gen-insn-attr-x86.awk
> > -inat_tables_maps = util/intel-pt-decoder/x86-opcode-map.txt
> > +inat_tables_script = ../../arch/x86/tools/gen-insn-attr-x86.awk
> > +inat_tables_maps = ../../arch/x86/lib/x86-opcode-map.txt
>
> I'm having trouble building it from:
>
> [acme@quaco perf]$ make help | grep perf
> perf-tar-src-pkg - Build perf-5.3.0-rc6.tar source tarball
> perf-targz-src-pkg - Build perf-5.3.0-rc6.tar.gz source tarball
> perf-tarbz2-src-pkg - Build perf-5.3.0-rc6.tar.bz2 source tarball
> perf-tarxz-src-pkg - Build perf-5.3.0-rc6.tar.xz source tarball
>
> I.e. detached tarballs, outside the kernel source tree, also using O=
>
> [acme@quaco perf]$ ls -la perf-5*
> ls: cannot access 'perf-5*': No such file or directory
> [acme@quaco perf]$ make perf-tarxz-src-pkg ; ls -la perf-5.*
> TAR
> PERF_VERSION = 5.3.rc6.gc55f04097932
> -rw-rw-r--. 1 acme acme 1670016 Aug 30 16:57 perf-5.3.0-rc6.tar.xz
> LD /tmp/build/perf/tests/perf-in.o
> CC /tmp/build/perf/util/auxtrace.o
> make[5]: *** No rule to make target '../../arch/x86/tools/gen-insn-attr-x86.awk', needed by '/tmp/build/perf/util/intel-pt-decoder/inat-tables.c'. Stop.
> make[5]: *** Waiting for unfinished jobs....

A fix, please lemme know if you're ok, so that I can fold both patches
so that we can keep it all bisect happy.

- Arnaldo

commit 423a2bf6e04aaecbeb5c2d5689cb3b832c240df0
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Fri Aug 30 17:01:58 2019 -0300

srcdir awk

Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

diff --git a/tools/perf/util/intel-pt-decoder/Build b/tools/perf/util/intel-pt-decoder/Build
index 1530f5cfd1b8..bc629359826f 100644
--- a/tools/perf/util/intel-pt-decoder/Build
+++ b/tools/perf/util/intel-pt-decoder/Build
@@ -1,7 +1,7 @@
perf-$(CONFIG_AUXTRACE) += intel-pt-pkt-decoder.o intel-pt-insn-decoder.o intel-pt-log.o intel-pt-decoder.o

-inat_tables_script = ../../arch/x86/tools/gen-insn-attr-x86.awk
-inat_tables_maps = ../../arch/x86/lib/x86-opcode-map.txt
+inat_tables_script = $(srctree)/tools/arch/x86/tools/gen-insn-attr-x86.awk
+inat_tables_maps = $(srctree)/tools/arch/x86/lib/x86-opcode-map.txt

$(OUTPUT)util/intel-pt-decoder/inat-tables.c: $(inat_tables_script) $(inat_tables_maps)
$(call rule_mkdir)