This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.18-267-g7602d07


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  7602d070dca35a848aff1d72cf0724f02df72f62 (commit)
      from  f17f137aaf563daf1ce5532763455b09f5db9b8f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7602d070dca35a848aff1d72cf0724f02df72f62

commit 7602d070dca35a848aff1d72cf0724f02df72f62
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Oct 8 00:14:08 2013 +0000

    Clean up locale file alignment handling.

diff --git a/ChangeLog b/ChangeLog
index 211606b..5c8fef0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2013-10-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* locale/loadlocale.c (_nl_intern_locale_data): Use
+	LOCFILE_ALIGNED_P.
+	* locale/programs/3level.h (CONCAT(add_locale_,TABLE)): Use
+	LOCFILE_ALIGN_UP and LOCFILE_ALIGN.
+	* locale/programs/ld-collate.c (obstack_int32_grow): Assert that
+	obstack data is appropriately aligned.
+	(obstack_int32_grow_fast): Likewise.
+	* locale/programs/ld-ctype.c (ctype_output): Use LOCFILE_ALIGN.
+	* locale/programs/locfile.c (add_locale_uint32): Likewise.
+	(add_locale_uint32_array): Likewise.
+
 2013-10-07  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	* benchtests/Makefile: Remove ARGLIST and RET variables.
diff --git a/locale/loadlocale.c b/locale/loadlocale.c
index de7e3d0..45162f1 100644
--- a/locale/loadlocale.c
+++ b/locale/loadlocale.c
@@ -148,7 +148,7 @@ _nl_intern_locale_data (int category, const void *data, size_t datasize)
 	newdata->values[cnt].string = newdata->filedata + idx;
       else
 	{
-	  if (idx % __alignof__ (u_int32_t) != 0)
+	  if (!LOCFILE_ALIGNED_P (idx))
 	    goto puntdata;
 	  newdata->values[cnt].word =
 	    *((const u_int32_t *) (newdata->filedata + idx));
diff --git a/locale/programs/3level.h b/locale/programs/3level.h
index b8d6ca0..c5f024f 100644
--- a/locale/programs/3level.h
+++ b/locale/programs/3level.h
@@ -270,7 +270,7 @@ CONCAT(add_locale_,TABLE) (struct locale_file *file, struct TABLE *t)
     + t->level1_size * sizeof (uint32_t)
     + (t->level2_size << t->q) * sizeof (uint32_t)
     + (t->level3_size << t->p) * sizeof (ELEMENT);
-  t->result_size = (last_offset + 3) & ~3ul;
+  t->result_size = LOCFILE_ALIGN_UP (last_offset);
 
   level2_offset =
     5 * sizeof (uint32_t)
@@ -308,7 +308,7 @@ CONCAT(add_locale_,TABLE) (struct locale_file *file, struct TABLE *t)
 			     t->level3_size << t->p);
   else
     abort ();
-  align_locale_data (file, 4);
+  align_locale_data (file, LOCFILE_ALIGN);
   end_locale_structure (file);
 
   if (t->level1_alloc > 0)
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index 31e2d05..d88a6de 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -44,6 +44,7 @@ static inline void
 __attribute ((always_inline))
 obstack_int32_grow (struct obstack *obstack, int32_t data)
 {
+  assert (LOCFILE_ALIGNED_P (obstack_object_size (obstack)));
   data = maybe_swap_uint32 (data);
   if (sizeof (int32_t) == sizeof (int))
     obstack_int_grow (obstack, data);
@@ -55,6 +56,7 @@ static inline void
 __attribute ((always_inline))
 obstack_int32_grow_fast (struct obstack *obstack, int32_t data)
 {
+  assert (LOCFILE_ALIGNED_P (obstack_object_size (obstack)));
   data = maybe_swap_uint32 (data);
   if (sizeof (int32_t) == sizeof (int))
     obstack_int_grow_fast (obstack, data);
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
index 1696294..e7e17b8 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -1032,7 +1032,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
 	    for (cnt = 0; cnt < ctype->nr_charclass; ++cnt)
 	      add_locale_string (&file, ctype->classnames[cnt]);
 	    add_locale_char (&file, 0);
-	    align_locale_data (&file, 4);
+	    align_locale_data (&file, LOCFILE_ALIGN);
 	    end_locale_structure (&file);
 	    break;
 
@@ -1042,7 +1042,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
 	    for (cnt = 0; cnt < ctype->map_collection_nr; ++cnt)
 	      add_locale_string (&file, ctype->mapnames[cnt]);
 	    add_locale_char (&file, 0);
-	    align_locale_data (&file, 4);
+	    align_locale_data (&file, LOCFILE_ALIGN);
 	    end_locale_structure (&file);
 	    break;
 
diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
index 4969391..3e76ec9 100644
--- a/locale/programs/locfile.c
+++ b/locale/programs/locfile.c
@@ -627,7 +627,7 @@ add_locale_wstring (struct locale_file *file, const uint32_t *string)
 void
 add_locale_uint32 (struct locale_file *file, uint32_t value)
 {
-  align_locale_data (file, sizeof (uint32_t));
+  align_locale_data (file, LOCFILE_ALIGN);
   record_offset (file);
   value = maybe_swap_uint32 (value);
   obstack_grow (&file->data, &value, sizeof (value));
@@ -639,7 +639,7 @@ void
 add_locale_uint32_array (struct locale_file *file,
 			 const uint32_t *data, size_t n_elems)
 {
-  align_locale_data (file, sizeof (uint32_t));
+  align_locale_data (file, LOCFILE_ALIGN);
   record_offset (file);
   obstack_grow (&file->data, data, n_elems * sizeof (uint32_t));
   maybe_swap_uint32_obstack (&file->data, n_elems);

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                    |   13 +++++++++++++
 locale/loadlocale.c          |    2 +-
 locale/programs/3level.h     |    4 ++--
 locale/programs/ld-collate.c |    2 ++
 locale/programs/ld-ctype.c   |    4 ++--
 locale/programs/locfile.c    |    4 ++--
 6 files changed, 22 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]