[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...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r18647 - in /fsf/trunk/libc: ./ iconvdata/ include/ localedata/ malloc/ manual/ misc/ misc/sys/ stdio-common/ sunrpc/ sysdep...
- From: eglibc@xxxxxxxxxx
- Date: Tue, 22 May 2012 00:01:51 -0000
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