GNU C Library master sources branch, master, updated. glibc-2.13-25-gbaa6c69

drepper@sourceware.org drepper@sourceware.org
Thu Feb 17 06:26:00 GMT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  baa6c69a57e632e953b45c11df7a5e5cb954e9cb (commit)
       via  be6bd0b7ab68d0ed968138a41b5d18eb930d7443 (commit)
       via  d55fd7a5573ea7c7c14af95bc37618469cde8a5f (commit)
       via  d4720230b54723c2b179030083318cffd6dbbc63 (commit)
       via  2206397e1c46f69fb20eeb3de1920d3a7014c325 (commit)
       via  e9433893258aef145c4101a458ac908383757430 (commit)
      from  8e31c82dbd7dad4d33b35d242b5a990f1168a859 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=baa6c69a57e632e953b45c11df7a5e5cb954e9cb

commit baa6c69a57e632e953b45c11df7a5e5cb954e9cb
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Thu Feb 17 01:26:07 2011 -0500

    Work around empty line at end file generated by autoconf.

diff --git a/sysdeps/x86_64/elf/configure b/sysdeps/x86_64/elf/configure
index 99241e7..cb8db2d 100644
--- a/sysdeps/x86_64/elf/configure
+++ b/sysdeps/x86_64/elf/configure
@@ -125,3 +125,4 @@ fi
 
 $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
 
+# work around problem with autoconf and empty lines at the end of files
diff --git a/sysdeps/x86_64/elf/configure.in b/sysdeps/x86_64/elf/configure.in
index 9cb59d0..4a41290 100644
--- a/sysdeps/x86_64/elf/configure.in
+++ b/sysdeps/x86_64/elf/configure.in
@@ -32,3 +32,4 @@ fi
 dnl It is always possible to access static and hidden symbols in an
 dnl position independent way.
 AC_DEFINE(PI_STATIC_AND_HIDDEN)
+# work around problem with autoconf and empty lines at the end of files

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=be6bd0b7ab68d0ed968138a41b5d18eb930d7443

commit be6bd0b7ab68d0ed968138a41b5d18eb930d7443
Merge: d55fd7a 8e31c82
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Thu Feb 17 01:22:52 2011 -0500

    Merge branch 'master' of ssh://sourceware.org/git/glibc
    
    Conflicts:
    	ChangeLog

diff --cc ChangeLog
index fb69303,425eded..292f77a
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,28 -1,14 +1,39 @@@
 +2011-02-16  Ryan S. Arnold  <rsa@us.ibm.com>
 +
 +	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h:
 +	(INTERNAL_VSYSCALL_NCS INTERNAL_SYSCALL_NCS): Remove erroneous (int)
 +	cast from r3.
 +	* sysdeps/wordsize-64/Makefile: New file.  Add tst-writev to
 +	'tests' variable.
 +	* sysdeps/wordsize-64/tst-writev.c: New file.
 +
 +2011-02-15  Ryan S. Arnold  <rsa@us.ibm.com>
 +
 +	* sysdeps/powerpc/powerpc64/power7/Makefile: New file which adds
 +	-mno-vsx to the CFLAGS-rtld.c variable to avoid using VSX registers and
 +	insns in _dl_start to prevent a TOC reference before relocs are
 +	resolved.
 +
 +2011-02-15  Ulrich Drepper  <drepper@gmail.com>
 +
 +	[BZ #12469]
 +	* Makeconfig: Remove RANLIB definition.
 +	* Makerules: Don't use RANLIB.
 +	* aclocal.m4: Remove ranlib test.
 +	* configure.in: No need to check for ranlib.
 +	* elf/rtld-Rules: Don't use RANLIB.
 +
+ 2011-02-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+ 
+ 	* sysdeps/mach/i386/sysdep.h: Add _MACH_I386_SYSDEP_H inclusion
+ 	protection macro.
+ 	* sysdeps/mach/i386/thread_state.h: Add _MACH_I386_THREAD_STATE_H
+ 	inclusion protection macro.
+ 
+ 	* stdio-common/psiginfo.c (psiginfo): Check pinfo->si_signo against
+ 	SIGRTMIN and SIGRTMAX and print information in that case only when
+ 	SIGRTMIN is defined.
+ 
  2011-02-11  Jakub Jelinek  <jakub@redhat.com>
  
  	* stdio-common/printf-parsemb.c (__parse_one_specmb): Handle

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d55fd7a5573ea7c7c14af95bc37618469cde8a5f

commit d55fd7a5573ea7c7c14af95bc37618469cde8a5f
Author: Ryan S. Arnold <rsa@us.ibm.com>
Date:   Thu Feb 17 01:21:08 2011 -0500

    Fix INTERNAL_[V]SYSCALL_NCS macros to not cast return val to int.

diff --git a/ChangeLog b/ChangeLog
index 6d05768..fb69303 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-02-16  Ryan S. Arnold  <rsa@us.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h:
+	(INTERNAL_VSYSCALL_NCS INTERNAL_SYSCALL_NCS): Remove erroneous (int)
+	cast from r3.
+	* sysdeps/wordsize-64/Makefile: New file.  Add tst-writev to
+	'tests' variable.
+	* sysdeps/wordsize-64/tst-writev.c: New file.
+
 2011-02-15  Ryan S. Arnold  <rsa@us.ibm.com>
 
 	* sysdeps/powerpc/powerpc64/power7/Makefile: New file which adds
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
index aab4b72..e714c4c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
@@ -172,7 +172,7 @@
        : "r9", "r10", "r11", "r12",					\
          "cr0", "ctr", "lr", "memory");					\
 	  err = (long int) r0;						\
-    (int) r3;								\
+    r3;								\
   })
 
 #undef INLINE_SYSCALL
@@ -219,7 +219,7 @@
        : "r9", "r10", "r11", "r12",					\
          "cr0", "ctr", "memory");					\
 	  err = r0;  \
-    (int) r3;  \
+    r3;  \
   })
 #define INTERNAL_SYSCALL(name, err, nr, args...)			\
   INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, args)
diff --git a/sysdeps/wordsize-64/Makefile b/sysdeps/wordsize-64/Makefile
new file mode 100644
index 0000000..9903f51
--- /dev/null
+++ b/sysdeps/wordsize-64/Makefile
@@ -0,0 +1,6 @@
+ifeq ($(subdir),misc)
+tests += tst-writev
+
+# Time enough for a large writev syscall to complete.
+tst-writev-ENV = TIMEOUTFACTOR="10"
+endif
diff --git a/sysdeps/wordsize-64/tst-writev.c b/sysdeps/wordsize-64/tst-writev.c
new file mode 100644
index 0000000..6e47886
--- /dev/null
+++ b/sysdeps/wordsize-64/tst-writev.c
@@ -0,0 +1,107 @@
+/* Copyright (C) 2011 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ryan S. Arnold <rsa@us.ibm.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <fcntl.h>
+#include <paths.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/uio.h>
+
+
+/* The purpose of this test is to verify that the INTERNAL_[V]SYSCALL_NCS
+   macros on 64-bit platforms don't cast the return type to (int) which would
+   erroneously sign extend the return value should the high bit of the bottom
+   half of the word be '1'.  */
+
+#if 0
+/* Used to test the non power-of-2 code path.  */
+#undef IOV_MAX
+#define IOV_MAX 1000
+#endif
+
+/* writev() should report that it has written EXPECTED number of bytes.  */
+#define EXPECTED ((size_t) INT32_MAX + 1)
+
+static int
+do_test (void)
+{
+  struct iovec iv[IOV_MAX];
+  /* POSIX doesn't guarantee that IOV_MAX is pow of 2 but we're optimistic.  */
+  size_t bufsz = EXPECTED / IOV_MAX;
+  size_t bufrem = EXPECTED % IOV_MAX;
+
+  /* If there's a remainder then IOV_MAX probably isn't a power of 2 and we
+     need to make bufsz bigger so that the last iovec, iv[IOV_MAX-1], is free
+     for the remainder.  */
+  if (bufrem)
+    {
+      bufsz = bufsz + 1;
+      bufrem = EXPECTED - (bufsz * (IOV_MAX - 1));
+    }
+
+  /* We writev to /dev/null since we're just testing writev's return value.  */
+  int fd = open (_PATH_DEVNULL, O_WRONLY);
+  if (fd == -1)
+    {
+      printf ("Unable to open /dev/null for writing.\n");
+      return -1;
+    }
+
+  iv[0].iov_base = malloc (bufsz);
+  if (iv[0].iov_base == NULL)
+    {
+      printf ("malloc (%zu) failed.\n", bufsz);
+      close (fd);
+      return -1;
+    }
+  iv[0].iov_len = bufsz;
+
+  /* We optimistically presume that there isn't a remainder and set all iovec
+     instances to the same base and len as the first instance.  */
+  for (int i = 1; i < IOV_MAX; i++)
+    {
+      /* We don't care what the data is so reuse the allocation from iv[0];  */
+      iv[i].iov_base = iv[0].iov_base;
+      iv[i].iov_len = iv[0].iov_len;
+    }
+
+  /* If there is a remainder then we correct the last iov_len.  */
+  if (bufrem)
+    iv[IOV_MAX - 1].iov_len = bufrem;
+
+  /* Write junk to /dev/null with the writev syscall in order to get a return
+     of INT32_MAX+1 bytes to verify that the INTERNAL_SYSCALL wrappers aren't
+     mangling the result if the signbit of a 32-bit number is set.  */
+  ssize_t ret = writev (fd, iv, IOV_MAX);
+
+  free (iv[0].iov_base);
+  close (fd);
+
+  if (ret != (ssize_t) EXPECTED)
+    {
+      printf ("writev() return value: %zd != EXPECTED: %zd\n", ret, EXPECTED);
+      return 1;
+    }
+
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d4720230b54723c2b179030083318cffd6dbbc63

commit d4720230b54723c2b179030083318cffd6dbbc63
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Thu Feb 17 00:59:58 2011 -0500

    Update bug list.

diff --git a/NEWS b/NEWS
index 836160d..8d961b0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2011-2-2
+GNU C Library NEWS -- history of user-visible changes.  2011-2-17
 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -9,7 +9,7 @@ Version 2.14
 
 * The following bugs are resolved with this release:
 
-  11724, 12460
+  11724, 12460, 12469
 
 Version 2.13
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2206397e1c46f69fb20eeb3de1920d3a7014c325

commit 2206397e1c46f69fb20eeb3de1920d3a7014c325
Author: Ryan S. Arnold <rsa@us.ibm.com>
Date:   Thu Feb 17 00:59:15 2011 -0500

    Disable VSX usage in rtld.c to prevent TOC ref before relocs are resolved.

diff --git a/ChangeLog b/ChangeLog
index b0b6c55..6d05768 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-02-15  Ryan S. Arnold  <rsa@us.ibm.com>
+
+	* sysdeps/powerpc/powerpc64/power7/Makefile: New file which adds
+	-mno-vsx to the CFLAGS-rtld.c variable to avoid using VSX registers and
+	insns in _dl_start to prevent a TOC reference before relocs are
+	resolved.
+
 2011-02-15  Ulrich Drepper  <drepper@gmail.com>
 
 	[BZ #12469]
diff --git a/sysdeps/powerpc/powerpc64/power7/Makefile b/sysdeps/powerpc/powerpc64/power7/Makefile
new file mode 100644
index 0000000..b0f4520
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/power7/Makefile
@@ -0,0 +1,5 @@
+ifeq ($(subdir),elf)
+# Prevent the use of VSX registers and insns in _dl_start, which under -O3
+# optimization may require a TOC reference before relocations are resolved.
+CFLAGS-rtld.c += -mno-vsx
+endif

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e9433893258aef145c4101a458ac908383757430

commit e9433893258aef145c4101a458ac908383757430
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Tue Feb 15 14:52:29 2011 -0500

    Remove use of ranlib.

diff --git a/ChangeLog b/ChangeLog
index 550f22a..b0b6c55 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-02-15  Ulrich Drepper  <drepper@gmail.com>
+
+	[BZ #12469]
+	* Makeconfig: Remove RANLIB definition.
+	* Makerules: Don't use RANLIB.
+	* aclocal.m4: Remove ranlib test.
+	* configure.in: No need to check for ranlib.
+	* elf/rtld-Rules: Don't use RANLIB.
+
 2011-02-11  Jakub Jelinek  <jakub@redhat.com>
 
 	* stdio-common/printf-parsemb.c (__parse_one_specmb): Handle
diff --git a/Makeconfig b/Makeconfig
index e5cbf64..0c4c75a 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2003,2004,2005,2006,2007,2008,2009,2010
+# Copyright (C) 1991-2003,2004,2005,2006,2007,2008,2009,2010,2011
 #	Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -593,10 +593,6 @@ ifndef LD
 LD := ld -X
 endif
 
-ifndef	RANLIB
-RANLIB = ranlib
-endif
-
 # Extra flags to pass to GCC.
 ifeq ($(all-warnings),yes)
 +gccwarn := -Wall -Wwrite-strings -Winline -Wcast-qual -Wbad-function-cast -Wmissing-noreturn -Wmissing-prototypes -Wmissing-declarations -Wcomment -Wcomments -Wtrigraphs -Wsign-compare -Wfloat-equal -Wmultichar
diff --git a/Makerules b/Makerules
index 9bfe550..82ffa1e 100644
--- a/Makerules
+++ b/Makerules
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2006,2007,2008,2009,2010 Free Software Foundation, Inc.
+# Copyright (C) 1991-2010, 2011 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -805,7 +805,6 @@ endef
 define do-makelib
 cd $(common-objdir) && \
 $(AR) $(CREATE_ARFLAGS) $(@F) `cat $(patsubst $(common-objpfx)%,%,$^)`
-$(RANLIB) $@
 endef
 subdirs-stamps := $(foreach d,$(subdirs),$(common-objpfx)$d/stamp%)
 subdirs-stamp-o = $(subst %,$o,$(subdirs-stamps))
@@ -827,7 +826,6 @@ define build-extra-lib
 $(patsubst %/,cd % &&,$(objpfx)) \
 $(AR) $(CREATE_ARFLAGS) $(@:$(objpfx)%=%) \
       $(patsubst $(objpfx)%,%,$^)
-$(RANLIB) $@
 endef
 
 # Installation.
@@ -872,9 +870,6 @@ install: $(installed-libcs)
 $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force)
 	$(make-target-directory)
 	$(INSTALL_DATA) $(common-objpfx)lib$(*:$(libc-name)%=c%) $@
-# Running ranlib after installing makes the __.SYMDEF time stamp up to
-# date, which avoids messages from some linkers.
-	$(RANLIB) $@
 
 define do-install-program
 $(make-target-directory)
@@ -1108,7 +1103,6 @@ ifdef install-lib.a
 $(install-lib.a:lib%.a=$(inst_libdir)/lib$(libprefix)%.a): \
   $(inst_libdir)/lib$(libprefix)%.a: $(objpfx)lib%.a $(+force)
 	$(do-install)
-	$(patsubst %,$(RANLIB) $@,$(filter-out $(non-lib.a),$(<F)))
 endif
 endif
 ifdef install-data
diff --git a/aclocal.m4 b/aclocal.m4
index 06adbaa..6ad3c87 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -57,7 +57,7 @@ else
   AC_MSG_CHECKING([version of [$]$1])
 changequote(<<,>>)dnl
   ac_prog_version=`<<$>>$1 $3 2>&1 ifelse(<<$4>>,,,
-                   <<| sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'>>)`
+		   <<| sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'>>)`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
     <<$5>>)
@@ -102,17 +102,6 @@ AC_SUBST(AR)
 OBJDUMP=`$CC -print-prog-name=objdump`
 AC_SUBST(OBJDUMP)
 
-# ranlib has to be treated a bit differently since it might not exist at all.
-ac_ranlib=`$CC -print-prog-name=ranlib`
-if test "x$ac_ranlib" = xranlib; then
-# This extra check has to happen since gcc simply echos the parameter in
-# case it cannot find the value in its own directories.
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-else
-  RANLIB=$ac_ranlib
-fi
-AC_SUBST(RANLIB)
-
 # Determine whether we are using GNU binutils.
 AC_CACHE_CHECK(whether $AS is GNU as, libc_cv_prog_as_gnu,
 [LIBC_PROG_FOO_GNU($AS, libc_cv_prog_as_gnu=yes, libc_cv_prog_as_gnu=no)])
diff --git a/configure b/configure
index 1d419cf..fdfa5ef 100755
--- a/configure
+++ b/configure
@@ -669,7 +669,6 @@ PWD_P
 LD
 AS
 MIG
-RANLIB
 OBJDUMP
 AR
 LN_S
@@ -4670,108 +4669,6 @@ AR=`$CC -print-prog-name=ar`
 OBJDUMP=`$CC -print-prog-name=objdump`
 
 
-# ranlib has to be treated a bit differently since it might not exist at all.
-ac_ranlib=`$CC -print-prog-name=ranlib`
-if test "x$ac_ranlib" = xranlib; then
-# This extra check has to happen since gcc simply echos the parameter in
-# case it cannot find the value in its own directories.
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-else
-  RANLIB=$ac_ranlib
-fi
-
-
 # Determine whether we are using GNU binutils.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $AS is GNU as" >&5
 $as_echo_n "checking whether $AS is GNU as... " >&6; }
@@ -5410,33 +5307,8 @@ fi
 
 
 
-# check if ranlib is necessary
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ranlib is necessary" >&5
-$as_echo_n "checking whether ranlib is necessary... " >&6; }
-if test "${libc_cv_ranlib_necessary+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.c <<EOF
-int a;
-char b;
-void c(void) {}
-EOF
-$CC $CFLAGS $CPPFLAGS -c conftest.c
-$AR cr conftest.a conftest.o
-cp conftest.a conftest2.a
-$RANLIB conftest.a
-if cmp -s conftest.a conftest2.a; then
-  libc_cv_ranlib_necessary=no
-else
-  libc_cv_ranlib_necessary=yes
-fi
-rm -rf conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ranlib_necessary" >&5
-$as_echo "$libc_cv_ranlib_necessary" >&6; }
-if test "$libc_cv_ranlib_necessary" = no; then
- RANLIB=:
-fi
+# ranlib is never necessary on Linux and Hurd systems
+RANLIB=:
 
 # Test if LD_LIBRARY_PATH contains the notation for the current directory
 # since this would lead to problems installing/building glibc.
diff --git a/configure.in b/configure.in
index 7e46990..e5ff6bd 100644
--- a/configure.in
+++ b/configure.in
@@ -1095,26 +1095,8 @@ fi
 AC_SUBST(SYSINCLUDES)
 AC_SUBST(CXX_SYSINCLUDES)
 
-# check if ranlib is necessary
-AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
-cat > conftest.c <<EOF
-int a;
-char b;
-void c(void) {}
-EOF
-$CC $CFLAGS $CPPFLAGS -c conftest.c
-$AR cr conftest.a conftest.o
-cp conftest.a conftest2.a
-$RANLIB conftest.a
-if cmp -s conftest.a conftest2.a; then
-  libc_cv_ranlib_necessary=no
-else
-  libc_cv_ranlib_necessary=yes
-fi
-rm -rf conftest*])
-if test "$libc_cv_ranlib_necessary" = no; then
- RANLIB=:
-fi
+# ranlib is never necessary on Linux and Hurd systems
+RANLIB=:
 
 # Test if LD_LIBRARY_PATH contains the notation for the current directory
 # since this would lead to problems installing/building glibc.
diff --git a/elf/rtld-Rules b/elf/rtld-Rules
index 10c9452..cd83c85 100644
--- a/elf/rtld-Rules
+++ b/elf/rtld-Rules
@@ -1,6 +1,7 @@
 # Subroutine makefile for compiling libc modules linked into dynamic linker.
 
-# Copyright (C) 2002,2003,2005,2006,2008,2010 Free Software Foundation, Inc.
+# Copyright (C) 2002,2003,2005,2006,2008,2010,2011
+#   Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -50,7 +51,6 @@ $(objpfx)rtld-libc.a: $(foreach dir,$(rtld-subdirs),\
 					    $(rtld-$(dir))))
 	@-rm -f $@T
 	$(AR) cq$(verbose) $@T $^
-	$(RANLIB) $@T
 	mv -f $@T $@
 
 # Use the verbose option of ar and tar when not running silently.
diff --git a/libidn/configure b/libidn/configure
index 365e747..c6ba2ee 100644
--- a/libidn/configure
+++ b/libidn/configure
@@ -4,7 +4,5 @@ libc_add_on_canonical=
 libc_add_on_subdirs=.
 
 # Get this defined in config.h for main source code to test.
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LIBIDN 1
-_ACEOF
+$as_echo "#define HAVE_LIBIDN 1" >>confdefs.h
 
diff --git a/manual/install.texi b/manual/install.texi
index 24b1301..0ef3c3c 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -228,8 +228,8 @@ important to use this same @code{CC} value when running
 @code{configure}, like this: @samp{CC=@var{target}-gcc configure
 @var{target}}.  Set @code{BUILD_CC} to the compiler to use for programs
 run on the build system as part of compiling the library.  You may need to
-set @code{AR} and @code{RANLIB} to cross-compiling versions of @code{ar}
-and @code{ranlib} if the native tools are not configured to work with
+set @code{AR} to cross-compiling versions of @code{ar}
+if the native tools are not configured to work with
 object files for the target you configured for.
 
 
diff --git a/nptl/sysdeps/pthread/configure b/nptl/sysdeps/pthread/configure
index 7768c5c..3f7dcd6 100644
--- a/nptl/sysdeps/pthread/configure
+++ b/nptl/sysdeps/pthread/configure
@@ -1,39 +1,157 @@
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
 
 if test "x$libc_cv_gcc___thread" != xyes; then
-  { { $as_echo "$as_me:$LINENO: error: compiler support for __thread is required" >&5
-$as_echo "$as_me: error: compiler support for __thread is required" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "compiler support for __thread is required" "$LINENO" 5
 fi
 
 if test "x${libc_cv_visibility_attribute}" != xyes ||
    test "x${libc_cv_broken_visibility_attribute}" != xno; then
-  { { $as_echo "$as_me:$LINENO: error: working compiler support for visibility attribute is required" >&5
-$as_echo "$as_me: error: working compiler support for visibility attribute is required" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5
 fi
 
 if test "x$libc_cv_asm_cfi_directives" != xyes; then
     case "$base_machine" in
     i386 | x86_64 | powerpc | s390)
-      { { $as_echo "$as_me:$LINENO: error: CFI directive support in assembler is required" >&5
-$as_echo "$as_me: error: CFI directive support in assembler is required" >&2;}
-   { (exit 1); exit 1; }; } ;;
+      as_fn_error $? "CFI directive support in assembler is required" "$LINENO" 5 ;;
     *) ;;
   esac
 fi
 
 
-{ $as_echo "$as_me:$LINENO: checking for forced unwind support" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for forced unwind support" >&5
 $as_echo_n "checking for forced unwind support... " >&6; }
-if test "${libc_cv_forced_unwind+set}" = set; then
+if test "${libc_cv_forced_unwind+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <unwind.h>
 int
@@ -47,58 +165,27 @@ _Unwind_GetCFA (context)
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   libc_cv_forced_unwind=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	libc_cv_forced_unwind=no
+  libc_cv_forced_unwind=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_forced_unwind" >&5
 $as_echo "$libc_cv_forced_unwind" >&6; }
 if test $libc_cv_forced_unwind = yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_FORCED_UNWIND 1
-_ACEOF
+  $as_echo "#define HAVE_FORCED_UNWIND 1" >>confdefs.h
 
   old_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -Werror -fexceptions"
-  { $as_echo "$as_me:$LINENO: checking for C cleanup handling" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C cleanup handling" >&5
 $as_echo_n "checking for C cleanup handling... " >&6; }
-if test "${libc_cv_c_cleanup+set}" = set; then
+if test "${libc_cv_c_cleanup+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 #include <stdio.h>
@@ -113,49 +200,20 @@ main ()
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   libc_cv_c_cleanup=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	libc_cv_c_cleanup=no
+  libc_cv_c_cleanup=no
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_c_cleanup" >&5
 $as_echo "$libc_cv_c_cleanup" >&6; }
   CFLAGS="$old_CFLAGS"
   if test $libc_cv_c_cleanup = no; then
-    { { $as_echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5
-$as_echo "$as_me: error: the compiler must support C cleanup handling" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "the compiler must support C cleanup handling" "$LINENO" 5
   fi
 else
-  { { $as_echo "$as_me:$LINENO: error: forced unwind support is required" >&5
-$as_echo "$as_me: error: forced unwind support is required" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "forced unwind support is required" "$LINENO" 5
 fi
diff --git a/nptl/sysdeps/x86_64/configure b/nptl/sysdeps/x86_64/configure
index ae3ad54..4639c22 100644
--- a/nptl/sysdeps/x86_64/configure
+++ b/nptl/sysdeps/x86_64/configure
@@ -1,9 +1,91 @@
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/i386.
 
-{ $as_echo "$as_me:$LINENO: checking for .cfi_personality and .cfi_lsda pseudo-ops" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .cfi_personality and .cfi_lsda pseudo-ops" >&5
 $as_echo_n "checking for .cfi_personality and .cfi_lsda pseudo-ops... " >&6; }
-if test "${libc_cv_asm_cfi_personality+set}" = set; then
+if test "${libc_cv_asm_cfi_personality+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
     cat > conftest.s <<EOF
@@ -15,11 +97,11 @@ foo:
 	.cfi_endproc
 EOF
   if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
     libc_cv_asm_cfi_personality=yes
   else
     libc_cv_asm_cfi_personality=no
@@ -27,10 +109,8 @@ EOF
   rm -f conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_cfi_personality" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_cfi_personality" >&5
 $as_echo "$libc_cv_asm_cfi_personality" >&6; }
 if test x"$libc_cv_asm_cfi_personality" != xyes; then
-  { { $as_echo "$as_me:$LINENO: error: assembler too old, .cfi_personality support missing" >&5
-$as_echo "$as_me: error: assembler too old, .cfi_personality support missing" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "assembler too old, .cfi_personality support missing" "$LINENO" 5
 fi
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index 06105c7..d05bd13 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -1,3 +1,102 @@
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/unix/sysv/linux.
 
@@ -11,9 +110,9 @@ if test -n "$sysheaders"; then
 fi
 
 
-{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
+if test "${ac_cv_path_GREP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -24,7 +123,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in grep ggrep; do
+    for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
       { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
@@ -44,7 +143,7 @@ case `"$ac_path_GREP" --version 2>&1` in
     $as_echo 'GREP' >> "conftest.nl"
     "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
     if test $ac_count -gt ${ac_path_GREP_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_GREP="$ac_path_GREP"
@@ -59,26 +158,24 @@ esac
       $ac_path_GREP_found && break 3
     done
   done
-done
+  done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
 fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
 $as_echo "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
-{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
+if test "${ac_cv_path_EGREP+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -92,7 +189,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in egrep; do
+    for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
       { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
@@ -112,7 +209,7 @@ case `"$ac_path_EGREP" --version 2>&1` in
     $as_echo 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
     if test $ac_count -gt ${ac_path_EGREP_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_EGREP="$ac_path_EGREP"
@@ -127,12 +224,10 @@ esac
       $ac_path_EGREP_found && break 3
     done
   done
-done
+  done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -140,21 +235,17 @@ fi
 
    fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
 $as_echo "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
-{ $as_echo "$as_me:$LINENO: checking installed Linux kernel header files" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking installed Linux kernel header files" >&5
 $as_echo_n "checking installed Linux kernel header files... " >&6; }
-if test "${libc_cv_linux2010+set}" = set; then
+if test "${libc_cv_linux2010+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <linux/version.h>
 #if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE <  (2 *65536+ 0 *256+ 10) /* 2.0.10 */
@@ -162,7 +253,7 @@ eat flaming death
 #endif
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "eat flaming death" >/dev/null 2>&1; then
+  $EGREP "eat flaming death" >/dev/null 2>&1; then :
   libc_cv_linux2010='TOO OLD!'
 else
   libc_cv_linux2010='2.0.10 or later'
@@ -170,26 +261,17 @@ fi
 rm -f conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_linux2010" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_linux2010" >&5
 $as_echo "$libc_cv_linux2010" >&6; }
 if test "$libc_cv_linux2010" != '2.0.10 or later'; then
-  { { $as_echo "$as_me:$LINENO: error: GNU libc requires kernel header files from
+  as_fn_error $? "GNU libc requires kernel header files from
 Linux 2.0.10 or later to be installed before configuring.
 The kernel header files are found usually in /usr/include/asm and
 /usr/include/linux; make sure these directories use files from
 Linux 2.0.10 or later.  This check uses <linux/version.h>, so
 make sure that file was built correctly when installing the kernel header
 files.  To use kernel headers not from /usr/include/linux, use the
-configure option --with-headers." >&5
-$as_echo "$as_me: error: GNU libc requires kernel header files from
-Linux 2.0.10 or later to be installed before configuring.
-The kernel header files are found usually in /usr/include/asm and
-/usr/include/linux; make sure these directories use files from
-Linux 2.0.10 or later.  This check uses <linux/version.h>, so
-make sure that file was built correctly when installing the kernel header
-files.  To use kernel headers not from /usr/include/linux, use the
-configure option --with-headers." >&2;}
-   { (exit 1); exit 1; }; }
+configure option --with-headers." "$LINENO" 5
 fi
 
 # If the user gave a minimal version number test whether the available
@@ -263,7 +345,7 @@ if test -n "$minimum_kernel"; then
   arch_version=$((`echo "$arch_minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
 
   if test $user_version -lt $arch_version; then
-    { $as_echo "$as_me:$LINENO: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&5
 $as_echo "$as_me: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&2;}
     minimum_kernel=$arch_minimum_kernel
   fi
@@ -274,15 +356,11 @@ else
 fi
 
 if test -n "$minimum_kernel"; then
-  { $as_echo "$as_me:$LINENO: checking for kernel header at least $minimum_kernel" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5
 $as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; }
   decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
   abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <linux/version.h>
 #if LINUX_VERSION_CODE < $decnum
@@ -290,14 +368,14 @@ eat flaming death
 #endif
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "eat flaming death" >/dev/null 2>&1; then
+  $EGREP "eat flaming death" >/dev/null 2>&1; then :
   libc_minimum_kernel='too old!'
 else
   libc_minimum_kernel=ok
 fi
 rm -f conftest*
 
-  { $as_echo "$as_me:$LINENO: result: $libc_minimum_kernel" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_minimum_kernel" >&5
 $as_echo "$libc_minimum_kernel" >&6; }
   if test "$libc_minimum_kernel" = ok; then
     cat >>confdefs.h <<_ACEOF
@@ -309,11 +387,8 @@ _ACEOF
 _ACEOF
 
   else
-    { { $as_echo "$as_me:$LINENO: error: *** The available kernel headers are older than the requested
-*** compatible kernel version" >&5
-$as_echo "$as_me: error: *** The available kernel headers are older than the requested
-*** compatible kernel version" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "*** The available kernel headers are older than the requested
+*** compatible kernel version" "$LINENO" 5
   fi
 fi
 
@@ -441,7 +516,7 @@ if test $host = $build; then
   else
     ac_prefix=$ac_default_prefix
   fi
-  { $as_echo "$as_me:$LINENO: checking for symlinks in ${ac_prefix}/include" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for symlinks in ${ac_prefix}/include" >&5
 $as_echo_n "checking for symlinks in ${ac_prefix}/include... " >&6; }
   ac_message=
   if test -L ${ac_prefix}/include/net; then
@@ -453,23 +528,16 @@ $as_echo_n "checking for symlinks in ${ac_prefix}/include... " >&6; }
    ${ac_prefix}/include/scsi is a symlink"
   fi
   if test -n "$ac_message"; then
-    { { $as_echo "$as_me:$LINENO: error: $ac_message
+    as_fn_error $? "$ac_message
 \`make install' will destroy the target of the link(s).
 Delete the links and re-run configure, or better still, move the entire
-${ac_prefix}/include directory out of the way." >&5
-$as_echo "$as_me: error: $ac_message
-\`make install' will destroy the target of the link(s).
-Delete the links and re-run configure, or better still, move the entire
-${ac_prefix}/include directory out of the way." >&2;}
-   { (exit 1); exit 1; }; }
+${ac_prefix}/include directory out of the way." "$LINENO" 5
   else
-    { $as_echo "$as_me:$LINENO: result: ok" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
   fi
 fi
 
 # We have inlined syscalls.
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INLINED_SYSCALLS 1
-_ACEOF
+$as_echo "#define HAVE_INLINED_SYSCALLS 1" >>confdefs.h
 
diff --git a/sysdeps/x86_64/elf/configure b/sysdeps/x86_64/elf/configure
index f722b9e..99241e7 100644
--- a/sysdeps/x86_64/elf/configure
+++ b/sysdeps/x86_64/elf/configure
@@ -1,11 +1,93 @@
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/x86_64/elf.
 
 if test "$usetls" != no; then
 # Check for support of thread-local storage handling in assembler and linker.
-{ $as_echo "$as_me:$LINENO: checking for x86-64 TLS support" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86-64 TLS support" >&5
 $as_echo_n "checking for x86-64 TLS support... " >&6; }
-if test "${libc_cv_x86_64_tls+set}" = set; then
+if test "${libc_cv_x86_64_tls+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
   cat > conftest.s <<\EOF
@@ -22,27 +104,24 @@ baz:	leaq	bar@TLSLD(%rip), %rdi
 	movq	$bar@TPOFF, %rdx
 EOF
 if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
   libc_cv_x86_64_tls=yes
 else
   libc_cv_x86_64_tls=no
 fi
 rm -f conftest*
 fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_x86_64_tls" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_x86_64_tls" >&5
 $as_echo "$libc_cv_x86_64_tls" >&6; }
 if test $libc_cv_x86_64_tls = yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_TLS_SUPPORT 1
-_ACEOF
+  $as_echo "#define HAVE_TLS_SUPPORT 1" >>confdefs.h
 
 fi
 fi
 
-cat >>confdefs.h <<\_ACEOF
-#define PI_STATIC_AND_HIDDEN 1
-_ACEOF
+$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
+

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   25 ++
 Makeconfig                                         |    6 +-
 Makerules                                          |    8 +-
 NEWS                                               |    4 +-
 aclocal.m4                                         |   13 +-
 configure                                          |  132 +-----------
 configure.in                                       |   22 +--
 elf/rtld-Rules                                     |    4 +-
 libidn/configure                                   |    4 +-
 manual/install.texi                                |    4 +-
 nptl/sysdeps/pthread/configure                     |  242 ++++++++++++--------
 nptl/sysdeps/x86_64/configure                      |   98 +++++++-
 sysdeps/powerpc/powerpc64/power7/Makefile          |    5 +
 sysdeps/unix/sysv/linux/configure                  |  196 +++++++++++-----
 sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h |    4 +-
 sysdeps/wordsize-64/Makefile                       |    6 +
 sysdeps/wordsize-64/tst-writev.c                   |  107 +++++++++
 sysdeps/x86_64/elf/configure                       |  104 ++++++++-
 sysdeps/x86_64/elf/configure.in                    |    1 +
 19 files changed, 623 insertions(+), 362 deletions(-)
 create mode 100644 sysdeps/powerpc/powerpc64/power7/Makefile
 create mode 100644 sysdeps/wordsize-64/Makefile
 create mode 100644 sysdeps/wordsize-64/tst-writev.c


hooks/post-receive
-- 
GNU C Library master sources



More information about the Glibc-cvs mailing list