On Mon, Nov 05, 2018 at 04:13:56PM -0300, Arnaldo Carvalho de Melo wrote: > > I did the tests and it seems to work, its the same method used by the > kernel sources, so I have this in place now: > > commit e2c39f36c354a06c6e9d32d4fdf8660b41803d82 > Author: Arnaldo Carvalho de Melo <[email protected]> > Date: Mon Nov 5 15:46:51 2018 -0300 > > perf beauty: Use SRCARCH, ARCH=x86_64 must map to "x86" to find the > headers > > Guenter reported that using ARCH=x86_64 to build perf has regressed: > > $ make -C tools/perf O=/tmp/build/perf ARCH=x86_64 > make: Entering directory '/home/acme/git/perf/tools/perf' > BUILD: Doing 'make -j4' parallel build > HOSTCC /tmp/build/perf/fixdep.o > HOSTLD /tmp/build/perf/fixdep-in.o > LINK /tmp/build/perf/fixdep > > Auto-detecting system features: > ... dwarf: [ on ] > <SNIP> > ... bpf: [ on ] > > GEN /tmp/build/perf/common-cmds.h > make[2]: *** No rule to make target > '/home/acme/git/perf/tools/arch/x86_64/include/uapi/asm//mman.h', needed by > '/tmp/build/perf/trace/beauty/generated/mmap_flags_array.c'. Stop. > make[2]: *** Waiting for unfinished jobs.... > PERF_VERSION = 4.19.gf6c23e3 > make[1]: *** [Makefile.perf:207: sub-make] Error 2 > make: *** [Makefile:70: all] Error 2 > make: Leaving directory '/home/acme/git/perf/tools/perf' > $ > > This is because we must use $(SRCARCH) where we were using $(ARCH), so > that, just like the top level Makefile, we get this done: > > # Additional ARCH settings for x86 > ifeq ($(ARCH),i386) > SRCARCH := x86 > endif > ifeq ($(ARCH),x86_64) > SRCARCH := x86 > endif > > Which is done in tools/scripts/Makefile.arch, so switch to use > $(SRCARCH). > > Reported-by: Guenter Roeck <[email protected]> > Cc: Adrian Hunter <[email protected]> > Cc: Clark Williams <[email protected]> > Cc: David Ahern <[email protected]> > Cc: Jiri Olsa <[email protected]> > Cc: Namhyung Kim <[email protected]> > Cc: Wang Nan <[email protected]> > Fixes: fbd7458db757 ("perf beauty: Wire up the mmap flags table generator > to the Makefile") > Link: https://lkml.kernel.org/r/[email protected] > Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
That seems to do the trick. Tested-by: Guenter Roeck <[email protected]> > > diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf > index 3ccb4f0bf088..d95655489f7e 100644 > --- a/tools/perf/Makefile.perf > +++ b/tools/perf/Makefile.perf > @@ -387,7 +387,7 @@ SHELL = $(SHELL_PATH) > > linux_uapi_dir := $(srctree)/tools/include/uapi/linux > asm_generic_uapi_dir := $(srctree)/tools/include/uapi/asm-generic > -arch_asm_uapi_dir := $(srctree)/tools/arch/$(ARCH)/include/uapi/asm/ > +arch_asm_uapi_dir := $(srctree)/tools/arch/$(SRCARCH)/include/uapi/asm/ > > beauty_outdir := $(OUTPUT)trace/beauty/generated > beauty_ioctl_outdir := $(beauty_outdir)/ioctl

