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

[commits] r12323 - in /branches/eglibc-2_12/libc: ./ stdlib/ string/bits/ sysdeps/generic/netinet/ wcsmbs/ wcsmbs/bits/



Author: joseph
Date: Thu Dec 16 08:00:30 2010
New Revision: 12323

Log:
Merge changes between r12229 and r12322 from /fsf/glibc-2_12-branch.

Modified:
    branches/eglibc-2_12/libc/ChangeLog
    branches/eglibc-2_12/libc/NEWS
    branches/eglibc-2_12/libc/configure
    branches/eglibc-2_12/libc/configure.in
    branches/eglibc-2_12/libc/stdlib/msort.c
    branches/eglibc-2_12/libc/string/bits/string3.h
    branches/eglibc-2_12/libc/sysdeps/generic/netinet/ip.h
    branches/eglibc-2_12/libc/version.h
    branches/eglibc-2_12/libc/wcsmbs/bits/wchar2.h
    branches/eglibc-2_12/libc/wcsmbs/wchar.h

Modified: branches/eglibc-2_12/libc/ChangeLog
==============================================================================
--- branches/eglibc-2_12/libc/ChangeLog (original)
+++ branches/eglibc-2_12/libc/ChangeLog Thu Dec 16 08:00:30 2010
@@ -1,3 +1,40 @@
+2010-12-13  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* version.h (VERSION): Bump for 2.12.2 release.
+
+2010-12-10  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* wcsmbs/wchar.h (wcpcpy, wcpncpy): Only declare under
+	_GNU_SOURCE.
+
+2010-12-10  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* wcsmbs/wchar.h (wcpcpy, wcpncpy): Add __restrict.
+	* wcsmbs/bits/wchar2.h (__wmemmove_chk_warn, wmemmove, wmemset):
+	Remove __restrict.
+	(wcscpy, __wcpcpy_chk, __wcpcpy_alias, wcpcpy, wcsncpy, wcpncpy)
+	(wcscat, wcsncat, __wcrtomb_chk, wcrtomb): Add __restrict.
+
+2010-12-09  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #11655]
+	* stdlib/msort.c (qsort_r): Make sure both phys_pages and pagesize
+	are initialized.
+
+2010-12-09  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* string/bits/string3.h (memmove, bcopy): Remove __restrict.
+
+2010-08-11  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #11903]
+	* sysdeps/generic/netinet/ip.h (IPTOS_CLASS): Fix definition.
+	Patch by Evgeni Bikov <bikovevg@xxxxxxx>.
+
+2010-08-21  Mike Frysinger  <vapier@xxxxxxxxxx>
+
+	* configure.in: Move assembler checks to before sysdep dir checking.
+
 2010-11-24  Andreas Schwab  <schwab@xxxxxxxxxx>
 
 	* resolv/nss_dns/dns-host.c (getanswer_r): Don't handle ttl == 0

Modified: branches/eglibc-2_12/libc/NEWS
==============================================================================
--- branches/eglibc-2_12/libc/NEWS (original)
+++ branches/eglibc-2_12/libc/NEWS Thu Dec 16 08:00:30 2010
@@ -1,9 +1,23 @@
-GNU C Library NEWS -- history of user-visible changes.  2010-5-4
+GNU C Library NEWS -- history of user-visible changes.  2010-12-13
 Copyright (C) 1992-2009, 2010 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send GNU C library bug reports via <http://sources.redhat.com/bugzilla/>
 using `glibc' in the "product" field.
+
+Version 2.12.2
+
+* The following bugs are resolved with this release:
+
+  12077, 12092, 12113, 12159, 12167, 12191, 11840, 11856, 10851, 7066,
+  11968, 12005, 12093, 12078, 12140, 11904, 12194, 11883, 11611,
+  10085, 11149, 11903, 11655
+
+Version 2.12.1
+
+* The following bugs are resolved with this release:
+
+  11571, 11640
 
 Version 2.12
 

Modified: branches/eglibc-2_12/libc/configure
==============================================================================
--- branches/eglibc-2_12/libc/configure (original)
+++ branches/eglibc-2_12/libc/configure Thu Dec 16 08:00:30 2010
@@ -3873,9 +3873,6 @@
   multi_arch=default
 fi
 
-if test x"$multi_arch" != xno; then
-  multi_arch_d=/multiarch
-fi
 
 # Check whether --enable-experimental-malloc was given.
 if test "${enable_experimental_malloc+set}" = set; then
@@ -4309,6 +4306,140 @@
 
 fi
 
+# For the multi-arch option we need support in the assembler.
+{ $as_echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
+$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
+if test "${libc_cv_asm_gnu_indirect_function+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat > conftest.s <<EOF
+.type foo,%gnu_indirect_function
+EOF
+if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5;
+then
+  libc_cv_asm_gnu_indirect_function=yes
+else
+  libc_cv_asm_gnu_indirect_function=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
+$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether .text pseudo-op must be used" >&5
+$as_echo_n "checking whether .text pseudo-op must be used... " >&6; }
+if test "${libc_cv_dot_text+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat > conftest.s <<EOF
+.text
+EOF
+libc_cv_dot_text=
+if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  libc_cv_dot_text=.text
+fi
+rm -f conftest*
+fi
+
+if test -z "$libc_cv_dot_text"; then
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for assembler global-symbol directive" >&5
+$as_echo_n "checking for assembler global-symbol directive... " >&6; }
+if test "${libc_cv_asm_global_directive+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  libc_cv_asm_global_directive=UNKNOWN
+for ac_globl in .globl .global .EXPORT; do
+  cat > conftest.s <<EOF
+	${libc_cv_dot_text}
+	${ac_globl} foo
+foo:
+EOF
+  if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    libc_cv_asm_global_directive=${ac_globl}
+  fi
+  rm -f conftest*
+  test $libc_cv_asm_global_directive != UNKNOWN && break
+done
+fi
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_global_directive" >&5
+$as_echo "$libc_cv_asm_global_directive" >&6; }
+if test $libc_cv_asm_global_directive = UNKNOWN; then
+  { { $as_echo "$as_me:$LINENO: error: cannot determine asm global directive" >&5
+$as_echo "$as_me: error: cannot determine asm global directive" >&2;}
+   { (exit 1); exit 1; }; }
+else
+  cat >>confdefs.h <<_ACEOF
+#define ASM_GLOBAL_DIRECTIVE ${libc_cv_asm_global_directive}
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for assembler .type directive prefix" >&5
+$as_echo_n "checking for assembler .type directive prefix... " >&6; }
+if test "${libc_cv_asm_type_prefix+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  libc_cv_asm_type_prefix=no
+for ac_try_prefix in '@' '%' '#'; do
+  cat > conftest.s <<EOF
+	${libc_cv_dot_text}
+	${libc_cv_asm_global_directive} foo
+	.type foo, ${ac_try_prefix}object
+	.size foo, 1
+foo:
+	.byte 1
+EOF
+  if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    libc_cv_asm_type_prefix=${ac_try_prefix}
+  fi
+  rm -f conftest*
+  test "x$libc_cv_asm_type_prefix" != xno && break
+done
+fi
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_type_prefix" >&5
+$as_echo "$libc_cv_asm_type_prefix" >&6; }
+if test "x$libc_cv_asm_type_prefix" != xno; then
+  cat >>confdefs.h <<_ACEOF
+#define ASM_TYPE_DIRECTIVE_PREFIX ${libc_cv_asm_type_prefix}
+_ACEOF
+
+fi
+
+if test x"$libc_cv_asm_gnu_indirect_function" != xyes -a x"$libc_cv_asm_type_prefix" = xno; then
+  if test x"$multi_arch" = xyes; then
+    { { $as_echo "$as_me:$LINENO: error: --enable-multi-arch support requires assembler and linker support" >&5
+$as_echo "$as_me: error: --enable-multi-arch support requires assembler and linker support" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    multi_arch=no
+  fi
+fi
+if test x"$multi_arch" != xno; then
+  multi_arch_d=/multiarch
+fi
+
 # Compute the list of sysdep directories for this configuration.
 # This can take a while to compute.
 sysdep_dir=$srcdir/sysdeps
@@ -4425,35 +4556,14 @@
 
 # If the assembler supports gnu_indirect_function symbol type and the
 # architecture supports multi-arch, we enable multi-arch by default.
-if test "$multi_arch" = default; then
-{ $as_echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
-$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
-if test "${libc_cv_asm_gnu_indirect_function+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.s <<EOF
-.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5;
-then
-  libc_cv_asm_gnu_indirect_function=yes
-else
-  libc_cv_asm_gnu_indirect_function=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
-$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
+case $sysnames_add_ons$sysnames in
+*"$multi_arch_d"*)
+  ;;
+*)
   multi_arch=no
-  if test "$libc_cv_asm_gnu_indirect_function" = yes; then
-    case $sysnames_add_ons$sysnames in
-    *"$multi_arch_d"*)
-       multi_arch=yes
-      ;;
-    esac
-  fi
-fi
-if test x"$multi_arch" = xyes; then
+  ;;
+esac
+if test x"$multi_arch" != xno; then
   cat >>confdefs.h <<\_ACEOF
 #define USE_MULTIARCH 1
 _ACEOF
@@ -6020,71 +6130,6 @@
 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
 fi
 
-{ $as_echo "$as_me:$LINENO: checking whether .text pseudo-op must be used" >&5
-$as_echo_n "checking whether .text pseudo-op must be used... " >&6; }
-if test "${libc_cv_dot_text+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.s <<EOF
-.text
-EOF
-libc_cv_dot_text=
-if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  libc_cv_dot_text=.text
-fi
-rm -f conftest*
-fi
-
-if test -z "$libc_cv_dot_text"; then
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-
-{ $as_echo "$as_me:$LINENO: checking for assembler global-symbol directive" >&5
-$as_echo_n "checking for assembler global-symbol directive... " >&6; }
-if test "${libc_cv_asm_global_directive+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  libc_cv_asm_global_directive=UNKNOWN
-for ac_globl in .globl .global .EXPORT; do
-  cat > conftest.s <<EOF
-	${libc_cv_dot_text}
-	${ac_globl} foo
-foo:
-EOF
-  if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    libc_cv_asm_global_directive=${ac_globl}
-  fi
-  rm -f conftest*
-  test $libc_cv_asm_global_directive != UNKNOWN && break
-done
-fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_global_directive" >&5
-$as_echo "$libc_cv_asm_global_directive" >&6; }
-if test $libc_cv_asm_global_directive = UNKNOWN; then
-  { { $as_echo "$as_me:$LINENO: error: cannot determine asm global directive" >&5
-$as_echo "$as_me: error: cannot determine asm global directive" >&2;}
-   { (exit 1); exit 1; }; }
-else
-  cat >>confdefs.h <<_ACEOF
-#define ASM_GLOBAL_DIRECTIVE ${libc_cv_asm_global_directive}
-_ACEOF
-
-fi
-
 { $as_echo "$as_me:$LINENO: checking for .set assembler directive" >&5
 $as_echo_n "checking for .set assembler directive... " >&6; }
 if test "${libc_cv_asm_set_directive+set}" = set; then
@@ -6120,42 +6165,6 @@
 
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for assembler .type directive prefix" >&5
-$as_echo_n "checking for assembler .type directive prefix... " >&6; }
-if test "${libc_cv_asm_type_prefix+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  libc_cv_asm_type_prefix=no
-for ac_try_prefix in '@' '%' '#'; do
-  cat > conftest.s <<EOF
-	${libc_cv_dot_text}
-	${libc_cv_asm_global_directive} foo
-	.type foo, ${ac_try_prefix}object
-	.size foo, 1
-foo:
-	.byte 1
-EOF
-  if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    libc_cv_asm_type_prefix=${ac_try_prefix}
-  fi
-  rm -f conftest*
-  test "x$libc_cv_asm_type_prefix" != xno && break
-done
-fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_type_prefix" >&5
-$as_echo "$libc_cv_asm_type_prefix" >&6; }
-if test "x$libc_cv_asm_type_prefix" != xno; then
-  cat >>confdefs.h <<_ACEOF
-#define ASM_TYPE_DIRECTIVE_PREFIX ${libc_cv_asm_type_prefix}
-_ACEOF
-
-fi
-
 { $as_echo "$as_me:$LINENO: checking for assembler gnu_unique_object symbol type" >&5
 $as_echo_n "checking for assembler gnu_unique_object symbol type... " >&6; }
 if test "${libc_cv_asm_unique_object+set}" = set; then
@@ -6180,37 +6189,6 @@
 #define HAVE_ASM_UNIQUE_OBJECT 1
 _ACEOF
 
-fi
-
-# For the multi-arch option we need support in the assembler.
-if test "$multi_arch" = yes; then
-  if test "x$libc_cv_asm_type_prefix" != xno; then
-{ $as_echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
-$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
-if test "${libc_cv_asm_gnu_indirect_function+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.s <<EOF
-.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5;
-then
-  libc_cv_asm_gnu_indirect_function=yes
-else
-  libc_cv_asm_gnu_indirect_function=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
-$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
-  else
-    libc_cv_asm_gnu_indirect_function=no
-  fi
-  if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
-    { { $as_echo "$as_me:$LINENO: error: --enable-multi-arch support requires assembler and linker support" >&5
-$as_echo "$as_me: error: --enable-multi-arch support requires assembler and linker support" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
 fi
 
 { $as_echo "$as_me:$LINENO: checking for .symver assembler directive" >&5

Modified: branches/eglibc-2_12/libc/configure.in
==============================================================================
--- branches/eglibc-2_12/libc/configure.in (original)
+++ branches/eglibc-2_12/libc/configure.in Thu Dec 16 08:00:30 2010
@@ -278,9 +278,6 @@
 			     [enable single DSO with optimizations for multiple architectures]),
 	      [multi_arch=$enableval],
 	      [multi_arch=default])
-if test x"$multi_arch" != xno; then
-  multi_arch_d=/multiarch
-fi
 
 AC_ARG_ENABLE([experimental-malloc],
 	      AC_HELP_STRING([--enable-experimental-malloc],
@@ -608,6 +605,90 @@
   AC_DEFINE(USE_REGPARMS)
 fi
 
+# For the multi-arch option we need support in the assembler.
+AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
+               libc_cv_asm_gnu_indirect_function, [dnl
+cat > conftest.s <<EOF
+.type foo,%gnu_indirect_function
+EOF
+if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
+then
+  libc_cv_asm_gnu_indirect_function=yes
+else
+  libc_cv_asm_gnu_indirect_function=no
+fi
+rm -f conftest*])
+
+AC_MSG_CHECKING(whether .text pseudo-op must be used)
+AC_CACHE_VAL(libc_cv_dot_text, [dnl
+cat > conftest.s <<EOF
+.text
+EOF
+libc_cv_dot_text=
+if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
+  libc_cv_dot_text=.text
+fi
+rm -f conftest*])
+if test -z "$libc_cv_dot_text"; then
+  AC_MSG_RESULT(no)
+else
+  AC_MSG_RESULT(yes)
+fi
+
+AC_CACHE_CHECK(for assembler global-symbol directive,
+	       libc_cv_asm_global_directive, [dnl
+libc_cv_asm_global_directive=UNKNOWN
+for ac_globl in .globl .global .EXPORT; do
+  cat > conftest.s <<EOF
+	${libc_cv_dot_text}
+	${ac_globl} foo
+foo:
+EOF
+  if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
+    libc_cv_asm_global_directive=${ac_globl}
+  fi
+  rm -f conftest*
+  test $libc_cv_asm_global_directive != UNKNOWN && break
+done])
+if test $libc_cv_asm_global_directive = UNKNOWN; then
+  AC_MSG_ERROR(cannot determine asm global directive)
+else
+  AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
+fi
+
+AC_CACHE_CHECK(for assembler .type directive prefix,
+	       libc_cv_asm_type_prefix, [dnl
+libc_cv_asm_type_prefix=no
+for ac_try_prefix in '@' '%' '#'; do
+  cat > conftest.s <<EOF
+	${libc_cv_dot_text}
+	${libc_cv_asm_global_directive} foo
+	.type foo, ${ac_try_prefix}object
+	.size foo, 1
+foo:
+	.byte 1
+EOF
+  if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
+    libc_cv_asm_type_prefix=${ac_try_prefix}
+  fi
+  rm -f conftest*
+  test "x$libc_cv_asm_type_prefix" != xno && break
+done])
+if test "x$libc_cv_asm_type_prefix" != xno; then
+  AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
+fi
+
+if test x"$libc_cv_asm_gnu_indirect_function" != xyes -a x"$libc_cv_asm_type_prefix" = xno; then
+  if test x"$multi_arch" = xyes; then
+    AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
+  else
+    multi_arch=no
+  fi
+fi
+if test x"$multi_arch" != xno; then
+  multi_arch_d=/multiarch
+fi
+
 # Compute the list of sysdep directories for this configuration.
 # This can take a while to compute.
 sysdep_dir=$srcdir/sysdeps
@@ -727,29 +808,14 @@
 
 # If the assembler supports gnu_indirect_function symbol type and the
 # architecture supports multi-arch, we enable multi-arch by default.
-if test "$multi_arch" = default; then
-AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
-               libc_cv_asm_gnu_indirect_function, [dnl
-cat > conftest.s <<EOF
-.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
-then
-  libc_cv_asm_gnu_indirect_function=yes
-else
-  libc_cv_asm_gnu_indirect_function=no
-fi
-rm -f conftest*])
+case $sysnames_add_ons$sysnames in
+*"$multi_arch_d"*)
+  ;;
+*)
   multi_arch=no
-  if test "$libc_cv_asm_gnu_indirect_function" = yes; then
-    case $sysnames_add_ons$sysnames in
-    *"$multi_arch_d"*)
-       multi_arch=yes
-      ;;
-    esac
-  fi
-fi
-if test x"$multi_arch" = xyes; then
+  ;;
+esac
+if test x"$multi_arch" != xno; then
   AC_DEFINE(USE_MULTIARCH)
 fi
 AC_SUBST(multi_arch)
@@ -1210,43 +1276,6 @@
 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
 fi
 
-AC_MSG_CHECKING(whether .text pseudo-op must be used)
-AC_CACHE_VAL(libc_cv_dot_text, [dnl
-cat > conftest.s <<EOF
-.text
-EOF
-libc_cv_dot_text=
-if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
-  libc_cv_dot_text=.text
-fi
-rm -f conftest*])
-if test -z "$libc_cv_dot_text"; then
-  AC_MSG_RESULT(no)
-else
-  AC_MSG_RESULT(yes)
-fi
-
-AC_CACHE_CHECK(for assembler global-symbol directive,
-	       libc_cv_asm_global_directive, [dnl
-libc_cv_asm_global_directive=UNKNOWN
-for ac_globl in .globl .global .EXPORT; do
-  cat > conftest.s <<EOF
-	${libc_cv_dot_text}
-	${ac_globl} foo
-foo:
-EOF
-  if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
-    libc_cv_asm_global_directive=${ac_globl}
-  fi
-  rm -f conftest*
-  test $libc_cv_asm_global_directive != UNKNOWN && break
-done])
-if test $libc_cv_asm_global_directive = UNKNOWN; then
-  AC_MSG_ERROR(cannot determine asm global directive)
-else
-  AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
-fi
-
 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
 cat > conftest.s <<EOF
 ${libc_cv_dot_text}
@@ -1272,28 +1301,6 @@
   AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
 fi
 
-AC_CACHE_CHECK(for assembler .type directive prefix,
-	       libc_cv_asm_type_prefix, [dnl
-libc_cv_asm_type_prefix=no
-for ac_try_prefix in '@' '%' '#'; do
-  cat > conftest.s <<EOF
-	${libc_cv_dot_text}
-	${libc_cv_asm_global_directive} foo
-	.type foo, ${ac_try_prefix}object
-	.size foo, 1
-foo:
-	.byte 1
-EOF
-  if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
-    libc_cv_asm_type_prefix=${ac_try_prefix}
-  fi
-  rm -f conftest*
-  test "x$libc_cv_asm_type_prefix" != xno && break
-done])
-if test "x$libc_cv_asm_type_prefix" != xno; then
-  AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
-fi
-
 AC_CACHE_CHECK(for assembler gnu_unique_object symbol type,
 	       libc_cv_asm_unique_object, [dnl
 cat > conftest.s <<EOF
@@ -1309,29 +1316,6 @@
 rm -f conftest*])
 if test $libc_cv_asm_unique_object = yes; then
   AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT)
-fi
-
-# For the multi-arch option we need support in the assembler.
-if test "$multi_arch" = yes; then
-  if test "x$libc_cv_asm_type_prefix" != xno; then
-AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
-               libc_cv_asm_gnu_indirect_function, [dnl
-cat > conftest.s <<EOF
-.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
-then
-  libc_cv_asm_gnu_indirect_function=yes
-else
-  libc_cv_asm_gnu_indirect_function=no
-fi
-rm -f conftest*])
-  else
-    libc_cv_asm_gnu_indirect_function=no
-  fi
-  if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
-    AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
-  fi
 fi
 
 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,

Modified: branches/eglibc-2_12/libc/stdlib/msort.c
==============================================================================
--- branches/eglibc-2_12/libc/stdlib/msort.c (original)
+++ branches/eglibc-2_12/libc/stdlib/msort.c Thu Dec 16 08:00:30 2010
@@ -25,6 +25,7 @@
 #include <unistd.h>
 #include <memcopy.h>
 #include <errno.h>
+#include <atomic.h>
 
 struct msort_param
 {
@@ -182,7 +183,7 @@
       static long int phys_pages;
       static int pagesize;
 
-      if (phys_pages == 0)
+      if (pagesize == 0)
 	{
 	  phys_pages = __sysconf (_SC_PHYS_PAGES);
 
@@ -196,6 +197,9 @@
 	  /* The following determines that we will never use more than
 	     a quarter of the physical memory.  */
 	  phys_pages /= 4;
+
+	  /* Make sure phys_pages is written to memory.  */
+	  atomic_write_barrier ();
 
 	  pagesize = __sysconf (_SC_PAGESIZE);
 	}

Modified: branches/eglibc-2_12/libc/string/bits/string3.h
==============================================================================
--- branches/eglibc-2_12/libc/string/bits/string3.h (original)
+++ branches/eglibc-2_12/libc/string/bits/string3.h Thu Dec 16 08:00:30 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -53,8 +53,7 @@
 }
 
 __extern_always_inline void *
-__NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
-		size_t __len))
+__NTH (memmove (void *__dest, __const void *__src, size_t __len))
 {
   return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
 }
@@ -88,8 +87,7 @@
 
 #ifdef __USE_BSD
 __extern_always_inline void
-__NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
-	      size_t __len))
+__NTH (bcopy (__const void *__src, void *__dest, size_t __len))
 {
   (void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
 }

Modified: branches/eglibc-2_12/libc/sysdeps/generic/netinet/ip.h
==============================================================================
--- branches/eglibc-2_12/libc/sysdeps/generic/netinet/ip.h (original)
+++ branches/eglibc-2_12/libc/sysdeps/generic/netinet/ip.h Thu Dec 16 08:00:30 2010
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2000,2009 Free Software
-   Foundation, Inc.
+/* Copyright (C) 1991-1993,1995-2000,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
@@ -194,7 +193,7 @@
  */
 
 #define	IPTOS_CLASS_MASK		0xe0
-#define	IPTOS_CLASS(class)		((tos) & IPTOS_CLASS_MASK)
+#define	IPTOS_CLASS(class)		((class) & IPTOS_CLASS_MASK)
 #define	IPTOS_CLASS_CS0			0x00
 #define	IPTOS_CLASS_CS1			0x20
 #define	IPTOS_CLASS_CS2			0x40

Modified: branches/eglibc-2_12/libc/version.h
==============================================================================
--- branches/eglibc-2_12/libc/version.h (original)
+++ branches/eglibc-2_12/libc/version.h Thu Dec 16 08:00:30 2010
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
 #define RELEASE "stable"
-#define VERSION "2.12.1"
+#define VERSION "2.12.2"

Modified: branches/eglibc-2_12/libc/wcsmbs/bits/wchar2.h
==============================================================================
--- branches/eglibc-2_12/libc/wcsmbs/bits/wchar2.h (original)
+++ branches/eglibc-2_12/libc/wcsmbs/bits/wchar2.h Thu Dec 16 08:00:30 2010
@@ -1,5 +1,5 @@
 /* Checking macros for wchar functions.
-   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -60,15 +60,13 @@
 						   __const wchar_t *__s2,
 						   size_t __n), wmemmove);
 extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
-				(wchar_t *__restrict __s1,
-				 __const wchar_t *__restrict __s2, size_t __n,
-				 size_t __ns1), __wmemmove_chk)
+				(wchar_t *__s1, __const wchar_t *__s2,
+				 size_t __n, size_t __ns1), __wmemmove_chk)
      __warnattr ("wmemmove called with length bigger than size of destination "
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
-		 size_t __n))
+__NTH (wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n))
 {
   if (__bos0 (__s1) != (size_t) -1)
     {
@@ -129,7 +127,7 @@
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n))
+__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
 {
   if (__bos0 (__s) != (size_t) -1)
     {
@@ -152,7 +150,7 @@
 				 __const wchar_t *__restrict __src), wcscpy);
 
 __extern_always_inline wchar_t *
-__NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src))
+__NTH (wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
 {
   if (__bos (__dest) != (size_t) -1)
     return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -160,14 +158,15 @@
 }
 
 
-extern wchar_t *__wcpcpy_chk (wchar_t *__dest, __const wchar_t *__src,
+extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
+			      __const wchar_t *__restrict __src,
 			      size_t __destlen) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, (wchar_t *__dest,
-						 __const wchar_t *__src),
-				wcpcpy);
-
-__extern_always_inline wchar_t *
-__NTH (wcpcpy (wchar_t *__dest, __const wchar_t *__src))
+extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
+				(wchar_t *__restrict __dest,
+				 __const wchar_t *__restrict __src), wcpcpy);
+
+__extern_always_inline wchar_t *
+__NTH (wcpcpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
 {
   if (__bos (__dest) != (size_t) -1)
     return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -190,7 +189,8 @@
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+		size_t __n))
 {
   if (__bos (__dest) != (size_t) -1)
     {
@@ -220,7 +220,8 @@
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcpncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+		size_t __n))
 {
   if (__bos (__dest) != (size_t) -1)
     {
@@ -243,7 +244,7 @@
 				 __const wchar_t *__restrict __src), wcscat);
 
 __extern_always_inline wchar_t *
-__NTH (wcscat (wchar_t *__dest, __const wchar_t *__src))
+__NTH (wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
 {
   if (__bos (__dest) != (size_t) -1)
     return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -260,7 +261,8 @@
 				 size_t __n), wcsncat);
 
 __extern_always_inline wchar_t *
-__NTH (wcsncat (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+		size_t __n))
 {
   if (__bos (__dest) != (size_t) -1)
     return __wcsncat_chk (__dest, __src, __n,
@@ -428,14 +430,16 @@
 #endif
 
 
-extern size_t __wcrtomb_chk (char *__s, wchar_t __wchar, mbstate_t *__p,
-			  size_t __buflen) __THROW __wur;
+extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
+			     mbstate_t *__restrict __p,
+			     size_t __buflen) __THROW __wur;
 extern size_t __REDIRECT_NTH (__wcrtomb_alias,
 			      (char *__restrict __s, wchar_t __wchar,
 			       mbstate_t *__restrict __ps), wcrtomb) __wur;
 
 __extern_always_inline __wur size_t
-__NTH (wcrtomb (char *__s, wchar_t __wchar, mbstate_t *__ps))
+__NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
+		mbstate_t *__restrict __ps))
 {
   /* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
      But this would only disturb the namespace.  So we define our own

Modified: branches/eglibc-2_12/libc/wcsmbs/wchar.h
==============================================================================
--- branches/eglibc-2_12/libc/wcsmbs/wchar.h (original)
+++ branches/eglibc-2_12/libc/wcsmbs/wchar.h Thu Dec 16 08:00:30 2010
@@ -555,17 +555,17 @@
 extern long double wcstold_l (__const wchar_t *__restrict __nptr,
 			      wchar_t **__restrict __endptr,
 			      __locale_t __loc) __THROW;
-#endif /* GNU */
-
-
-#ifdef	__USE_XOPEN2K8
+
+
 /* Copy SRC to DEST, returning the address of the terminating L'\0' in
    DEST.  */
-extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __THROW;
+extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
+			__const wchar_t *__restrict __src) __THROW;
 
 /* Copy no more than N characters of SRC to DEST, returning the address of
    the last character written into DEST.  */
-extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
+extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
+			 __const wchar_t *__restrict __src, size_t __n)
      __THROW;
 #endif	/* use GNU */