Some macros have different value for different archs. For example:

 $ grep '#define MAP_HUGETLB' ./arch/*/include/ ./include/ -r
 ./arch/alpha/include/uapi/asm/mman.h:#define MAP_HUGETLB       0x100000
 ./arch/mips/include/uapi/asm/mman.h:#define MAP_HUGETLB        0x80000
 ./arch/parisc/include/uapi/asm/mman.h:#define MAP_HUGETLB      0x80000
 ./arch/powerpc/include/uapi/asm/mman.h:#define MAP_HUGETLB     0x40000
 ./arch/sparc/include/uapi/asm/mman.h:#define MAP_HUGETLB       0x40000
 ./arch/tile/include/uapi/asm/mman.h:#define MAP_HUGETLB        0x4000
 ./arch/xtensa/include/uapi/asm/mman.h:#define MAP_HUGETLB      0x80000
 ./include/uapi/asm-generic/mman.h:#define MAP_HUGETLB  0x40000

Current tools/perf/trace/beauty/mmap.c works for x86 only.

This patchset clone required macros from kernel source tree to tools/.
By replacing bits/mman.h, #include <sys/mman.h> automatically use
correct macros.

Wang Nan (3):
  tools include: Add uapi mman.h for each architecture
  tools include: Introduce bits/mman.h
  perf build: Compare mman.h related headers againest kernel

 tools/arch/alpha/include/uapi/asm/mman.h      | 38 ++++++++++++++
 tools/arch/arm/include/uapi/asm/mman.h        |  4 ++
 tools/arch/arm64/include/uapi/asm/mman.h      |  4 ++
 tools/arch/frv/include/uapi/asm/mman.h        |  4 ++
 tools/arch/h8300/include/uapi/asm/mman.h      |  4 ++
 tools/arch/hexagon/include/uapi/asm/mman.h    |  4 ++
 tools/arch/ia64/include/uapi/asm/mman.h       |  4 ++
 tools/arch/m32r/include/uapi/asm/mman.h       |  4 ++
 tools/arch/microblaze/include/uapi/asm/mman.h |  4 ++
 tools/arch/mips/include/uapi/asm/mman.h       | 39 ++++++++++++++
 tools/arch/mn10300/include/uapi/asm/mman.h    |  4 ++
 tools/arch/parisc/include/uapi/asm/mman.h     | 38 ++++++++++++++
 tools/arch/powerpc/include/uapi/asm/mman.h    | 13 +++++
 tools/arch/s390/include/uapi/asm/mman.h       |  4 ++
 tools/arch/score/include/uapi/asm/mman.h      |  4 ++
 tools/arch/sh/include/uapi/asm/mman.h         |  4 ++
 tools/arch/sparc/include/uapi/asm/mman.h      | 13 +++++
 tools/arch/tile/include/uapi/asm/mman.h       | 13 +++++
 tools/arch/x86/include/uapi/asm/mman.h        |  5 ++
 tools/arch/xtensa/include/uapi/asm/mman.h     | 38 ++++++++++++++
 tools/include/bits/mman.h                     |  6 +++
 tools/include/uapi/asm-generic/mman-common.h  | 75 +++++++++++++++++++++++++++
 tools/include/uapi/asm-generic/mman.h         | 22 ++++++++
 tools/include/uapi/linux/mman.h               | 13 +++++
 tools/perf/Makefile.perf                      |  9 ++++
 25 files changed, 370 insertions(+)
 create mode 100644 tools/arch/alpha/include/uapi/asm/mman.h
 create mode 100644 tools/arch/arm/include/uapi/asm/mman.h
 create mode 100644 tools/arch/arm64/include/uapi/asm/mman.h
 create mode 100644 tools/arch/frv/include/uapi/asm/mman.h
 create mode 100644 tools/arch/h8300/include/uapi/asm/mman.h
 create mode 100644 tools/arch/hexagon/include/uapi/asm/mman.h
 create mode 100644 tools/arch/ia64/include/uapi/asm/mman.h
 create mode 100644 tools/arch/m32r/include/uapi/asm/mman.h
 create mode 100644 tools/arch/microblaze/include/uapi/asm/mman.h
 create mode 100644 tools/arch/mips/include/uapi/asm/mman.h
 create mode 100644 tools/arch/mn10300/include/uapi/asm/mman.h
 create mode 100644 tools/arch/parisc/include/uapi/asm/mman.h
 create mode 100644 tools/arch/powerpc/include/uapi/asm/mman.h
 create mode 100644 tools/arch/s390/include/uapi/asm/mman.h
 create mode 100644 tools/arch/score/include/uapi/asm/mman.h
 create mode 100644 tools/arch/sh/include/uapi/asm/mman.h
 create mode 100644 tools/arch/sparc/include/uapi/asm/mman.h
 create mode 100644 tools/arch/tile/include/uapi/asm/mman.h
 create mode 100644 tools/arch/x86/include/uapi/asm/mman.h
 create mode 100644 tools/arch/xtensa/include/uapi/asm/mman.h
 create mode 100644 tools/include/bits/mman.h
 create mode 100644 tools/include/uapi/asm-generic/mman-common.h
 create mode 100644 tools/include/uapi/asm-generic/mman.h
 create mode 100644 tools/include/uapi/linux/mman.h

-- 
1.8.3.4

Reply via email to