[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/...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r24582 - in /fsf/trunk/libc: ./ libio/ locale/ locale/programs/ localedata/ localedata/locales/ malloc/ manual/ nptl/ ports/...
- From: eglibc@xxxxxxxxxx
- Date: Thu, 21 Nov 2013 08:01:54 -0000
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