[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r24582 - in /fsf/trunk/libc: ./ libio/ locale/ locale/programs/ localedata/ localedata/locales/ malloc/ manual/ nptl/ ports/...



Author: eglibc
Date: Thu Nov 21 00:01:53 2013
New Revision: 24582

Log:
Import glibc-mainline for 2013-11-21

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/libio/tst-widetext.input
    fsf/trunk/libc/locale/iso-639.def
    fsf/trunk/libc/locale/programs/locarchive.c
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/locales/or_IN
    fsf/trunk/libc/malloc/hooks.c
    fsf/trunk/libc/malloc/malloc.c
    fsf/trunk/libc/manual/probes.texi
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/Makefile
    fsf/trunk/libc/ports/ChangeLog.linux-generic
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/stat.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/statfs.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Nov 21 00:01:53 2013
@@ -1,4 +1,21 @@
+2013-11-20  OndÃÂej BÃÂlka  <neleai@xxxxxxxxx>
+
+	* malloc/hooks.c (memalign_check): Add alignment rounding.
+	* malloc/malloc.c (_mid_memalign): New function.
+	(__libc_valloc, __libc_pvalloc, __libc_memalign, __posix_memalign):
+	Implement by calling _mid_memalign.
+	* manual/probes.texi (Memory Allocation Probes): Remove
+	memory_valloc_retry and memory_pvalloc_retry.
+
 2013-11-20  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	* locale/programs/locarchive.c (open_archive): Add const
+	qualifier to ARCHIVEFNAME and copy default fname to
+	DEFAULT_FNAME.
+
+	[BZ #15601]
+	* libio/tst-widetext.input: Rename Oriya to Odia.
+	* locale/iso-639.def: Likewise.
 
 	* manual/probes.texi (Mathematical Function Probes): Add
 	documentation for sin, cos, asin and acos probes.

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Thu Nov 21 00:01:53 2013
@@ -12,14 +12,14 @@
   156, 387, 431, 832, 2801, 7003, 9954, 10253, 10278, 11087, 13028, 13982,
   13985, 14029, 14143, 14155, 14547, 14699, 14752, 14876, 14910, 15048,
   15218, 15277, 15308, 15362, 15374, 15400, 15427, 15483, 15522, 15531,
-  15532, 15608, 15609, 15610, 15632, 15640, 15670, 15672, 15680, 15681,
-  15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760, 15763, 15764,
-  15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856, 15857, 15859,
-  15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15905, 15909,
-  15917, 15919, 15921, 15923, 15939, 15948, 15963, 15966, 15985, 15988,
-  15997, 16032, 16034, 16036, 16037, 16041, 16055, 16071, 16072, 16074,
-  16078, 16103, 16112, 16143, 16144, 16146, 16150, 16151, 16153, 16167,
-  16172.
+  15532, 15601, 15608, 15609, 15610, 15632, 15640, 15670, 15672, 15680,
+  15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760, 15763,
+  15764, 15797, 15799, 15825, 15844, 15847, 15849, 15855, 15856, 15857,
+  15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15905,
+  15909, 15917, 15919, 15921, 15923, 15939, 15948, 15963, 15966, 15985,
+  15988, 15997, 16032, 16034, 16036, 16037, 16041, 16055, 16071, 16072,
+  16074, 16078, 16103, 16112, 16143, 16144, 16146, 16150, 16151, 16153,
+  16167, 16172.
 
 * CVE-2012-4412 The strcoll implementation caches indices and rules for
   large collation sequences to optimize multiple passes.  This cache

Modified: fsf/trunk/libc/libio/tst-widetext.input
==============================================================================
--- fsf/trunk/libc/libio/tst-widetext.input (original)
+++ fsf/trunk/libc/libio/tst-widetext.input Thu Nov 21 00:01:53 2013
@@ -126,7 +126,7 @@
 ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ
 ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ
 
-Oriya (U+0B00-U+0B7F):
+Odia (U+0B00-U+0B7F):
 
 ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ
 ÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂÃÂÂ

Modified: fsf/trunk/libc/locale/iso-639.def
==============================================================================
--- fsf/trunk/libc/locale/iso-639.def (original)
+++ fsf/trunk/libc/locale/iso-639.def Thu Nov 21 00:01:53 2013
@@ -361,7 +361,7 @@
 DEFINE_LANGUAGE_CODE3 ("Nzima", nzi, nzi)
 DEFINE_LANGUAGE_CODE ("Occitan (post 1500); ProvenÃÂal", oc, oci, oci)
 DEFINE_LANGUAGE_CODE ("Ojibwa", oj, oji, oji)
-DEFINE_LANGUAGE_CODE ("Oriya", or, ori, ori)
+DEFINE_LANGUAGE_CODE ("Odia", or, ori, ori)
 DEFINE_LANGUAGE_CODE ("Oromo", om, orm, orm)
 DEFINE_LANGUAGE_CODE3 ("Osage", osa, osa)
 DEFINE_LANGUAGE_CODE ("Ossetian; Ossetic", os, oss, oss)

Modified: fsf/trunk/libc/locale/programs/locarchive.c
==============================================================================
--- fsf/trunk/libc/locale/programs/locarchive.c (original)
+++ fsf/trunk/libc/locale/programs/locarchive.c Thu Nov 21 00:01:53 2013
@@ -564,15 +564,15 @@
   int retry = 0;
   size_t prefix_len = output_prefix ? strlen (output_prefix) : 0;
   char default_fname[prefix_len + sizeof (ARCHIVE_NAME)];
-  char *archivefname = ah->fname;
+  const char *archivefname = ah->fname;
 
   /* If ah has a non-NULL fname open that otherwise open the default.  */
   if (archivefname == NULL)
     {
       archivefname = default_fname;
       if (output_prefix)
-        memcpy (archivefname, output_prefix, prefix_len);
-      strcpy (archivefname + prefix_len, ARCHIVE_NAME);
+        memcpy (default_fname, output_prefix, prefix_len);
+      strcpy (default_fname + prefix_len, ARCHIVE_NAME);
     }
 
   while (1)

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Thu Nov 21 00:01:53 2013
@@ -1,3 +1,8 @@
+2013-11-20  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	[BZ #15601]
+	* locales/or_IN: Rename Oriya to Odia.
+
 2013-11-18  Chris Leonard  <cjl@xxxxxxxxxxxxx>
 
 	[BZ #16144]
@@ -1237,7 +1242,7 @@
 
 2012-04-12  Mike Frysinger  <vapier@xxxxxxxxxx>
 
-        [BZ #3768]
+	[BZ #3768]
 	* locales/en_GB (LC_TIME): Set am_pm and t_fmt_ampm fields.
 	* locales/cy_GB (LC_TIME): Likewise.  Also copy date_fmt from en_GB.
 

Modified: fsf/trunk/libc/localedata/locales/or_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/or_IN (original)
+++ fsf/trunk/libc/localedata/locales/or_IN Thu Nov 21 00:01:53 2013
@@ -1,19 +1,19 @@
 comment_char %
 escape_char /
 
-% Oriya locale for India.
+% Odia locale for India.
 % Contributed by Masahide Washizawa <washi at jp ibm com>
 
 %%%%%%%%%%%%%
 LC_IDENTIFICATION
-title       "Oriya language locale for India"
+title       "Odia language locale for India"
 source      "IBM AP Linux Technology Center, Yamato Software Laboratory"
 address     "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan"
 contact     ""
 email       "bug-glibc@xxxxxxx"
 tel         ""
 fax         ""
-language    "Oriya"
+language    "Odia"
 territory   "India"
 revision    "1.0"
 date        "2006-05-25"
@@ -36,10 +36,10 @@
 LC_CTYPE
 copy "i18n"
 
-% Oriya uses the alternate digits U+0B66..U+0B6F
+% Odia uses the alternate digits U+0B66..U+0B6F
 outdigit <U0B66>..<U0B6F>
 
-% This is used in the scanf family of functions to read Oriya numbers
+% This is used in the scanf family of functions to read Odia numbers
 % using "%Id" and such.
 map to_inpunct; /
   (<U0030>,<U0B66>); /

Modified: fsf/trunk/libc/malloc/hooks.c
==============================================================================
--- fsf/trunk/libc/malloc/hooks.c (original)
+++ fsf/trunk/libc/malloc/hooks.c Thu Nov 21 00:01:53 2013
@@ -375,6 +375,13 @@
       __set_errno (ENOMEM);
       return 0;
     }
+
+  /* Make sure alignment is power of 2.  */
+  if (!powerof2(alignment)) {
+    size_t a = MALLOC_ALIGNMENT * 2;
+    while (a < alignment) a <<= 1;
+    alignment = a;
+  }
 
   (void)mutex_lock(&main_arena.mutex);
   mem = (top_check() >= 0) ? _int_memalign(&main_arena, alignment, bytes+1) :

Modified: fsf/trunk/libc/malloc/malloc.c
==============================================================================
--- fsf/trunk/libc/malloc/malloc.c (original)
+++ fsf/trunk/libc/malloc/malloc.c Thu Nov 21 00:01:53 2013
@@ -1054,8 +1054,8 @@
 static void*  _int_realloc(mstate, mchunkptr, INTERNAL_SIZE_T,
 			   INTERNAL_SIZE_T);
 static void*  _int_memalign(mstate, size_t, size_t);
-static void*  _int_valloc(mstate, size_t);
-static void*  _int_pvalloc(mstate, size_t);
+static void*  _mid_memalign(size_t, size_t, void *);
+
 static void malloc_printerr(int action, const char *str, void *ptr);
 
 static void* internal_function mem2mem_check(void *p, size_t sz);
@@ -3002,15 +3002,22 @@
 void*
 __libc_memalign(size_t alignment, size_t bytes)
 {
+  void *address = RETURN_ADDRESS (0);
+  return _mid_memalign (alignment, bytes, address);
+}
+
+static void *
+_mid_memalign (size_t alignment, size_t bytes, void *address)
+{
   mstate ar_ptr;
   void *p;
 
   void *(*hook) (size_t, size_t, const void *) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
-    return (*hook)(alignment, bytes, RETURN_ADDRESS (0));
-
-  /* If need less alignment than we give anyway, just relay to malloc */
+    return (*hook)(alignment, bytes, address);
+
+  /* If we need less alignment than we give anyway, just relay to malloc.  */
   if (alignment <= MALLOC_ALIGNMENT) return __libc_malloc(bytes);
 
   /* Otherwise, ensure that it is at least a minimum chunk size */
@@ -3030,6 +3037,14 @@
       __set_errno (ENOMEM);
       return 0;
     }
+
+
+  /* Make sure alignment is power of 2.  */
+  if (!powerof2(alignment)) {
+    size_t a = MALLOC_ALIGNMENT * 2;
+    while (a < alignment) a <<= 1;
+    alignment = a;
+  }
 
   arena_get(ar_ptr, bytes + alignment + MINSIZE);
   if(!ar_ptr)
@@ -3055,54 +3070,22 @@
 void*
 __libc_valloc(size_t bytes)
 {
-  mstate ar_ptr;
-  void *p;
-
   if(__malloc_initialized < 0)
     ptmalloc_init ();
 
+  void *address = RETURN_ADDRESS (0);
   size_t pagesz = GLRO(dl_pagesize);
-
-  /* Check for overflow.  */
-  if (bytes > SIZE_MAX - pagesz - MINSIZE)
-    {
-      __set_errno (ENOMEM);
-      return 0;
-    }
-
-  void *(*hook) (size_t, size_t, const void *) =
-    force_reg (__memalign_hook);
-  if (__builtin_expect (hook != NULL, 0))
-    return (*hook)(pagesz, bytes, RETURN_ADDRESS (0));
-
-  arena_get(ar_ptr, bytes + pagesz + MINSIZE);
-  if(!ar_ptr)
-    return 0;
-  p = _int_valloc(ar_ptr, bytes);
-  if(!p) {
-    LIBC_PROBE (memory_valloc_retry, 1, bytes);
-    ar_ptr = arena_get_retry (ar_ptr, bytes);
-    if (__builtin_expect(ar_ptr != NULL, 1)) {
-      p = _int_memalign(ar_ptr, pagesz, bytes);
-      (void)mutex_unlock(&ar_ptr->mutex);
-    }
-  } else
-    (void)mutex_unlock (&ar_ptr->mutex);
-  assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
-	 ar_ptr == arena_for_chunk(mem2chunk(p)));
-
-  return p;
+  return _mid_memalign (pagesz, bytes, address);
 }
 
 void*
 __libc_pvalloc(size_t bytes)
 {
-  mstate ar_ptr;
-  void *p;
 
   if(__malloc_initialized < 0)
     ptmalloc_init ();
 
+  void *address = RETURN_ADDRESS (0);
   size_t pagesz = GLRO(dl_pagesize);
   size_t page_mask = GLRO(dl_pagesize) - 1;
   size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
@@ -3114,26 +3097,7 @@
       return 0;
     }
 
-  void *(*hook) (size_t, size_t, const void *) =
-    force_reg (__memalign_hook);
-  if (__builtin_expect (hook != NULL, 0))
-    return (*hook)(pagesz, rounded_bytes, RETURN_ADDRESS (0));
-
-  arena_get(ar_ptr, bytes + 2*pagesz + MINSIZE);
-  p = _int_pvalloc(ar_ptr, bytes);
-  if(!p) {
-    LIBC_PROBE (memory_pvalloc_retry, 1, bytes);
-    ar_ptr = arena_get_retry (ar_ptr, bytes + 2*pagesz + MINSIZE);
-    if (__builtin_expect(ar_ptr != NULL, 1)) {
-      p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
-      (void)mutex_unlock(&ar_ptr->mutex);
-    }
-  } else
-    (void)mutex_unlock(&ar_ptr->mutex);
-  assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
-	 ar_ptr == arena_for_chunk(mem2chunk(p)));
-
-  return p;
+  return _mid_memalign (pagesz, rounded_bytes, address);
 }
 
 void*
@@ -4318,20 +4282,7 @@
   unsigned long   remainder_size; /* its size */
   INTERNAL_SIZE_T size;
 
-  /* If need less alignment than we give anyway, just relay to malloc */
-
-  if (alignment <= MALLOC_ALIGNMENT) return _int_malloc(av, bytes);
-
-  /* Otherwise, ensure that it is at least a minimum chunk size */
-
-  if (alignment <  MINSIZE) alignment = MINSIZE;
-
-  /* Make sure alignment is power of 2 (in case MINSIZE is not).  */
-  if ((alignment & (alignment - 1)) != 0) {
-    size_t a = MALLOC_ALIGNMENT * 2;
-    while ((unsigned long)a < (unsigned long)alignment) a <<= 1;
-    alignment = a;
-  }
+
 
   checked_request2size(bytes, nb);
 
@@ -4402,35 +4353,6 @@
 
   check_inuse_chunk(av, p);
   return chunk2mem(p);
-}
-
-
-/*
-  ------------------------------ valloc ------------------------------
-*/
-
-static void*
-_int_valloc(mstate av, size_t bytes)
-{
-  /* Ensure initialization/consolidation */
-  if (have_fastchunks(av)) malloc_consolidate(av);
-  return _int_memalign(av, GLRO(dl_pagesize), bytes);
-}
-
-/*
-  ------------------------------ pvalloc ------------------------------
-*/
-
-
-static void*
-_int_pvalloc(mstate av, size_t bytes)
-{
-  size_t pagesz;
-
-  /* Ensure initialization/consolidation */
-  if (have_fastchunks(av)) malloc_consolidate(av);
-  pagesz = GLRO(dl_pagesize);
-  return _int_memalign(av, pagesz, (bytes + pagesz - 1) & ~(pagesz - 1));
 }
 
 
@@ -4968,14 +4890,9 @@
       || alignment == 0)
     return EINVAL;
 
-  /* Call the hook here, so that caller is posix_memalign's caller
-     and not posix_memalign itself.  */
-  void *(*hook) (size_t, size_t, const void *) =
-    force_reg (__memalign_hook);
-  if (__builtin_expect (hook != NULL, 0))
-    mem = (*hook)(alignment, size, RETURN_ADDRESS (0));
-  else
-    mem = __libc_memalign (alignment, size);
+
+  void *address = RETURN_ADDRESS (0);
+  mem = _mid_memalign (alignment, size, address);
 
   if (mem != NULL) {
     *memptr = mem;

Modified: fsf/trunk/libc/manual/probes.texi
==============================================================================
--- fsf/trunk/libc/manual/probes.texi (original)
+++ fsf/trunk/libc/manual/probes.texi Thu Nov 21 00:01:53 2013
@@ -71,8 +71,6 @@
 @deftp Probe memory_malloc_retry (size_t @var{$arg1})
 @deftpx Probe memory_realloc_retry (size_t @var{$arg1}, void *@var{$arg2})
 @deftpx Probe memory_memalign_retry (size_t @var{$arg1}, size_t @var{$arg2})
-@deftpx Probe memory_valloc_retry (size_t @var{$arg1})
-@deftpx Probe memory_pvalloc_retry (size_t @var{$arg1})
 @deftpx Probe memory_calloc_retry (size_t @var{$arg1})
 These probes are triggered when the corresponding functions fail to
 obtain the requested amount of memory from the arena in use, before they
@@ -83,7 +81,8 @@
 @var{$arg2} is the pointer to the memory area being resized.  In the
 @code{memalign} case, @var{$arg2} is the alignment to be used for the
 request, which may be stricter than the value passed to the
-@code{memalign} function.
+@code{memalign} function.  A @code{memalign} probe is also used by functions
+@code{posix_memalign, valloc} and @code{pvalloc}.
 
 Note that the argument order does @emph{not} match that of the
 corresponding two-argument functions, so that in all of these probes the

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Thu Nov 21 00:01:53 2013
@@ -1,3 +1,7 @@
+2013-11-20  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	* Makefile (tst-cleanup2, tst-cleanupx2): Add -fno-builtin
+
 2013-10-30  Mike Frysinger  <vapier@xxxxxxxxxx>
 
 	* sysdeps/pthread/configure.in: Moved to ...

Modified: fsf/trunk/libc/nptl/Makefile
==============================================================================
--- fsf/trunk/libc/nptl/Makefile (original)
+++ fsf/trunk/libc/nptl/Makefile Thu Nov 21 00:01:53 2013
@@ -278,6 +278,10 @@
 
 LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
 
+# GCC-4.9 compiles 'sprintf(NULL, ...)' into UD2 on x86_64 without -fno-builtin
+CFLAGS-tst-cleanup2.c = -fno-builtin
+CFLAGS-tst-cleanupx2.c = -fno-builtin
+
 include ../Makeconfig
 
 ifeq ($(have-forced-unwind),yes)

Modified: fsf/trunk/libc/ports/ChangeLog.linux-generic
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.linux-generic (original)
+++ fsf/trunk/libc/ports/ChangeLog.linux-generic Thu Nov 21 00:01:53 2013
@@ -1,3 +1,12 @@
+2013-11-13  Chung-Lin Tang  <cltang@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/generic/bits/stat.h (__field64): Use
+	__alignof__(type64) in alignment attribute instead of 8.
+	* sysdeps/unix/sysv/linux/generic/bits/statfs.h (__field64): Use
+	__alignof__(type64) in alignment attribute instead of 8.
+	(struct statfs): Remove alignment attribute.
+	(struct statfs64): Likewise.
+
 2013-06-05  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/generic/wordsize-32/syscalls.list:

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/stat.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/stat.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/stat.h Thu Nov 21 00:01:53 2013
@@ -46,10 +46,10 @@
 # define __field64(type, type64, name) type name
 #elif __BYTE_ORDER == __LITTLE_ENDIAN
 # define __field64(type, type64, name) \
-  type name __attribute__((__aligned__(8))); int __##name##_pad
+  type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
 #else
 # define __field64(type, type64, name) \
-  int __##name##_pad __attribute__((__aligned__(8))); type name
+  int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
 #endif
 
 struct stat

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/statfs.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/statfs.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/statfs.h Thu Nov 21 00:01:53 2013
@@ -38,10 +38,10 @@
 # define __field64(type, type64, name) type name
 #elif __BYTE_ORDER == __LITTLE_ENDIAN
 # define __field64(type, type64, name) \
-  type name __attribute__((__aligned__(8))); int __##name##_pad
+  type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad
 #else
 # define __field64(type, type64, name) \
-  int __##name##_pad __attribute__((__aligned__(8))); type name
+  int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name
 #endif
 
 struct statfs
@@ -58,7 +58,7 @@
     __SWORD_TYPE f_frsize;
     __SWORD_TYPE f_flags;
     __SWORD_TYPE f_spare[4];
-  } __attribute__((__aligned__(8)));
+  };
 
 #undef __field64
 
@@ -77,7 +77,7 @@
     __SWORD_TYPE f_frsize;
     __SWORD_TYPE f_flags;
     __SWORD_TYPE f_spare[4];
-  } __attribute__((__aligned__(8)));
+  };
 #endif
 
 /* Tell code we have these members.  */

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits