patches/glibc/ports-2.12.1/190-localedef-mmap.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:45:22 2012 +0100 (2012-12-27)
changeset 3152 b286c7993be5
permissions -rw-r--r--
scripts/addToolsVersion: properly handle .in vs. .in.2

While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).

Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.

So, for each tool, we need to explicitly know what file to munge.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 sniped from Debian
     2 http://bugs.gentoo.org/289615
     3 
     4 2009-10-27  Aurelien Jarno  <aurelien@aurel32.net>
     5 
     6 	* locale/programs/locarchive.c: use MMAP_SHARED to reserve memory
     7 	used later with MMAP_FIXED | MMAP_SHARED to cope with different
     8 	alignment restrictions.
     9 
    10 diff -durN glibc-2.12.1.orig/locale/programs/locarchive.c glibc-2.12.1/locale/programs/locarchive.c
    11 --- glibc-2.12.1.orig/locale/programs/locarchive.c	2009-04-27 16:07:47.000000000 +0200
    12 +++ glibc-2.12.1/locale/programs/locarchive.c	2009-11-13 00:50:01.000000000 +0100
    13 @@ -134,7 +134,7 @@
    14    size_t reserved = RESERVE_MMAP_SIZE;
    15    int xflags = 0;
    16    if (total < reserved
    17 -      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
    18 +      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
    19  		       -1, 0)) != MAP_FAILED))
    20      xflags = MAP_FIXED;
    21    else
    22 @@ -396,7 +396,7 @@
    23    size_t reserved = RESERVE_MMAP_SIZE;
    24    int xflags = 0;
    25    if (total < reserved
    26 -      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
    27 +      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
    28  		       -1, 0)) != MAP_FAILED))
    29      xflags = MAP_FIXED;
    30    else
    31 @@ -614,7 +614,7 @@
    32    int xflags = 0;
    33    void *p;
    34    if (st.st_size < reserved
    35 -      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
    36 +      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
    37  		       -1, 0)) != MAP_FAILED))
    38      xflags = MAP_FIXED;
    39    else