about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-10-03 22:00:05 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-10-03 22:00:05 +0000
commitd3d237560b858b3c07973a5261cd6903fe52909c (patch)
treee92d1b7c75a4efaeaffc04976e147afe2a850aa9
parent975569d0d953fb8940d23af83ce9f9765b2b07ae (diff)
downloadglibc-d3d237560b858b3c07973a5261cd6903fe52909c.tar.gz
glibc-d3d237560b858b3c07973a5261cd6903fe52909c.tar.xz
glibc-d3d237560b858b3c07973a5261cd6903fe52909c.zip
Hardcode locale archive page size as 4096.
-rw-r--r--ChangeLog3
-rw-r--r--locale/programs/locarchive.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a038c92d3e..1daa62ffbc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2013-10-03  Joseph Myers  <joseph@codesourcery.com>
 
+	* locale/programs/locarchive.c (add_locale): Use constant 4096 for
+	page size instead of calling getpagesize.
+
 	* locale/localeinfo.h (LOCFILE_ALIGN): New macro.
 	(LOCFILE_ALIGN_MASK): Likewise.
 	(LOCFILE_ALIGN_UP): Likewise.
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
index 13dba0fb26..e2a30b5682 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -838,7 +838,12 @@ add_locale (struct locarhandle *ah,
   off64_t lastoffset;
   char *ptr;
   struct locale_category_data *size_order[__LC_LAST];
-  const size_t pagesz = getpagesize ();
+  /* Page size alignment is a minor optimization for locality; use a
+     common value here rather than making the localedef output depend
+     on the page size of the system on which localedef is run.  See
+     <https://sourceware.org/glibc/wiki/Development_Todo/Master#Locale_archive_alignment>
+     for more discussion.  */
+  const size_t pagesz = 4096;
   int small_mask;
 
   head = ah->addr;