r3908 - in glibc-package/trunk/debian: . patches patches/any
Author: aurel32
Date: 2009-10-27 23:04:14 +0000 (Tue, 27 Oct 2009)
New Revision: 3908
Added:
glibc-package/trunk/debian/patches/any/submitted-localedef-mmap.diff
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/series
Log:
* patches/any/submitted-localedef-mmap.diff: new patch to cope with
different mmap alignment restrictions between MMAP_SHARED and
MMAP_PRIVATE. On SPARC64, MMAP_SHARED implies a 16kB alignment (L1
D-Cache size), while MMAP_PRIVATE implies a 8kB alignment (page
size). Closes: #552233.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2009-10-26 20:48:38 UTC (rev 3907)
+++ glibc-package/trunk/debian/changelog 2009-10-27 23:04:14 UTC (rev 3908)
@@ -1,3 +1,14 @@
+eglibc (2.10.1-4) UNRELEASED; urgency=low
+
+ [ Aurelien Jarno ]
+ * patches/any/submitted-localedef-mmap.diff: new patch to cope with
+ different mmap alignment restrictions between MMAP_SHARED and
+ MMAP_PRIVATE. On SPARC64, MMAP_SHARED implies a 16kB alignment (L1
+ D-Cache size), while MMAP_PRIVATE implies a 8kB alignment (page
+ size). Closes: #552233.
+
+ -- Aurelien Jarno <aurel32@debian.org> Wed, 28 Oct 2009 00:00:49 +0100
+
eglibc (2.10.1-3) unstable; urgency=low
[ Samuel Thibault ]
Added: glibc-package/trunk/debian/patches/any/submitted-localedef-mmap.diff
===================================================================
--- glibc-package/trunk/debian/patches/any/submitted-localedef-mmap.diff (rev 0)
+++ glibc-package/trunk/debian/patches/any/submitted-localedef-mmap.diff 2009-10-27 23:04:14 UTC (rev 3908)
@@ -0,0 +1,35 @@
+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.
+
+--- a/locale/programs/locarchive.c
++++ b/locale/programs/locarchive.c
+@@ -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
+@@ -397,7 +397,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
+@@ -615,7 +615,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
Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series 2009-10-26 20:48:38 UTC (rev 3907)
+++ glibc-package/trunk/debian/patches/series 2009-10-27 23:04:14 UTC (rev 3908)
@@ -205,3 +205,4 @@
any/cvs-getaddrinfo-nss-notfound.diff
any/submitted-missing-etc-hosts.diff
any/submitted-missing-etc-resolv.conf.diff
+any/submitted-localedef-mmap.diff
Reply to: