| sniped from Debian |
| http://bugs.gentoo.org/289615 |
| |
| 2009-10-27 Aurelien Jarno <aurelien@aurel32.net> |
| |
| * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory |
| used later with MMAP_FIXED | MMAP_SHARED to cope with different |
| alignment restrictions. |
| |
| diff -durN glibc-2.10.1.orig/locale/programs/locarchive.c glibc-2.10.1/locale/programs/locarchive.c |
| --- glibc-2.10.1.orig/locale/programs/locarchive.c 2009-04-27 16:07:47.000000000 +0200 |
| +++ glibc-2.10.1/locale/programs/locarchive.c 2009-11-13 00:50:01.000000000 +0100 |
| @@ -134,7 +134,7 @@ |
| size_t reserved = RESERVE_MMAP_SIZE; |
| int xflags = 0; |
| if (total < reserved |
| - && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, |
| + && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, |
| -1, 0)) != MAP_FAILED)) |
| xflags = MAP_FIXED; |
| else |
| @@ -396,7 +396,7 @@ |
| size_t reserved = RESERVE_MMAP_SIZE; |
| int xflags = 0; |
| if (total < reserved |
| - && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, |
| + && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, |
| -1, 0)) != MAP_FAILED)) |
| xflags = MAP_FIXED; |
| else |
| @@ -614,7 +614,7 @@ |
| int xflags = 0; |
| void *p; |
| if (st.st_size < reserved |
| - && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, |
| + && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, |
| -1, 0)) != MAP_FAILED)) |
| xflags = MAP_FIXED; |
| else |