From d3a43e49f342c4663af0fff9d95000cfe26867c3 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 18 Sep 2018 16:12:56 +0000 Subject: Unify many bits/mman.h headers. Many bits/mman.h headers for Linux architectures have exactly the same contents, up to whitespace, comments and the number of leading 0s on constants. Specifically, this applies to architectures that, in the Linux kernel, either have no uapi/asm/mman.h, or have one that includes asm-generic/mman.h without any changes or additions relevant to glibc (this last case is the one that applies to Arm). It's not useful to have to duplicate the set of MAP_* constants in glibc for all such architectures and any new architectures with that property. Thus, this patch creates a generic sysdeps/unix/sysv/linux/bits/mman.h and removes all the architecture-specific versions that become unnecessary. Further unification remains possible after this patch. For example, the new bits/mman.h could become bits/mman-map-flags-generic.h so that it could also be used by architecture-specific bits/mman.h headers on architectures that use the generic flags but add architecture-specific ones to them. That would allow this common set of MAP_* definitions to be used on ia64 and x86 as well (architectures that include asm-generic/mman.h from their own uapi/asm/mman.h but define additional MAP_* values of their own). Tested with build-many-glibcs.py. * sysdeps/unix/sysv/linux/bits/mman.h: New file. * sysdeps/unix/sysv/linux/aarch64/bits/mman.h: Remove. * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/nios2/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/riscv/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise. --- sysdeps/unix/sysv/linux/sh/bits/mman.h | 44 ---------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 sysdeps/unix/sysv/linux/sh/bits/mman.h (limited to 'sysdeps/unix/sysv/linux/sh') diff --git a/sysdeps/unix/sysv/linux/sh/bits/mman.h b/sysdeps/unix/sysv/linux/sh/bits/mman.h deleted file mode 100644 index 9015957e65..0000000000 --- a/sysdeps/unix/sysv/linux/sh/bits/mman.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Definitions for POSIX memory map interface. Linux/SH version. - Copyright (C) 1997-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_MMAN_H -# error "Never include this file directly. Use instead" -#endif - -/* The following definitions basically come from the kernel headers. - But the kernel header is not namespace clean. */ - -/* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x0100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x0800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x2000 /* Lock the mapping. */ -# define MAP_NORESERVE 0x4000 /* Don't check for reservations. */ -# define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page - faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap - underlying mapping. */ -#endif - -/* Include generic Linux declarations. */ -#include -- cgit 1.4.1