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

[Commits] r18647 - in /fsf/trunk/libc: ./ iconvdata/ include/ localedata/ malloc/ manual/ misc/ misc/sys/ stdio-common/ sunrpc/ sysdep...



Author: eglibc
Date: Tue May 22 00:01:50 2012
New Revision: 18647

Log:
Import glibc-mainline for 2012-05-22

Added:
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h
Removed:
    fsf/trunk/libc/localedata/tst-strptime.c
    fsf/trunk/libc/stdio-common/bug15.c
    fsf/trunk/libc/wcsmbs/tst-mbsnrtowcs.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makerules
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/iconvdata/tcvn5712-1.c
    fsf/trunk/libc/include/shlib-compat.h
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/Makefile
    fsf/trunk/libc/localedata/SUPPORTED
    fsf/trunk/libc/malloc/malloc.c
    fsf/trunk/libc/manual/contrib.texi
    fsf/trunk/libc/misc/getauxval.c
    fsf/trunk/libc/misc/sys/auxv.h
    fsf/trunk/libc/stdio-common/Makefile
    fsf/trunk/libc/sunrpc/svc_simple.c
    fsf/trunk/libc/sunrpc/xcrypt.c
    fsf/trunk/libc/sysdeps/gnu/bits/utmp.h
    fsf/trunk/libc/sysdeps/gnu/bits/utmpx.h
    fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcschr-c.c
    fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/bits/wordsize.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/bits/wordsize.h
    fsf/trunk/libc/sysdeps/sparc/sparc32/bits/wordsize.h
    fsf/trunk/libc/sysdeps/sparc/sparc64/bits/wordsize.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/statvfs.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.h
    fsf/trunk/libc/sysdeps/x86_64/__longjmp.S
    fsf/trunk/libc/sysdeps/x86_64/bits/wordsize.h
    fsf/trunk/libc/sysdeps/x86_64/setjmp.S
    fsf/trunk/libc/wcsmbs/Makefile

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue May 22 00:01:50 2012
@@ -1,3 +1,100 @@
+2012-05-21  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* configure.in (libc_cv_predef_stack_protector): Only consider
+	"foobar" and "__stack_chk_fail" lines in libc_undefs.
+	* configure: Regenerated.
+
+2012-05-21  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_SET_ERRNO):
+	New macro.  Use R*LP on int and pointer.
+	(SYSCALL_ERROR_HANDLER): Use SYSCALL_SET_ERRNO.
+	* sysdeps/unix/sysv/linux/x86_64/x32/lseek.S: New file.
+	* sysdeps/unix/sysv/linux/x86_64/x32/llseek.S: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h: Likewise.
+
+	* sysdeps/gnu/bits/utmp.h (struct lastlog): Check
+	[__WORDSIZE_TIME64_COMPAT32] instead of
+	[__WORDSIZE == 64 && __WORDSIZE_COMPAT32].
+	(struct utmp): Likewise.
+	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Likewise.
+	* sysdeps/powerpc/powerpc32/bits/wordsize.h (__WORDSIZE_COMPAT32):
+	Renamed to ...
+	(__WORDSIZE_TIME64_COMPAT32): This.
+	* sysdeps/powerpc/powerpc64/bits/wordsize.h: Likewise.
+	* sysdeps/sparc/sparc32/bits/wordsize.h: Likewise.
+	* sysdeps/sparc/sparc64/bits/wordsize.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h: Likewise.
+	* sysdeps/x86_64/bits/wordsize.h (__WORDSIZE_COMPAT32): Removed.
+	(__WORDSIZE_TIME64_COMPAT32): New macro.
+
+2012-05-21  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/i386/i686/multiarch/wcschr-c.c: Redefine libc_hidden_def
+	only if [SHARED]. Add prototype for __wcschr_ia32.
+
+2012-05-21  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* sysdeps/x86_64/setjmp.S [PTR_MANGLE] [__ILP32__]: Preserve high bits
+	of %rbp unmolested in the jmp_buf while mangling the low bits.
+	* sysdeps/x86_64/__longjmp.S [PTR_DEMANGLE] [__ILP32__]: Restore the
+	unmolested high bits of %rbp while demangling the low bits.
+	* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: Likewise.
+
+2012-05-21  Andreas Jaeger  <aj@xxxxxxx>
+
+	* include/shlib-compat.h (libc_sunrpc_symbol): New macro.
+	* sunrpc/svc_simple.c: Use it for registerrpc.
+	* sunrpc/xcrypt.c: Use it for passwd2des.
+
+	* malloc/malloc.c: Include shlib-compat.h for SHLIB_COMPAT.
+
+2012-05-21  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/bits/statvfs.h (_STATVFSBUF_F_UNUSED):
+	Don't define if [__SYSCALL_WORDSIZE != 32].
+	* sysdeps/x86_64/bits/wordsize.h (__SYSCALL_WORDSIZE):
+	New macro.
+
+2012-05-21  Bruno Haible  <bruno@xxxxxxxxx>
+	    Andreas Jaeger  <aj@xxxxxxx>
+
+	[BZ #13691], Revert breakage of iconv() converter for TCVN-5712.
+	* iconvdata/tcvn5712-1.c (BODY for FROM_LOOP): Don't consider
+	inptr and inend for must_buffer_ch.
+	* wcsmbs/tst-mbsnrtowcs.c: Remove file.
+	* wcsmbs/Makefile (tests): Remove tst-mbsnrtowcs.
+	* stdio-common/Makefile (tests): Remove bug15.
+	(bug15-ENV): Remove macro.
+	* stdio-common/bug15.c: Remove, we do not support vi_VN.TCVN5712-1
+	anymore.
+
+2012-05-19  Andreas Jaeger  <aj@xxxxxxx>
+	    Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* manual/contrib.texi: Completely rewritten. It contains now an
+	alphabetical list of contributors and their contributions.
+
+2012-05-21  Richard Henderson  <rth@xxxxxxxxxxx>
+
+	* misc/getauxval.c (__getauxval): Use unsigned long int.
+	* misc/sys/auxv.h: Include <sys/cdefs.h>.
+	(getauxval): Use unsigned long int.
+
+2012-05-21  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list: New file.
+
+2012-05-21  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* malloc/malloc.c [!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_16)]
+	(MALLOC_ALIGNMENT): Set it to the greater of 2 * SIZE_SZ and
+	__alignof__ (long double).
+
+2012-05-21  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/fpu/libm-test-ulps: Update.
+
 2012-05-20  Richard Henderson  <rth@xxxxxxxxxxx>
 
 	* misc/getauxval.c: New file.
@@ -18,7 +115,8 @@
 	* sysdeps/sparc/sysdep.h: ... here.  Include it.
 	* sysdeps/unix/sysv/linux/s390/bits/hwcap.h: New file.
 	* sysdeps/unix/sysv/linux/i386/nptl/libc.abilist: Update.
-	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist: Update.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libc.abilist:
+	Update.
 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist: Update.
 	* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist: Update.
 	* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist: Update.

Modified: fsf/trunk/libc/Makerules
==============================================================================
--- fsf/trunk/libc/Makerules (original)
+++ fsf/trunk/libc/Makerules Tue May 22 00:01:50 2012
@@ -243,7 +243,7 @@
 	   /*) ;;							      \
 	   *) dir="\$$(..)$$dir" ;;					      \
 	   esac;							      \
-	   asm='.S .s';							      \
+	   asm='.S';							      \
 	   $(check-inhibit-asm)						      \
 	   for o in $(all-object-suffixes); do				      \
 	     set $(subst :, ,$(sysd-rules-patterns));			      \

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Tue May 22 00:01:50 2012
@@ -431,7 +431,7 @@
   Implemented by Ulrich Drepper.
 
 * Faster sqrt and sqrtf implemention for some PPC variants.
-  Implemented by Stephen Munroe.
+  Implemented by Steven Munroe.
 
 Version 2.7
 

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Tue May 22 00:01:50 2012
@@ -7696,6 +7696,13 @@
   as_fn_error $? "confusing output from $NM -u" "$LINENO" 5
 }
 echo >&5 "libc_undefs='$libc_undefs'"
+# On some architectures, there are architecture-specific undefined
+# symbols (resolved by the linker), so filter out unknown symbols.
+# This will fail to produce the correct result if the compiler
+# defaults to -fstack-protector but this produces an undefined symbol
+# other than __stack_chk_fail.  However, compilers like that have not
+# been encountered in practice.
+libc_undefs=`echo "$libc_undefs" | egrep '^(foobar|__stack_chk_fail)$'`
 case "$libc_undefs" in
 foobar) libc_cv_predef_stack_protector=no ;;
 '__stack_chk_fail

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Tue May 22 00:01:50 2012
@@ -2072,6 +2072,13 @@
   AC_MSG_ERROR([confusing output from $NM -u])
 }
 echo >&AS_MESSAGE_LOG_FD "libc_undefs='$libc_undefs'"
+# On some architectures, there are architecture-specific undefined
+# symbols (resolved by the linker), so filter out unknown symbols.
+# This will fail to produce the correct result if the compiler
+# defaults to -fstack-protector but this produces an undefined symbol
+# other than __stack_chk_fail.  However, compilers like that have not
+# been encountered in practice.
+libc_undefs=`echo "$libc_undefs" | egrep '^(foobar|__stack_chk_fail)$'`
 case "$libc_undefs" in
 foobar) libc_cv_predef_stack_protector=no ;;
 '__stack_chk_fail

Modified: fsf/trunk/libc/iconvdata/tcvn5712-1.c
==============================================================================
--- fsf/trunk/libc/iconvdata/tcvn5712-1.c (original)
+++ fsf/trunk/libc/iconvdata/tcvn5712-1.c Tue May 22 00:01:50 2012
@@ -378,9 +378,8 @@
     /* Determine whether there is a buffered character pending.  */	      \
     last_ch = *statep >> 3;						      \
 									      \
-    /* We have to buffer ch if it is a possible match in comp_table_data      \
-       and if it isn't the last char of the string.  */			      \
-    must_buffer_ch = (ch >= 0x0041 && ch <= 0x01b0) && (inptr + 1 != inend);  \
+    /* We have to buffer ch if it is a possible match in comp_table_data.  */ \
+    must_buffer_ch = (ch >= 0x0041 && ch <= 0x01b0);                          \
 									      \
     if (last_ch)							      \
       {									      \

Modified: fsf/trunk/libc/include/shlib-compat.h
==============================================================================
--- fsf/trunk/libc/include/shlib-compat.h (original)
+++ fsf/trunk/libc/include/shlib-compat.h Tue May 22 00:01:50 2012
@@ -91,4 +91,14 @@
 #endif
 
 
+# ifdef LINK_OBSOLETE_RPC
+/* Export the symbol for both static and dynamic linking.  */
+#  define libc_sunrpc_symbol(name, aliasname, version) \
+  strong_alias (name, aliasname)
+# else
+/* Export the symbol only for shared-library compatibility.  */
+#  define libc_sunrpc_symbol(name, aliasname, version) \
+  compat_symbol (libc, name, aliasname, version);
+# endif
+
 #endif	/* shlib-compat.h */

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Tue May 22 00:01:50 2012
@@ -1,3 +1,12 @@
+2012-05-21  Bruno Haible  <bruno@xxxxxxxxx>
+	    Andreas Jaeger  <aj@xxxxxxx>
+
+	* SUPPORTED: Remove vi_VN.TCVN/TCVN5712-1.
+	* tst-strptime.c: Remove, we do not support vi_VN.TCVN5712-1
+	anymore.
+	* Makefile (LOCALES): Remove vi_VN.TCVN5712-1 from list.
+	(tests): Remove tst-strptime.
+
 2012-05-11  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
 
 	[BZ #11837]

Modified: fsf/trunk/libc/localedata/Makefile
==============================================================================
--- fsf/trunk/libc/localedata/Makefile (original)
+++ fsf/trunk/libc/localedata/Makefile Tue May 22 00:01:50 2012
@@ -78,7 +78,7 @@
 
 tests = $(locale_test_suite) tst-digits tst-setlocale bug-iconv-trans \
 	tst-leaks tst-mbswcs6 tst-xlocale1 tst-xlocale2 bug-usesetlocale \
-	tst-strfmon1 tst-sscanf tst-strptime bug-setlocale1 tst-setlocale2
+	tst-strfmon1 tst-sscanf bug-setlocale1 tst-setlocale2
 ifeq (yes,$(build-shared))
 ifneq (no,$(PERL))
 tests: $(objpfx)mtrace-tst-leaks
@@ -119,9 +119,9 @@
 LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
 	   en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \
 	   hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
-	   vi_VN.TCVN5712-1 nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 \
-	   tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 \
-	   ja_JP.UTF-8 si_LK.UTF-8 tr_TR.ISO-8859-9
+	   nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 tr_TR.UTF-8 cs_CZ.UTF-8 \
+	   zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 si_LK.UTF-8 \
+	   tr_TR.ISO-8859-9
 LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
 CHARMAPS := $(shell echo "$(LOCALES)" | \
 		    sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)

Modified: fsf/trunk/libc/localedata/SUPPORTED
==============================================================================
--- fsf/trunk/libc/localedata/SUPPORTED (original)
+++ fsf/trunk/libc/localedata/SUPPORTED Tue May 22 00:01:50 2012
@@ -409,7 +409,6 @@
 uz_UZ/ISO-8859-1 \
 uz_UZ@cyrillic/UTF-8 \
 ve_ZA/UTF-8 \
-vi_VN.TCVN/TCVN5712-1 \
 vi_VN/UTF-8 \
 wa_BE/ISO-8859-1 \
 wa_BE@euro/ISO-8859-15 \

Removed: fsf/trunk/libc/localedata/tst-strptime.c
==============================================================================
--- fsf/trunk/libc/localedata/tst-strptime.c (original)
+++ fsf/trunk/libc/localedata/tst-strptime.c (removed)
@@ -1,54 +1,0 @@
-#include <locale.h>
-#include <time.h>
-#include <stdio.h>
-#include <string.h>
-
-static int
-do_test (void)
-{
-  int result = 0;
-
-  if (setlocale (LC_ALL, "vi_VN.TCVN5712-1") == NULL)
-    {
-      puts ("cannot set locale");
-      return 1;
-    }
-  struct tm tm;
-  memset (&tm, '\0', sizeof (tm));
-  /* This is November in Vietnamese encoded using TCVN5712-1.  */
-  static const char s[] = "\
-\x54\x68\xb8\x6e\x67\x20\x6d\xad\xea\x69\x20\x6d\xe9\x74\0";
-  char *r = strptime (s, "%b", &tm);
-  printf ("r = %p, r-s = %tu, tm.tm_mon = %d\n", r, r - s, tm.tm_mon);
-  result = r == NULL || r - s != 14 || tm.tm_mon != 10;
-
-  if (setlocale (LC_ALL, "ja_JP.UTF-8") == NULL)
-    {
-      puts ("cannot set locale");
-      return 1;
-    }
-  static const char s2[] = "\
-\x32\x35\x20\x30\x36\x20\xe5\xb9\xb3\xe6\x88\x90\x32\x30\0";
-  memset (&tm, '\0', sizeof (tm));
-  r = strptime (s2, "%d %m %EC%Ey", &tm);
-  printf ("\
-r = %p, r-s2 = %tu, tm.tm_mday = %d, tm.tm_mon = %d, tm.tm_year = %d\n",
-	  r, r - s2, tm.tm_mday, tm.tm_mon, tm.tm_year);
-  result |= (r == NULL || r - s2 != 14 || tm.tm_mday != 25 || tm.tm_mon != 5
-	     || tm.tm_year != 108);
-
-  static const char s3[] = "\
-\x32\x35\x20\x30\x36\x20\xe5\xb9\xb3\xe6\x88\x90\x32\x30\xe5\xb9\xb4\0";
-  memset (&tm, '\0', sizeof (tm));
-  r = strptime (s3, "%d %m %EY", &tm);
-  printf ("\
-r = %p, r-s3 = %tu, tm.tm_mday = %d, tm.tm_mon = %d, tm.tm_year = %d\n",
-	  r, r - s3, tm.tm_mday, tm.tm_mon, tm.tm_year);
-  result |= (r == NULL || r - s3 != 17 || tm.tm_mday != 25 || tm.tm_mon != 5
-	     || tm.tm_year != 108);
-
-  return result;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"

Modified: fsf/trunk/libc/malloc/malloc.c
==============================================================================
--- fsf/trunk/libc/malloc/malloc.c (original)
+++ fsf/trunk/libc/malloc/malloc.c Tue May 22 00:01:50 2012
@@ -227,6 +227,8 @@
 #include <unistd.h>
 #include <stdio.h>    /* needed for malloc_stats */
 #include <errno.h>
+
+#include <shlib-compat.h>
 
 /* For uintptr_t.  */
 #include <stdint.h>
@@ -337,16 +339,20 @@
 
 
 #ifndef MALLOC_ALIGNMENT
-/* XXX This is the correct definition.  It differs from 2*SIZE_SZ only on
-   powerpc32.  For the time being, changing this is causing more
-   compatibility problems due to malloc_get_state/malloc_set_state than
-   will returning blocks not adequately aligned for long double objects
-   under -mlong-double-128.
-
-#define MALLOC_ALIGNMENT       (2 * SIZE_SZ < __alignof__ (long double) \
-				? __alignof__ (long double) : 2 * SIZE_SZ)
-*/
-#define MALLOC_ALIGNMENT       (2 * SIZE_SZ)
+# if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_16)
+/* This is the correct definition when there is no past ABI to constrain it.
+
+   Among configurations with a past ABI constraint, it differs from
+   2*SIZE_SZ only on powerpc32.  For the time being, changing this is
+   causing more compatibility problems due to malloc_get_state and
+   malloc_set_state than will returning blocks not adequately aligned for
+   long double objects under -mlong-double-128.  */
+
+#  define MALLOC_ALIGNMENT       (2 * SIZE_SZ < __alignof__ (long double) \
+				  ? __alignof__ (long double) : 2 * SIZE_SZ)
+# else
+#  define MALLOC_ALIGNMENT       (2 * SIZE_SZ)
+# endif
 #endif
 
 /* The corresponding bit mask value */

Modified: fsf/trunk/libc/manual/contrib.texi
==============================================================================
--- fsf/trunk/libc/manual/contrib.texi (original)
+++ fsf/trunk/libc/manual/contrib.texi Tue May 22 00:01:50 2012
@@ -2,175 +2,301 @@
 @c %MENU% Who wrote what parts of the GNU C Library
 @appendix Contributors to @theglibc{}
 
-@Theglibc{} was written originally by Roland McGrath, and is
-currently maintained by Ulrich Drepper.  Some parts of the library were
-contributed or worked on by other people.
+@Theglibc{} project would like to thank its many contributors.
+Without them the project would not have been nearly as successful as
+it has been.  Any omissions in this list are accidental.  Feel free to
+file a bug in bugzilla if you have been left out or some of your
+contributions are not listed.  Please keep this list in alphabetical
+order.
 
 @itemize @bullet
-@item
-The @code{getopt} function and related code was written by
-Richard Stallman, @w{David J.} MacKenzie, and @w{Roland McGrath}.
-
-@item
-The merge sort function @code{qsort} was written by Michael J. Haertel.
-
-@item
-The quick sort function used as a fallback by @code{qsort} was written
-by Douglas C. Schmidt.
-
-@item
-The memory allocation functions @code{malloc}, @code{realloc} and
-@code{free} and related code were written by Michael J. Haertel,
-@w{Wolfram Gloger}, and @w{Doug Lea}.
-
-@item
-Fast implementations of many of the string functions (@code{memcpy},
-@code{strlen}, etc.) were written by Torbj@"orn Granlund.
-
-@item
-The @file{tar.h} header file was written by David J. MacKenzie.
-
-@item
-The port to the MIPS DECStation running Ultrix 4
-(@code{mips-dec-ultrix4})
-was contributed by Brendan Kehoe and Ian Lance Taylor.
-
-@item
-The DES encryption function @code{crypt} and related functions were
-contributed by Michael Glad.
-
-@item
-The @code{ftw} and @code{nftw} functions were contributed by Ulrich Drepper.
-
-@item
-The startup code to support SunOS shared libraries was contributed by
-Tom Quinn.
-
-@item
-The @code{mktime} function was contributed by Paul Eggert.
-
-@item
-The port to the Sequent Symmetry running Dynix version 3
-(@code{i386-sequent-bsd}) was contributed by Jason Merrill.
-
+
+@item
+Ryan S. Arnold for his improvements for Linux on PowerPC.
+
+@item
+Miles Bader for writing the @code{argp} argument-parsing package, and the
+@code{argz}/@code{envz} interfaces.
+
+@item
+Jeff Bailey for his maintainership of the HPPA architecture.
+
+@item
+Petr Baudis for bug fixes and testing.
+
+@item
+Stephen R. van den Berg for contributing a highly-optimized
+@code{strstr} function.
+
+@item
+Eric Blake for adding O(n) implementations of @code{memmem},
+@code{strstr} and @code{strcasestr}.
+
+@item
+Philip Blundell for the ports to Linux/ARM
+(@code{arm-@var{ANYTHING}-linuxaout}) and ARM standalone
+(@code{arm-@var{ANYTHING}-none}), as well as for parts of the IPv6
+support code.
+
+@item
+Per Bothner for the implementation of the @code{libio} library which
+is used to implement @code{stdio} functions.
+
+@item
+Mark Brown for his direction as part of @theglibc{} steering
+committee.
+
+@item
+Thomas Bushnell for his contributions to Hurd.
+
+@item
+Liubov Dmitrieva for optimzed string functions on x86-64 and x86.
+
+@item
+Ulrich Drepper for his many contributions in almost all parts of
+@theglibc{}, including:
+@itemize @bullet
+@item internationalization support, including the @code{locale} and
+@code{localedef} utilities.
+@item Linux i386/ELF support
+@item the @code{hsearch} and @code{drand48} families of functions,
+reentrant @samp{@dots{}@code{_r}} versions of the @code{random}
+family; System V shared memory and IPC support code
+@item several highly-optimized string functions for i@var{x}86
+processors
+@item many math functions
+@item the character conversion functions (@code{iconv})
+@item the @code{ftw} and @code{nftw} functions
+@item the floating-point printing function used by @code{printf} and friends
+and the floating-point reading function used by @code{scanf},
+@code{strtod} and friends
+@item the @code{catgets} support and the entire suite of multi-byte
+and wide-character support functions (@file{wctype.h}, @file{wchar.h}, etc.).
+@item versioning of objects on the symbol level
+@end itemize
+
+@item
+Paul Eggert for the @code{mktime} function and for his direction as
+part of @theglibc{} steering committee.
+
+@item
+Mike Frysinger for his maintaining of the IA64 architecture and for
+testing and bug fixing.
+
+@item
+Michael Glad for the DES encryption function @code{crypt} and related
+functions.
+
+@item
+Wolfram Gloger for contributing the memory allocation functions
+functions @code{malloc}, @code{realloc} and @code{free} and related
+code.
+
+@item
+Torbj@"orn Granlund for fast implementations of many of the string
+functions (@code{memcpy}, @code{strlen}, etc.).
+
+@item
+Michael J. Haertel for writing the merge sort function @code{qsort}
+and malloc checking functions like @code{mcheck}.
+
+@item
+Bruno Haible for his improvements to the @code{iconv} and locale
+implementations.
+
+@item
+Richard Henderson for the port to Linux on Alpha
+(@code{alpha-@var{anything}-linux}).
+
+@item
+Daniel Jacobowitz for various fixes and enhancements.
+
+@item
+Andreas Jaeger for the port to Linux on x86-64
+(@code{x86_64-@var{anything}-linux} and his work on Linux for MIPS
+(@code{mips-@var{anything}-linux}), implementing the @file{ldconfig}
+program, providing a test suite for the math library and for his
+direction as part of @theglibc{} steering committee.
+
+@item
+Aurelien Jarno for various fixes.
+
+@item
+Jakub Jelinek for implementing a number of checking functions and for
+his direction as part of @theglibc{} steering committee.
+
+@item
+Geoffrey Keating for the port to Linux on PowerPC
+(@code{powerpc-@var{anything}-linux}).
+
+@item
+Brendan Kehoe for contributing the port to the MIPS DECStation running
+Ultrix 4 (@code{mips-dec-ultrix4}) and the port to the DEC Alpha
+running OSF/1 (@code{alpha-dec-osf1}).
+
+@item
+Mark Kettenis for implementing the @code{utmpx} interface and an utmp
+daemon, and for a Hesiod NSS module.
+
+@item
+Kazumoto Kojima for the port of the Mach and Hurd code to the MIPS
+architecture (@code{mips-@var{anything}-gnu}) and for his work on the
+SH architecture.
+
+@item
+Andreas Krebbel for his work on Linux for s390 and s390x.
+
+@item
+Thorsten Kukuk for providing an implementation for NIS (YP) and NIS+,
+securelevel 0, 1 and 2 and for the implementation for a caching daemon
+for NSS (@file{nscd}).
+
+@item
+Jeff Law for various fixes.
+
+@item
+Doug Lea for contributing the memory allocation functions
+functions @code{malloc}, @code{realloc} and @code{free} and related
+code.
+
+@item
+Hongjiu Lu for providing the support for a Linux 32-bit runtime
+environment under x86-64 (x32), for porting to Linux on IA64, for
+improved string functions and many bug fixes.
+
+@item
+Luis Machado for optimized functions on PowerPC.
+
+@item
+David J. MacKenzie for his contribution to the @code{getopt}
+function and writing the @file{tar.h} header.
+
+@item
+Greg McGary for adding runtime support for bounds checking.
+
+@item
+Roland McGrath for writing most of @theglibc{} originally, for his
+work on the Hurd port, his direction as part of @theglibc{} steering
+committee, and for many bug fixes and reviewing of contributions.
+
+@item
+Jason Merrill for the port to the Sequent Symmetry running Dynix
+version 3 (@code{i386-sequent-bsd}).
+
+@item
+Chris Metcalf for the port to Linux/Tile
+(@code{tilegx-@var{anything}-linux} and
+@code{tilepro-@var{anything}-linux}).
+
+@item
+David Miller for contributing the port to Linux/Sparc
+(@code{sparc*-@var{anything}-linux}).
+
+@item
+Alan Modra for his improvements for Linux on PowerPC.
+
+@item
+David Mosberger-Tang for contributing the port to Linux/Alpha
+(@code{alpha-@var{anything}-linux}).
+
+@item
+Stephen Moshier for implementing some 128-bit long double format math
+functions.
+
+@item
+Stephen Munroe for his port to Linux on PowerPC64
+(@code{powerpc64-@var{anything}-linux}) and for adding optimized
+implementations for PowerPC.
+
+@item
+Joseph S. Myers for numerous bug fixes for the libm functions and for
+his maintainership of the ARM and MIPS architectures.
+
+@item
+Carlos O'Donell for his maintainership of the HPPA architecture and
+maintaining @theglibc{} web pages.
+
+@item
+Alexandra Oliva for adding TLS descriptors for LD and GD on x86 and
+x86-64.
+
+@item
+Paul Pluzhnikov for various fixes.
+
+@item
+Marek Polacek for various fixes.
+
+@item
+Siddhesh Poyarekar for various fixes.
+
+@item
+Pravin Satpute for writing sorting rules for some Indian languages.
+
+@item
+Martin Schwidefsky for porting to Linux on s390
+(@code{s390-@var{anything}-linux}) and s390x
+(@code{s390x-@var{anything}-linux}).
+
+@item
+Carlos Eduardo Seo for optimized functions on PowerPC.
+
+@item
+Franz Sirl for various fixes.
+
+@item
+Jes Sorensen for porting to Linux on IA64 (@code{ia64-@var{anything}-linux}).
+
+@item
+Richard Stallman for his contribution to the @code{getopt} function.
+
+@item
+Douglas C. Schmidt for writing the quick sort function used as a
+fallback by @code{qsort}.
+
+@item
+Andreas Schwab for the port to Linux/m68k
+(@code{m68k-@var{anything}-linux}) and for his direction as part of
+@theglibc{} steering committee.
+
+@item
+Thomas Schwinge for his contribution to Hurd and the SH architecture.
+
+@item
+Alfred M. Szmidt for various fixes.
+
+@item
+Ian Lance Taylor for contributing the port to the MIPS DECStation
+running Ultrix 4 (@code{mips-dec-ultrix4}).
+
+@item
+Tom Quinn for contributing the startup code to support SunOS shared
+libraries and the port to SGI machines running Irix 4
+(@code{mips-sgi-irix4}).
+
+@item
+Tim Waugh for the implementation of the POSIX.2 @code{wordexp}
+function family.
+
+@item
+Eric Youngdale for implementing versioning of objects on the symbol level.
+
+@item
+Adhemerval Zanella for optimized functions on PowerPC.
+
+@end itemize
+
+Some code in @theglibc{} comes from other projects and might be under
+a different license:
+
+@itemize @bullet
 @item
 The timezone support code is derived from the public-domain timezone
 package by Arthur David Olson and his many contributors.
 
 @item
-The port to the DEC Alpha running OSF/1 (@code{alpha-dec-osf1}) was
-contributed by Brendan Kehoe, using some code written by Roland McGrath.
-
-@item
-The port to SGI machines running Irix 4 (@code{mips-sgi-irix4}) was
-contributed by Tom Quinn.
-
-@item
-The port of the Mach and Hurd code to the MIPS architecture
-(@code{mips-@var{anything}-gnu}) was contributed by Kazumoto Kojima.
-
-@item
-The floating-point printing function used by @code{printf} and friends
-and the floating-point reading function used by @code{scanf},
-@code{strtod} and friends were written by Ulrich Drepper.  The
-multi-precision integer functions used in those functions are taken from
-GNU MP, which was contributed by Torbj@"orn Granlund.
-
-@item
-The internationalization support in the library, and the support
-programs @code{locale} and @code{localedef}, were written by Ulrich
-Drepper.  Ulrich Drepper adapted the support code for message catalogs
-(@file{libintl.h}, etc.) from the GNU @code{gettext} package, which he
-also wrote.  He also contributed the @code{catgets} support and the
-entire suite of multi-byte and wide-character support functions
-(@file{wctype.h}, @file{wchar.h}, etc.).
-
-@item
-The implementations of the @file{nsswitch.conf} mechanism and the files
-and DNS backends for it were designed and written by Ulrich Drepper and
-Roland McGrath, based on a backend interface defined by Peter Eriksson.
-
-@item
-The port to Linux i386/ELF (@code{i386-@var{anything}-linux}) was
-contributed by Ulrich Drepper, based in large part on work done in
-Hongjiu Lu's Linux version of @theglibc{}.
-
-@item
-The port to Linux/m68k (@code{m68k-@var{anything}-linux}) was
-contributed by Andreas Schwab.
-
-@item
-The ports to Linux/ARM (@code{arm-@var{ANYTHING}-linuxaout}) and ARM
-standalone (@code{arm-@var{ANYTHING}-none}), as well as parts of the
-IPv6 support code, were contributed by Philip Blundell.
-
-@item
-Richard Henderson contributed the ELF dynamic linking code and other
-support for the Alpha processor.
-
-@item
-David Mosberger-Tang contributed the port to Linux/Alpha
-(@code{alpha-@var{anything}-linux}).
-
-@item
-The port to Linux on PowerPC (@code{powerpc-@var{anything}-linux})
-was contributed by Geoffrey Keating.
-
-@item
-Miles Bader wrote the argp argument-parsing package, and the argz/envz
-interfaces.
-
-@item
-Stephen R. van den Berg contributed a highly-optimized @code{strstr} function.
-
-@item
-Ulrich Drepper contributed the @code{hsearch} and @code{drand48}
-families of functions; reentrant @samp{@dots{}@code{_r}} versions of the
-@code{random} family; System V shared memory and IPC support code; and
-several highly-optimized string functions for i@var{x}86 processors.
-
-@item
-The math functions are taken from @code{fdlibm-5.1} by Sun
-Microsystems, as modified by J.T. Conklin, Ian Lance Taylor,
-Ulrich Drepper, Andreas Schwab, and Roland McGrath.
-
-@item
-The @code{libio} library used to implement @code{stdio} functions on
-some platforms was written by Per Bothner and modified by Ulrich Drepper.
-
-@item
-Eric Youngdale and Ulrich Drepper implemented versioning of objects on
-the symbol level.
-
-@item
-Thorsten Kukuk provided an implementation for NIS (YP) and NIS+,
-securelevel 0, 1 and 2.
-
-@item
-Andreas Jaeger provided a test suite for the math library.
-
-@item
-Mark Kettenis implemented the utmpx interface and an utmp daemon.
-
-@item
-Ulrich Drepper added character conversion functions (@code{iconv}).
-
-@item
-Thorsten Kukuk provided an implementation for a caching daemon for NSS
-(nscd).
-
-@item
-Tim Waugh provided an implementation of the POSIX.2 wordexp function family.
-
-@item
-Mark Kettenis provided a Hesiod NSS module.
-
-@item
-The Internet-related code (most of the @file{inet} subdirectory) and
-several other miscellaneous functions and header files have been
-included from 4.4 BSD with little or no modification.  The copying
-permission notice for this code can be found in the file @file{LICENSES}
-in the source distribution.
+Some of the support code for Mach is taken from Mach 3.0 by CMU;
+the file if_ppp.h is also copyright by CMU, but under a different license;
+see the file @file{LICENSES} for the text of the licenses.
 
 @item
 The random number generation functions @code{random}, @code{srandom},
@@ -182,6 +308,18 @@
 but the functional code is Berkeley's.@refill
 
 @item
+The Internet-related code (most of the @file{inet} subdirectory) and
+several other miscellaneous functions and header files have been
+included from 4.4 BSD with little or no modification.  The copying
+permission notice for this code can be found in the file @file{LICENSES}
+in the source distribution.
+
+@item
+The @code{getaddrinfo} and @code{getnameinfo} functions and supporting
+code were written by Craig Metz; see the file @file{LICENSES} for
+details on their licensing.
+
+@item
 The DNS resolver code is taken directly from BIND 4.9.5, which
 includes copyrighted code from UC Berkeley and from Digital Equipment
 Corporation.  See the file @file{LICENSES} for the text of the DEC license.
@@ -192,9 +330,14 @@
 text of the license.
 
 @item
-Some of the support code for Mach is taken from Mach 3.0 by CMU;
-the file if_ppp.h is also copyright by CMU, but under a different license;
-see the file @file{LICENSES} for the text of the licenses.
+The math functions are taken from @code{fdlibm-5.1} by Sun
+Microsystems, as modified by J.T. Conklin, Ian Lance Taylor,
+Ulrich Drepper, Andreas Schwab, and Roland McGrath.
+
+@item
+Many of the IEEE 64-bit double precision math functions
+(in the @file{sysdeps/ieee754/dbl-64} subdirectory) come
+from the IBM Accurate Mathematical Library, contributed by IBM.
 
 @item
 Many of the IA64 math functions are taken from a collection of
@@ -202,14 +345,4 @@
 makes available under a free license; see the file @file{LICENSES} for
 details.
 
-@item
-The @code{getaddrinfo} and @code{getnameinfo} functions and supporting
-code were written by Craig Metz; see the file @file{LICENSES} for
-details on their licensing.
-
-@item
-Many of the IEEE 64-bit double precision math functions
-(in the @file{sysdeps/ieee754/dbl-64} subdirectory) come
-from the IBM Accurate Mathematical Library, contributed by IBM.
-
 @end itemize

Modified: fsf/trunk/libc/misc/getauxval.c
==============================================================================
--- fsf/trunk/libc/misc/getauxval.c (original)
+++ fsf/trunk/libc/misc/getauxval.c Tue May 22 00:01:50 2012
@@ -19,8 +19,8 @@
 #include <ldsodefs.h>
 
 
-unsigned long
-__getauxval (unsigned long type)
+unsigned long int
+__getauxval (unsigned long int type)
 {
   ElfW(auxv_t) *p;
 

Modified: fsf/trunk/libc/misc/sys/auxv.h
==============================================================================
--- fsf/trunk/libc/misc/sys/auxv.h (original)
+++ fsf/trunk/libc/misc/sys/auxv.h Tue May 22 00:01:50 2012
@@ -20,14 +20,15 @@
 #define _SYS_AUXV_H 1
 
 #include <elf.h>
+#include <sys/cdefs.h>
 #include <bits/hwcap.h>
 
 __BEGIN_DECLS
 
 /* Return the value associated with an Elf*_auxv_t type from the auxv list
-   passed to the program on startup.  If __type was not present in the auxv
+   passed to the program on startup.  If TYPE was not present in the auxv
    list, returns zero.  */
-extern unsigned long getauxval (unsigned long __type)
+extern unsigned long int getauxval (unsigned long int __type)
   __THROW __attribute_const__;
 
 __END_DECLS

Modified: fsf/trunk/libc/stdio-common/Makefile
==============================================================================
--- fsf/trunk/libc/stdio-common/Makefile (original)
+++ fsf/trunk/libc/stdio-common/Makefile Tue May 22 00:01:50 2012
@@ -51,7 +51,7 @@
 	 scanf1 scanf2 scanf3 scanf4 scanf5 scanf7 scanf8 scanf9 scanf10 \
 	 scanf11 scanf12 tst-tmpnam tst-cookie tst-obprintf tst-sscanf \
 	 tst-swprintf tst-fseek tst-fmemopen test-vfprintf tst-gets \
-	 tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 bug15 \
+	 tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 \
 	 tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
 	 tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
 	 bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
@@ -120,7 +120,6 @@
 test-vfprintf-ENV = LOCPATH=$(common-objpfx)localedata
 scanf13-ENV = LOCPATH=$(common-objpfx)localedata
 bug14-ENV = LOCPATH=$(common-objpfx)localedata
-bug15-ENV = LOCPATH=$(common-objpfx)localedata
 tst-grouping-ENV = LOCPATH=$(common-objpfx)localedata
 
 ifneq (,$(filter %REENTRANT, $(defines)))

Removed: fsf/trunk/libc/stdio-common/bug15.c
==============================================================================
--- fsf/trunk/libc/stdio-common/bug15.c (original)
+++ fsf/trunk/libc/stdio-common/bug15.c (removed)
@@ -1,10 +1,0 @@
-#include <stdio.h>
-#include <locale.h>
-
-int
-main (void)
-{
-  char buf[10];
-  setlocale (LC_ALL, "vi_VN.TCVN-5712");
-  return sprintf (buf, "%.*s", 2, "vi") != 2;
-}

Modified: fsf/trunk/libc/sunrpc/svc_simple.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svc_simple.c (original)
+++ fsf/trunk/libc/sunrpc/svc_simple.c Tue May 22 00:01:50 2012
@@ -43,6 +43,7 @@
 
 #include <wchar.h>
 #include <libio/iolibio.h>
+#include <shlib-compat.h>
 
 struct proglst_
   {
@@ -121,7 +122,9 @@
   free (buf);
   return -1;
 }
-compat_symbol (libc, __registerrpc, registerrpc, GLIBC_2_0);
+
+libc_sunrpc_symbol (__registerrpc, registerrpc, GLIBC_2_0)
+
 
 static void
 universal (struct svc_req *rqstp, SVCXPRT *transp_l)

Modified: fsf/trunk/libc/sunrpc/xcrypt.c
==============================================================================
--- fsf/trunk/libc/sunrpc/xcrypt.c (original)
+++ fsf/trunk/libc/sunrpc/xcrypt.c Tue May 22 00:01:50 2012
@@ -47,6 +47,7 @@
 #include <string.h>
 #include <sys/types.h>
 #include <rpc/des_crypt.h>
+#include <shlib-compat.h>
 
 static const char hex[16] =
 {
@@ -89,7 +90,7 @@
 
 #ifdef _LIBC
 libc_hidden_def (passwd2des_internal)
-compat_symbol (libc, passwd2des_internal, passwd2des, GLIBC_2_1);
+libc_sunrpc_symbol(passwd2des_internal, passwd2des, GLIBC_2_1)
 #else
 void passwd2des (char *pw, char *key)
 {

Modified: fsf/trunk/libc/sysdeps/gnu/bits/utmp.h
==============================================================================
--- fsf/trunk/libc/sysdeps/gnu/bits/utmp.h (original)
+++ fsf/trunk/libc/sysdeps/gnu/bits/utmp.h Tue May 22 00:01:50 2012
@@ -1,6 +1,5 @@
 /* The `struct utmp' type, describing entries in the utmp file.  GNU version.
-   Copyright (C) 1993, 1996, 1997, 1998, 1999, 2002
-   Free Software Foundation, Inc.
+   Copyright (C) 1993-2012 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
@@ -36,7 +35,7 @@
    previous logins.  */
 struct lastlog
   {
-#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
+#ifdef __WORDSIZE_TIME64_COMPAT32
     int32_t ll_time;
 #else
     __time_t ll_time;
@@ -69,7 +68,7 @@
 /* The ut_session and ut_tv fields must be the same size when compiled
    32- and 64-bit.  This allows data files and shared memory to be
    shared between 32- and 64-bit applications.  */
-#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
+#ifdef __WORDSIZE_TIME64_COMPAT32
   int32_t ut_session;		/* Session ID, used for windowing.  */
   struct
   {

Modified: fsf/trunk/libc/sysdeps/gnu/bits/utmpx.h
==============================================================================
--- fsf/trunk/libc/sysdeps/gnu/bits/utmpx.h (original)
+++ fsf/trunk/libc/sysdeps/gnu/bits/utmpx.h Tue May 22 00:01:50 2012
@@ -1,5 +1,5 @@
 /* Structures and definitions for the user accounting database.  GNU version.
-   Copyright (C) 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 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
@@ -66,7 +66,7 @@
 /* The fields ut_session and ut_tv must be the same size when compiled
    32- and 64-bit.  This allows files and shared memory to be shared
    between 32- and 64-bit applications.  */
-#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
+#ifdef __WORDSIZE_TIME64_COMPAT32
   __int32_t ut_session;		/* Session ID, used for windowing.  */
   struct
   {

Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcschr-c.c
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcschr-c.c (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcschr-c.c Tue May 22 00:01:50 2012
@@ -1,8 +1,14 @@
+#include <wchar.h>
+
 #ifndef NOT_IN_libc
-# undef libc_hidden_def
-# define libc_hidden_def(name) \
-  __hidden_ver1 (__wcschr_ia32, __GI_wcschr, __wcschr_ia32);
+# ifdef SHARED
+#  undef libc_hidden_def
+#  define libc_hidden_def(name) \
+   __hidden_ver1 (__wcschr_ia32, __GI_wcschr, __wcschr_ia32);
+# endif
 # define WCSCHR  __wcschr_ia32
 #endif
 
+extern __typeof (wcschr) __wcschr_ia32;
+
 #include "wcsmbs/wcschr.c"

Modified: fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/powerpc/fpu/libm-test-ulps Tue May 22 00:01:50 2012
@@ -12,6 +12,12 @@
 ildouble: 1
 
 # acos_downward
+Test "acos_downward (-0) == pi/2":
+float: 1
+ifloat: 1
+Test "acos_downward (0) == pi/2":
+float: 1
+ifloat: 1
 Test "acos_downward (-0.5) == M_PI_6l*4.0":
 double: 1
 idouble: 1
@@ -24,8 +30,17 @@
 idouble: 1
 ldouble: 1
 ildouble: 1
+Test "acos_downward (-1) == pi":
+float: 1
+ifloat: 1
 
 # acos_towardzero
+Test "acos_towardzero (-0) == pi/2":
+float: 1
+ifloat: 1
+Test "acos_towardzero (0) == pi/2":
+float: 1
+ifloat: 1
 Test "acos_towardzero (-0.5) == M_PI_6l*4.0":
 double: 1
 idouble: 1
@@ -38,6 +53,9 @@
 idouble: 1
 ldouble: 1
 ildouble: 1
+Test "acos_towardzero (-1) == pi":
+float: 1
+ifloat: 1
 
 # acos_upward
 Test "acos_upward (-0) == pi/2":
@@ -1412,6 +1430,11 @@
 ldouble: 1
 
 # exp10
+Test "exp10 (-305) == 1.0e-305":
+double: 1
+idouble: 1
+ldouble: 1
+ildouble: 1
 Test "exp10 (-1) == 0.1":
 double: 2
 float: 1
@@ -1426,13 +1449,19 @@
 ifloat: 1
 ildouble: 1
 ldouble: 1
+Test "exp10 (-36) == 1.0e-36":
+double: 1
+idouble: 1
+Test "exp10 (36) == 1.0e36":
+double: 1
+idouble: 1
 Test "exp10 (3) == 1000":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-ildouble: 8
-ldouble: 8
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
 
 # exp2
 Test "exp2 (10) == 1024":
@@ -1475,6 +1504,9 @@
 float: 1
 idouble: 1
 ifloat: 1
+Test "expm1 (500.0) == 1.4035922178528374107397703328409120821806e+217":
+double: 1
+idouble: 1
 
 # hypot
 Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
@@ -2723,12 +2755,12 @@
 ldouble: 1
 
 Function: "exp10":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-ildouble: 8
-ldouble: 8
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
 
 Function: "exp2":
 ildouble: 2
@@ -2761,6 +2793,8 @@
 float: 1
 idouble: 1
 ifloat: 1
+ldouble: 1
+ildouble: 1
 
 Function: "gamma":
 ildouble: 1

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/bits/wordsize.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/bits/wordsize.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/bits/wordsize.h Tue May 22 00:01:50 2012
@@ -2,7 +2,7 @@
 
 #if defined __powerpc64__
 # define __WORDSIZE	64
-# define __WORDSIZE_COMPAT32	1
+# define __WORDSIZE_TIME64_COMPAT32	1
 #else
 # define __WORDSIZE	32
 #endif

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/bits/wordsize.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/bits/wordsize.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/bits/wordsize.h Tue May 22 00:01:50 2012
@@ -2,7 +2,7 @@
 
 #if defined __powerpc64__
 # define __WORDSIZE	64
-# define __WORDSIZE_COMPAT32	1
+# define __WORDSIZE_TIME64_COMPAT32	1
 #else
 # define __WORDSIZE	32
 #endif

Modified: fsf/trunk/libc/sysdeps/sparc/sparc32/bits/wordsize.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc32/bits/wordsize.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc32/bits/wordsize.h Tue May 22 00:01:50 2012
@@ -2,7 +2,7 @@
 
 #if defined __arch64__ || defined __sparcv9
 # define __WORDSIZE	64
-# define __WORDSIZE_COMPAT32	1
+# define __WORDSIZE_TIME64_COMPAT32	1
 #else
 # define __WORDSIZE	32
 #endif

Modified: fsf/trunk/libc/sysdeps/sparc/sparc64/bits/wordsize.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc64/bits/wordsize.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc64/bits/wordsize.h Tue May 22 00:01:50 2012
@@ -2,7 +2,7 @@
 
 #if defined __arch64__ || defined __sparcv9
 # define __WORDSIZE	64
-# define __WORDSIZE_COMPAT32	1
+# define __WORDSIZE_TIME64_COMPAT32	1
 #else
 # define __WORDSIZE	32
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/statvfs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/statvfs.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/statvfs.h Tue May 22 00:01:50 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997,1998,2000,2001,2002,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 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,7 +21,8 @@
 
 #include <bits/types.h>  /* For __fsblkcnt_t and __fsfilcnt_t.  */
 
-#if __WORDSIZE == 32
+#if (__WORDSIZE == 32 \
+     && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
 #define _STATVFSBUF_F_UNUSED
 #endif
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h Tue May 22 00:01:50 2012
@@ -2,7 +2,7 @@
 
 #if defined __powerpc64__
 # define __WORDSIZE	64
-# define __WORDSIZE_COMPAT32	1
+# define __WORDSIZE_TIME64_COMPAT32	1
 #else
 # define __WORDSIZE	32
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S Tue May 22 00:01:50 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001,2004,2005,2006,2009,2010,2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 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
@@ -55,12 +55,20 @@
 ENTRY(____longjmp_chk)
 	/* Restore registers.  */
 	mov	(JB_RSP*8)(%rdi), %R8_LP
-	movq	(JB_RBP*8)(%rdi), %r9
+	mov	(JB_RBP*8)(%rdi),%R9_LP
 	mov	(JB_PC*8)(%rdi), %RDX_LP
 #ifdef PTR_DEMANGLE
 	PTR_DEMANGLE (%R8_LP)
-	PTR_DEMANGLE (%r9)
+	PTR_DEMANGLE (%R9_LP)
 	PTR_DEMANGLE (%RDX_LP)
+# ifdef __ILP32__
+	/* We ignored the high bits of the %rbp value because only the low
+	   bits are mangled.  But we cannot presume that %rbp is being used
+	   as a pointer and truncate it, so recover the high bits.  */
+	movl (JB_RBP*8 + 4)(%rdi), %eax
+	shlq $32, %rax
+	orq %rax, %r9
+# endif
 #endif
 
 	cmp	%R8_LP, %RSP_LP

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.h Tue May 22 00:01:50 2012
@@ -112,30 +112,32 @@
 
 # define ret_ERRVAL ret
 
-# ifndef PIC
-#  define SYSCALL_ERROR_HANDLER	/* Nothing here; code in sysdep.S is used.  */
-# elif RTLD_PRIVATE_ERRNO
-#  define SYSCALL_ERROR_HANDLER			\
-0:						\
-  leaq rtld_errno(%rip), %rcx;			\
+# if defined PIC && defined RTLD_PRIVATE_ERRNO
+#  define SYSCALL_SET_ERRNO			\
+  lea rtld_errno(%rip), %RCX_LP;		\
   xorl %edx, %edx;				\
-  subq %rax, %rdx;				\
-  movl %edx, (%rcx);				\
-  orq $-1, %rax;				\
-  jmp L(pseudo_end);
+  sub %RAX_LP, %RDX_LP;				\
+  movl %edx, (%rcx)
 # else
 #  ifndef NOT_IN_libc
 #   define SYSCALL_ERROR_ERRNO __libc_errno
 #  else
 #   define SYSCALL_ERROR_ERRNO errno
 #  endif
+#  define SYSCALL_SET_ERRNO			\
+  movq SYSCALL_ERROR_ERRNO@GOTTPOFF(%rip), %rcx;\
+  xorl %edx, %edx;				\
+  sub %RAX_LP, %RDX_LP;				\
+  movl %edx, %fs:(%rcx)
+# endif
+
+# ifndef PIC
+#  define SYSCALL_ERROR_HANDLER	/* Nothing here; code in sysdep.S is used.  */
+# else
 #  define SYSCALL_ERROR_HANDLER			\
 0:						\
-  movq SYSCALL_ERROR_ERRNO@GOTTPOFF(%rip), %rcx;\
-  xorl %edx, %edx;				\
-  subq %rax, %rdx;				\
-  movl %edx, %fs:(%rcx);			\
-  orq $-1, %rax;				\
+  SYSCALL_SET_ERRNO;				\
+  or $-1, %RAX_LP;				\
   jmp L(pseudo_end);
 # endif	/* PIC */
 

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S Tue May 22 00:01:50 2012
@@ -1,0 +1,1 @@
+/* No llseek for x32.  */

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S Tue May 22 00:01:50 2012
@@ -1,0 +1,43 @@
+/* The lseek system call with 64-bit offset.  Linux/x32 version.
+   Copyright (C) 2012 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
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep-cancel.h>
+
+/* Return -1LL in a full 64 bits.  */
+#undef SYSCALL_ERROR_HANDLER
+#define SYSCALL_ERROR_HANDLER	\
+0:				\
+	SYSCALL_SET_ERRNO;	\
+	orq $-1, %rax;		\
+	ret;
+
+/* Always use our own error handler.  */
+#undef SYSCALL_ERROR_LABEL
+#define SYSCALL_ERROR_LABEL 0f
+
+PSEUDO (__libc_lseek64, lseek, 3)
+	ret
+PSEUDO_END (__libc_lseek64)
+
+weak_alias (__libc_lseek64, __lseek64)
+libc_hidden_weak (__lseek64)
+weak_alias (__libc_lseek64, lseek64)
+libc_hidden_weak (lseek64)
+weak_alias (__libc_lseek64, __lseek)
+libc_hidden_weak (__lseek)
+weak_alias (__libc_lseek64, lseek)

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list Tue May 22 00:01:50 2012
@@ -1,0 +1,6 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+fallocate	-	fallocate	Ci:iiii	fallocate	fallocate64
+posix_fadvise	-	fadvise64	Vi:iiii	posix_fadvise	posix_fadvise64
+preadv		-	preadv		Ci:ipii	preadv		preadv64
+pwritev		-	pwritev		Ci:ipii	pwritev		pwritev64

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h Tue May 22 00:01:50 2012
@@ -1,0 +1,25 @@
+/* Copyright (C) 2012 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
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_X32_SYSDEP_H
+#define _LINUX_X32_SYSDEP_H 1
+
+/* There is some commonality.  */
+#include <sysdeps/unix/sysv/linux/x86_64/sysdep.h>
+#include <sysdeps/x86_64/x32/sysdep.h>
+
+#endif /* linux/x86_64/x32/sysdep.h */

Modified: fsf/trunk/libc/sysdeps/x86_64/__longjmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/__longjmp.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/__longjmp.S Tue May 22 00:01:50 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001,2004,2005,2006,2009 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 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
@@ -26,12 +26,20 @@
 ENTRY(__longjmp)
 	/* Restore registers.  */
 	mov (JB_RSP*8)(%rdi),%R8_LP
-	movq (JB_RBP*8)(%rdi),%r9
+	mov (JB_RBP*8)(%rdi),%R9_LP
 	mov (JB_PC*8)(%rdi),%RDX_LP
 #ifdef PTR_DEMANGLE
 	PTR_DEMANGLE (%R8_LP)
-	PTR_DEMANGLE (%r9)
+	PTR_DEMANGLE (%R9_LP)
 	PTR_DEMANGLE (%RDX_LP)
+# ifdef __ILP32__
+	/* We ignored the high bits of the %rbp value because only the low
+	   bits are mangled.  But we cannot presume that %rbp is being used
+	   as a pointer and truncate it, so recover the high bits.  */
+	movl (JB_RBP*8 + 4)(%rdi), %eax
+	shlq $32, %rax
+	orq %rax, %r9
+# endif
 #endif
 	/* We add unwind information for the target here.  */
 	cfi_def_cfa(%rdi, 0)

Modified: fsf/trunk/libc/sysdeps/x86_64/bits/wordsize.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/wordsize.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/wordsize.h Tue May 22 00:01:50 2012
@@ -2,7 +2,12 @@
 
 #if defined __x86_64__ && !defined __ILP32__
 # define __WORDSIZE	64
-# define __WORDSIZE_COMPAT32	1
 #else
 # define __WORDSIZE	32
 #endif
+
+#ifdef __x86_64__
+# define __WORDSIZE_TIME64_COMPAT32	1
+/* Both x86-64 and x32 use the 64-bit system call interface.  */
+# define __SYSCALL_WORDSIZE		64
+#endif

Modified: fsf/trunk/libc/sysdeps/x86_64/setjmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/setjmp.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/setjmp.S Tue May 22 00:01:50 2012
@@ -1,5 +1,5 @@
 /* setjmp for x86-64.
-   Copyright (C) 2001, 2003, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 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
@@ -24,9 +24,16 @@
 	/* Save registers.  */
 	movq %rbx, (JB_RBX*8)(%rdi)
 #ifdef PTR_MANGLE
-	movq %rbp, %rax
-	PTR_MANGLE (%rax)
-	movq %rax, (JB_RBP*8)(%rdi)
+# ifdef __ILP32__
+	/* Save the high bits of %rbp first, since PTR_MANGLE will
+	   only handle the low bits but we cannot presume %rbp is
+	   being used as a pointer and truncate it.  Here we write all
+	   of %rbp, but the low bits will be overwritten below.  */
+	movq %rbp, (JB_RBP*8)(%rdi)
+# endif
+	mov %RBP_LP, %RAX_LP
+	PTR_MANGLE (%RAX_LP)
+	mov %RAX_LP, (JB_RBP*8)(%rdi)
 #else
 	movq %rbp, (JB_RBP*8)(%rdi)
 #endif

Modified: fsf/trunk/libc/wcsmbs/Makefile
==============================================================================
--- fsf/trunk/libc/wcsmbs/Makefile (original)
+++ fsf/trunk/libc/wcsmbs/Makefile Tue May 22 00:01:50 2012
@@ -44,8 +44,7 @@
 strop-tests :=  wcscmp wmemcmp wcslen wcschr wcsrchr wcscpy
 tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \
 	 tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \
-	 tst-c16c32-1 tst-mbsnrtowcs \
-	 wcsatcliff $(addprefix test-,$(strop-tests))
+	 tst-c16c32-1 wcsatcliff $(addprefix test-,$(strop-tests))
 
 include ../Rules
 

Removed: fsf/trunk/libc/wcsmbs/tst-mbsnrtowcs.c
==============================================================================
--- fsf/trunk/libc/wcsmbs/tst-mbsnrtowcs.c (original)
+++ fsf/trunk/libc/wcsmbs/tst-mbsnrtowcs.c (removed)
@@ -1,83 +1,0 @@
-/* Copyright (C) 2012 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Tulio Magno Quites Machado Filho <tuliom@xxxxxxxxxxxxxxxxxx>,
-   2012.
-
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Test bugzilla 13691  */
-
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-#include <locale.h>
-
-static int
-do_test (void)
-{
-  const char * in = "A";
-  const char *inbuf = in;
-  size_t inlen = strchr (in, '\0') - inbuf;
-
-  wchar_t out[5];
-  mbstate_t ps;
-
-  const char *locale = "vi_VN.TCVN5712-1";
-  if (!setlocale (LC_ALL, locale))
-    {
-      printf ("Locale not available.\n");
-      return 1;
-    }
-
-  memset (&ps, '\0', sizeof (ps));
-  memset (out, '\0', sizeof (out));
-
-  /* If the bug isn't fixed, it isn't going to return from mbsnrtowcs due to
-     an assert().  */
-  size_t n = mbsnrtowcs (out, &inbuf, inlen, sizeof(out) - 1, &ps);
-
-  int result = 0;
-
-  if (n != 1)
-    {
-      printf ("n = %zu, expected 1\n", n);
-      result = 1;
-    }
-
-  int i;
-  printf ("in  = ");
-  for (i = 0; i < inlen; i++)
-    {
-      printf ("0x%X ", in[i]);
-    }
-  printf ("\n");
-
-  char * outb = (char *) out;
-  printf ("out =");
-  for (i = 0; i < sizeof (out); i++)
-    {
-      if (i % 4 == 0)
-	{
-	  printf (" 0x");
-	}
-      printf ("%X", outb[i]);
-    }
-  printf ("\n");
-
-  return result;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits