[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALcN6mhKJ9KH4aLnJt5r14+=fPGgsmX+AdkkSVEG0XgGLMjUCQ@mail.gmail.com>
Date: Mon, 6 Feb 2017 12:09:03 -0800
From: David Carrillo-Cisneros <davidcc@...gle.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Jiri Olsa <jolsa@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Wang Nan <wangnan0@...wei.com>, He Kuang <hekuang@...wei.com>,
Michal Marek <mmarek@...e.com>,
Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>,
Stephane Eranian <eranian@...gle.com>,
Paul Turner <pjt@...gle.com>
Subject: Re: [PATCH 4/4] tools include: Fix include path for uapi/asm-generic/mman.h
> What problem is this fixing?
>
> I.e. one is supposed to include <linux/mman.h>, get the
> tools/include/uapi/linux/mman.h and it in turn will include the per-arch
> mman.h, say tools/arch/sparc/include/uapi/asm/mman.h, that in turn will
> include uapi/asm-generic/mman-common.h after defining its diverging
> bits.
>
> Some, like the ones for the Alpha and MIPS architectures, will not even
> include mman-common.h, so diverging they are.
>
> Lots of arches, like s390, will just include uapi/asm-generic/mman.h
> from its mman.h file (tools/arch/s390/include/uapi/asm/mman.h), just
> like you'd do for _all_ arches in your patch below.
>
> tools/perf/Makefile.config is the one doing:
>
> INC_FLAGS += -I$(srctree)/tools/arch/$(ARCH)/include/
>
> and:
>
> [acme@...et linux]$ ls tools/arch/*/include/uapi/asm/mman.h
> tools/arch/alpha/include/uapi/asm/mman.h tools/arch/ia64/include/uapi/asm/mman.h tools/arch/s390/include/uapi/asm/mman.h
> tools/arch/arc/include/uapi/asm/mman.h tools/arch/m32r/include/uapi/asm/mman.h tools/arch/score/include/uapi/asm/mman.h
> tools/arch/arm64/include/uapi/asm/mman.h tools/arch/microblaze/include/uapi/asm/mman.h tools/arch/sh/include/uapi/asm/mman.h
> tools/arch/arm/include/uapi/asm/mman.h tools/arch/mips/include/uapi/asm/mman.h tools/arch/sparc/include/uapi/asm/mman.h
> tools/arch/frv/include/uapi/asm/mman.h tools/arch/mn10300/include/uapi/asm/mman.h tools/arch/tile/include/uapi/asm/mman.h
> tools/arch/h8300/include/uapi/asm/mman.h tools/arch/parisc/include/uapi/asm/mman.h tools/arch/x86/include/uapi/asm/mman.h
> tools/arch/hexagon/include/uapi/asm/mman.h tools/arch/powerpc/include/uapi/asm/mman.h tools/arch/xtensa/include/uapi/asm/mman.h
> [acme@...et linux]$
>
> Am I missing something?
>
The original error is:
In file included from util/event.c:2:0:
...tools/include/uapi/linux/mman.h:4:27: fatal error: uapi/asm/mman.h:
No such file or directory
#include <uapi/asm/mman.h>
^
compilation terminated.
After reading your explanation, seems like the problem is caused by
util/event.c directly including uapi/linux/mman.h :
Line 2: #include <uapi/linux/mman.h> /* To get things like
MAP_HUGETLB even on older libc headers */
introduced in commit fbef103fad ("perf tools: Do hugetlb handling in
more systems").
Doing:
--- a/tools/include/uapi/linux/mman.h
+++ b/tools/include/uapi/linux/mman.h
@@ -1,7 +1,7 @@
#ifndef _UAPI_LINUX_MMAN_H
#define _UAPI_LINUX_MMAN_H
-#include <uapi/asm-generic/mman.h>
+#include <uapi/asm/mman.h>
fixes by build. I don't know if it breaks something with HugeTLB, though.
Thanks,
David
Powered by blists - more mailing lists