patches/glibc/ports-2.13/190-localedef-mmap.patch
author Esben Haabendal <esben.haabendal@prevas.dk>
Fri Oct 07 15:06:44 2011 +0200 (2011-10-07)
changeset 2721 7b64746b0ab3
permissions -rw-r--r--
scripts/functions: Fix CT_ExtractGit function.

Change CT_ExtractGit so that it clones the repository, instead of just
symlinking it. After cloning, any given ref is checked out, or if no
ref is given, the HEAD of the repository is checked out.

This makes CT_Extract behave similar for git repositories as it does
for tarballs, so that it for example can be used for passing glibc-ports
as a git repository.

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