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

[commits] r10196 - in /trunk: libc/ libc/argp/ libc/conform/data/sys/ libc/crypt/ libc/csu/ libc/elf/ libc/include/ libc/io/sys/ libc/...



Author: joseph
Date: Wed Apr  7 03:58:21 2010
New Revision: 10196

Log:
Merge changes between r10115 and r10195 from /fsf/trunk.

Added:
    trunk/libc/argp/bug-argp2.c
      - copied unchanged from r10195, fsf/trunk/libc/argp/bug-argp2.c
    trunk/libc/sysdeps/gnu/rt-unwind-resume.c
      - copied unchanged from r10195, fsf/trunk/libc/sysdeps/gnu/rt-unwind-resume.c
    trunk/libc/sysdeps/gnu/unwind-resume.c
      - copied unchanged from r10195, fsf/trunk/libc/sysdeps/gnu/unwind-resume.c
    trunk/libc/sysdeps/unix/sysv/linux/remove.c
      - copied unchanged from r10195, fsf/trunk/libc/sysdeps/unix/sysv/linux/remove.c
    trunk/ports/libc-abis
      - copied unchanged from r10195, fsf/trunk/ports/libc-abis
    trunk/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
      - copied unchanged from r10195, fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
    trunk/ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h
      - copied unchanged from r10195, fsf/trunk/ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h
Removed:
    trunk/libc/nptl/sysdeps/pthread/rt-unwind-resume.c
    trunk/libc/nptl/sysdeps/pthread/unwind-resume.c
Modified:
    trunk/libc/ChangeLog
    trunk/libc/Makeconfig
    trunk/libc/Makerules
    trunk/libc/argp/Makefile
    trunk/libc/argp/argp-parse.c
    trunk/libc/conform/data/sys/stat.h-data
    trunk/libc/crypt/crypt_util.c
    trunk/libc/csu/Makefile
    trunk/libc/elf/elf.h
    trunk/libc/elf/ldconfig.c
    trunk/libc/elf/rtld.c
    trunk/libc/include/wchar.h
    trunk/libc/io/sys/stat.h
    trunk/libc/localedata/ChangeLog
    trunk/libc/localedata/locales/es_CR
    trunk/libc/localedata/locales/fr_BE
    trunk/libc/localedata/locales/pt_BR
    trunk/libc/malloc/malloc.c
    trunk/libc/nptl/ChangeLog
    trunk/libc/nptl/sysdeps/pthread/Makefile
    trunk/libc/po/nl.po
    trunk/libc/posix/gai.conf
    trunk/libc/posix/getopt.c
    trunk/libc/posix/glob.c
    trunk/libc/resolv/netdb.h
    trunk/libc/resolv/nss_dns/dns-host.c
    trunk/libc/sysdeps/gnu/Makefile
    trunk/libc/sysdeps/mach/hurd/dl-sysdep.c
    trunk/libc/sysdeps/posix/remove.c
    trunk/libc/sysdeps/unix/readdir_r.c
    trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
    trunk/libc/sysdeps/unix/sysv/linux/getpagesize.c
    trunk/libc/sysdeps/unix/sysv/linux/getsysstats.c
    trunk/libc/sysdeps/unix/sysv/linux/i386/fcntl.c
    trunk/libc/sysdeps/unix/sysv/linux/i386/readdir64_r.c
    trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c
    trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h
    trunk/libc/sysdeps/unix/sysv/linux/mmap64.c
    trunk/libc/sysdeps/x86_64/multiarch/init-arch.c
    trunk/libc/sysdeps/x86_64/multiarch/init-arch.h
    trunk/ports/ChangeLog
    trunk/ports/ChangeLog.alpha
    trunk/ports/ChangeLog.arm
    trunk/ports/ChangeLog.hppa
    trunk/ports/ChangeLog.mips
    trunk/ports/sysdeps/arm/dl-machine.h
    trunk/ports/sysdeps/mips/dl-machine.h
    trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/socket.h
    trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h
    trunk/ports/sysdeps/unix/sysv/linux/mips/bits/socket.h
    trunk/ports/sysdeps/unix/sysv/linux/mips/ldsodefs.h

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Wed Apr  7 03:58:21 2010
@@ -1,3 +1,153 @@
+2010-04-06  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* Makerules (libc-abis): Fix search for libc-abis in add-ons.
+
+2010-04-05  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/.
+	* sysdeps/gnu/rt-unwind-resume.c: Likewise.
+	* sysdeps/gnu/Makefile: Add sections for csu and rt subdirs to
+	build unwind-resume code, previously in nptl/sysdeps/pthread/Makefile.
+
+2010-04-05  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* elf/rtld.c (dl_main) [HAVE_AUX_VECTOR]: Add a cast.
+
+2010-03-30  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	* Makeconfig: Propagate -fdebug-prefix-map from CFLAGS to ASFLAGS.
+
+2010-03-30  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* elf/elf.h (ELFOSABI_ARM_AEABI): Define.
+
+2010-04-05  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/nl.po: Update from translation team.
+
+	[BZ #11010]
+	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Handle
+	timeouts from servers.
+
+	[BZ #11149]
+	* elf/ldconfig.c (main): Respect chroot setting when looking for
+	the aux cache.
+
+2010-04-04  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11043]
+	* posix/getopt.c (_getopt_internal_r): Fix arguments printed in error
+	messages.
+
+	[BZ #11070]
+	* resolv/netdb.h: Declare iruserok and iruserok_af.
+
+	* argp/Makefile: Add rules to build and run bug-argp2.
+	* argp/bug-argp2.c: New file.
+
+2010-02-05  Sergey Poznyakoff  <gray@xxxxxxxxxx>
+
+	[BZ #11254]
+	* argp/argp-parse.c (convert_options): Fix improper use of `|'
+	between character values.
+
+2010-04-04  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11276]
+	* sysdeps/posix/remove.c (IS_NO_DIRECTORY_ERROR): Define.
+	(remove): Use IS_NO_DIRECTORY_ERROR to check for file being no
+	directory.
+	* sysdeps/unix/sysv/linux/remove.c: New file.
+
+	* conform/data/sys/stat.h-data: Fix testing of S_IS* macros.
+
+	[BZ #11279]
+	* io/sys/stat.h: Always define S_ISSOCK for XPG6 and up.
+
+	[BZ #11287]
+	* csu/Makefile ($(objpfx)version-info.h): Handle newer kernel headers
+	which don't define UTS_RELEASE.
+
+2010-04-04  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+	    Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11292]
+	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Allow
+	concurrent initialization and use of __cpu_features.
+
+2010-04-04  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/x86_64/multiarch/init-arch.h (cpu_features): Add tag to
+	the enum.
+
+2010-04-03  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11333]
+	* sysdeps/unix/readdir_r.c (__READDIR_R): Add support for platforms
+	which include unnecessary padding in d_reclen.
+	* sysdeps/unix/sysv/linux/i386/readdir64_r.c: Select work-around for
+	unnecessary padding.
+
+	[BZ #11387]
+	* sysdeps/unix/sysv/linux/ifaddrs.c (map_newlin): Don't abort on
+	unknown interface, return -1.
+	(getifaddrs_internal): Rename from getifaddrs.  Handle errors in
+	map_newlink be returning -EAGAIN.
+	(getifaddrs): If -EAGAIN is returned from getifaddrs_internal try
+	again.
+
+2010-03-25  Ryan S. Arnold  <rsa@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Remove
+	redundant and incorrect else block which overwrites current line
+	with the partial next line.
+
+2010-04-03  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11438]
+	* posix/gai.conf: Document problems with IPv4 site-local addresses and
+	NATs.
+
+	[BZ #11449]
+	* crypt/crypt_util.c (__init_des_r): Add memory barrier before setting
+	small_tables_initialized.
+
+	* malloc/malloc.c (_int_free): Add one more sanity check for fastbins.
+
+	* malloc/malloc.c (set_max_fast): Fix computation of the value.
+
+2010-03-30  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Fix
+	MMAP2_PAGE_SHIFT test.
+
+2010-03-29  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/bits/socket.h: Define MSG_WAITFORONE.
+
+2010-03-28  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Adapt to auxv
+	changes in the generic code.
+	* elf/rtld.c (dl_main): Conditionalize the code that dereferences auxv
+	to [HAVE_AUX_VECTOR].
+
+2010-03-27  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/getpagesize.c (__getpagesize): If
+	__ASSUME_AT_PAGESIZE we can rely on the value being set.
+
+	* include/wchar.h: Undefine __need_mbstate_t and __need_wint_t
+	unconditionally in the end.
+
+	* posix/glob.c (glob): Initialize oldcount early, too.
+
+2010-03-26  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/i386/fcntl.c: Define miss_F_GETOWN_EX
+	only if needed.
+	Patch mostly by Paul Pluzhnikov <ppluzhnikov@xxxxxxxxxx>.
+
 2010-03-26  Richard Henderson  <rth@xxxxxxxxxx>
 
 	* sysdeps/generic/ldsodefs.h (_dl_random): Mark attribute_relro;

Modified: trunk/libc/Makeconfig
==============================================================================
--- trunk/libc/Makeconfig (original)
+++ trunk/libc/Makeconfig Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2003,2004,2005,2006,2007,2008,2009
+# Copyright (C) 1991-2003,2004,2005,2006,2007,2008,2009,2010
 #	Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -788,7 +788,7 @@
 # The assembler can generate debug information too.
 ifndef ASFLAGS
 ifeq ($(have-cpp-asm-debuginfo),yes)
-ASFLAGS := $(filter -g%,$(CFLAGS))
+ASFLAGS := $(filter -g% -fdebug-prefix-map=%,$(CFLAGS))
 else
 ASFLAGS :=
 endif

Modified: trunk/libc/Makerules
==============================================================================
--- trunk/libc/Makerules (original)
+++ trunk/libc/Makerules Wed Apr  7 03:58:21 2010
@@ -112,7 +112,8 @@
 
 ifndef avoid-generated
 before-compile := $(common-objpfx)libc-abis.h $(before-compile)
-libc-abis := $(firstword $(wildcard $(foreach D,$(add-ons), $(..)libc-abis)) \
+libc-abis := $(firstword $(wildcard $(foreach D,$(add-ons), \
+				    $(..)$D/libc-abis)) \
 			 libc-abis)
 $(common-objpfx)libc-abis.h: $(..)scripts/gen-libc-abis $(libc-abis)
 	$(SHELL) $(..)scripts/gen-libc-abis \

Modified: trunk/libc/argp/Makefile
==============================================================================
--- trunk/libc/argp/Makefile (original)
+++ trunk/libc/argp/Makefile Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2002, 2003, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1997,2002,2003,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
@@ -28,12 +28,13 @@
 routines	= $(addprefix argp-, ba fmtstream fs-xinl help parse pv \
 				     pvh xinl eexst)
 
-tests		= argp-test tst-argp1 bug-argp1 tst-argp2
+tests		= argp-test tst-argp1 bug-argp1 tst-argp2 bug-argp2
 
 CFLAGS-argp-help.c = $(uses-callbacks) -fexceptions
 CFLAGS-argp-parse.c = $(uses-callbacks)
 CFLAGS-argp-fmtstream.c = -fexceptions
 
 bug-argp1-ARGS = -- --help
+bug-argp2-ARGS = -- -d 111 --dstaddr 222 -p 333 --peer 444
 
 include ../Rules

Modified: trunk/libc/argp/argp-parse.c
==============================================================================
--- trunk/libc/argp/argp-parse.c (original)
+++ trunk/libc/argp/argp-parse.c Wed Apr  7 03:58:21 2010
@@ -1,5 +1,5 @@
 /* Hierarchial argument parsing, layered over getopt
-   Copyright (C) 1995-2000, 2002, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1995-2000, 2002, 2003, 2004, 2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@xxxxxxxxxxxxxx>.
 
@@ -99,7 +99,7 @@
 
 static const struct argp_option argp_default_options[] =
 {
-  {"help",	  '?',    	0, 0,  N_("Give this help list"), -1},
+  {"help",	  '?',	  	0, 0,  N_("Give this help list"), -1},
   {"usage",	  OPT_USAGE,	0, 0,  N_("Give a short usage message")},
   {"program-name",OPT_PROGNAME,"NAME", OPTION_HIDDEN, N_("Set the program name")},
   {"HANG",	  OPT_HANG,    "SECS", OPTION_ARG_OPTIONAL | OPTION_HIDDEN,
@@ -164,7 +164,7 @@
 
 static const struct argp_option argp_version_options[] =
 {
-  {"version",	  'V',    	0, 0,  N_("Print program version"), -1},
+  {"version",	  'V',	  	0, 0,  N_("Print program version"), -1},
   {0, 0}
 };
 
@@ -364,7 +364,7 @@
 		       values (the sign of the lower bits is preserved
 		       however)...  */
 		    cvt->long_end->val =
-		      ((opt->key | real->key) & USER_MASK)
+		      ((opt->key ? opt->key : real->key) & USER_MASK)
 		      + (((group - cvt->parser->groups) + 1) << USER_BITS);
 
 		    /* Keep the LONG_OPTS list terminated.  */
@@ -385,7 +385,7 @@
 
       if (children)
 	/* Assign GROUP's CHILD_INPUTS field some space from
-           CVT->child_inputs_end.*/
+	   CVT->child_inputs_end.*/
 	{
 	  unsigned num_children = 0;
 	  while (children[num_children].argp)
@@ -823,7 +823,7 @@
 	  parser->try_getopt = 0;
 	  if (parser->state.next > 1
 	      && strcmp (parser->state.argv[parser->state.next - 1], QUOTE)
-	           == 0)
+		   == 0)
 	    /* Not only is this the end of the options, but it's a
 	       `quoted' region, which may have args that *look* like
 	       options, so we definitely shouldn't try to use getopt past

Modified: trunk/libc/conform/data/sys/stat.h-data
==============================================================================
--- trunk/libc/conform/data/sys/stat.h-data (original)
+++ trunk/libc/conform/data/sys/stat.h-data Wed Apr  7 03:58:21 2010
@@ -66,15 +66,14 @@
 constant S_ISVTX
 #endif
 
-#if !defined POSIX && !defined POSIX2008
-macro S_IFMT
+#if !defined POSIX
 macro S_ISBLK
 macro S_ISCHR
 macro S_ISDIR
 macro S_ISFIFO
 macro S_ISREG
 macro S_ISLNK
-macro S_IFSOCK
+macro S_ISSOCK
 #endif
 
 // How to represent optional tests?

Modified: trunk/libc/crypt/crypt_util.c
==============================================================================
--- trunk/libc/crypt/crypt_util.c (original)
+++ trunk/libc/crypt/crypt_util.c Wed Apr  7 03:58:21 2010
@@ -1,7 +1,7 @@
 /*
  * UFC-crypt: ultra fast crypt(3) implementation
  *
- * Copyright (C) 1991, 92, 93, 96, 97, 98, 2000 Free Software Foundation, Inc.
+ * Copyright (C) 1991-1993,1996-1998,2000,2010 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -27,6 +27,7 @@
 #ifdef DEBUG
 #include <stdio.h>
 #endif
+#include <atomic.h>
 #include <string.h>
 
 #ifndef STATIC
@@ -114,53 +115,53 @@
  * The sboxes
  */
 static const int sbox[8][4][16]= {
-        { { 14,  4, 13,  1,  2, 15, 11,  8,  3, 10,  6, 12,  5,  9,  0,  7 },
-          {  0, 15,  7,  4, 14,  2, 13,  1, 10,  6, 12, 11,  9,  5,  3,  8 },
-          {  4,  1, 14,  8, 13,  6,  2, 11, 15, 12,  9,  7,  3, 10,  5,  0 },
-          { 15, 12,  8,  2,  4,  9,  1,  7,  5, 11,  3, 14, 10,  0,  6, 13 }
-        },
-
-        { { 15,  1,  8, 14,  6, 11,  3,  4,  9,  7,  2, 13, 12,  0,  5, 10 },
-          {  3, 13,  4,  7, 15,  2,  8, 14, 12,  0,  1, 10,  6,  9, 11,  5 },
-          {  0, 14,  7, 11, 10,  4, 13,  1,  5,  8, 12,  6,  9,  3,  2, 15 },
-          { 13,  8, 10,  1,  3, 15,  4,  2, 11,  6,  7, 12,  0,  5, 14,  9 }
-        },
-
-        { { 10,  0,  9, 14,  6,  3, 15,  5,  1, 13, 12,  7, 11,  4,  2,  8 },
-          { 13,  7,  0,  9,  3,  4,  6, 10,  2,  8,  5, 14, 12, 11, 15,  1 },
-          { 13,  6,  4,  9,  8, 15,  3,  0, 11,  1,  2, 12,  5, 10, 14,  7 },
-          {  1, 10, 13,  0,  6,  9,  8,  7,  4, 15, 14,  3, 11,  5,  2, 12 }
-        },
-
-        { {  7, 13, 14,  3,  0,  6,  9, 10,  1,  2,  8,  5, 11, 12,  4, 15 },
-          { 13,  8, 11,  5,  6, 15,  0,  3,  4,  7,  2, 12,  1, 10, 14,  9 },
-          { 10,  6,  9,  0, 12, 11,  7, 13, 15,  1,  3, 14,  5,  2,  8,  4 },
-          {  3, 15,  0,  6, 10,  1, 13,  8,  9,  4,  5, 11, 12,  7,  2, 14 }
-        },
-
-        { {  2, 12,  4,  1,  7, 10, 11,  6,  8,  5,  3, 15, 13,  0, 14,  9 },
-          { 14, 11,  2, 12,  4,  7, 13,  1,  5,  0, 15, 10,  3,  9,  8,  6 },
-          {  4,  2,  1, 11, 10, 13,  7,  8, 15,  9, 12,  5,  6,  3,  0, 14 },
-          { 11,  8, 12,  7,  1, 14,  2, 13,  6, 15,  0,  9, 10,  4,  5,  3 }
-        },
-
-        { { 12,  1, 10, 15,  9,  2,  6,  8,  0, 13,  3,  4, 14,  7,  5, 11 },
-          { 10, 15,  4,  2,  7, 12,  9,  5,  6,  1, 13, 14,  0, 11,  3,  8 },
-          {  9, 14, 15,  5,  2,  8, 12,  3,  7,  0,  4, 10,  1, 13, 11,  6 },
-          {  4,  3,  2, 12,  9,  5, 15, 10, 11, 14,  1,  7,  6,  0,  8, 13 }
-        },
-
-        { {  4, 11,  2, 14, 15,  0,  8, 13,  3, 12,  9,  7,  5, 10,  6,  1 },
-          { 13,  0, 11,  7,  4,  9,  1, 10, 14,  3,  5, 12,  2, 15,  8,  6 },
-          {  1,  4, 11, 13, 12,  3,  7, 14, 10, 15,  6,  8,  0,  5,  9,  2 },
-          {  6, 11, 13,  8,  1,  4, 10,  7,  9,  5,  0, 15, 14,  2,  3, 12 }
-        },
-
-        { { 13,  2,  8,  4,  6, 15, 11,  1, 10,  9,  3, 14,  5,  0, 12,  7 },
-          {  1, 15, 13,  8, 10,  3,  7,  4, 12,  5,  6, 11,  0, 14,  9,  2 },
-          {  7, 11,  4,  1,  9, 12, 14,  2,  0,  6, 10, 13, 15,  3,  5,  8 },
-          {  2,  1, 14,  7,  4, 10,  8, 13, 15, 12,  9,  0,  3,  5,  6, 11 }
-        }
+	{ { 14,  4, 13,  1,  2, 15, 11,  8,  3, 10,  6, 12,  5,  9,  0,  7 },
+	  {  0, 15,  7,  4, 14,  2, 13,  1, 10,  6, 12, 11,  9,  5,  3,  8 },
+	  {  4,  1, 14,  8, 13,  6,  2, 11, 15, 12,  9,  7,  3, 10,  5,  0 },
+	  { 15, 12,  8,  2,  4,  9,  1,  7,  5, 11,  3, 14, 10,  0,  6, 13 }
+	},
+
+	{ { 15,  1,  8, 14,  6, 11,  3,  4,  9,  7,  2, 13, 12,  0,  5, 10 },
+	  {  3, 13,  4,  7, 15,  2,  8, 14, 12,  0,  1, 10,  6,  9, 11,  5 },
+	  {  0, 14,  7, 11, 10,  4, 13,  1,  5,  8, 12,  6,  9,  3,  2, 15 },
+	  { 13,  8, 10,  1,  3, 15,  4,  2, 11,  6,  7, 12,  0,  5, 14,  9 }
+	},
+
+	{ { 10,  0,  9, 14,  6,  3, 15,  5,  1, 13, 12,  7, 11,  4,  2,  8 },
+	  { 13,  7,  0,  9,  3,  4,  6, 10,  2,  8,  5, 14, 12, 11, 15,  1 },
+	  { 13,  6,  4,  9,  8, 15,  3,  0, 11,  1,  2, 12,  5, 10, 14,  7 },
+	  {  1, 10, 13,  0,  6,  9,  8,  7,  4, 15, 14,  3, 11,  5,  2, 12 }
+	},
+
+	{ {  7, 13, 14,  3,  0,  6,  9, 10,  1,  2,  8,  5, 11, 12,  4, 15 },
+	  { 13,  8, 11,  5,  6, 15,  0,  3,  4,  7,  2, 12,  1, 10, 14,  9 },
+	  { 10,  6,  9,  0, 12, 11,  7, 13, 15,  1,  3, 14,  5,  2,  8,  4 },
+	  {  3, 15,  0,  6, 10,  1, 13,  8,  9,  4,  5, 11, 12,  7,  2, 14 }
+	},
+
+	{ {  2, 12,  4,  1,  7, 10, 11,  6,  8,  5,  3, 15, 13,  0, 14,  9 },
+	  { 14, 11,  2, 12,  4,  7, 13,  1,  5,  0, 15, 10,  3,  9,  8,  6 },
+	  {  4,  2,  1, 11, 10, 13,  7,  8, 15,  9, 12,  5,  6,  3,  0, 14 },
+	  { 11,  8, 12,  7,  1, 14,  2, 13,  6, 15,  0,  9, 10,  4,  5,  3 }
+	},
+
+	{ { 12,  1, 10, 15,  9,  2,  6,  8,  0, 13,  3,  4, 14,  7,  5, 11 },
+	  { 10, 15,  4,  2,  7, 12,  9,  5,  6,  1, 13, 14,  0, 11,  3,  8 },
+	  {  9, 14, 15,  5,  2,  8, 12,  3,  7,  0,  4, 10,  1, 13, 11,  6 },
+	  {  4,  3,  2, 12,  9,  5, 15, 10, 11, 14,  1,  7,  6,  0,  8, 13 }
+	},
+
+	{ {  4, 11,  2, 14, 15,  0,  8, 13,  3, 12,  9,  7,  5, 10,  6,  1 },
+	  { 13,  0, 11,  7,  4,  9,  1, 10, 14,  3,  5, 12,  2, 15,  8,  6 },
+	  {  1,  4, 11, 13, 12,  3,  7, 14, 10, 15,  6,  8,  0,  5,  9,  2 },
+	  {  6, 11, 13,  8,  1,  4, 10,  7,  9,  5,  0, 15, 14,  2,  3, 12 }
+	},
+
+	{ { 13,  2,  8,  4,  6, 15, 11,  1, 10,  9,  3, 14,  5,  0, 12,  7 },
+	  {  1, 15, 13,  8, 10,  3,  7,  4, 12,  5,  6, 11,  0, 14,  9,  2 },
+	  {  7, 11,  4,  1,  9, 12, 14,  2,  0,  6, 10, 13, 15,  3,  5,  8 },
+	  {  2,  1, 14,  7,  4, 10,  8, 13, 15, 12,  9,  0,  3,  5,  6, 11 }
+	}
 };
 
 /*
@@ -468,6 +469,7 @@
 	  efp[comes_from_word][word_value][o_long] |= mask2;
       }
     }
+    atomic_write_barrier ();
     small_tables_initialized = 1;
 #ifdef __GNU_LIBRARY__
 small_tables_done:

Modified: trunk/libc/csu/Makefile
==============================================================================
--- trunk/libc/csu/Makefile (original)
+++ trunk/libc/csu/Makefile Wed Apr  7 03:58:21 2010
@@ -1,5 +1,5 @@
 # Makefile for csu code for GNU C library.
-# Copyright (C) 1995-2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1995-2004, 2005, 2006, 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
@@ -211,8 +211,19 @@
 	   linux*) version=`(printf '%s\n%s\n' \
 				    '#include <linux/version.h>' \
 				    UTS_RELEASE \
-			     | $(CC) $(CPPFLAGS) -E -P - -DNOT_IN_libc=1 | \
+			     | $(CC) $(CPPFLAGS) -O -E -P - -DNOT_IN_libc=1 | \
 			     sed -e 's/"\([^"]*\)".*/\1/p' -e d) 2>/dev/null`;\
+		   if [ -z "$$version" ]; then \
+		     version=`(printf '%s\n%s\n' \
+				      '#include <linux/version.h>' \
+				       LINUX_VERSION_CODE \
+			       | $(CC) $(CPPFLAGS) -O -E -P - -DNOT_IN_libc=1 \
+			       | sed -n -e '/^[123456789].*/p' \
+			       | awk '{v=$$1; \
+				       printf("%d.%d.%d\n", \
+					      v/65535, v/256%256, v%256)}') \
+				2>/dev/null`; \
+		   fi; \
 		   if [ -z "$$version" ]; then \
 		     if [ -r /proc/version ]; then \
 		       version=`sed 's/.*Linux version \([^ ]*\) .*/>>\1<</' \

Modified: trunk/libc/elf/elf.h
==============================================================================
--- trunk/libc/elf/elf.h (original)
+++ trunk/libc/elf/elf.h Wed Apr  7 03:58:21 2010
@@ -150,6 +150,7 @@
 #define ELFOSABI_TRU64		10	/* Compaq TRU64 UNIX.  */
 #define ELFOSABI_MODESTO	11	/* Novell Modesto.  */
 #define ELFOSABI_OPENBSD	12	/* OpenBSD.  */
+#define ELFOSABI_ARM_AEABI	64	/* ARM EABI */
 #define ELFOSABI_ARM		97	/* ARM */
 #define ELFOSABI_STANDALONE	255	/* Standalone (embedded) application */
 

Modified: trunk/libc/elf/ldconfig.c
==============================================================================
--- trunk/libc/elf/ldconfig.c (original)
+++ trunk/libc/elf/ldconfig.c Wed Apr  7 03:58:21 2010
@@ -1308,11 +1308,9 @@
 				  p ? (*p = '\0', cache_file) : "/");
 
       if (canon == NULL)
-	{
-	  error (EXIT_FAILURE, errno,
-		 _("Can't open cache file directory %s\n"),
-		 p ? cache_file : "/");
-	}
+	error (EXIT_FAILURE, errno,
+	       _("Can't open cache file directory %s\n"),
+	       p ? cache_file : "/");
 
       if (p)
 	++p;
@@ -1349,8 +1347,17 @@
 	add_system_dir (LIBDIR);
     }
 
+  char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
+  if (opt_chroot)
+    {
+      aux_cache_file = chroot_canon (opt_chroot, aux_cache_file);
+      if (aux_cache_file == NULL)
+	error (EXIT_FAILURE, errno, _("Can't open cache file %s\n"),
+	       _PATH_LDCONFIG_AUX_CACHE);
+    }
+
   if (! opt_ignore_aux_cache)
-    load_aux_cache (_PATH_LDCONFIG_AUX_CACHE);
+    load_aux_cache (aux_cache_file);
   else
     init_aux_cache ();
 
@@ -1359,7 +1366,7 @@
   if (opt_build_cache)
     {
       save_cache (cache_file);
-      save_aux_cache (_PATH_LDCONFIG_AUX_CACHE);
+      save_aux_cache (aux_cache_file);
     }
 
   return 0;

Modified: trunk/libc/elf/rtld.c
==============================================================================
--- trunk/libc/elf/rtld.c (original)
+++ trunk/libc/elf/rtld.c Wed Apr  7 03:58:21 2010
@@ -928,8 +928,6 @@
 
   if (*user_entry == (ElfW(Addr)) ENTRY_POINT)
     {
-      ElfW(auxv_t) *av;
-
       /* Ho ho.  We are not the program interpreter!  We are the program
 	 itself!  This means someone ran ld.so as a command.  Well, that
 	 might be convenient to do sometimes.  We support it by
@@ -1086,13 +1084,14 @@
       main_map->l_name = (char *) "";
       *user_entry = main_map->l_entry;
 
+#ifdef HAVE_AUX_VECTOR
       /* Adjust the on-stack auxiliary vector so that it looks like the
 	 binary was executed directly.  */
-      for (av = auxv; av->a_type != AT_NULL; av++)
+      for (ElfW(auxv_t) *av = auxv; av->a_type != AT_NULL; av++)
 	switch (av->a_type)
 	  {
 	  case AT_PHDR:
-	    av->a_un.a_val = phdr;
+	    av->a_un.a_val = (uintptr_t) phdr;
 	    break;
 	  case AT_PHNUM:
 	    av->a_un.a_val = phnum;
@@ -1101,6 +1100,7 @@
 	    av->a_un.a_val = *user_entry;
 	    break;
 	  }
+#endif
     }
   else
     {

Modified: trunk/libc/include/wchar.h
==============================================================================
--- trunk/libc/include/wchar.h (original)
+++ trunk/libc/include/wchar.h Wed Apr  7 03:58:21 2010
@@ -195,3 +195,8 @@
 
 # endif
 #endif
+
+/* Undefine all __need_* constants in case we are included to get those
+   constants but the whole file was already read.  */
+#undef __need_mbstate_t
+#undef __need_wint_t

Modified: trunk/libc/io/sys/stat.h
==============================================================================
--- trunk/libc/io/sys/stat.h (original)
+++ trunk/libc/io/sys/stat.h Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007, 2009
+/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007, 2009, 2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -143,9 +143,11 @@
 # define S_ISLNK(mode)  0
 #endif
 
-#if (defined __USE_BSD || defined __USE_UNIX98) \
+#if (defined __USE_BSD || defined __USE_UNIX98 || defined __USE_XOPEN2K) \
     && defined __S_IFSOCK
 # define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK)
+#elif defined __USE_XOPEN2K
+# define S_ISSOCK(mode) 0
 #endif
 
 /* These are from POSIX.1b.  If the objects are not implemented using separate

Modified: trunk/libc/localedata/ChangeLog
==============================================================================
--- trunk/libc/localedata/ChangeLog (original)
+++ trunk/libc/localedata/ChangeLog Wed Apr  7 03:58:21 2010
@@ -1,3 +1,19 @@
+2010-04-05  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11007]
+	* locales/pt_BR: Define thousands_sep and grouping.
+
+2010-01-28  Marcelo E. Magallon  <marcelo.magallon@xxxxxxxxx>
+
+	[BZ #11258]
+	* locales/es_CR: Update for LC_MONETARY, LC_NUMERIC, LC_PAPER,
+	LC_TELEPHONE and LC_NAME and LC_ADDRESS.
+
+2010-04-04  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11272]
+	* locales/fr_BE: Define week, first_weekday, and first_workday.
+
 2010-03-24  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	[BZ #10554]

Modified: trunk/libc/localedata/locales/es_CR
==============================================================================
--- trunk/libc/localedata/locales/es_CR (original)
+++ trunk/libc/localedata/locales/es_CR Wed Apr  7 03:58:21 2010
@@ -21,8 +21,8 @@
 fax        ""
 language   "Spanish"
 territory  "Costa Rica"
-revision   "1.0"
-date       "2000-08-21"
+revision   "1.1"
+date       "2009-12-23"
 %
 category  "es_CR:2000";LC_IDENTIFICATION
 category  "es_CR:2000";LC_CTYPE
@@ -53,9 +53,10 @@
 
 LC_MONETARY
 int_curr_symbol      "<U0043><U0052><U0043><U0020>"
-currency_symbol      "<U0043>"
-mon_decimal_point    "<U002E>"
-mon_thousands_sep    "<U002C>"
+currency_symbol      "<U20A1>"
+% Decreto Ejecutivo 29660
+mon_decimal_point    "<U002C>"
+mon_thousands_sep    "<U0020>"
 mon_grouping         3;3
 positive_sign        ""
 negative_sign        "<U002D>"
@@ -70,9 +71,10 @@
 END LC_MONETARY
 
 LC_NUMERIC
-decimal_point        "<U002E>"
-thousands_sep        ""
-grouping             0;0
+% Decreto Ejecutivo 29660
+decimal_point        "<U002C>"
+thousands_sep        "<U0020>"
+grouping             3;3
 END LC_NUMERIC
 
 LC_TIME
@@ -106,39 +108,42 @@
         "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
         "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
 d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
-d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>"
 t_fmt   "<U0025><U0054>"
 am_pm   "<U0061><U002E><U006D><U002E>";"<U0070><U002E><U006D><U002E>"
 t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
-date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+date_fmt	"<U0025><U0061><U0020><U0025><U0065><U0020><U0025><U0062>/
 <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
 <U0025><U005A><U0020><U0025><U0059>"
-first_weekday 1
+first_weekday 2
 first_workday 2
 END LC_TIME
 
 LC_PAPER
-% FIXME
-height   297
-% FIXME
-width    210
+height   279
+width    216
 END LC_PAPER
 
 LC_TELEPHONE
-tel_int_fmt    "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
-<U006C>"
+tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020>/
+<U0025><U006C>"
+tel_dom_fmt "<U0025><U006C>"
 int_prefix     "<U0035><U0030><U0036>"
 int_select     "<U0030><U0030>"
 END LC_TELEPHONE
 
 LC_MEASUREMENT
-% FIXME
 measurement    1
 END LC_MEASUREMENT
 
 LC_NAME
 name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
 <U0025><U006D><U0025><U0074><U0025><U0066>"
+name_gen    "<U0053><U0072><U002E><U002F><U0053><U0072><U0061><U002E>"
+name_miss   "<U0053><U0072><U0074><U0061><U002E>"
+name_mr     "<U0053><U0072><U002E>"
+name_mrs    "<U0053><U0072><U0061><U002E>"
+name_ms     "<U0053><U0072><U0061><U002E>"
 END LC_NAME
 
 LC_ADDRESS
@@ -147,6 +152,13 @@
 <U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
 <U004E><U0025><U007A><U0020><U0025><U0054><U0025>/
 <U004E><U0025><U0063><U0025><U004E>"
+country_name  "<U0043><U006F><U0073><U0074><U0061><U0020><U0052><U0069><U0063><U0061>"
+country_post  "<U0043><U0052>"
+country_car   "<U0043><U0052>"
+country_isbn  "9930,9977,9968"
+lang_name     "<U0045><U0073><U0070><U0061><U00F1><U006F><U006C>"
+lang_ab       "<0065><0073>"
+lang_term     "<U0073><U0070><U0061>"
 country_ab2   "<U0043><U0052>"
 country_ab3   "<U0043><U0052><U0049>"
 country_num   188

Modified: trunk/libc/localedata/locales/fr_BE
==============================================================================
--- trunk/libc/localedata/locales/fr_BE (original)
+++ trunk/libc/localedata/locales/fr_BE Wed Apr  7 03:58:21 2010
@@ -84,34 +84,34 @@
 
 LC_TIME
 abday   "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/
-        "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
-        "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
-        "<U0073><U0061><U006D>"
+	"<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
+	"<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
+	"<U0073><U0061><U006D>"
 day     "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/
-        "<U006C><U0075><U006E><U0064><U0069>";/
-        "<U006D><U0061><U0072><U0064><U0069>";/
-        "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
-        "<U006A><U0065><U0075><U0064><U0069>";/
-        "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
-        "<U0073><U0061><U006D><U0065><U0064><U0069>"
+	"<U006C><U0075><U006E><U0064><U0069>";/
+	"<U006D><U0061><U0072><U0064><U0069>";/
+	"<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
+	"<U006A><U0065><U0075><U0064><U0069>";/
+	"<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
+	"<U0073><U0061><U006D><U0065><U0064><U0069>"
 abmon   "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/
-        "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
-        "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
-        "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
-        "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
+	"<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
+	"<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
+	"<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
+	"<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+	"<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
 mon     "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/
-        "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
-        "<U006D><U0061><U0072><U0073>";/
-        "<U0061><U0076><U0072><U0069><U006C>";/
-        "<U006D><U0061><U0069>";/
-        "<U006A><U0075><U0069><U006E>";/
-        "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
-        "<U0061><U006F><U00FB><U0074>";/
-        "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
-        "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
-        "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
-        "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
+	"<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
+	"<U006D><U0061><U0072><U0073>";/
+	"<U0061><U0076><U0072><U0069><U006C>";/
+	"<U006D><U0061><U0069>";/
+	"<U006A><U0075><U0069><U006E>";/
+	"<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
+	"<U0061><U006F><U00FB><U0074>";/
+	"<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
+	"<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
+	"<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
+	"<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
 d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
 d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
 t_fmt   "<U0025><U0054>"
@@ -120,6 +120,10 @@
 date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
 <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
 <U0025><U005A><U0020><U0025><U0059>"
+
+week    7;19971130;4
+first_weekday 2
+first_workday 2
 END LC_TIME
 
 LC_PAPER

Modified: trunk/libc/localedata/locales/pt_BR
==============================================================================
--- trunk/libc/localedata/locales/pt_BR (original)
+++ trunk/libc/localedata/locales/pt_BR Wed Apr  7 03:58:21 2010
@@ -14,7 +14,6 @@
 % Revision: 4.4
 % Date: 1997-03-19
 % Users: general
-% Repertoiremap: mnemonic.ds
 % Charset: ISO-8859-1
 % Distribution and use is free, also
 % for commercial purposes.
@@ -79,40 +78,40 @@
 
 LC_NUMERIC
 decimal_point             "<U002C>"
-thousands_sep             ""
-grouping                  0;0
+thousands_sep             "<U002E>"
+grouping                  3;3
 END LC_NUMERIC
 
 LC_TIME
 abday   "<U0044><U006F><U006D>";"<U0053><U0065><U0067>";/
-        "<U0054><U0065><U0072>";"<U0051><U0075><U0061>";/
-        "<U0051><U0075><U0069>";"<U0053><U0065><U0078>";/
-        "<U0053><U00E1><U0062>"
+	"<U0054><U0065><U0072>";"<U0051><U0075><U0061>";/
+	"<U0051><U0075><U0069>";"<U0053><U0065><U0078>";/
+	"<U0053><U00E1><U0062>"
 day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
-        "<U0073><U0065><U0067><U0075><U006E><U0064><U0061>";/
-        "<U0074><U0065><U0072><U00E7><U0061>";/
-        "<U0071><U0075><U0061><U0072><U0074><U0061>";/
-        "<U0071><U0075><U0069><U006E><U0074><U0061>";/
-        "<U0073><U0065><U0078><U0074><U0061>";/
-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+	"<U0073><U0065><U0067><U0075><U006E><U0064><U0061>";/
+	"<U0074><U0065><U0072><U00E7><U0061>";/
+	"<U0071><U0075><U0061><U0072><U0074><U0061>";/
+	"<U0071><U0075><U0069><U006E><U0074><U0061>";/
+	"<U0073><U0065><U0078><U0074><U0061>";/
+	"<U0073><U00E1><U0062><U0061><U0064><U006F>"
 abmon   "<U004A><U0061><U006E>";"<U0046><U0065><U0076>";/
-        "<U004D><U0061><U0072>";"<U0041><U0062><U0072>";/
-        "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
-        "<U004A><U0075><U006C>";"<U0041><U0067><U006F>";/
-        "<U0053><U0065><U0074>";"<U004F><U0075><U0074>";/
-        "<U004E><U006F><U0076>";"<U0044><U0065><U007A>"
+	"<U004D><U0061><U0072>";"<U0041><U0062><U0072>";/
+	"<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
+	"<U004A><U0075><U006C>";"<U0041><U0067><U006F>";/
+	"<U0053><U0065><U0074>";"<U004F><U0075><U0074>";/
+	"<U004E><U006F><U0076>";"<U0044><U0065><U007A>"
 mon     "<U006A><U0061><U006E><U0065><U0069><U0072><U006F>";/
-        "<U0066><U0065><U0076><U0065><U0072><U0065><U0069><U0072><U006F>";/
-        "<U006D><U0061><U0072><U00E7><U006F>";/
-        "<U0061><U0062><U0072><U0069><U006C>";/
-        "<U006D><U0061><U0069><U006F>";/
-        "<U006A><U0075><U006E><U0068><U006F>";/
-        "<U006A><U0075><U006C><U0068><U006F>";/
-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
-        "<U0073><U0065><U0074><U0065><U006D><U0062><U0072><U006F>";/
-        "<U006F><U0075><U0074><U0075><U0062><U0072><U006F>";/
-        "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U006F>";/
-        "<U0064><U0065><U007A><U0065><U006D><U0062><U0072><U006F>"
+	"<U0066><U0065><U0076><U0065><U0072><U0065><U0069><U0072><U006F>";/
+	"<U006D><U0061><U0072><U00E7><U006F>";/
+	"<U0061><U0062><U0072><U0069><U006C>";/
+	"<U006D><U0061><U0069><U006F>";/
+	"<U006A><U0075><U006E><U0068><U006F>";/
+	"<U006A><U0075><U006C><U0068><U006F>";/
+	"<U0061><U0067><U006F><U0073><U0074><U006F>";/
+	"<U0073><U0065><U0074><U0065><U006D><U0062><U0072><U006F>";/
+	"<U006F><U0075><U0074><U0075><U0062><U0072><U006F>";/
+	"<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U006F>";/
+	"<U0064><U0065><U007A><U0065><U006D><U0062><U0072><U006F>"
 d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
 d_fmt   "<U0025><U0064><U002D><U0025><U006D><U002D><U0025><U0059>"
 t_fmt   "<U0025><U0054>"

Modified: trunk/libc/malloc/malloc.c
==============================================================================
--- trunk/libc/malloc/malloc.c (original)
+++ trunk/libc/malloc/malloc.c Wed Apr  7 03:58:21 2010
@@ -2350,7 +2350,8 @@
 */
 
 #define set_max_fast(s) \
-  global_max_fast = ((s) == 0)? SMALLBIN_WIDTH: request2size(s)
+  global_max_fast = (((s) == 0)						      \
+		     ? SMALLBIN_WIDTH: ((s + SIZE_SZ) & ~MALLOC_ALIGN_MASK))
 #define get_max_fast() global_max_fast
 
 
@@ -4851,7 +4852,8 @@
       free_perturb (chunk2mem(p), size - SIZE_SZ);
 
     set_fastchunks(av);
-    fb = &fastbin (av, fastbin_index(size));
+    unsigned int idx = fastbin_index(size);
+    fb = &fastbin (av, idx);
 
 #ifdef ATOMIC_FASTBINS
     mchunkptr fd;
@@ -4865,6 +4867,12 @@
 	    errstr = "double free or corruption (fasttop)";
 	    goto errout;
 	  }
+	if (old != NULL
+	    && __builtin_expect (fastbin_index(chunksize(old)) != idx, 0))
+	  {
+	    errstr = "invalid fastbin entry (free)";
+	    goto errout;
+	  }
 	p->fd = fd = old;
       }
     while ((old = catomic_compare_and_exchange_val_rel (fb, p, fd)) != fd);
@@ -4874,6 +4882,12 @@
     if (__builtin_expect (*fb == p, 0))
       {
 	errstr = "double free or corruption (fasttop)";
+	goto errout;
+      }
+    if (*fb != NULL
+	&& __builtin_expect (fastbin_index(chunksize(*fb)) != idx, 0))
+      {
+	errstr = "invalid fastbin entry (free)";
 	goto errout;
       }
 

Modified: trunk/libc/nptl/ChangeLog
==============================================================================
--- trunk/libc/nptl/ChangeLog (original)
+++ trunk/libc/nptl/ChangeLog Wed Apr  7 03:58:21 2010
@@ -1,3 +1,10 @@
+2010-04-05  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/pthread/unwind-resume.c: Moved to main tree sysdeps/gnu/.
+	* sysdeps/pthread/rt-unwind-resume.c: Likewise.
+	* sysdeps/pthread/Makefile: Remove csu section and rt section's
+	unwind-resume bits, now in main tree sysdeps/gnu/Makefile instead.
+
 2010-03-23  Luis Machado  <luisgpm@xxxxxxxxxx>
 
 	* pthread_cond_timedwait.c: Add check for

Modified: trunk/libc/nptl/sysdeps/pthread/Makefile
==============================================================================
--- trunk/libc/nptl/sysdeps/pthread/Makefile (original)
+++ trunk/libc/nptl/sysdeps/pthread/Makefile Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-# Copyright (C) 2002,2003,2004,2006 Free Software Foundation, Inc.
+# Copyright (C) 2002,2003,2004,2006,2010 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -17,12 +17,6 @@
 # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 # 02111-1307 USA.
 
-ifeq ($(subdir),csu)
-routines += unwind-resume
-shared-only-routines += unwind-resume
-CFLAGS-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
-endif
-
 ifeq ($(subdir),nptl)
 libpthread-sysdep_routines += errno-loc
 ifeq ($(OPTION_EGLIBC_BIG_MACROS),n)
@@ -31,10 +25,8 @@
 endif
 
 ifeq ($(subdir),rt)
-librt-sysdep_routines += timer_routines librt-cancellation rt-unwind-resume
-librt-shared-only-routines += rt-unwind-resume
+librt-sysdep_routines += timer_routines librt-cancellation
 CFLAGS-librt-cancellation.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-rt-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
 
 ifeq (yes,$(build-shared))
 $(objpfx)tst-timer: $(objpfx)librt.so $(shared-thread-library)

Modified: trunk/libc/po/nl.po
==============================================================================
--- trunk/libc/po/nl.po (original)
+++ trunk/libc/po/nl.po Wed Apr  7 03:58:21 2010
@@ -1,31 +1,33 @@
 # Dutch translations for libc.
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the glibc package.
 #
 # Elros Cyriatan <cyriatan@xxxxxxxxxxx>, 2004.
-# Benno Schulenberg <benno@xxxxxxxxxxx>, 2006, 2007, 2008.
+# Erwin Poeze <erwin.poeze@xxxxxxxxx>, 2009.
+# Benno Schulenberg <benno@xxxxxxxxxxx>, 2006, 2007, 2008, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: libc-2.9.90\n"
+"Project-Id-Version: libc-2.11\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-02-06 12:40-0800\n"
-"PO-Revision-Date: 2009-03-04 11:41+0100\n"
-"Last-Translator: Erwin Poeze <erwin.poeze@xxxxxxxxx>\n"
+"PO-Revision-Date: 2010-04-05 16:30+0200\n"
+"Last-Translator: Benno Schulenberg <benno@xxxxxxxxxxx>\n"
 "Language-Team: Dutch <vertaling@xxxxxxxxxxxxxxx>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 1.0\n"
 
 #: argp/argp-help.c:228
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr "%.*s: parameter in ARGP_HELP_FMT vereist een waarde"
+msgstr "%.*s: Parameter in ARGP_HELP_FMT vereist een waarde"
 
 #: argp/argp-help.c:238
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr "%.*s: onbekende parameter in ARGP_HELP_FMT"
+msgstr "%.*s: Onbekende parameter in ARGP_HELP_FMT"
 
 #: argp/argp-help.c:251
 #, c-format
@@ -80,7 +82,7 @@
 
 #: argp/argp-parse.c:167
 msgid "Print program version"
-msgstr "programmaversie tonen"
+msgstr "de programmaversie tonen"
 
 #: argp/argp-parse.c:183
 msgid "(PROGRAM ERROR) No version known!?"
@@ -328,9 +330,7 @@
 "\n"
 "  -?,--help          deze hulptekst tonen\n"
 "     --usage         een korte gebruikssamenvatting tonen\n"
-"  -V,--version       programmaversie tonen\n"
-"\n"
-"Argumenten die verplicht zijn voor lange opties, zijn ook verplicht voor de overeenkomstige korte opties.\n"
+"  -V,--version       de programmaversie tonen\n"
 "\n"
 
 #: debug/xtrace.sh:127
@@ -703,7 +703,7 @@
 
 #: elf/ldconfig.c:142
 msgid "Generate verbose messages"
-msgstr "breedsprakige uitvoer"
+msgstr "gedetailleerde uitvoer produceren"
 
 #: elf/ldconfig.c:143
 msgid "Don't build cache"
@@ -934,12 +934,15 @@
 "  -v, --verbose           print all information\n"
 msgstr ""
 "Gebruik:  ldd [OPTIE]... BESTAND...\n"
+"\n"
+"Bibliotheekafhankelijkheden weergeven.\n"
+"\n"
 "      --help              deze hulptekst tonen\n"
-"      --version           programmaversie tonen\n"
+"      --version           de programmaversie tonen\n"
 "  -d, --data-relocs       dataverplaatsingen verwerken\n"
 "  -r, --function-relocs   data- en functieverplaatsingen verwerken\n"
 "  -u, --unused            ongebruikte directe afhankelijkheden tonen\n"
-"  -v, --verbose           breedsprakige uitvoer\n"
+"  -v, --verbose           gedetailleerde uitvoer produceren\n"
 
 #: elf/ldd.bash.in:82
 msgid "ldd: option \\`$1' is ambiguous"
@@ -1045,7 +1048,7 @@
 "Usage: sln src dest|file\n"
 "\n"
 msgstr ""
-"Gebruik: sln src dest|bestand\n"
+"Gebruik:  sln BRON BESTEMMING|BESTAND\n"
 "\n"
 
 #: elf/sln.c:110
@@ -1066,7 +1069,7 @@
 #: elf/sln.c:185
 #, c-format
 msgid "%s: failed to remove the old destination\n"
-msgstr "%s: de oude bestemming verwijderen is mislukt\n"
+msgstr "%s: verwijderen van oude bestemming is mislukt\n"
 
 #: elf/sln.c:193
 #, c-format
@@ -1096,7 +1099,7 @@
 
 #: elf/sprof.c:89
 msgid "Read and display shared object profiling data."
-msgstr "Profielgegevens gedeeld object lezen en weergeven."
+msgstr "Profiling-gegevens van gedeeld object lezen en tonen."
 
 #: elf/sprof.c:94
 msgid "SHOBJ [PROFDATA]"
@@ -1111,7 +1114,7 @@
 #: elf/sprof.c:429
 #, c-format
 msgid "cannot create internal descriptors"
-msgstr "kan interne descriptor niet aanmaken"
+msgstr "kan geen interne descriptors aanmaken"
 
 #: elf/sprof.c:548
 #, c-format
@@ -1756,7 +1759,7 @@
 #: locale/programs/ld-collate.c:426
 #, c-format
 msgid "`%.*s' already defined in repertoire"
-msgstr "`%.*s' is al gedefinieerd in repertoire"
+msgstr "'%.*s' is al gedefinieerd in repertoire"
 
 #: locale/programs/ld-collate.c:433
 #, c-format
@@ -2118,6 +2121,9 @@
 msgid "premature end of `translit_ignore' definition"
 msgstr "voortijdig einde van definitie van 'translit_ignore'"
 
+#
+# This error message is issued when yacc finds an error at parse time.
+#
 #: locale/programs/ld-ctype.c:2076 locale/programs/ld-ctype.c:2127
 #: locale/programs/ld-ctype.c:2169
 msgid "syntax error"
@@ -2437,11 +2443,11 @@
 
 #: locale/programs/locale.c:82
 msgid "Print more information"
-msgstr "uitgebreide uitvoer produceren"
+msgstr "gedetailleerde uitvoer produceren"
 
 #: locale/programs/locale.c:87
 msgid "Get locale-specific information."
-msgstr "Informatie over taalregio ophalen."
+msgstr "Informatie over taalregios tonen."
 
 #: locale/programs/locale.c:90
 msgid ""
@@ -2514,7 +2520,7 @@
 
 #: locale/programs/localedef.c:135
 msgid "Print more messages"
-msgstr "breedsprakige uitvoer"
+msgstr "gedetailleerde uitvoer produceren"
 
 #: locale/programs/localedef.c:136
 msgid "Archive control:"
@@ -2759,7 +2765,7 @@
 
 #: locale/programs/locfile.c:782
 msgid "expecting string argument for `copy'"
-msgstr "argument van `copy' dient een tekenreeks te zijn"
+msgstr "argument van 'copy' dient een tekenreeks te zijn"
 
 #: locale/programs/locfile.c:786
 msgid "locale name should consist only of portable characters"
@@ -2884,6 +2890,7 @@
 "\n"
 msgstr ""
 "Gebruik:  memusage [OPTIE]... PROGRAMMA [PROGRAMMA-OPTIE]...\n"
+"\n"
 "Het geheugengebruik van PROGRAMMA bijhouden.\n"
 "\n"
 "  -n,--progname=NAAM     te observeren programma\n"
@@ -2896,7 +2903,7 @@
 "\n"
 "  -?,--help              deze hulptekst tonen\n"
 "     --usage             een korte gebruikssamenvatting tonen\n"
-"  -V,--version           programmaversie tonen\n"
+"  -V,--version           de programmaversie tonen\n"
 "\n"
 " De volgende opties zijn alleen bij grafische uitvoer van toepassing:\n"
 "  -t,--time-based        de grafiek lineair in de tijd maken\n"
@@ -3647,7 +3654,7 @@
 
 #: nscd/connections.c:578
 msgid "uninitialized header"
-msgstr "niet-geïnitialiseerde header"
+msgstr "ongeïnitialiseerde header"
 
 #: nscd/connections.c:583
 msgid "header size does not match"
@@ -3674,12 +3681,14 @@
 #: nscd/connections.c:651
 #, c-format
 msgid "cannot access '%s'"
-msgstr "kan '%s' niet openen"
+msgstr "kan geen toegang tot '%s' verkrijgen"
 
 #: nscd/connections.c:699
 #, c-format
 msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart"
-msgstr "gegevensbestand voor %s is beschadigd of wordt al gebruikt; verwijder %s zo nodig handmatig en herstart"
+msgstr ""
+"gegevensbestand voor %s is beschadigd of wordt al gebruikt;\n"
+"verwijder %s zo nodig handmatig en herstart"
 
 #: nscd/connections.c:706
 #, c-format
@@ -3818,7 +3827,7 @@
 #: nscd/connections.c:1903 nscd/connections.c:2101
 #, c-format
 msgid "disabled inotify after read error %d"
-msgstr "inotify uitgeschakeld na leesfout %d"
+msgstr "'inotify' is  uitgeschakeld na leesfout %d"
 
 #: nscd/connections.c:2230
 msgid "could not initialize conditional variable"
@@ -3826,11 +3835,11 @@
 
 #: nscd/connections.c:2238
 msgid "could not start clean-up thread; terminating"
-msgstr "kan opschoon-thread niet starten; gestopt"
+msgstr "kan opschoon-thread niet starten -- gestopt"
 
 #: nscd/connections.c:2252
 msgid "could not start any worker thread; terminating"
-msgstr "kan geen worker-thread starten; gestopt"
+msgstr "kan geen enkele werk-thread starten -- gestopt"
 
 #: nscd/connections.c:2303 nscd/connections.c:2304 nscd/connections.c:2321
 #: nscd/connections.c:2330 nscd/connections.c:2348 nscd/connections.c:2359
@@ -3878,7 +3887,7 @@
 #: nscd/mem.c:457
 #, c-format
 msgid "freed %zu bytes in %s cache"
-msgstr "%zu bytes in cache %s vrijgegeven"
+msgstr "%zu bytes in cache %s zijn vrijgegeven"
 
 #: nscd/mem.c:594
 #, c-format
@@ -3968,7 +3977,7 @@
 #: nscd/nscd.c:345
 #, c-format
 msgid "'%s' is not a known database"
-msgstr "'%s' is geen bekende database"
+msgstr "'%s' is geen bekende gegevensbank"
 
 #: nscd/nscd.c:370 nscd/nscd_stat.c:191
 #, c-format
@@ -4248,7 +4257,7 @@
 
 #: nscd/selinux.c:374
 msgid "compile-time support for database policy missing"
-msgstr "ondersteuning compileertijd voor databasebeleid ontbreekt"
+msgstr "ondersteuning voor gegevensbankbeleid is niet meegecompileerd"
 
 #: nscd/selinux.c:407
 #, c-format
@@ -4297,7 +4306,7 @@
 
 #: nss/getent.c:62
 msgid "Get entries from administrative database."
-msgstr "Haal items uit administratieve database."
+msgstr "Items uit administratieve gegevensbank ophalen."
 
 #: nss/getent.c:143 nss/getent.c:408
 #, c-format
@@ -4398,12 +4407,12 @@
 "environment SPEC.\n"
 "\n"
 msgstr ""
-"Gebruik: getconf [-v SPEC] VAR\n"
-"  of:    getconf [-v SPEC] PAD_VAR PAD\n"
+"Gebruik:  getconf [-v SPEC] VAR\n"
+"     of:  getconf [-v SPEC] PADVAR PAD\n"
 "\n"
-"De configuratiewaarde voor variabele VAR ophalen, of variabele PAD_VAR\n"
-"voor pad PAD. Als SPEC opgegeven wordt, gelden de waarden voor de\n"
-"compilatieomgeving.\n"
+"De configuratiewaarde van variabele VAR tonen, of van variabele PADVAR\n"
+"voor pad PAD.  Als SPEC gegeven is, de waarden uit compilatieomgeving\n"
+"SPEC weergeven.\n"
 "\n"
 
 #: posix/getconf.c:1081
@@ -4459,7 +4468,7 @@
 #: posix/getopt.c:800 posix/getopt.c:803
 #, c-format
 msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: ongeldige optie -- %c\n"
+msgstr "%s: ongeldige optie -- '%c'\n"
 
 #: posix/getopt.c:853 posix/getopt.c:870 posix/getopt.c:1073
 #: posix/getopt.c:1091
@@ -4485,6 +4494,7 @@
 msgid "Invalid regular expression"
 msgstr "Ongeldige reguliere expressie"
 
+# Zie http://mailman.vrijschrift.org/pipermail/vertaling/2005-August/004670.html
 #: posix/regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Ongeldig samengesteld teken"
@@ -4919,122 +4929,122 @@
 #: sunrpc/rpc_main.c:1469
 #, c-format
 msgid "options:\n"
-msgstr "opties:\n"
+msgstr "Opties:\n"
 
 #: sunrpc/rpc_main.c:1470
 #, c-format
 msgid "-a\t\tgenerate all files, including samples\n"
-msgstr "-a\t\talle bestanden genereren, inclusief voorbeelden\n"
+msgstr "-a               alle bestanden genereren, inclusief voorbeelden\n"
 
 #: sunrpc/rpc_main.c:1471
 #, c-format
 msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"
-msgstr "-b\t\tterugwaardse compatibiliteitsmodus (maakt code voor SunOS 4.1 aan)\n"
+msgstr "-b               terugwaartse compatibiliteitsmodus (genereert SunOS 4.1-code)\n"
 
 #: sunrpc/rpc_main.c:1472
 #, c-format
 msgid "-c\t\tgenerate XDR routines\n"
-msgstr "-c\t\tXDR-routines genereren\n"
+msgstr "-c               XDR-routines genereren\n"
 
 #: sunrpc/rpc_main.c:1473
 #, c-format
 msgid "-C\t\tANSI C mode\n"
-msgstr "-C\t\tANSI C-modus\n"
+msgstr "-C               ANSI C-modus\n"
 
 #: sunrpc/rpc_main.c:1474
 #, c-format
 msgid "-Dname[=value]\tdefine a symbol (same as #define)\n"
-msgstr "-Dname[=waarde]\tdefineert een symbool (gelijk aan #define)\n"
+msgstr "-Dname[=WAARDE]  een symbool definiëren (hetzelfde als #define)\n"
 
 #: sunrpc/rpc_main.c:1475
 #, c-format
 msgid "-h\t\tgenerate header file\n"
-msgstr "-h\t\tgenereert headerbestand\n"
+msgstr "-h               headerbestand genereren\n"
 
 #: sunrpc/rpc_main.c:1476
 #, c-format
 msgid "-i size\t\tsize at which to start generating inline code\n"
-msgstr "-i grootte\t\tbij overschrijden grootte wordt inline-code aangemaakt\n"
+msgstr "-i GROOTTE       na overschrijden van GROOTTE wordt inline-code gegenereerd\n"
 
 #: sunrpc/rpc_main.c:1477
 #, c-format
 msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"
-msgstr "-I\t\tgenereert code voor inetd-ondersteuning in server (voor SunOS 4.1)\n"
+msgstr "-I               code genereren voor inetd-serverondersteuning (voor SunOS 4.1)\n"
 
 #: sunrpc/rpc_main.c:1478
 #, c-format
 msgid "-K seconds\tserver exits after K seconds of inactivity\n"
-msgstr "-K seconden\tserver stopt na K seconden van inactiviteit\n"
+msgstr "-K SECONDEN      server stopt na dit aantal seconden van inactiviteit\n"
 
 #: sunrpc/rpc_main.c:1479
 #, c-format
 msgid "-l\t\tgenerate client side stubs\n"
-msgstr "-l\t\tgenereert client-side stubs\n"
+msgstr "-l               client-side stubs genereren\n"
 
 #: sunrpc/rpc_main.c:1480
 #, c-format
 msgid "-L\t\tserver errors will be printed to syslog\n"
-msgstr "-L\t\tserverfouten worden weggeschreven naar syslog\n"
+msgstr "-L               serverfouten worden naar syslog geschreven\n"
 
 #: sunrpc/rpc_main.c:1481
 #, c-format
 msgid "-m\t\tgenerate server side stubs\n"
-msgstr "-m\t\tgenereert server-side stubs\n"
+msgstr "-m               server-side stubs genereren\n"
 
 #: sunrpc/rpc_main.c:1482
 #, c-format
 msgid "-M\t\tgenerate MT-safe code\n"
-msgstr "-M\t\tgenereert MT-safe-code\n"
+msgstr "-M               MT-safe-code genereren\n"
 
 #: sunrpc/rpc_main.c:1483
 #, c-format
 msgid "-n netid\tgenerate server code that supports named netid\n"
-msgstr "-n netid\tgenereert servercode die benoemde netid ondersteund\n"
+msgstr "-n NETID         servercode genereren die deze NETID ondersteunt\n"
 
 #: sunrpc/rpc_main.c:1484
 #, c-format
 msgid "-N\t\tsupports multiple arguments and call-by-value\n"
-msgstr "-N\t\tondersteunt meervoudige argumenten en call-by-value\n"
+msgstr "-N               meervoudige argumenten en call-by-value ondersteunen\n"
 
 #: sunrpc/rpc_main.c:1485
 #, c-format
 msgid "-o outfile\tname of the output file\n"
-msgstr "-o uitvoer\tnaam van het uitvoerbestand\n"
+msgstr "-o UITBESTAND    naam van het uitvoerbestand\n"
 
 #: sunrpc/rpc_main.c:1486
 #, c-format
 msgid "-s nettype\tgenerate server code that supports named nettype\n"
-msgstr "-s nettype\tgenereert servercode dat benoemde nettype ondersteund\n"
+msgstr "-s NETTYPE       servercode generen die dit NETTYPE ondersteunt\n"
 
 #: sunrpc/rpc_main.c:1487
 #, c-format
 msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n"
-msgstr "-Sc\t\tgenereert voorbeeld-clientcode die remote-procedures ondersteunt\n"
+msgstr "-Sc              voorbeeld-cliëntcode genereren die remote-procedures gebruikt\n"
 
 #: sunrpc/rpc_main.c:1488
 #, c-format
 msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n"
-msgstr "-Ss\t\tgenereert voorbeeld-servercode die remote-procedures definieert\n"
+msgstr "-Ss              voorbeeld-servercode genereren die remote-procedures definieert\n"
 
 #: sunrpc/rpc_main.c:1489
 #, c-format
 msgid "-Sm \t\tgenerate makefile template \n"
-msgstr "-Sm \t\tgenereert makefilesjabloon \n"
+msgstr "-Sm              'makefile'-sjabloon genereren\n"
 
 #: sunrpc/rpc_main.c:1490
 #, c-format
 msgid "-t\t\tgenerate RPC dispatch table\n"
-msgstr "-t\t\tgenereert RPC-dispatchtabel\n"
+msgstr "-t               RPC-dispatch-tabel genereren\n"
 
 #: sunrpc/rpc_main.c:1491
 #, c-format
 msgid "-T\t\tgenerate code to support RPC dispatch tables\n"
-msgstr "-T\t\tgenereert code om RPC-dispatchtabellen te ondersteunen\n"
+msgstr "-T               code genereren om RPC-dispatch-tabellen te ondersteunen\n"
 
 #: sunrpc/rpc_main.c:1492
 #, c-format
 msgid "-Y path\t\tdirectory name to find C preprocessor (cpp)\n"
-msgstr "-Y pad\t\tmapnaam om C-voorverwerker (CPP) te vinden\n"
+msgstr "-Y PAD           naam van map waarin C-voorverwerker 'cpp' is te vinden\n"
 
 #: sunrpc/rpc_scan.c:114
 msgid "constant or identifier expected"
@@ -5225,17 +5235,20 @@
 msgid "svc_unix.c - cannot getsockname or listen"
 msgstr "svc_unix.c: getsockname() en listen() zijn mislukt"
 
+# Vroeger ging dit over het afsluiten van een modemverbinding,
+# tegenwoordig over het afsluiten van een pseudoterminal.
 #: sysdeps/generic/siglist.h:29 sysdeps/unix/siglist.c:27
 msgid "Hangup"
-msgstr "Ophangen"
+msgstr "Opgehangen"
 
 #: sysdeps/generic/siglist.h:30 sysdeps/unix/siglist.c:28
 msgid "Interrupt"
-msgstr "Onderbreken"
-
+msgstr "Onderbroken"
+
+# Verleden tijd, "Afgesloten", net als de andere actiesignaalnamen.
 #: sysdeps/generic/siglist.h:31 sysdeps/unix/siglist.c:29
 msgid "Quit"
-msgstr "Afsluiten"
+msgstr "Afgesloten"
 
 #: sysdeps/generic/siglist.h:32 sysdeps/unix/siglist.c:30
 msgid "Illegal instruction"
@@ -5251,7 +5264,7 @@
 
 #: sysdeps/generic/siglist.h:35 sysdeps/unix/siglist.c:34
 msgid "Floating point exception"
-msgstr "Drijvende-komma-berekeningsfout"
+msgstr "Drijvendekomma-berekeningsfout"
 
 #: sysdeps/generic/siglist.h:36 sysdeps/unix/siglist.c:35
 msgid "Killed"
@@ -5277,23 +5290,23 @@
 
 #: sysdeps/generic/siglist.h:40 sysdeps/unix/siglist.c:40
 msgid "Alarm clock"
-msgstr "Alarmklok"
+msgstr "Wekker"
 
 #: sysdeps/generic/siglist.h:41 sysdeps/unix/siglist.c:41
 msgid "Terminated"
-msgstr "Afgesloten"
+msgstr "Beëindigd"
 
 #: sysdeps/generic/siglist.h:42 sysdeps/unix/siglist.c:42
 msgid "Urgent I/O condition"
-msgstr "Spoedeisende I/O-toestand"
+msgstr "Urgente in-/uitvoertoestand"
 
 #: sysdeps/generic/siglist.h:43 sysdeps/unix/siglist.c:43
 msgid "Stopped (signal)"
-msgstr "Gestopt (signaal)"
+msgstr "Gepauzeerd (signaal)"
 
 #: sysdeps/generic/siglist.h:44 sysdeps/unix/siglist.c:44
 msgid "Stopped"
-msgstr "Gestopt"
+msgstr "Gepauzeerd"
 
 #: sysdeps/generic/siglist.h:45 sysdeps/unix/siglist.c:45
 msgid "Continued"
@@ -5301,19 +5314,19 @@
 
 #: sysdeps/generic/siglist.h:46 sysdeps/unix/siglist.c:46
 msgid "Child exited"
-msgstr "Kind is afgesloten"
+msgstr "Dochter is afgesloten"
 
 #: sysdeps/generic/siglist.h:47 sysdeps/unix/siglist.c:47
 msgid "Stopped (tty input)"
-msgstr "Gestopt (tty-invoer)"
+msgstr "Gepauzeerd (terminalinvoer)"
 
 #: sysdeps/generic/siglist.h:48 sysdeps/unix/siglist.c:48
 msgid "Stopped (tty output)"
-msgstr "Gestopt (tty-uitvoer)"
+msgstr "Gepauzeerd (terminaluitvoer)"
 
 #: sysdeps/generic/siglist.h:49 sysdeps/unix/siglist.c:49
 msgid "I/O possible"
-msgstr "I/O is mogelijk"
+msgstr "In-/uitvoer is mogelijk"
 
 #: sysdeps/generic/siglist.h:50 sysdeps/unix/siglist.c:50
 msgid "CPU time limit exceeded"
@@ -5337,11 +5350,11 @@
 
 #: sysdeps/generic/siglist.h:55 sysdeps/unix/siglist.c:56
 msgid "User defined signal 1"
-msgstr "Eerste door gebruiker gedefinieerd signaal"
+msgstr "Gebruikergedefinieerd signaal 1"
 
 #: sysdeps/generic/siglist.h:56 sysdeps/unix/siglist.c:57
 msgid "User defined signal 2"
-msgstr "Tweede door gebruiker gedefinieerd signaal"
+msgstr "Gebruikergedefinieerd signaal 2"
 
 #: sysdeps/generic/siglist.h:60 sysdeps/unix/siglist.c:33
 msgid "EMT trap"
@@ -5353,7 +5366,7 @@
 
 #: sysdeps/generic/siglist.h:66
 msgid "Stack fault"
-msgstr "Stackfout"
+msgstr "Stack-fout"
 
 #: sysdeps/generic/siglist.h:69
 msgid "Information request"
@@ -5940,7 +5953,7 @@
 #. TRANS up, before it has connected to the file.
 #: sysdeps/gnu/errlist.c:955
 msgid "Translator died"
-msgstr "Vertaler bestaat niet meer"
+msgstr "Vertaalprogramma is gecrasht"
 
 #. TRANS The experienced user will know what is wrong.
 #. TRANS @c This error code is a joke.  Its perror text is part of the joke.
@@ -6206,7 +6219,7 @@
 
 #: sysdeps/posix/gai_strerror-strs.h:2
 msgid "Temporary failure in name resolution"
-msgstr "Tijdelijke storing in naamsherleiding"
+msgstr "Tijdelijk probleem in naamsherleiding"
 
 #: sysdeps/posix/gai_strerror-strs.h:3
 msgid "Bad value for ai_flags"
@@ -6214,7 +6227,7 @@
 
 #: sysdeps/posix/gai_strerror-strs.h:4
 msgid "Non-recoverable failure in name resolution"
-msgstr "Onherstelbare mislukking in naamsherleiding"
+msgstr "Onherstelbaar probleem in naamsherleiding"
 
 #: sysdeps/posix/gai_strerror-strs.h:5
 msgid "ai_family not supported"
@@ -6292,7 +6305,7 @@
 "Usage: lddlibc4 FILE\n"
 "\n"
 msgstr ""
-"Gebruik: lddlibc4 BESTAND\n"
+"Gebruik:  lddlibc4 BESTAND\n"
 "\n"
 
 #: sysdeps/unix/sysv/linux/lddlibc4.c:82
@@ -6431,6 +6444,10 @@
 msgid "%s in ruleless zone"
 msgstr "%s in voorschriftloze zone"
 
+#
+# This is the name of the program's standard input.  The place input
+# from getchar (et al) comes from.
+#
 #: timezone/zic.c:816
 msgid "standard input"
 msgstr "standaardinvoer"
@@ -6677,7 +6694,9 @@
 
 #: timezone/zic.c:2577
 msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic"
-msgstr "voorschrift gaat voorbij begin of einde van maand -- dit werkt niet met versies van 'zic' van voor 2004"
+msgstr ""
+"voorschrift gaat voorbij begin of einde van maand --\n"
+"dit werkt niet met versies van 'zic' van voor 2004"
 
 #: timezone/zic.c:2609
 msgid "time zone abbreviation lacks alphabetic at start"
@@ -6708,78 +6727,3 @@
 #, c-format
 msgid "%s: %d did not sign extend correctly\n"
 msgstr "%s: %d is niet correct omgezet naar een grotere precisie\n"
-
-#~ msgid "cannot create searchlist"
-#~ msgstr "kan zoeklijst niet aanmaken"
-
-#~ msgid ""
-#~ "Read and display shared object profiling data.\vFor bug reporting instructions, please see:\n"
-#~ "<http://www.gnu.org/software/libc/bugs.html>.\n"
-#~ msgstr ""
-#~ "  \n"
-#~ "Gegevens van prestatie-analyse inlezen en afbeelden.\vVoor het rapporteren van fouten, zie:\n"
-#~ "  <http://www.gnu.org/software/libc/bugs.html>.\n"
-
-#~ msgid "%s: stopping date is invalid in string %Zd in `era' field"
-#~ msgstr "%s: einddatum is ongeldig in tekenreeks %Zd in het veld 'era'"
-
-#~ msgid ""
-#~ "Get locale-specific information.\vFor bug reporting instructions, please see:\n"
-#~ "<http://www.gnu.org/software/libc/bugs.html>.\n"
-#~ msgstr ""
-#~ "  \n"
-#~ "Informatie over taalregio-instellingen weergeven.\vVoor het rapporteren van fouten, zie:\n"
-#~ "  <http://www.gnu.org/software/libc/bugs.html>.\n"
-
-#~ msgid ""
-#~ "Get entries from administrative database.\vFor bug reporting instructions, please see:\n"
-#~ "<http://www.gnu.org/software/libc/bugs.html>.\n"
-#~ msgstr ""
-#~ "  \n"
-#~ "Items uit een gegevensbank weergeven.\vVoor het rapporteren van fouten, zie:\n"
-#~ "  <http://www.gnu.org/software/libc/bugs.html>.\n"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: ongeldige optie -- %c\n"
-
-#~ msgid "authunix_create: out of memory\n"
-#~ msgstr "authunix_create(): onvoldoende geheugen\n"
-
-#~ msgid "clnttcp_create: out of memory\n"
-#~ msgstr "clnttcp_create(): onvoldoende geheugen\n"
-
-#~ msgid "clntudp_create: out of memory\n"
-#~ msgstr "clntudp_create(): onvoldoende geheugen\n"
-
-#~ msgid "clntunix_create: out of memory\n"
-#~ msgstr "clntunix_create(): onvoldoende geheugen\n"
-
-#~ msgid "svctcp_create: out of memory\n"
-#~ msgstr "svctcp_create(): onvoldoende geheugen\n"
-
-#~ msgid "svc_tcp: makefd_xprt: out of memory\n"
-#~ msgstr "svc_tcp.c: makefd_xprt(): onvoldoende geheugen\n"
-
-#~ msgid "svcudp_create: out of memory\n"
-#~ msgstr "svcudp_create(): onvoldoende geheugen\n"
-
-#~ msgid "svcunix_create: out of memory\n"
-#~ msgstr "svcunix_create(): onvoldoende geheugen\n"
-
-#~ msgid "svc_unix: makefd_xprt: out of memory\n"
-#~ msgstr "svc_unix.c: makefd_xprt(): onvoldoende geheugen\n"
-
-#~ msgid "xdr_bytes: out of memory\n"
-#~ msgstr "xdr_bytes(): onvoldoende geheugen\n"
-
-#~ msgid "xdr_string: out of memory\n"
-#~ msgstr "xdr_string(): onvoldoende geheugen\n"
-
-#~ msgid "xdr_array: out of memory\n"
-#~ msgstr "xdr_array(): onvoldoende geheugen\n"
-
-#~ msgid "xdrrec_create: out of memory\n"
-#~ msgstr "xdrrec_create(): onvoldoende geheugen\n"
-
-#~ msgid "xdr_reference: out of memory\n"
-#~ msgstr "xdr_reference(): onvoldoende geheugen\n"

Modified: trunk/libc/posix/gai.conf
==============================================================================
--- trunk/libc/posix/gai.conf (original)
+++ trunk/libc/posix/gai.conf Wed Apr  7 03:58:21 2010
@@ -66,3 +66,12 @@
 #scopev4 ::ffff:172.16.0.0/108   5
 #scopev4 ::ffff:192.168.0.0/112  5
 #scopev4 ::ffff:0.0.0.0/96       14
+#
+#    For sites which use site-local IPv4 addresses behind NAT there is
+#    the problem that even if IPv4 addresses are preferred they do not
+#    have the same scope and are therefore not sorted first.  To change
+#    this use only these rules:
+#
+#scopev4 ::ffff:169.254.0.0/112  2
+#scopev4 ::ffff:127.0.0.0/104    2
+#scopev4 ::ffff:0.0.0.0/96       14

Modified: trunk/libc/posix/getopt.c
==============================================================================
--- trunk/libc/posix/getopt.c (original)
+++ trunk/libc/posix/getopt.c Wed Apr  7 03:58:21 2010
@@ -2,7 +2,8 @@
    NOTE: getopt is part of the C library, so if you don't know what
    "Keep this file name-space clean" means, talk to drepper@xxxxxxx
    before changing it!
-   Copyright (C) 1987-1996,1998-2004,2008,2009 Free Software Foundation, Inc.
+   Copyright (C) 1987-1996,1998-2004,2008,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
@@ -679,8 +680,8 @@
 		      char *buf;
 
 		      if (__asprintf (&buf, _("\
-%s: option '%s' requires an argument\n"),
-				      argv[0], argv[d->optind - 1]) >= 0)
+%s: option '--%s' requires an argument\n"),
+				      argv[0], pfound->name) >= 0)
 			{
 			  _IO_flockfile (stderr);
 
@@ -697,8 +698,8 @@
 			}
 #else
 		      fprintf (stderr,
-			       _("%s: option '%s' requires an argument\n"),
-			       argv[0], argv[d->optind - 1]);
+			       _("%s: option '--%s' requires an argument\n"),
+			       argv[0], pfound->name);
 #endif
 		    }
 		  d->__nextchar += strlen (d->__nextchar);
@@ -922,7 +923,7 @@
 		char *buf;
 
 		if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
-				argv[0], argv[d->optind]) >= 0)
+				argv[0], d->optarg) >= 0)
 		  {
 		    _IO_flockfile (stderr);
 
@@ -938,7 +939,7 @@
 		  }
 #else
 		fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
-			 argv[0], argv[d->optind]);
+			 argv[0], d->optarg);
 #endif
 	      }
 	    d->__nextchar += strlen (d->__nextchar);
@@ -1001,8 +1002,8 @@
 			char *buf;
 
 			if (__asprintf (&buf, _("\
-%s: option '%s' requires an argument\n"),
-					argv[0], argv[d->optind - 1]) >= 0)
+%s: option '-W %s' requires an argument\n"),
+					argv[0], pfound->name) >= 0)
 			  {
 			    _IO_flockfile (stderr);
 
@@ -1018,9 +1019,9 @@
 			    free (buf);
 			  }
 #else
-			fprintf (stderr,
-				 _("%s: option '%s' requires an argument\n"),
-				 argv[0], argv[d->optind - 1]);
+			fprintf (stderr, _("\
+%s: option '-W %s' requires an argument\n"),
+				 argv[0], pfound->name);
 #endif
 		      }
 		    d->__nextchar += strlen (d->__nextchar);

Modified: trunk/libc/posix/glob.c
==============================================================================
--- trunk/libc/posix/glob.c (original)
+++ trunk/libc/posix/glob.c Wed Apr  7 03:58:21 2010
@@ -439,6 +439,8 @@
 	}
     }
 
+  oldcount = pglob->gl_pathc + pglob->gl_offs;
+
   /* Find the filename.  */
   filename = strrchr (pattern, '/');
 #if defined __MSDOS__ || defined WINDOWS32
@@ -555,8 +557,6 @@
 	  return val;
 	}
     }
-
-  oldcount = pglob->gl_pathc + pglob->gl_offs;
 
 #ifndef VMS
   if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && dirname[0] == '~')
@@ -1047,9 +1047,9 @@
 	     : (__stat64 (pglob->gl_pathv[i], &st64) == 0
 		&& S_ISDIR (st64.st_mode))))
 	  {
- 	    size_t len = strlen (pglob->gl_pathv[i]) + 2;
+	    size_t len = strlen (pglob->gl_pathv[i]) + 2;
 	    char *new = realloc (pglob->gl_pathv[i], len);
- 	    if (new == NULL)
+	    if (new == NULL)
 	      {
 		globfree (pglob);
 		pglob->gl_pathc = 0;

Modified: trunk/libc/resolv/netdb.h
==============================================================================
--- trunk/libc/resolv/netdb.h (original)
+++ trunk/libc/resolv/netdb.h Wed Apr  7 03:58:21 2010
@@ -517,6 +517,30 @@
 extern int ruserok_af (__const char *__rhost, int __suser,
 		       __const char *__remuser, __const char *__locuser,
 		       sa_family_t __af);
+
+/* Check whether user REMUSER on system indicated by IPv4 address
+   RADDR is allowed to login as LOCUSER.  Non-IPv4 (e.g., IPv6) are
+   not supported.  If SUSER is not zero the user tries to become
+   superuser.  Return 0 if it is possible.
+
+   This function is not part of POSIX and therefore no official
+   cancellation point.  But due to similarity with an POSIX interface
+   or due to the implementation it is a cancellation point and
+   therefore not marked with __THROW.  */
+extern int iruserok (uint32_t __raddr, int __suser,
+		     __const char *__remuser, __const char *__locuser);
+
+/* This is the equivalent function where the pfamiliy if the address
+   pointed to by RADDR is determined by the value of AF.  It therefore
+   can be used for IPv6
+
+   This function is not part of POSIX and therefore no official
+   cancellation point.  But due to similarity with an POSIX interface
+   or due to the implementation it is a cancellation point and
+   therefore not marked with __THROW.  */
+extern int iruserok_af (__const void *__raddr, int __suser,
+			__const char *__remuser, __const char *__locuser,
+			sa_family_t __af);
 
 /* Try to allocate reserved port, returning a descriptor for a socket opened
    at this port or -1 if unsuccessful.  The search for an available port

Modified: trunk/libc/resolv/nss_dns/dns-host.c
==============================================================================
--- trunk/libc/resolv/nss_dns/dns-host.c (original)
+++ trunk/libc/resolv/nss_dns/dns-host.c Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2004, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2004, 2007-2009, 2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Extended from original form by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
 
@@ -198,21 +198,27 @@
 			  1024, &host_buffer.ptr, NULL, NULL, NULL);
   if (n < 0)
     {
-      if (errno == ESRCH)
-	{
+      switch (errno)
+	{
+	case ESRCH:
 	  status = NSS_STATUS_TRYAGAIN;
 	  h_errno = TRY_AGAIN;
-	}
-      else
-	status = (errno == ECONNREFUSED
-		  ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND);
+	  break;
+	case ECONNREFUSED:
+	case ETIMEDOUT:
+	  status = NSS_STATUS_UNAVAIL;
+	  break;
+	default:
+	  status = NSS_STATUS_NOTFOUND;
+	  break;
+	}
       *h_errnop = h_errno;
       if (h_errno == TRY_AGAIN)
 	*errnop = EAGAIN;
       else
 	__set_errno (olderr);
 
-      /* If we are looking for a IPv6 address and mapping is enabled
+      /* If we are looking for an IPv6 address and mapping is enabled
 	 by having the RES_USE_INET6 bit in _res.options set, we try
 	 another lookup.  */
       if (af == AF_INET6 && (_res.options & RES_USE_INET6))

Modified: trunk/libc/sysdeps/gnu/Makefile
==============================================================================
--- trunk/libc/sysdeps/gnu/Makefile (original)
+++ trunk/libc/sysdeps/gnu/Makefile Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-# Copyright (C) 1996,1997,1998,1999,2001,2002,2003,2004,2005,2006
+# Copyright (C) 1996,1997,1998,1999,2001,2002,2003,2004,2005,2006,2010
 #	Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -78,3 +78,16 @@
 ifeq ($(subdir),misc)
 sysdep_headers += sys/mtio.h
 endif
+
+
+ifeq ($(subdir),csu)
+routines += unwind-resume
+shared-only-routines += unwind-resume
+CFLAGS-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
+endif
+
+ifeq ($(subdir),rt)
+librt-sysdep_routines += rt-unwind-resume
+librt-shared-only-routines += rt-unwind-resume
+CFLAGS-rt-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
+endif

Modified: trunk/libc/sysdeps/mach/hurd/dl-sysdep.c
==============================================================================
--- trunk/libc/sysdeps/mach/hurd/dl-sysdep.c (original)
+++ trunk/libc/sysdeps/mach/hurd/dl-sysdep.c Wed Apr  7 03:58:21 2010
@@ -1,5 +1,5 @@
 /* Operating system support for run-time dynamic linker.  Hurd version.
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
+   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2010
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -116,7 +116,8 @@
 ElfW(Addr)
 _dl_sysdep_start (void **start_argptr,
 		  void (*dl_main) (const ElfW(Phdr) *phdr, ElfW(Word) phent,
-				   ElfW(Addr) *user_entry))
+				   ElfW(Addr) *user_entry,
+				   ElfW(auxv_t) *auxv))
 {
   void go (intptr_t *argdata)
     {
@@ -197,7 +198,7 @@
 	 up and leave us to transfer control to USER_ENTRY.  */
       (*dl_main) ((const ElfW(Phdr) *) _dl_hurd_data->phdr,
 		  _dl_hurd_data->phdrsz / sizeof (ElfW(Phdr)),
-		  &_dl_hurd_data->user_entry);
+		  &_dl_hurd_data->user_entry, NULL);
 
       /* The call above might screw a few things up.
 

Modified: trunk/libc/sysdeps/posix/remove.c
==============================================================================
--- trunk/libc/sysdeps/posix/remove.c (original)
+++ trunk/libc/sysdeps/posix/remove.c Wed Apr  7 03:58:21 2010
@@ -1,5 +1,5 @@
 /* ANSI C `remove' function to delete a file or directory.  POSIX.1 version.
-   Copyright (C) 1995,96,97,2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 1995,96,97,2002,2003,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
@@ -21,6 +21,12 @@
 #include <stdio.h>
 #include <unistd.h>
 
+
+#ifndef IS_NO_DIRECTORY_ERROR
+# define IS_NO_DIRECTORY_ERROR errno != EPERM
+#endif
+
+
 int
 remove (file)
      const char *file;
@@ -28,7 +34,7 @@
   /* First try to unlink since this is more frequently the necessary action. */
   if (__unlink (file) != 0
       /* If it is indeed a directory...  */
-      && (errno != EISDIR
+      && (IS_NO_DIRECTORY_ERROR
 	  /* ...try to remove it.  */
 	  || __rmdir (file) != 0))
     /* Cannot remove the object for whatever reason.  */

Modified: trunk/libc/sysdeps/unix/readdir_r.c
==============================================================================
--- trunk/libc/sysdeps/unix/readdir_r.c (original)
+++ trunk/libc/sysdeps/unix/readdir_r.c Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,02
+/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,02,10
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -113,7 +113,17 @@
   while (dp->d_ino == 0);
 
   if (dp != NULL)
-    *result = memcpy (entry, dp, reclen);
+    {
+#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));
+#endif
+      *result = memcpy (entry, dp, reclen);
+#ifdef GETDENTS_64BIT_ALIGNED
+      entry->d_reclen = reclen;
+#endif
+    }
   else
     *result = NULL;
 

Modified: trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h Wed Apr  7 03:58:21 2010
@@ -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, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -232,6 +232,8 @@
 #define	MSG_NOSIGNAL	MSG_NOSIGNAL
     MSG_MORE		= 0x8000,  /* Sender will send more.  */
 #define	MSG_MORE	MSG_MORE
+    MSG_WAITFORONE	= 0x10000, /* Wait for at least one packet to return.*/
+#define MSG_WAITFORONE	MSG_WAITFORONE
 
     MSG_CMSG_CLOEXEC	= 0x40000000	/* Set close_on_exit for file
 					   descriptor received through

Modified: trunk/libc/sysdeps/unix/sysv/linux/getpagesize.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/getpagesize.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/getpagesize.c Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1995-1997,2000,2002,2004
+/* Copyright (C) 1991,1992,1995-1997,2000,2002,2004,2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -17,30 +17,37 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
 #include <unistd.h>
 #include <sys/param.h>
 
 #include <ldsodefs.h>
+#include <kernel-features.h>
 
 /* Return the system page size.  */
 int
 __getpagesize ()
 {
+#ifdef __ASSUME_AT_PAGESIZE
+  assert (GLRO(dl_pagesize) != 0);
+  return GLRO(dl_pagesize);
+#else
   if (GLRO(dl_pagesize) != 0)
     return GLRO(dl_pagesize);
 
-#ifdef	EXEC_PAGESIZE
+# ifdef	EXEC_PAGESIZE
   return EXEC_PAGESIZE;
-#else	/* No EXEC_PAGESIZE.  */
-#ifdef	NBPG
-#ifndef	CLSIZE
-#define	CLSIZE	1
-#endif	/* No CLSIZE.  */
+# else	/* No EXEC_PAGESIZE.  */
+#  ifdef NBPG
+#   ifndef CLSIZE
+#    define CLSIZE	1
+#   endif	/* No CLSIZE.  */
   return NBPG * CLSIZE;
-#else	/* No NBPG.  */
+#  else	/* No NBPG.  */
   return NBPC;
-#endif	/* NBPG.  */
-#endif	/* EXEC_PAGESIZE.  */
+#  endif	/* NBPG.  */
+# endif	/* EXEC_PAGESIZE.  */
+#endif
 }
 libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)

Modified: trunk/libc/sysdeps/unix/sysv/linux/getsysstats.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/getsysstats.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/getsysstats.c Wed Apr  7 03:58:21 2010
@@ -1,5 +1,5 @@
 /* Determine various system internal values, Linux version.
-   Copyright (C) 1996-2003, 2006, 2007, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1996-2003,2006,2007,2009,2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
 
@@ -117,18 +117,6 @@
       if (nl == NULL)
 	nl = *re - 1;
     }
-  else if (nl + 5 >= *re)
-    {
-      memmove (buffer, nl, *re - nl);
-      *re = buffer + (*re - nl);
-      nl = *cp = buffer;
-
-      ssize_t n = read_not_cancel (fd, *re, buffer_end - *re);
-      if (n < 0)
-	return NULL;
-
-      *re += n;
-    }
 
   *cp = nl + 1;
   assert (*cp <= *re);

Modified: trunk/libc/sysdeps/unix/sysv/linux/i386/fcntl.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/i386/fcntl.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/i386/fcntl.c Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000,2002,2003,2004,2006,2009 Free Software Foundation, Inc.
+/* Copyright (C) 2000,2002-2004,2006,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
@@ -25,23 +25,23 @@
 #include <sys/syscall.h>
 #include <kernel-features.h>
 
-#if __ASSUME_FCNTL64 == 0
+#ifndef __ASSUME_FCNTL64
 /* This variable is shared with all files that check for fcntl64.  */
 int __have_no_fcntl64;
 #endif
 
 #ifdef __ASSUME_F_GETOWN_EX
 # define miss_F_GETOWN_EX 0
-#else
+#elif !defined __ASSUME_FCNTL64
 static int miss_F_GETOWN_EX;
 #endif
 
 
-#if defined NO_CANCELLATION && __ASSUME_FCNTL64 == 0
+#if defined NO_CANCELLATION && !defined __ASSUME_FCNTL64
 # define __fcntl_nocancel  __libc_fcntl
 #endif
 
-#if !defined NO_CANCELLATION || __ASSUME_FCNTL64 == 0
+#if !defined NO_CANCELLATION || !defined __ASSUME_FCNTL64
 int
 __fcntl_nocancel (int fd, int cmd, ...)
 {
@@ -52,7 +52,7 @@
   arg = va_arg (ap, void *);
   va_end (ap);
 
-#if __ASSUME_FCNTL64 == 0
+#ifndef __ASSUME_FCNTL64
 # ifdef __NR_fcntl64
   if (! __have_no_fcntl64)
     {
@@ -135,11 +135,11 @@
 	  if (!INTERNAL_SYSCALL_ERROR_P (res, err))
 	    return fex.type == F_OWNER_GID ? -fex.pid : fex.pid;
 
-#ifndef __ASSUME_F_GETOWN_EX
+# ifndef __ASSUME_F_GETOWN_EX
 	  if (INTERNAL_SYSCALL_ERRNO (res, err) == EINVAL)
 	    miss_F_GETOWN_EX = 1;
 	  else
-#endif
+# endif
 	    {
 	      __set_errno (INTERNAL_SYSCALL_ERRNO (res, err));
 	      return -1;
@@ -168,21 +168,21 @@
   arg = va_arg (ap, void *);
   va_end (ap);
 
-#if __ASSUME_FCNTL64 > 0
+# ifdef __ASSUME_FCNTL64
   if (SINGLE_THREAD_P || (cmd != F_SETLKW && cmd != F_SETLKW64))
     return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg);
 
   int oldtype = LIBC_CANCEL_ASYNC ();
 
   int result = INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg);
-#else
+# else
   if (SINGLE_THREAD_P || (cmd != F_SETLKW && cmd != F_SETLKW64))
     return __fcntl_nocancel (fd, cmd, arg);
 
   int oldtype = LIBC_CANCEL_ASYNC ();
 
   int result = __fcntl_nocancel (fd, cmd, arg);
-#endif
+# endif
 
   LIBC_CANCEL_RESET (oldtype);
 

Modified: trunk/libc/sysdeps/unix/sysv/linux/i386/readdir64_r.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/i386/readdir64_r.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/i386/readdir64_r.c Wed Apr  7 03:58:21 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2004, 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
@@ -19,6 +19,7 @@
 #define __READDIR_R __readdir64_r
 #define __GETDENTS __getdents64
 #define DIRENT_TYPE struct dirent64
+#define GETDENTS_64BIT_ALIGNED 1
 
 #include <sysdeps/unix/readdir_r.c>
 

Modified: trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c Wed Apr  7 03:58:21 2010
@@ -1,5 +1,5 @@
 /* getifaddrs -- get names and addresses of all network interfaces
-   Copyright (C) 2003-2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2003-2008, 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
@@ -315,17 +315,19 @@
       else if (map[i] == index)
 	return i;
     }
-  /* This should never be reached. If this will be reached, we have
-     a very big problem.  */
-  abort ();
+
+  /* This means interfaces changed inbetween the reading of the
+     RTM_GETLINK and RTM_GETADDR information.  We have to repeat
+     everything.  */
+  return -1;
 }
 
 
 /* Create a linked list of `struct ifaddrs' structures, one for each
    network interface on the host machine.  If successful, store the
    list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
-int
-getifaddrs (struct ifaddrs **ifap)
+static int
+getifaddrs_internal (struct ifaddrs **ifap)
 {
   struct netlink_handle nh = { 0, 0, 0, NULL, NULL };
   struct netlink_res *nlp;
@@ -481,6 +483,13 @@
 		 kernel.  */
 	      ifa_index = map_newlink (ifim->ifi_index - 1, ifas,
 				       map_newlink_data, newlink);
+	      if (__builtin_expect (ifa_index == -1, 0))
+		{
+		try_again:
+		  result = -EAGAIN;
+		  free (ifas);
+		  goto exit_free;
+		}
 	      ifas[ifa_index].ifa.ifa_flags = ifim->ifi_flags;
 
 	      while (RTA_OK (rta, rtasize))
@@ -565,9 +574,11 @@
 		 that we have holes in the interface part of the list,
 		 but we always have already the interface for this address.  */
 	      ifa_index = newlink + newaddr_idx;
-	      ifas[ifa_index].ifa.ifa_flags
-		= ifas[map_newlink (ifam->ifa_index - 1, ifas,
-				    map_newlink_data, newlink)].ifa.ifa_flags;
+	      int idx = map_newlink (ifam->ifa_index - 1, ifas,
+				     map_newlink_data, newlink);
+	      if (__builtin_expect (idx == -1, 0))
+		goto try_again;
+	      ifas[ifa_index].ifa.ifa_flags = ifas[idx].ifa.ifa_flags;
 	      if (ifa_index > 0)
 		ifas[ifa_index - 1].ifa.ifa_next = &ifas[ifa_index].ifa;
 	      ++newaddr_idx;
@@ -747,9 +758,13 @@
 	      /* If we didn't get the interface name with the
 		 address, use the name from the interface entry.  */
 	      if (ifas[ifa_index].ifa.ifa_name == NULL)
-		ifas[ifa_index].ifa.ifa_name
-		  = ifas[map_newlink (ifam->ifa_index - 1, ifas,
-				      map_newlink_data, newlink)].ifa.ifa_name;
+		{
+		  int idx = map_newlink (ifam->ifa_index - 1, ifas,
+					 map_newlink_data, newlink);
+		  if (__builtin_expect (idx == -1, 0))
+		    goto try_again;
+		  ifas[ifa_index].ifa.ifa_name = ifas[idx].ifa.ifa_name;
+		}
 
 	      /* Calculate the netmask.  */
 	      if (ifas[ifa_index].ifa.ifa_addr
@@ -826,6 +841,22 @@
 
   return result;
 }
+
+
+/* Create a linked list of `struct ifaddrs' structures, one for each
+   network interface on the host machine.  If successful, store the
+   list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
+int
+getifaddrs (struct ifaddrs **ifap)
+{
+  int res;
+
+  do
+    res = getifaddrs_internal (ifap);
+  while (res == -EAGAIN);
+
+  return res;
+}
 libc_hidden_def (getifaddrs)
 
 

Modified: trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h Wed Apr  7 03:58:21 2010
@@ -1,6 +1,6 @@
 /* Set flags signalling availability of kernel features based on given
    kernel version number.
-   Copyright (C) 1999-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1999-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
@@ -65,7 +65,7 @@
 # define __ASSUME_LCHOWN_SYSCALL	1
 #endif
 
-/* When did the `setresuid' sysall became available?  */
+/* When did the `setresuid' syscall became available?  */
 #if __LINUX_KERNEL_VERSION >= 131584 && !defined __sparc__
 # define __ASSUME_SETRESUID_SYSCALL	1
 #endif
@@ -126,7 +126,7 @@
 #endif
 
 /* I know for sure that these are in 2.3.35 on powerpc. But PowerPC64 does not
-   support separate 64-bit syscalls, already 64-bit */
+   support separate 64-bit syscalls, already 64-bit.  */
 #if __LINUX_KERNEL_VERSION >= 131875 && defined __powerpc__ \
     && !defined __powerpc64__
 # define __ASSUME_TRUNCATE64_SYSCALL	1
@@ -158,8 +158,8 @@
 # define __ASSUME_LDT_WORKS		1
 #endif
 
-/* Linux 2.4.0 on PPC introduced a correct IPC64. But PowerPC64 does not
-   support a separate 64-bit sys call, already 64-bit */
+/* Linux 2.4.0 on PPC introduced a correct IPC64.  But PowerPC64 does not
+   support a separate 64-bit syscall, already 64-bit.  */
 #if __LINUX_KERNEL_VERSION >= 132096 && defined __powerpc__ \
     && !defined __powerpc64__
 # define __ASSUME_IPC64			1
@@ -208,7 +208,7 @@
 # define __ASSUME_GETDENTS64_SYSCALL	1
 #endif
 
-/* When did O_DIRECTORY became available?  Early in 2.3 but when?
+/* When did O_DIRECTORY become available?  Early in 2.3 but when?
    Be safe, use 2.3.99.  */
 #if __LINUX_KERNEL_VERSION >= 131939
 # define __ASSUME_O_DIRECTORY		1
@@ -412,7 +412,7 @@
 
 /* Starting with version 2.6.9, SSI_IEEE_RAISE_EXCEPTION exists.  */
 #if __LINUX_KERNEL_VERSION >= 0x020609 && defined __alpha__
-#define __ASSUME_IEEE_RAISE_EXCEPTION	1
+# define __ASSUME_IEEE_RAISE_EXCEPTION	1
 #endif
 
 /* On sparc64 stat64/lstat64/fstat64 syscalls were introduced in 2.6.12.  */

Modified: trunk/libc/sysdeps/unix/sysv/linux/mmap64.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/mmap64.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/mmap64.c Wed Apr  7 03:58:21 2010
@@ -49,7 +49,7 @@
 __mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset)
 {
 #ifdef __NR_mmap2
-# ifdef MMAP2_PAGE_SHIFT == -1
+# if MMAP2_PAGE_SHIFT == -1
   if (page_shift == 0)
     {
       int page_size = getpagesize ();

Modified: trunk/libc/sysdeps/x86_64/multiarch/init-arch.c
==============================================================================
--- trunk/libc/sysdeps/x86_64/multiarch/init-arch.c (original)
+++ trunk/libc/sysdeps/x86_64/multiarch/init-arch.c Wed Apr  7 03:58:21 2010
@@ -1,6 +1,6 @@
 /* Initialize CPU feature data.
    This file is part of the GNU C Library.
-   Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,6 +18,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <atomic.h>
 #include <cpuid.h>
 #include "init-arch.h"
 
@@ -26,7 +27,7 @@
 
 
 static void
-get_common_indeces (void)
+get_common_indeces (unsigned int *family, unsigned int *model)
 {
   __cpuid (1, __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax,
 	   __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ebx,
@@ -34,8 +35,8 @@
 	   __cpu_features.cpuid[COMMON_CPUID_INDEX_1].edx);
 
   unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
-  __cpu_features.family = (eax >> 8) & 0x0f;
-  __cpu_features.model = (eax >> 4) & 0x0f;
+  *family = (eax >> 8) & 0x0f;
+  *model = (eax >> 4) & 0x0f;
 }
 
 
@@ -45,27 +46,30 @@
   unsigned int ebx;
   unsigned int ecx;
   unsigned int edx;
+  unsigned int family = 0;
+  unsigned int model = 0;
+  enum cpu_features_kind kind;
 
   __cpuid (0, __cpu_features.max_cpuid, ebx, ecx, edx);
 
   /* This spells out "GenuineIntel".  */
   if (ebx == 0x756e6547 && ecx == 0x6c65746e && edx == 0x49656e69)
     {
-      __cpu_features.kind = arch_kind_intel;
+      kind = arch_kind_intel;
 
-      get_common_indeces ();
+      get_common_indeces (&family, &model);
 
       unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
       unsigned int extended_family = (eax >> 20) & 0xff;
       unsigned int extended_model = (eax >> 12) & 0xf0;
       if (__cpu_features.family == 0x0f)
 	{
-	  __cpu_features.family += extended_family;
-	  __cpu_features.model += extended_model;
+	  family += extended_family;
+	  model += extended_model;
 	}
       else if (__cpu_features.family == 0x06)
 	{
-	  __cpu_features.model += extended_model;
+	  model += extended_model;
 	  switch (__cpu_features.model)
 	    {
 	    case 0x1a:
@@ -85,12 +89,17 @@
   /* This spells out "AuthenticAMD".  */
   else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65)
     {
-      __cpu_features.kind = arch_kind_amd;
+      kind = arch_kind_amd;
 
-      get_common_indeces ();
+      get_common_indeces (&family, &model);
     }
   else
-    __cpu_features.kind = arch_kind_other;
+    kind = arch_kind_other;
+
+  __cpu_features.family = family;
+  __cpu_features.model = model;
+  atomic_write_barrier ();
+  __cpu_features.kind = kind;
 }
 
 #undef __get_cpu_features

Modified: trunk/libc/sysdeps/x86_64/multiarch/init-arch.h
==============================================================================
--- trunk/libc/sysdeps/x86_64/multiarch/init-arch.h (original)
+++ trunk/libc/sysdeps/x86_64/multiarch/init-arch.h Wed Apr  7 03:58:21 2010
@@ -1,5 +1,5 @@
 /* This file is part of the GNU C Library.
-   Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -52,7 +52,7 @@
 
 extern struct cpu_features
 {
-  enum
+  enum cpu_features_kind
     {
       arch_kind_unknown = 0,
       arch_kind_intel,

Modified: trunk/ports/ChangeLog
==============================================================================
--- trunk/ports/ChangeLog (original)
+++ trunk/ports/ChangeLog Wed Apr  7 03:58:21 2010
@@ -1,3 +1,7 @@
+2010-04-06  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* libc-abis: New.
+
 2006-03-06  Roland McGrath  <roland@xxxxxxxxxx>
 
 	* Makefile (%.bz2, %.gz): New pattern rules.

Modified: trunk/ports/ChangeLog.alpha
==============================================================================
--- trunk/ports/ChangeLog.alpha (original)
+++ trunk/ports/ChangeLog.alpha Wed Apr  7 03:58:21 2010
@@ -1,3 +1,11 @@
+2010-03-30  Richard Henderson  <rth@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/alpha/bits/socket.h (MSG_WAITFORONE): New.
+
+2010-03-30  Matt Turner  <mattst88@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/alpha/kernel-features.h: New.
+
 2010-03-26  Richard Henderson  <rth@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S: New.

Modified: trunk/ports/ChangeLog.arm
==============================================================================
--- trunk/ports/ChangeLog.arm (original)
+++ trunk/ports/ChangeLog.arm Wed Apr  7 03:58:21 2010
@@ -1,3 +1,9 @@
+2010-03-30  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/arm/dl-machine.h (VALID_ELF_ABIVERSION, VALID_ELF_OSABI,
+	VALID_ELF_HEADER): Remove.
+	* sysdeps/unix/sysv/linux/arm/ldsodefs.h: New.
+
 2010-03-26  Thomas Schwinge  <thomas@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/arm/configure.in: New file.

Modified: trunk/ports/ChangeLog.hppa
==============================================================================
--- trunk/ports/ChangeLog.hppa (original)
+++ trunk/ports/ChangeLog.hppa Wed Apr  7 03:58:21 2010
@@ -1,3 +1,8 @@
+2010-03-30  Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/hppa/bits/socket.h: Define
+	MSG_WAITFORONE.
+
 2010-02-17  Matt Turner  <mattst88@xxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/hppa/bits/socket.h: Actually fix

Modified: trunk/ports/ChangeLog.mips
==============================================================================
--- trunk/ports/ChangeLog.mips (original)
+++ trunk/ports/ChangeLog.mips Wed Apr  7 03:58:21 2010
@@ -1,3 +1,15 @@
+2010-04-06  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/mips/dl-machine.h (VALID_ELF_ABIVERSION,
+	VALID_ELF_OSABI, VALID_ELF_HEADER): Remove.
+	* sysdeps/unix/sysv/linux/mips/ldsodefs.h (VALID_ELF_ABIVERSION):
+	Define.
+
+2010-03-30  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Define
+	MSG_WAITFORONE.
+
 2010-03-24  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/mips/dl-lookup.c: Update from generic version.

Modified: trunk/ports/sysdeps/arm/dl-machine.h
==============================================================================
--- trunk/ports/sysdeps/arm/dl-machine.h (original)
+++ trunk/ports/sysdeps/arm/dl-machine.h Wed Apr  7 03:58:21 2010
@@ -1,6 +1,6 @@
 /* Machine-dependent ELF dynamic relocation inline functions.  ARM version.
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005
-	Free Software Foundation, Inc.
+   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,
+	2006, 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
@@ -25,14 +25,6 @@
 
 #include <sys/param.h>
 #include <tls.h>
-
-#define VALID_ELF_ABIVERSION(ver)	(ver == 0)
-#define VALID_ELF_OSABI(osabi) \
-  (osabi == ELFOSABI_SYSV || osabi == ELFOSABI_ARM)
-#define VALID_ELF_HEADER(hdr,exp,size) \
-  memcmp (hdr,exp,size-2) == 0 \
-  && VALID_ELF_OSABI (hdr[EI_OSABI]) \
-  && VALID_ELF_ABIVERSION (hdr[EI_ABIVERSION])
 
 #define CLEAR_CACHE(BEG,END)						\
   INTERNAL_SYSCALL_ARM (cacheflush, , 3, (BEG), (END), 0)

Modified: trunk/ports/sysdeps/mips/dl-machine.h
==============================================================================
--- trunk/ports/sysdeps/mips/dl-machine.h (original)
+++ trunk/ports/sysdeps/mips/dl-machine.h Wed Apr  7 03:58:21 2010
@@ -74,15 +74,6 @@
        *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \
        (ElfW(Addr)) (r); \
    } while (0)
-
-/* Allow ABIVERSION == 1, meaning PLTs and copy relocations are
-   required.  */
-#define VALID_ELF_ABIVERSION(ver)	(ver == 0 || ver == 2)
-#define VALID_ELF_OSABI(osabi)		(osabi == ELFOSABI_SYSV)
-#define VALID_ELF_HEADER(hdr,exp,size) \
-  memcmp (hdr,exp,size-2) == 0 \
-  && VALID_ELF_OSABI (hdr[EI_OSABI]) \
-  && VALID_ELF_ABIVERSION (hdr[EI_ABIVERSION])
 
 /* Return nonzero iff ELF header is compatible with the running host.  */
 static inline int __attribute_used__

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/socket.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/socket.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/socket.h Wed Apr  7 03:58:21 2010
@@ -232,6 +232,8 @@
 #define	MSG_NOSIGNAL	MSG_NOSIGNAL
     MSG_MORE		= 0x8000,  /* Sender will send more.  */
 #define	MSG_MORE	MSG_MORE
+    MSG_WAITFORONE	= 0x10000, /* Wait for at least one packet to return.*/
+#define MSG_WAITFORONE	MSG_WAITFORONE
 
     MSG_CMSG_CLOEXEC	= 0x40000000	/* Set close_on_exit for file
 					   descriptor received through

Modified: trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/socket.h Wed Apr  7 03:58:21 2010
@@ -233,6 +233,8 @@
 #define	MSG_NOSIGNAL	MSG_NOSIGNAL
     MSG_MORE		= 0x8000,  /* Sender will send more.  */
 #define	MSG_MORE	MSG_MORE
+    MSG_WAITFORONE     = 0x10000, /* Wait for at least one packet to return.*/
+#define MSG_WAITFORONE MSG_WAITFORONE
 
     MSG_CMSG_CLOEXEC	= 0x40000000	/* Set close_on_exit for file
                                            descriptor received through

Modified: trunk/ports/sysdeps/unix/sysv/linux/mips/bits/socket.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/mips/bits/socket.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/mips/bits/socket.h Wed Apr  7 03:58:21 2010
@@ -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 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
@@ -232,6 +232,8 @@
 #define	MSG_NOSIGNAL	MSG_NOSIGNAL
     MSG_MORE		= 0x8000,  /* Sender will send more.  */
 #define	MSG_MORE	MSG_MORE
+    MSG_WAITFORONE	= 0x10000, /* Wait for at least one packet to return.*/
+#define MSG_WAITFORONE	MSG_WAITFORONE
 
     MSG_CMSG_CLOEXEC	= 0x40000000	/* Set close_on_exit for file
 					   descriptor received through

Modified: trunk/ports/sysdeps/unix/sysv/linux/mips/ldsodefs.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/mips/ldsodefs.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/mips/ldsodefs.h Wed Apr  7 03:58:21 2010
@@ -30,4 +30,12 @@
 #undef DL_STATIC_INIT
 #define DL_STATIC_INIT(map) _dl_static_init (map)
 
+/* Allow ABIVERSION == 1, meaning PLTs and copy relocations are
+   required, with ELFOSABI_SYSV.  */
+#undef VALID_ELF_ABIVERSION
+#define VALID_ELF_ABIVERSION(osabi,ver)			\
+  (ver == 0						\
+   || (osabi == ELFOSABI_SYSV && ver < 2)		\
+   || (osabi == ELFOSABI_LINUX && ver < LIBC_ABI_MAX))
+
 #endif /* ldsodefs.h */