[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r12756 - in /branches/eglibc-2_11: libc/ libc/elf/ libc/include/ libc/io/ libc/malloc/ libc/nptl/ libc/nscd/ libc/nss/nss_fi...
- To: commits@xxxxxxxxxx
- Subject: [commits] r12756 - in /branches/eglibc-2_11: libc/ libc/elf/ libc/include/ libc/io/ libc/malloc/ libc/nptl/ libc/nscd/ libc/nss/nss_fi...
- From: joseph@xxxxxxxxxx
- Date: Fri, 04 Feb 2011 22:35:44 -0000
Author: joseph
Date: Fri Feb 4 14:35:44 2011
New Revision: 12756
Log:
Merge changes between r12230 and r12755 from /fsf/glibc-2_11-branch.
Added:
branches/eglibc-2_11/libc/stdio-common/tst-grouping.c
- copied unchanged from r12755, fsf/glibc-2_11-branch/libc/stdio-common/tst-grouping.c
Modified:
branches/eglibc-2_11/libc/ChangeLog
branches/eglibc-2_11/libc/elf/dl-dst.h
branches/eglibc-2_11/libc/elf/dl-runtime.c
branches/eglibc-2_11/libc/include/alloca.h
branches/eglibc-2_11/libc/include/atomic.h
branches/eglibc-2_11/libc/io/fcntl.h
branches/eglibc-2_11/libc/malloc/malloc.c
branches/eglibc-2_11/libc/nptl/ChangeLog
branches/eglibc-2_11/libc/nptl/Versions
branches/eglibc-2_11/libc/nptl/alloca_cutoff.c
branches/eglibc-2_11/libc/nscd/hstcache.c
branches/eglibc-2_11/libc/nss/nss_files/files-hosts.c
branches/eglibc-2_11/libc/posix/regexec.c
branches/eglibc-2_11/libc/resolv/nss_dns/dns-host.c
branches/eglibc-2_11/libc/shadow/sgetspent.c
branches/eglibc-2_11/libc/stdio-common/Makefile
branches/eglibc-2_11/libc/stdio-common/printf_fp.c
branches/eglibc-2_11/libc/stdlib/msort.c
branches/eglibc-2_11/libc/string/bits/string3.h
branches/eglibc-2_11/libc/sysdeps/i386/Makefile
branches/eglibc-2_11/libc/sysdeps/i386/fpu/libm-test-ulps
branches/eglibc-2_11/libc/sysdeps/posix/getaddrinfo.c
branches/eglibc-2_11/libc/sysdeps/unix/readdir_r.c
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/bits/socket.h
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/ia64/bits/mman.h
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/mkdirat.c
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/socket.h
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
branches/eglibc-2_11/libc/wcsmbs/bits/wchar2.h
branches/eglibc-2_11/libc/wcsmbs/wchar.h
branches/eglibc-2_11/ports/ChangeLog.arm
branches/eglibc-2_11/ports/ChangeLog.m68k
branches/eglibc-2_11/ports/ChangeLog.mips
branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h
branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h
branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h
branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/socket.h
Modified: branches/eglibc-2_11/libc/ChangeLog
==============================================================================
--- branches/eglibc-2_11/libc/ChangeLog (original)
+++ branches/eglibc-2_11/libc/ChangeLog Fri Feb 4 14:35:44 2011
@@ -1,3 +1,131 @@
+2011-02-02 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * elf/dl-runtime.c (_dl_call_pltexit): Pass correct address of the
+ function to the callback.
+ Patch partly by Jiri Olsa <jolsa@xxxxxxxxxx>.
+
+2011-02-02 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * shadow/sgetspent.c: Check return value of __sgetspent_r instead
+ of errno.
+
+2010-10-01 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't discard result of
+ decoding ACE if AI_CANONIDN.
+
+2011-01-17 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * io/fcntl.h: Define AT_NO_AUTOMOUNT.
+
+ * sysdeps/unix/sysv/linux/i386/bits/mman.h: Define MADV_HUGEPAGE and
+ MADV_NOHUGEPAGE.
+ * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise.
+
+ * sysdeps/unix/sysv/linux/bits/socket.h: Define AF_CAIF, AF_ALG,
+ PF_CAIF, and PF_ALG.
+ * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise.
+
+2011-01-15 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ [BZ #6812]
+ * nscd/hstcache.c (tryagain): Define.
+ (cache_addhst): Return tryagain not notfound for temporary errors.
+ (addhstbyX): Also set h_errno to TRY_AGAIN when memory allocation
+ failed.
+
+2011-01-13 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ [BZ #12397]
+ * sysdeps/unix/sysv/linux/mkdirat.c (mkdirat): Fix handling of missing
+ syscall.
+
+ [BZ #10484]
+ * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Handle overflows of
+ temporary buffer used to handle multi lookups locally.
+ * include/alloca.h: Add libc_hidden_proto for __libc_alloca_cutoff.
+
+2011-01-12 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * elf/dl-dst.h (DL_DST_REQUIRED): Allow l_origin to be NULL when
+ loader is ld.so.
+
+2010-03-12 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * elf/dl-dst.h: Include "trusted-dirs.h".
+ (DL_DST_REQUIRED): Take $LIB into account.
+
+2011-01-10 Paul Pluzhnikov <ppluzhnikov@xxxxxxxxxx>
+
+ * sysdeps/i386/Makefile: stdlib/cxa_finalize.c needs 16-byte stack
+ alignment for SSE2.
+
+2011-01-12 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ [BZ #12394]
+ * stdio-common/printf_fp.c (__printf_fp): Add more room for grouping
+ characters. When rounding increased number of integer digits recompute
+ number of groups.
+ * stdio-common/tst-grouping.c: New file.
+ * stdio-common/Makefile: Add rules to build and run tst-grouping.
+
+2011-01-04 David S. Miller <davem@xxxxxxxxxxxxxxxxxxxx>
+
+ [BZ #11155]
+ * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: Use i386's
+ implementation just like for lxstat, fxstatat, et al.
+
+2010-12-27 Jim Meyering <meyering@xxxxxxxxxx>
+
+ [BZ #12348]
+ * posix/regexec.c (build_trtable): Return failure indication upon
+ calloc failure. Otherwise, re_search_internal could infloop on OOM.
+
+2010-12-25 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ [BZ #12207]
+ * malloc/malloc.c (do_check_malloc_state): Use fastbin macro.
+
+2010-12-19 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/unix/readdir_r.c (__READDIR_R): Compute reclen more
+ accurately.
+ * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Define
+ GETDENTS_64BIT_ALIGNED.
+
+2010-12-10 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * wcsmbs/wchar.h (wcpcpy, wcpncpy): Add __restrict.
+ * wcsmbs/bits/wchar2.h (__wmemmove_chk_warn, wmemmove, wmemset):
+ Remove __restrict.
+ (wcscpy, __wcpcpy_chk, __wcpcpy_alias, wcpcpy, wcsncpy, wcpncpy)
+ (wcscat, wcsncat, __wcrtomb_chk, wcrtomb): Add __restrict.
+
+2010-12-09 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ [BZ #11655]
+ * stdlib/msort.c (qsort_r): Make sure both phys_pages and pagesize
+ are initialized.
+
+2010-12-09 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * string/bits/string3.h (memmove, bcopy): Remove __restrict.
+
+2010-11-30 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/i386/fpu/libm-test-ulps: Relax ynf(10,0.75) test expectations.
+
+2010-11-24 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * resolv/nss_dns/dns-host.c (getanswer_r): Don't handle ttl == 0
+ specially.
+ (gaih_getanswer_slice): Likewise.
+
2010-05-31 Petr Baudis <pasky@xxxxxxx>
[BZ #11149]
Modified: branches/eglibc-2_11/libc/elf/dl-dst.h
==============================================================================
--- branches/eglibc-2_11/libc/elf/dl-dst.h (original)
+++ branches/eglibc-2_11/libc/elf/dl-dst.h Fri Feb 4 14:35:44 2011
@@ -1,6 +1,5 @@
/* Handling of dynamic sring tokens.
- Copyright (C) 1999,2001,2002,2003,2004,2006,2007
- Free Software Foundation, Inc.
+ Copyright (C) 1999,2001-2004,2006,2007,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -18,6 +17,8 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#include "trusted-dirs.h"
+
/* Determine the number of DST elements in the name. Only if IS_PATH is
nonzero paths are recognized (i.e., multiple, ':' separated filenames). */
#define DL_DST_COUNT(name, is_path) \
@@ -31,6 +32,11 @@
__cnt; })
+#ifdef SHARED
+# define IS_RTLD(l) (l) == &GL(dl_rtld_map)
+#else
+# define IS_RTLD(l) 0
+#endif
/* Guess from the number of DSTs the length of the result string. */
#define DL_DST_REQUIRED(l, name, len, cnt) \
({ \
@@ -39,28 +45,32 @@
\
if (__cnt > 0) \
{ \
- size_t origin_len; \
+ size_t dst_len; \
/* Now we make a guess how many extra characters on top of the \
length of S we need to represent the result. We know that \
we have CNT replacements. Each at most can use \
- MAX (strlen (ORIGIN), strlen (_dl_platform)) \
- minus 7 (which is the length of "$ORIGIN"). \
+ MAX (MAX (strlen (ORIGIN), strlen (_dl_platform)), \
+ strlen (DL_DST_LIB)) \
+ minus 4 (which is the length of "$LIB"). \
\
First get the origin string if it is not available yet. \
- This can only happen for the map of the executable. */ \
+ This can only happen for the map of the executable or, when \
+ auditing, in ld.so. */ \
DL_DST_REQ_STATIC (l) \
if ((l)->l_origin == NULL) \
{ \
- assert ((l)->l_name[0] == '\0'); \
+ assert ((l)->l_name[0] == '\0' || IS_RTLD (l)); \
(l)->l_origin = _dl_get_origin (); \
- origin_len = ((l)->l_origin && (l)->l_origin != (char *) -1 \
+ dst_len = ((l)->l_origin && (l)->l_origin != (char *) -1 \
? strlen ((l)->l_origin) : 0); \
} \
else \
- origin_len = (l)->l_origin == (char *) -1 \
+ dst_len = (l)->l_origin == (char *) -1 \
? 0 : strlen ((l)->l_origin); \
- \
- __len += __cnt * (MAX (origin_len, GLRO(dl_platformlen)) - 7); \
+ dst_len = MAX (MAX (dst_len, GLRO(dl_platformlen)), \
+ strlen (DL_DST_LIB)); \
+ if (dst_len > 4) \
+ __len += __cnt * (dst_len - 4); \
} \
\
__len; })
@@ -72,7 +82,7 @@
if ((l) == NULL) \
{ \
const char *origin = _dl_get_origin (); \
- origin_len = (origin && origin != (char *) -1 ? strlen (origin) : 0); \
+ dst_len = (origin && origin != (char *) -1 ? strlen (origin) : 0); \
} \
else
#endif
Modified: branches/eglibc-2_11/libc/elf/dl-runtime.c
==============================================================================
--- branches/eglibc-2_11/libc/elf/dl-runtime.c (original)
+++ branches/eglibc-2_11/libc/elf/dl-runtime.c Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* On-demand PLT fixup for shared objects.
- Copyright (C) 1995-2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1995-2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -446,6 +446,7 @@
/* Set up the sym parameter. */
ElfW(Sym) sym = *defsym;
+ sym.st_value = DL_FIXUP_VALUE_ADDR (reloc_result->addr);
/* Get the symbol name. */
const char *strtab = (const void *) D_PTR (reloc_result->bound,
Modified: branches/eglibc-2_11/libc/include/alloca.h
==============================================================================
--- branches/eglibc-2_11/libc/include/alloca.h (original)
+++ branches/eglibc-2_11/libc/include/alloca.h Fri Feb 4 14:35:44 2011
@@ -14,6 +14,7 @@
extern int __libc_use_alloca (size_t size) __attribute__ ((const));
extern int __libc_alloca_cutoff (size_t size) __attribute__ ((const));
+libc_hidden_proto (__libc_alloca_cutoff)
#define __MAX_ALLOCA_CUTOFF 65536
Modified: branches/eglibc-2_11/libc/include/atomic.h
==============================================================================
--- branches/eglibc-2_11/libc/include/atomic.h (original)
+++ branches/eglibc-2_11/libc/include/atomic.h Fri Feb 4 14:35:44 2011
@@ -33,7 +33,7 @@
the multi-thread case. The interfaces have the prefix
"catomic_".
- - support functions like barriers. They also have the preifx
+ - support functions like barriers. They also have the prefix
"atomic_".
Architectures must provide a few lowlevel macros (the compare
Modified: branches/eglibc-2_11/libc/io/fcntl.h
==============================================================================
--- branches/eglibc-2_11/libc/io/fcntl.h (original)
+++ branches/eglibc-2_11/libc/io/fcntl.h Fri Feb 4 14:35:44 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1994-2001,2003,2004,2005,2006,2007, 2009
+/* Copyright (C) 1991,1992,1994-2001,2003,2004,2005,2006,2007,2009,2010,2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -64,6 +64,8 @@
# define AT_REMOVEDIR 0x200 /* Remove directory instead of
unlinking file. */
# define AT_SYMLINK_FOLLOW 0x400 /* Follow symbolic links. */
+# define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount
+ traversal. */
# define AT_EACCESS 0x200 /* Test access permitted for
effective IDs, not real IDs. */
#endif
Modified: branches/eglibc-2_11/libc/malloc/malloc.c
==============================================================================
--- branches/eglibc-2_11/libc/malloc/malloc.c (original)
+++ branches/eglibc-2_11/libc/malloc/malloc.c Fri Feb 4 14:35:44 2011
@@ -2832,7 +2832,7 @@
max_fast_bin = fastbin_index(get_max_fast ());
for (i = 0; i < NFASTBINS; ++i) {
- p = av->fastbins[i];
+ p = fastbin (av, i);
/* The following test can only be performed for the main arena.
While mallopt calls malloc_consolidate to get rid of all fast
Modified: branches/eglibc-2_11/libc/nptl/ChangeLog
==============================================================================
--- branches/eglibc-2_11/libc/nptl/ChangeLog (original)
+++ branches/eglibc-2_11/libc/nptl/ChangeLog Fri Feb 4 14:35:44 2011
@@ -1,3 +1,9 @@
+2011-01-13 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ [BZ #10484]
+ * Versions [libc] (GLIBC_PRIVATE): Export __libc_alloca_cutoff.
+ * alloca_cutoff.c: Add libc_hidden_def.
+
2010-08-12 H.J. Lu <hongjiu.lu@xxxxxxxxx>
* nptl/sysdeps/unix/sysv/linux/i386/Makefile: New file.
Modified: branches/eglibc-2_11/libc/nptl/Versions
==============================================================================
--- branches/eglibc-2_11/libc/nptl/Versions (original)
+++ branches/eglibc-2_11/libc/nptl/Versions Fri Feb 4 14:35:44 2011
@@ -27,6 +27,7 @@
pthread_cond_broadcast; pthread_cond_timedwait;
}
GLIBC_PRIVATE {
+ __libc_alloca_cutoff;
# Internal libc interface to libpthread
__libc_dl_error_tsd;
}
Modified: branches/eglibc-2_11/libc/nptl/alloca_cutoff.c
==============================================================================
--- branches/eglibc-2_11/libc/nptl/alloca_cutoff.c (original)
+++ branches/eglibc-2_11/libc/nptl/alloca_cutoff.c Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Determine whether block of given size can be allocated on the stack or not.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -34,3 +34,4 @@
assume the maximum available stack space. */
?: __MAX_ALLOCA_CUTOFF * 4));
}
+libc_hidden_def (__libc_alloca_cutoff)
Modified: branches/eglibc-2_11/libc/nscd/hstcache.c
==============================================================================
--- branches/eglibc-2_11/libc/nscd/hstcache.c (original)
+++ branches/eglibc-2_11/libc/nscd/hstcache.c Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Cache handling for host lookup.
- Copyright (C) 1998-2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -77,6 +77,20 @@
};
+/* This is the standard reply in case there are temporary problems. */
+static const hst_response_header tryagain =
+{
+ .version = NSCD_VERSION,
+ .found = 0,
+ .h_name_len = 0,
+ .h_aliases_cnt = 0,
+ .h_addrtype = -1,
+ .h_length = -1,
+ .h_addr_list_cnt = 0,
+ .error = TRY_AGAIN
+};
+
+
static void
cache_addhst (struct database_dyn *db, int fd, request_header *req,
const void *key, struct hostent *hst, uid_t owner,
@@ -111,11 +125,15 @@
else
{
/* We have no data. This means we send the standard reply for this
- case. */
+ case. Possibly this is only temporary. */
ssize_t total = sizeof (notfound);
+ assert (sizeof (notfound) == sizeof (tryagain));
+
+ const hst_response_header *resp = (errval == EAGAIN
+ ? &tryagain : ¬found);
if (fd != -1 &&
- TEMP_FAILURE_RETRY (send (fd, ¬found, total,
+ TEMP_FAILURE_RETRY (send (fd, resp, total,
MSG_NOSIGNAL)) != total)
all_written = false;
@@ -135,7 +153,7 @@
? db->negtimeout : ttl);
/* This is the reply. */
- memcpy (&dataset->resp, ¬found, total);
+ memcpy (&dataset->resp, resp, total);
/* Copy the key data. */
memcpy (dataset->strdata, key, req->key_len);
@@ -490,6 +508,7 @@
/* We set the error to indicate this is (possibly) a
temporary error and that it does not mean the entry
is not available at all. */
+ h_errno = TRY_AGAIN;
errval = EAGAIN;
break;
}
Modified: branches/eglibc-2_11/libc/nss/nss_files/files-hosts.c
==============================================================================
--- branches/eglibc-2_11/libc/nss/nss_files/files-hosts.c (original)
+++ branches/eglibc-2_11/libc/nss/nss_files/files-hosts.c Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Hosts file parser in nss_files module.
- Copyright (C) 1996-2001, 2003-2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1996-2001, 2003-2009, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -129,19 +129,22 @@
&& _res_hconf.flags & HCONF_FLAG_MULTI) \
{ \
/* We have to get all host entries from the file. */ \
- const size_t tmp_buflen = MIN (buflen, 4096); \
- char tmp_buffer[tmp_buflen] \
+ size_t tmp_buflen = MIN (buflen, 4096); \
+ char tmp_buffer_stack[tmp_buflen] \
__attribute__ ((__aligned__ (__alignof__ (struct hostent_data))));\
+ char *tmp_buffer = tmp_buffer_stack; \
struct hostent tmp_result_buf; \
int naddrs = 1; \
int naliases = 0; \
char *bufferend; \
+ bool tmp_buffer_malloced = false; \
\
while (result->h_aliases[naliases] != NULL) \
++naliases; \
\
bufferend = (char *) &result->h_aliases[naliases + 1]; \
\
+ again: \
while ((status = internal_getent (&tmp_result_buf, tmp_buffer, \
tmp_buflen, errnop H_ERRNO_ARG \
EXTRA_ARGS_VALUE)) \
@@ -182,7 +185,7 @@
} \
/* If the real name is different add it also to the \
aliases. This means that there is a duplication \
- in the alias list but this is really the users \
+ in the alias list but this is really the user's \
problem. */ \
if (strcmp (old_result->h_name, \
tmp_result_buf.h_name) != 0) \
@@ -204,7 +207,7 @@
*errnop = ERANGE; \
*herrnop = NETDB_INTERNAL; \
status = NSS_STATUS_TRYAGAIN; \
- break; \
+ goto out; \
} \
\
new_h_addr_list = \
@@ -268,8 +271,54 @@
} \
} \
\
- if (status != NSS_STATUS_TRYAGAIN) \
+ if (status == NSS_STATUS_TRYAGAIN) \
+ { \
+ size_t newsize = 2 * tmp_buflen; \
+ if (tmp_buffer_malloced) \
+ { \
+ char *newp = realloc (tmp_buffer, newsize); \
+ if (newp != NULL) \
+ { \
+ assert ((((uintptr_t) newp) \
+ & (__alignof__ (struct hostent_data) - 1)) \
+ == 0); \
+ tmp_buffer = newp; \
+ tmp_buflen = newsize; \
+ goto again; \
+ } \
+ } \
+ else if (!__libc_use_alloca (buflen + newsize)) \
+ { \
+ tmp_buffer = malloc (newsize); \
+ if (tmp_buffer != NULL) \
+ { \
+ assert ((((uintptr_t) tmp_buffer) \
+ & (__alignof__ (struct hostent_data) - 1)) \
+ == 0); \
+ tmp_buffer_malloced = true; \
+ tmp_buflen = newsize; \
+ goto again; \
+ } \
+ } \
+ else \
+ { \
+ tmp_buffer \
+ = extend_alloca (tmp_buffer, tmp_buflen, \
+ newsize \
+ + __alignof__ (struct hostent_data)); \
+ tmp_buffer = (char *) (((uintptr_t) tmp_buffer \
+ + __alignof__ (struct hostent_data) \
+ - 1) \
+ & ~(__alignof__ (struct hostent_data)\
+ - 1)); \
+ goto again; \
+ } \
+ } \
+ else \
status = NSS_STATUS_SUCCESS; \
+ out: \
+ if (tmp_buffer_malloced) \
+ free (tmp_buffer); \
} \
\
\
Modified: branches/eglibc-2_11/libc/posix/regexec.c
==============================================================================
--- branches/eglibc-2_11/libc/posix/regexec.c (original)
+++ branches/eglibc-2_11/libc/posix/regexec.c Fri Feb 4 14:35:44 2011
@@ -3333,6 +3333,8 @@
{
state->trtable = (re_dfastate_t **)
calloc (sizeof (re_dfastate_t *), SBC_MAX);
+ if (BE (state->trtable == NULL, 0))
+ return 0;
return 1;
}
return 0;
Modified: branches/eglibc-2_11/libc/resolv/nss_dns/dns-host.c
==============================================================================
--- branches/eglibc-2_11/libc/resolv/nss_dns/dns-host.c (original)
+++ branches/eglibc-2_11/libc/resolv/nss_dns/dns-host.c Fri Feb 4 14:35:44 2011
@@ -599,7 +599,6 @@
int (*name_ok) (const char *);
u_char packtmp[NS_MAXCDNAME];
int have_to_map = 0;
- int32_t ttl = 0;
uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data);
buffer += pad;
if (__builtin_expect (buflen < sizeof (struct host_data) + pad, 0))
@@ -733,7 +732,7 @@
cp += INT16SZ; /* type */
class = __ns_get16 (cp);
cp += INT16SZ; /* class */
- ttl = __ns_get32 (cp);
+ int32_t ttl = __ns_get32 (cp);
cp += INT32SZ; /* TTL */
n = __ns_get16 (cp);
cp += INT16SZ; /* len */
@@ -907,7 +906,7 @@
{
register int nn;
- if (ttlp != NULL && ttl != 0)
+ if (ttlp != NULL)
*ttlp = ttl;
if (canonp != NULL)
*canonp = bp;
@@ -1163,7 +1162,7 @@
if (*firstp)
{
- if (ttl != 0 && ttlp != NULL)
+ if (ttlp != NULL)
*ttlp = ttl;
(*pat)->name = canon ?: h_name;
Modified: branches/eglibc-2_11/libc/shadow/sgetspent.c
==============================================================================
--- branches/eglibc-2_11/libc/shadow/sgetspent.c (original)
+++ branches/eglibc-2_11/libc/shadow/sgetspent.c Fri Feb 4 14:35:44 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -49,8 +49,8 @@
}
while (buffer != NULL
- && __sgetspent_r (string, &resbuf, buffer, buffer_size, &result) != 0
- && errno == ERANGE)
+ && (__sgetspent_r (string, &resbuf, buffer, buffer_size, &result)
+ == ERANGE))
{
char *new_buf;
buffer_size += BUFLEN_SPWD;
Modified: branches/eglibc-2_11/libc/stdio-common/Makefile
==============================================================================
--- branches/eglibc-2_11/libc/stdio-common/Makefile (original)
+++ branches/eglibc-2_11/libc/stdio-common/Makefile Fri Feb 4 14:35:44 2011
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1991-2009, 2011 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -70,7 +70,7 @@
bug19 tst-popen2 scanf14 scanf15 bug21 bug22 scanf16 scanf17 \
tst-setvbuf1
tests-$(OPTION_EGLIBC_LOCALE_CODE) \
- += tst-sscanf tst-swprintf bug15 test-vfprintf bug14 scanf13
+ += tst-sscanf tst-swprintf bug15 test-vfprintf bug14 scanf13 tst-grouping
tests-$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO) \
+= tst-perror bug19a bug20
tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \
@@ -142,6 +142,7 @@
scanf13-ENV = LOCPATH=$(common-objpfx)localedata
bug14-ENV = LOCPATH=$(common-objpfx)localedata
bug15-ENV = LOCPATH=$(common-objpfx)localedata
+tst-grouping-ENV = LOCPATH=$(common-objpfx)localedata
ifneq (,$(filter %REENTRANT, $(defines)))
CPPFLAGS += -D_IO_MTSAFE_IO
Modified: branches/eglibc-2_11/libc/stdio-common/printf_fp.c
==============================================================================
--- branches/eglibc-2_11/libc/stdio-common/printf_fp.c (original)
+++ branches/eglibc-2_11/libc/stdio-common/printf_fp.c Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Floating point output for `printf'.
- Copyright (C) 1995-2003, 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1995-2003, 2006-2008, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper <drepper@xxxxxxxxxxxxxx>, 1995.
@@ -906,7 +906,9 @@
/* Guess the number of groups we will make, and thus how
many spaces we need for separator characters. */
ngroups = __guess_grouping (intdig_max, grouping);
- chars_needed += ngroups;
+ /* Allocate one more character in case rounding increases the
+ number of groups. */
+ chars_needed += ngroups + 1;
}
/* Allocate buffer for output. We need two more because while rounding
@@ -1110,9 +1112,16 @@
--wcp;
if (grouping)
- /* Add in separator characters, overwriting the same buffer. */
- wcp = group_number (wstartp, wcp, intdig_no, grouping, thousands_sepwc,
- ngroups);
+ {
+ /* Rounding might have changed the number of groups. We allocated
+ enough memory but we need here the correct number of groups. */
+ if (intdig_no != intdig_max)
+ ngroups = __guess_grouping (intdig_no, grouping);
+
+ /* Add in separator characters, overwriting the same buffer. */
+ wcp = group_number (wstartp, wcp, intdig_no, grouping, thousands_sepwc,
+ ngroups);
+ }
/* Write the exponent if it is needed. */
if (type != 'f')
@@ -1232,7 +1241,7 @@
tmpptr = buffer;
if (__builtin_expect (info->i18n, 0))
- {
+ {
#ifdef COMPILE_WPRINTF
wstartp = _i18n_number_rewrite (wstartp, wcp,
wbuffer + wbuffer_to_alloc);
@@ -1246,7 +1255,7 @@
assert ((uintptr_t) buffer <= (uintptr_t) tmpptr);
assert ((uintptr_t) tmpptr < (uintptr_t) buffer_end);
#endif
- }
+ }
PRINT (tmpptr, wstartp, wide ? wcp - wstartp : cp - tmpptr);
Modified: branches/eglibc-2_11/libc/stdlib/msort.c
==============================================================================
--- branches/eglibc-2_11/libc/stdlib/msort.c (original)
+++ branches/eglibc-2_11/libc/stdlib/msort.c Fri Feb 4 14:35:44 2011
@@ -25,6 +25,7 @@
#include <unistd.h>
#include <memcopy.h>
#include <errno.h>
+#include <atomic.h>
struct msort_param
{
@@ -182,7 +183,7 @@
static long int phys_pages;
static int pagesize;
- if (phys_pages == 0)
+ if (pagesize == 0)
{
phys_pages = __sysconf (_SC_PHYS_PAGES);
@@ -196,6 +197,9 @@
/* The following determines that we will never use more than
a quarter of the physical memory. */
phys_pages /= 4;
+
+ /* Make sure phys_pages is written to memory. */
+ atomic_write_barrier ();
pagesize = __sysconf (_SC_PAGESIZE);
}
Modified: branches/eglibc-2_11/libc/string/bits/string3.h
==============================================================================
--- branches/eglibc-2_11/libc/string/bits/string3.h (original)
+++ branches/eglibc-2_11/libc/string/bits/string3.h Fri Feb 4 14:35:44 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -53,8 +53,7 @@
}
__extern_always_inline void *
-__NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
- size_t __len))
+__NTH (memmove (void *__dest, __const void *__src, size_t __len))
{
return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
}
@@ -88,8 +87,7 @@
#ifdef __USE_BSD
__extern_always_inline void
-__NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
- size_t __len))
+__NTH (bcopy (__const void *__src, void *__dest, size_t __len))
{
(void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
}
Modified: branches/eglibc-2_11/libc/sysdeps/i386/Makefile
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/i386/Makefile (original)
+++ branches/eglibc-2_11/libc/sysdeps/i386/Makefile Fri Feb 4 14:35:44 2011
@@ -51,6 +51,7 @@
# And a couple of other routines
ifeq ($(subdir),stdlib)
CFLAGS-exit.c += -mpreferred-stack-boundary=4
+CFLAGS-cxa_finalize.c += -mpreferred-stack-boundary=4
endif
ifeq ($(subdir),elf)
CFLAGS-dl-init.c += -mpreferred-stack-boundary=4
Modified: branches/eglibc-2_11/libc/sysdeps/i386/fpu/libm-test-ulps
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/i386/fpu/libm-test-ulps (original)
+++ branches/eglibc-2_11/libc/sysdeps/i386/fpu/libm-test-ulps Fri Feb 4 14:35:44 2011
@@ -857,8 +857,8 @@
ildouble: 2
ldouble: 2
Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
-float: 1
-ifloat: 1
+float: 2
+ifloat: 2
ildouble: 4
ldouble: 4
Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
Modified: branches/eglibc-2_11/libc/sysdeps/posix/getaddrinfo.c
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/posix/getaddrinfo.c (original)
+++ branches/eglibc-2_11/libc/sysdeps/posix/getaddrinfo.c Fri Feb 4 14:35:44 2011
@@ -963,6 +963,7 @@
make a copy. */
if (out == canon)
goto make_copy;
+ canon = out;
}
else
#endif
Modified: branches/eglibc-2_11/libc/sysdeps/unix/readdir_r.c
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/readdir_r.c (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/readdir_r.c Fri Feb 4 14:35:44 2011
@@ -117,7 +117,8 @@
#ifdef GETDENTS_64BIT_ALIGNED
/* The d_reclen value might include padding which is not part of
the DIRENT_TYPE data structure. */
- reclen = MIN (reclen, sizeof (DIRENT_TYPE));
+ reclen = MIN (reclen,
+ offsetof (DIRENT_TYPE, d_name) + sizeof (dp->d_name));
#endif
*result = memcpy (entry, dp, reclen);
#ifdef GETDENTS_64BIT_ALIGNED
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/bits/socket.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/bits/socket.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/bits/socket.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* System-specific socket constants and types. Linux version.
- Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009
+ Copyright (C) 1991, 1992, 1994-2001, 2004, 2006-2010, 2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -109,7 +109,9 @@
#define PF_ISDN 34 /* mISDN sockets. */
#define PF_PHONET 35 /* Phonet sockets. */
#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */
-#define PF_MAX 37 /* For now.. */
+#define PF_CAIF 37 /* CAIF sockets. */
+#define PF_ALG 38 /* Algorithm sockets. */
+#define PF_MAX 39 /* For now.. */
/* Address families. */
#define AF_UNSPEC PF_UNSPEC
@@ -150,6 +152,8 @@
#define AF_ISDN PF_ISDN
#define AF_PHONET PF_PHONET
#define AF_IEEE802154 PF_IEEE802154
+#define AF_CAIF PF_CAIF
+#define AF_ALG PF_ALG
#define AF_MAX PF_MAX
/* Socket level values. Others are defined in the appropriate headers.
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/i386 version.
- Copyright (C) 1997,2000,2003,2005,2006,2009,2010
+ Copyright (C) 1997,2000,2003,2005,2006,2009,2010,2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -96,6 +96,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/ia64/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/ia64/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/ia64/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/ia64 version.
- Copyright (C) 1997,1998,2000,2003,2005,2006,2009
+ Copyright (C) 1997,1998,2000,2003,2005,2006,2009,2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -95,6 +95,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/mkdirat.c
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/mkdirat.c (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/mkdirat.c Fri Feb 4 14:35:44 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -43,7 +43,7 @@
{
res = INLINE_SYSCALL (mkdirat, 3, fd, file, mode);
# ifndef __ASSUME_ATFCTS
- if (res == -1 && res == ENOSYS)
+ if (res == -1 && errno == ENOSYS)
__have_atfcts = -1;
else
# endif
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/PowerPC version.
- Copyright (C) 1997,2000,2003,2005,2006,2008,2009
+ Copyright (C) 1997,2000,2003,2005,2006,2008,2009,2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -96,6 +96,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/s390 version.
- Copyright (C) 2000-2003,2005,2006,2009 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003,2005,2006,2009,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -94,6 +94,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/SH version.
- Copyright (C) 1997,1999,2000,2003,2005,2006,2009
+ Copyright (C) 1997,1999,2000,2003,2005,2006,2009,2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -94,6 +94,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/SPARC version.
- Copyright (C) 1997,1999,2000,2003,2005,2006,2009
+ Copyright (C) 1997,1999,2000,2003,2005,2006,2009,2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -97,6 +97,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/socket.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/socket.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/bits/socket.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* System-specific socket constants and types. Linux/SPARC version.
- Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009
+ Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009, 2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -108,7 +108,9 @@
#define PF_ISDN 34 /* mISDN sockets. */
#define PF_PHONET 35 /* Phonet sockets. */
#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */
-#define PF_MAX 37 /* For now.. */
+#define PF_CAIF 37 /* CAIF sockets. */
+#define PF_ALG 38 /* Algorithm sockets. */
+#define PF_MAX 39 /* For now.. */
/* Address families. */
#define AF_UNSPEC PF_UNSPEC
@@ -149,6 +151,8 @@
#define AF_ISDN PF_ISDN
#define AF_PHONET PF_PHONET
#define AF_IEEE802154 PF_IEEE802154
+#define AF_CAIF PF_CAIF
+#define AF_ALG PF_ALG
#define AF_MAX PF_MAX
/* Socket level values. Others are defined in the appropriate headers.
@@ -233,8 +237,8 @@
#define MSG_MORE MSG_MORE
MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file
- descriptor received through
- SCM_RIGHTS. */
+ descriptor received through
+ SCM_RIGHTS. */
#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC
};
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c Fri Feb 4 14:35:44 2011
@@ -1,1 +1,1 @@
-#include "../../fxstat.c"
+#include "../../i386/fxstat.c"
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c Fri Feb 4 14:35:44 2011
@@ -1,4 +1,5 @@
#define readdir64_r __no_readdir64_r_decl
+#define GETDENTS_64BIT_ALIGNED 1
#include <sysdeps/unix/readdir_r.c>
#undef readdir64_r
weak_alias (__readdir_r, readdir64_r)
Modified: branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h (original)
+++ branches/eglibc-2_11/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,6 @@
/* Definitions for POSIX memory map interface. Linux/x86_64 version.
- Copyright (C) 2001,2003,2005,2006,2009,2010 Free Software Foundation, Inc.
+ Copyright (C) 2001,2003,2005,2006,2009,2010,2011
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -96,6 +97,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/libc/wcsmbs/bits/wchar2.h
==============================================================================
--- branches/eglibc-2_11/libc/wcsmbs/bits/wchar2.h (original)
+++ branches/eglibc-2_11/libc/wcsmbs/bits/wchar2.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Checking macros for wchar functions.
- Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -60,15 +60,13 @@
__const wchar_t *__s2,
size_t __n), wmemmove);
extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
- (wchar_t *__restrict __s1,
- __const wchar_t *__restrict __s2, size_t __n,
- size_t __ns1), __wmemmove_chk)
+ (wchar_t *__s1, __const wchar_t *__s2,
+ size_t __n, size_t __ns1), __wmemmove_chk)
__warnattr ("wmemmove called with length bigger than size of destination "
"buffer");
__extern_always_inline wchar_t *
-__NTH (wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
- size_t __n))
+__NTH (wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n))
{
if (__bos0 (__s1) != (size_t) -1)
{
@@ -129,7 +127,7 @@
"buffer");
__extern_always_inline wchar_t *
-__NTH (wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n))
+__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
{
if (__bos0 (__s) != (size_t) -1)
{
@@ -152,7 +150,7 @@
__const wchar_t *__restrict __src), wcscpy);
__extern_always_inline wchar_t *
-__NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src))
+__NTH (wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
{
if (__bos (__dest) != (size_t) -1)
return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -160,14 +158,15 @@
}
-extern wchar_t *__wcpcpy_chk (wchar_t *__dest, __const wchar_t *__src,
+extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
+ __const wchar_t *__restrict __src,
size_t __destlen) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, (wchar_t *__dest,
- __const wchar_t *__src),
- wcpcpy);
-
-__extern_always_inline wchar_t *
-__NTH (wcpcpy (wchar_t *__dest, __const wchar_t *__src))
+extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
+ (wchar_t *__restrict __dest,
+ __const wchar_t *__restrict __src), wcpcpy);
+
+__extern_always_inline wchar_t *
+__NTH (wcpcpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
{
if (__bos (__dest) != (size_t) -1)
return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -190,7 +189,8 @@
"buffer");
__extern_always_inline wchar_t *
-__NTH (wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+ size_t __n))
{
if (__bos (__dest) != (size_t) -1)
{
@@ -220,7 +220,8 @@
"buffer");
__extern_always_inline wchar_t *
-__NTH (wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcpncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+ size_t __n))
{
if (__bos (__dest) != (size_t) -1)
{
@@ -243,7 +244,7 @@
__const wchar_t *__restrict __src), wcscat);
__extern_always_inline wchar_t *
-__NTH (wcscat (wchar_t *__dest, __const wchar_t *__src))
+__NTH (wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
{
if (__bos (__dest) != (size_t) -1)
return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -260,7 +261,8 @@
size_t __n), wcsncat);
__extern_always_inline wchar_t *
-__NTH (wcsncat (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+ size_t __n))
{
if (__bos (__dest) != (size_t) -1)
return __wcsncat_chk (__dest, __src, __n,
@@ -428,14 +430,16 @@
#endif
-extern size_t __wcrtomb_chk (char *__s, wchar_t __wchar, mbstate_t *__p,
- size_t __buflen) __THROW __wur;
+extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
+ mbstate_t *__restrict __p,
+ size_t __buflen) __THROW __wur;
extern size_t __REDIRECT_NTH (__wcrtomb_alias,
(char *__restrict __s, wchar_t __wchar,
mbstate_t *__restrict __ps), wcrtomb) __wur;
__extern_always_inline __wur size_t
-__NTH (wcrtomb (char *__s, wchar_t __wchar, mbstate_t *__ps))
+__NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
+ mbstate_t *__restrict __ps))
{
/* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
But this would only disturb the namespace. So we define our own
Modified: branches/eglibc-2_11/libc/wcsmbs/wchar.h
==============================================================================
--- branches/eglibc-2_11/libc/wcsmbs/wchar.h (original)
+++ branches/eglibc-2_11/libc/wcsmbs/wchar.h Fri Feb 4 14:35:44 2011
@@ -561,11 +561,13 @@
#ifdef __USE_XOPEN2K8
/* Copy SRC to DEST, returning the address of the terminating L'\0' in
DEST. */
-extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __THROW;
+extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
+ __const wchar_t *__restrict __src) __THROW;
/* Copy no more than N characters of SRC to DEST, returning the address of
the last character written into DEST. */
-extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
+extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
+ __const wchar_t *__restrict __src, size_t __n)
__THROW;
#endif /* use GNU */
Modified: branches/eglibc-2_11/ports/ChangeLog.arm
==============================================================================
--- branches/eglibc-2_11/ports/ChangeLog.arm (original)
+++ branches/eglibc-2_11/ports/ChangeLog.arm Fri Feb 4 14:35:44 2011
@@ -1,3 +1,8 @@
+2011-01-25 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/arm/bits/mman.h (MADV_HUGEPAGE,
+ MADV_NOHUGEPAGE): Define.
+
2009-11-19 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_PSELECT,
Modified: branches/eglibc-2_11/ports/ChangeLog.m68k
==============================================================================
--- branches/eglibc-2_11/ports/ChangeLog.m68k (original)
+++ branches/eglibc-2_11/ports/ChangeLog.m68k Fri Feb 4 14:35:44 2011
@@ -1,3 +1,8 @@
+2011-01-18 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/m68k/bits/mman.h (MADV_HUGEPAGE)
+ (MADV_NOHUGEPAGE): Define.
+
2009-11-17 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #10972]
Modified: branches/eglibc-2_11/ports/ChangeLog.mips
==============================================================================
--- branches/eglibc-2_11/ports/ChangeLog.mips (original)
+++ branches/eglibc-2_11/ports/ChangeLog.mips Fri Feb 4 14:35:44 2011
@@ -1,3 +1,13 @@
+2011-01-25 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/bits/mman.h (MADV_HUGEPAGE,
+ MADV_NOHUGEPAGE): Define.
+
+2011-01-25 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/bits/socket.h (AF_CAIF, AF_ALG,
+ PF_CAIF, PF_ALG): Define.
+
2009-12-16 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/mips/dl-lookup.c: Update from generic version.
Modified: branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h (original)
+++ branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/ARM version.
- Copyright (C) 1997, 2000, 2003, 2005, 2006, 2009
+ Copyright (C) 1997, 2000, 2003, 2005, 2006, 2009, 2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -94,6 +94,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h (original)
+++ branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/m68k version.
- Copyright (C) 1997, 2000, 2003, 2005, 2008, 2009
+ Copyright (C) 1997, 2000, 2003, 2005, 2008, 2009, 2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -94,6 +94,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h
==============================================================================
--- branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h (original)
+++ branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h Fri Feb 4 14:35:44 2011
@@ -1,5 +1,5 @@
/* Definitions for POSIX memory map interface. Linux/MIPS version.
- Copyright (C) 1997, 2000, 2003, 2004, 2005, 2006, 2009
+ Copyright (C) 1997, 2000, 2003, 2004, 2005, 2006, 2009, 2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -96,6 +96,8 @@
# define MADV_DOFORK 11 /* Do inherit across fork. */
# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */
# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */
+# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */
+# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */
# define MADV_HWPOISON 100 /* Poison a page for testing. */
#endif
Modified: branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/socket.h
==============================================================================
--- branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/socket.h (original)
+++ branches/eglibc-2_11/ports/sysdeps/unix/sysv/linux/mips/bits/socket.h Fri Feb 4 14:35:44 2011
@@ -1,6 +1,6 @@
/* System-specific socket constants and types. Linux/MIPS version.
Copyright (C) 1991, 92, 1994-1999, 2000, 2001, 2004, 2005, 2006, 2007, 2008,
- 2009 Free Software Foundation, Inc.
+ 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -109,7 +109,9 @@
#define PF_ISDN 34 /* mISDN sockets. */
#define PF_PHONET 35 /* Phonet sockets. */
#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */
-#define PF_MAX 37 /* For now.. */
+#define PF_CAIF 37 /* CAIF sockets. */
+#define PF_ALG 38 /* Algorithm sockets. */
+#define PF_MAX 39 /* For now.. */
/* Address families. */
#define AF_UNSPEC PF_UNSPEC
@@ -150,6 +152,8 @@
#define AF_ISDN PF_ISDN
#define AF_PHONET PF_PHONET
#define AF_IEEE802154 PF_IEEE802154
+#define AF_CAIF PF_CAIF
+#define AF_ALG PF_ALG
#define AF_MAX PF_MAX
/* Socket level values. Others are defined in the appropriate headers.