patches/glibc/ports-2.12.1/190-localedef-mmap.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed May 02 21:09:29 2012 +0200 (2012-05-02)
changeset 2957 3e2f2100a76d
permissions -rw-r--r--
complibs: remove experimental from versions selection

Since I removed EXPERIMENTAL to most of gcc versions, the configuration
is now broken, as the required companion libraries versions are not
selectable, as they are still hidden behind EXPERIMENTAL.

Reported-by: Claudio Henrique Fortes Felix (chffelix on irc://irc.freenode.net/crosstool-ng)
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