Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be709d48 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

tools headers uapi: Sync asm-generic/mman-common.h and linux/mman.h

To deal with the move of some defines from asm-generic/mmap-common.h to
linux/mman.h done in:

  746c9398 ("arch: move common mmap flags to linux/mman.h")

The generated mmap_flags array stays the same:

  $ tools/perf/trace/beauty/mmap_flags.sh
  static const char *mmap_flags[] = {
	[ilog2(0x40) + 1] = "32BIT",
	[ilog2(0x01) + 1] = "SHARED",
	[ilog2(0x02) + 1] = "PRIVATE",
	[ilog2(0x10) + 1] = "FIXED",
	[ilog2(0x20) + 1] = "ANONYMOUS",
	[ilog2(0x100000) + 1] = "FIXED_NOREPLACE",
	[ilog2(0x0100) + 1] = "GROWSDOWN",
	[ilog2(0x0800) + 1] = "DENYWRITE",
	[ilog2(0x1000) + 1] = "EXECUTABLE",
	[ilog2(0x2000) + 1] = "LOCKED",
	[ilog2(0x4000) + 1] = "NORESERVE",
	[ilog2(0x8000) + 1] = "POPULATE",
	[ilog2(0x10000) + 1] = "NONBLOCK",
	[ilog2(0x20000) + 1] = "STACK",
	[ilog2(0x40000) + 1] = "HUGETLB",
	[ilog2(0x80000) + 1] = "SYNC",
  };
  $

And to have the system's sys/mman.h find the definition of MAP_SHARED
and MAP_PRIVATE, make sure they are defined in the tools/ mman-common.h
in a way that keeps it the same as the kernel's, need for keeping the
Android's NDK cross build working.

This silences these perf build warnings:

  Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/mman-common.h' differs from latest version at 'include/uapi/asm-generic/mman-common.h'
  diff -u tools/include/uapi/asm-generic/mman-common.h include/uapi/asm-generic/mman-common.h
  Warning: Kernel ABI header at 'tools/include/uapi/linux/mman.h' differs from latest version at 'include/uapi/linux/mman.h'
  diff -u tools/include/uapi/linux/mman.h include/uapi/linux/mman.h

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/n/tip-h80ycpc6pedg9s5z2rwpy6ws@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 4e8a5c15
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -27,8 +27,6 @@
#define MAP_NONBLOCK	0x40000
#define MAP_NORESERVE	0x10000
#define MAP_POPULATE	0x20000
#define MAP_PRIVATE	0x02
#define MAP_SHARED	0x01
#define MAP_STACK	0x80000
#define PROT_EXEC	0x4
#define PROT_GROWSDOWN	0x01000000
+0 −2
Original line number Diff line number Diff line
@@ -28,8 +28,6 @@
#define MAP_NONBLOCK	0x20000
#define MAP_NORESERVE	0x0400
#define MAP_POPULATE	0x10000
#define MAP_PRIVATE	0x002
#define MAP_SHARED	0x001
#define MAP_STACK	0x40000
#define PROT_EXEC	0x04
#define PROT_GROWSDOWN	0x01000000
+0 −2
Original line number Diff line number Diff line
@@ -27,8 +27,6 @@
#define MAP_NONBLOCK	0x20000
#define MAP_NORESERVE	0x4000
#define MAP_POPULATE	0x10000
#define MAP_PRIVATE	0x02
#define MAP_SHARED	0x01
#define MAP_STACK	0x40000
#define PROT_EXEC	0x4
#define PROT_GROWSDOWN	0x01000000
+0 −2
Original line number Diff line number Diff line
@@ -27,8 +27,6 @@
#define MAP_NONBLOCK	0x20000
#define MAP_NORESERVE	0x0400
#define MAP_POPULATE	0x10000
#define MAP_PRIVATE	0x002
#define MAP_SHARED	0x001
#define MAP_STACK	0x40000
#define PROT_EXEC	0x4
#define PROT_GROWSDOWN	0x01000000
+23 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __ASM_GENERIC_MMAN_COMMON_TOOLS_ONLY_H
#define __ASM_GENERIC_MMAN_COMMON_TOOLS_ONLY_H

#include <asm-generic/mman-common.h>

/* We need this because we need to have tools/include/uapi/ included in the tools
 * header search path to get access to stuff that is not yet in the system's
 * copy of the files in that directory, but since this cset:
 *
 *     746c9398f5ac ("arch: move common mmap flags to linux/mman.h")
 *
 * We end up making sys/mman.h, that is in the system headers, to not find the
 * MAP_SHARED and MAP_PRIVATE defines because they are not anymore in our copy
 * of asm-generic/mman-common.h. So we define them here and include this header
 * from each of the per arch mman.h headers.
 */
#ifndef MAP_SHARED
#define MAP_SHARED	0x01		/* Share changes */
#define MAP_PRIVATE	0x02		/* Changes are private */
#define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
#endif
#endif // __ASM_GENERIC_MMAN_COMMON_TOOLS_ONLY_H
Loading