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

[Commits] r22664 - in /trunk: ./ libc/ libc/benchtests/ libc/csu/ libc/elf/ libc/io/ libc/malloc/ libc/manual/ libc/math/ libc/math/bi...



Author: joseph
Date: Mon Mar 18 16:44:23 2013
New Revision: 22664

Log:
Merge changes between r22552 and r22663 from /fsf/trunk.

Added:
    trunk/libc/benchtests/
      - copied from r22663, fsf/trunk/libc/benchtests/
    trunk/libc/manual/nptl.texi
      - copied unchanged from r22663, fsf/trunk/libc/manual/nptl.texi
    trunk/libc/math/test-snan.c
      - copied unchanged from r22663, fsf/trunk/libc/math/test-snan.c
    trunk/libc/ports/sysdeps/arm/add_n.S
      - copied unchanged from r22663, fsf/trunk/libc/ports/sysdeps/arm/add_n.S
    trunk/libc/ports/sysdeps/arm/addmul_1.S
      - copied unchanged from r22663, fsf/trunk/libc/ports/sysdeps/arm/addmul_1.S
    trunk/libc/ports/sysdeps/arm/armv6/
      - copied from r22663, fsf/trunk/libc/ports/sysdeps/arm/armv6/
    trunk/libc/ports/sysdeps/arm/armv6t2/Implies
      - copied unchanged from r22663, fsf/trunk/libc/ports/sysdeps/arm/armv6t2/Implies
    trunk/libc/ports/sysdeps/arm/armv6t2/ffs.S
      - copied unchanged from r22663, fsf/trunk/libc/ports/sysdeps/arm/armv6t2/ffs.S
    trunk/libc/ports/sysdeps/arm/armv6t2/ffsll.S
      - copied unchanged from r22663, fsf/trunk/libc/ports/sysdeps/arm/armv6t2/ffsll.S
    trunk/libc/ports/sysdeps/arm/include/
      - copied from r22663, fsf/trunk/libc/ports/sysdeps/arm/include/
    trunk/libc/ports/sysdeps/arm/preconfigure.in
      - copied unchanged from r22663, fsf/trunk/libc/ports/sysdeps/arm/preconfigure.in
    trunk/libc/ports/sysdeps/arm/sub_n.S
      - copied unchanged from r22663, fsf/trunk/libc/ports/sysdeps/arm/sub_n.S
    trunk/libc/ports/sysdeps/arm/submul_1.S
      - copied unchanged from r22663, fsf/trunk/libc/ports/sysdeps/arm/submul_1.S
    trunk/libc/posix/tst-pathconf.c
      - copied unchanged from r22663, fsf/trunk/libc/posix/tst-pathconf.c
    trunk/libc/scripts/bench.pl
      - copied unchanged from r22663, fsf/trunk/libc/scripts/bench.pl
    trunk/libc/sysdeps/init_array/
      - copied from r22663, fsf/trunk/libc/sysdeps/init_array/
    trunk/libc/sysdeps/powerpc/power4/
      - copied from r22663, fsf/trunk/libc/sysdeps/powerpc/power4/
    trunk/libc/sysdeps/powerpc/powerpc32/power4/Implies
      - copied unchanged from r22663, fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/Implies
    trunk/libc/sysdeps/powerpc/powerpc64/power4/Implies
      - copied unchanged from r22663, fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/Implies
    trunk/libc/sysdeps/unix/sysv/linux/bits/mman-linux.h
      - copied unchanged from r22663, fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/mman-linux.h
Removed:
    trunk/libc/ports/sysdeps/arm/jmpbuf-offsets.h
    trunk/libc/sysdeps/generic/bp-sym.h
    trunk/libc/sysdeps/powerpc/fpu/test-powerpc-snan.c
    trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/Makefile
    trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/mpa.c
    trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c
    trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c
    trunk/libc/sysdeps/powerpc/powerpc64/bp-asm.h
    trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/Makefile
    trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/mpa.c
    trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c
    trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/Implies
    trunk/libc/sysdeps/x86_64/multiarch/bzero.S
    trunk/libc/sysdeps/x86_64/multiarch/memset-x86-64.S
    trunk/libc/sysdeps/x86_64/multiarch/memset.S
    trunk/libc/sysdeps/x86_64/multiarch/memset_chk.S
    trunk/libc/sysdeps/x86_64/multiarch/strlen-sse2-no-bsf.S
    trunk/libc/sysdeps/x86_64/multiarch/strlen-sse2-pminub.S
    trunk/libc/sysdeps/x86_64/multiarch/strlen-sse4.S
    trunk/libc/sysdeps/x86_64/multiarch/strlen.S
    trunk/libc/sysdeps/x86_64/multiarch/strnlen-sse2-no-bsf.S
    trunk/libc/sysdeps/x86_64/multiarch/strnlen.S
Modified:
    trunk/   (props changed)
    trunk/libc/ChangeLog
    trunk/libc/INSTALL
    trunk/libc/Makeconfig
    trunk/libc/Makefile.in
    trunk/libc/NEWS
    trunk/libc/Rules
    trunk/libc/Versions.def
    trunk/libc/csu/elf-init.c
    trunk/libc/csu/gmon-start.c
    trunk/libc/elf/dl-support.c
    trunk/libc/extra-lib.mk
    trunk/libc/io/fcntl.h
    trunk/libc/malloc/arena.c
    trunk/libc/malloc/hooks.c
    trunk/libc/malloc/malloc.c
    trunk/libc/malloc/malloc.h
    trunk/libc/malloc/mcheck.c
    trunk/libc/malloc/morecore.c
    trunk/libc/malloc/mtrace.c
    trunk/libc/manual/Makefile
    trunk/libc/manual/debug.texi
    trunk/libc/manual/install.texi
    trunk/libc/manual/memory.texi
    trunk/libc/math/Makefile
    trunk/libc/math/basic-test.c
    trunk/libc/math/bits/mathcalls.h
    trunk/libc/math/gen-libm-test.pl
    trunk/libc/math/libm-test.inc
    trunk/libc/math/test-misc.c
    trunk/libc/misc/tst-efgcvt.c
    trunk/libc/nptl/ChangeLog
    trunk/libc/nptl/pthread_barrier_init.c
    trunk/libc/nptl/pthread_mutex_init.c
    trunk/libc/nptl/pthread_rwlock_init.c
    trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
    trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
    trunk/libc/nptl/sysdeps/unix/sysv/linux/lowlevellock.c
    trunk/libc/po/es.po
    trunk/libc/ports/ChangeLog.aarch64
    trunk/libc/ports/ChangeLog.alpha
    trunk/libc/ports/ChangeLog.am33
    trunk/libc/ports/ChangeLog.arm
    trunk/libc/ports/ChangeLog.hppa
    trunk/libc/ports/ChangeLog.ia64
    trunk/libc/ports/ChangeLog.m68k
    trunk/libc/ports/ChangeLog.mips
    trunk/libc/ports/ChangeLog.tile
    trunk/libc/ports/sysdeps/arm/__longjmp.S
    trunk/libc/ports/sysdeps/arm/arm-features.h
    trunk/libc/ports/sysdeps/arm/arm-mcount.S
    trunk/libc/ports/sysdeps/arm/armv6t2/memchr.S
    trunk/libc/ports/sysdeps/arm/bits/setjmp.h
    trunk/libc/ports/sysdeps/arm/crti.S
    trunk/libc/ports/sysdeps/arm/crtn.S
    trunk/libc/ports/sysdeps/arm/dl-machine.h
    trunk/libc/ports/sysdeps/arm/dl-tlsdesc.S
    trunk/libc/ports/sysdeps/arm/dl-trampoline.S
    trunk/libc/ports/sysdeps/arm/jmpbuf-unwind.h
    trunk/libc/ports/sysdeps/arm/memcpy.S
    trunk/libc/ports/sysdeps/arm/memmove.S
    trunk/libc/ports/sysdeps/arm/memset.S
    trunk/libc/ports/sysdeps/arm/preconfigure
    trunk/libc/ports/sysdeps/arm/setjmp.S
    trunk/libc/ports/sysdeps/arm/start.S
    trunk/libc/ports/sysdeps/arm/strlen.S
    trunk/libc/ports/sysdeps/arm/sysdep.h
    trunk/libc/ports/sysdeps/ia64/dl-fptr.h
    trunk/libc/ports/sysdeps/ia64/dl-machine.h
    trunk/libc/ports/sysdeps/ia64/entry.h
    trunk/libc/ports/sysdeps/ia64/fpu/libm_error.c
    trunk/libc/ports/sysdeps/mips/bits/nan.h
    trunk/libc/ports/sysdeps/unix/arm/sysdep.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure
    trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure.in
    trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
    trunk/libc/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/am33/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/clone.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/configure
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/configure.in
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/mmap64.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/libpthread.abilist
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/pt-vfork.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/vfork.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/syscall.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/sysdep.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/arm/vfork.S
    trunk/libc/ports/sysdeps/unix/sysv/linux/generic/bits/msq.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/bits/msq.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/bits/msq.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/makecontext.c
    trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/nptl/dl-sysdep.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/sysdep.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist
    trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/mips/bits/msq.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data   (props changed)
    trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data   (props changed)
    trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data   (props changed)
    trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data   (props changed)
    trunk/libc/ports/sysdeps/unix/sysv/linux/tile/bits/mman.h
    trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libpthread.abilist
    trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libpthread.abilist
    trunk/libc/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libpthread.abilist
    trunk/libc/posix/Makefile
    trunk/libc/stdio-common/printf_fp.c
    trunk/libc/stdio-common/tstdiomisc.c
    trunk/libc/stdio-common/vfprintf.c
    trunk/libc/sysdeps/generic/ldsodefs.h
    trunk/libc/sysdeps/i386/fpu/libm-test-ulps
    trunk/libc/sysdeps/ieee754/bits/nan.h
    trunk/libc/sysdeps/ieee754/dbl-64/e_j0.c
    trunk/libc/sysdeps/ieee754/dbl-64/e_j1.c
    trunk/libc/sysdeps/ieee754/dbl-64/mpa.c
    trunk/libc/sysdeps/ieee754/dbl-64/slowexp.c
    trunk/libc/sysdeps/ieee754/dbl-64/slowpow.c
    trunk/libc/sysdeps/ieee754/ldbl-128/e_j0l.c
    trunk/libc/sysdeps/ieee754/ldbl-128/e_j1l.c
    trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c
    trunk/libc/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h
    trunk/libc/sysdeps/ieee754/ldbl-96/e_j1l.c
    trunk/libc/sysdeps/powerpc/Implies
    trunk/libc/sysdeps/powerpc/bits/fenv.h
    trunk/libc/sysdeps/powerpc/fpu/Makefile
    trunk/libc/sysdeps/powerpc/fpu/fenv_libc.h
    trunk/libc/sysdeps/powerpc/fpu/math_ldbl.h
    trunk/libc/sysdeps/powerpc/powerpc32/power4/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc32/power7/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc32/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/__longjmp-common.S
    trunk/libc/sysdeps/powerpc/powerpc64/a2/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/cell/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/memset.S
    trunk/libc/sysdeps/powerpc/powerpc64/power4/memcmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/power4/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/power4/memset.S
    trunk/libc/sysdeps/powerpc/powerpc64/power4/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/power6/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/power6/memset.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/memchr.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/memcmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/mempcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/memrchr.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/memset.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/rawmemchr.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/strcasecmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/strchr.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/strchrnul.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/strlen.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/strnlen.S
    trunk/libc/sysdeps/powerpc/powerpc64/setjmp-common.S
    trunk/libc/sysdeps/powerpc/powerpc64/start.S
    trunk/libc/sysdeps/powerpc/powerpc64/stpcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/strchr.S
    trunk/libc/sysdeps/powerpc/powerpc64/strcmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/strcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/strlen.S
    trunk/libc/sysdeps/powerpc/powerpc64/strncmp.S
    trunk/libc/sysdeps/s390/s390-32/multiarch/ifunc-resolve.c
    trunk/libc/sysdeps/s390/s390-64/multiarch/ifunc-resolve.c
    trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
    trunk/libc/sysdeps/unix/sysv/linux/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/bits/msq.h
    trunk/libc/sysdeps/unix/sysv/linux/fpathconf.c
    trunk/libc/sysdeps/unix/sysv/linux/internal_statvfs.c
    trunk/libc/sysdeps/unix/sysv/linux/ldsodefs.h
    trunk/libc/sysdeps/unix/sysv/linux/linux_fsinfo.h
    trunk/libc/sysdeps/unix/sysv/linux/pathconf.c
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/msq.h
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
    trunk/libc/sysdeps/unix/sysv/linux/s390/bits/mman.h
    trunk/libc/sysdeps/unix/sysv/linux/s390/bits/msq.h
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S
    trunk/libc/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
    trunk/libc/sysdeps/unix/sysv/linux/s390/ucontext_i.sym
    trunk/libc/sysdeps/unix/sysv/linux/sh/bits/mman.h
    trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/mman.h
    trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/msq.h
    trunk/libc/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
    trunk/libc/sysdeps/unix/sysv/linux/sys/ptrace.h
    trunk/libc/sysdeps/unix/sysv/linux/times.c
    trunk/libc/sysdeps/unix/sysv/linux/x86/bits/mman.h
    trunk/libc/sysdeps/unix/sysv/linux/x86/bits/msq.h
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
    trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps
    trunk/libc/sysdeps/x86_64/memset.S
    trunk/libc/sysdeps/x86_64/multiarch/Makefile
    trunk/libc/sysdeps/x86_64/multiarch/ifunc-impl-list.c
    trunk/libc/sysdeps/x86_64/multiarch/init-arch.c
    trunk/libc/sysdeps/x86_64/multiarch/init-arch.h
    trunk/libc/sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S
    trunk/libc/sysdeps/x86_64/multiarch/strcat-ssse3.S
    trunk/libc/sysdeps/x86_64/preconfigure
    trunk/libc/sysdeps/x86_64/strcat.S
    trunk/libc/sysdeps/x86_64/strlen.S
    trunk/libc/sysdeps/x86_64/strnlen.S
    trunk/libc/timezone/zic.c

Propchange: trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 18 16:44:23 2013
@@ -1,1 +1,1 @@
-/fsf/trunk:15224-22552
+/fsf/trunk:15224-22663

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Mon Mar 18 16:44:23 2013
@@ -1,3 +1,683 @@
+2013-03-18  Ondrej Bilka  <neleai@xxxxxxxxx>
+
+	* sysdeps/x86_64/strlen.S: Replace with new SSE2 based
+	implementation which is faster on all x86_64 architectures.
+	Tested on AMD, Intel Nehalem, SNB, IVB.
+	* sysdeps/x86_64/strnlen.S: Likewise.
+
+	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines):
+	Remove all multiarch strlen and strnlen versions.
+	* sysdeps/x86_64/multiarch/ifunc-impl-list.c: Update.
+	Remove strlen and strnlen related parts.
+
+	* sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S: Update.
+	Inline strlen part.
+	* sysdeps/x86_64/multiarch/strcat-ssse3.S: Likewise.
+
+	* sysdeps/x86_64/multiarch/strlen.S: Remove.
+	* sysdeps/x86_64/multiarch/strlen-sse2-no-bsf.S: Likewise.
+	* sysdeps/x86_64/multiarch/strlen-sse2-pminub.S: Likewise.
+	* sysdeps/x86_64/multiarch/strlen-sse4.S: Likewise.
+	* sysdeps/x86_64/multiarch/strnlen.S: Likewise.
+	* sysdeps/x86_64/multiarch/strnlen-sse2-no-bsf.S: Likewise.
+
+2013-03-17  Carlos O'Donell  <carlos@xxxxxxxxxx>
+
+	* manual/memory.texi (Malloc Tunable Parameters):
+	Sort parameters alphabetically. Add comments for missing entries.
+
+2013-03-17  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* sysdeps/sparc/fpu/libm-test-ulps: Update.
+
+2013-03-16  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #15283]
+	* sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_y1l): Correct test
+	for arguments at most half maximum finite value.
+	* math/libm-test.inc (j0_test): Add more tests.
+	(j1_test): Likewise.
+	(y0_test): Likewise.
+	(y1_test): Likewise.
+	* sysdeps/i386/fpu/libm-test-ulps: Update.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
+	[BZ #14155]
+	* sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Do not compute
+	1 / x and functions P and Q for arguments above 0x1p256L.
+	(__ieee754_y0l): Likewise.
+	* sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise.
+	(__ieee754_y1l): Likewise.
+	* math/libm-test.inc (j0_test): Do not allow spurious underflows.
+	(j1_test): Likewise.
+	(y0_test): Likewise.
+	(y1_test): Likewise.
+
+2013-03-16  Thomas Schwinge  <thomas@xxxxxxxxxxxxxxxx>
+
+	* math/test-snan.c (TEST_FUNC): Add and use minus_sNaN_var
+	variable.
+
+2013-03-15  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* elf/dl-support.c (_dl_aux_init): Ignore zero value for AT_PAGESZ.
+	(_dl_non_dynamic_init): Don't set _dl_pagesize; it will never be
+	zero since it's initialized to EXEC_PAGESIZE.
+
+	* sysdeps/unix/sysv/linux/ldsodefs.h
+	(_dl_non_dynamic_init, _dl_aux_init): Move declarations to ...
+	* sysdeps/generic/ldsodefs.h: ... here.
+
+2013-03-15  Thomas Schwinge  <thomas@xxxxxxxxxxxxxxxx>
+
+	* math/libm-test.inc (ldexp_test): Add missing START/END markers.
+
+	* sysdeps/powerpc/fpu/test-powerpc-snan.c: Rename to
+	math/test-snan.c.
+	* math/test-snan.c: Renamed from
+	sysdeps/powerpc/fpu/test-powerpc-snan.c.
+	* math/Makefile (tests): Add test-snan.
+	* sysdeps/powerpc/fpu/Makefile (libm-tests): Don't add
+	test-powerpc-snan.
+
+	* math/basic-test.c (TEST_FUNC): Replace NANFUNC argument with
+	SUFFIX.  Initialize qNaN_var with __builtin_nan family of
+	functions.
+	(TEST_TRUNC): Add SUFFIX argument.  Initialize qNaN_var with
+	__builtin_nan family of functions.
+	* math/libm-test.inc (initialize): Initialize qnan_value with
+	__builtin_nan family of functions.
+	* sysdeps/powerpc/fpu/test-powerpc-snan.c (SNANf, SNAN, SNANl):
+	Remove variables.
+	(init_signaling_nan, snan_float, snan_double, snan_ldouble):
+	Remove functions.
+	(TEST_FUNC): Add SUFFIX argument.  Move sNaN_var into static
+	storage class.  Initialize qNaN_var and sNaN_var with
+	__builtin_nan and __builtin_nans families of functions,
+	respectively.
+
+	* math/libm-test.inc (acosh_test): Also test with qNaN input.
+	(sqrt_test): Remove duplicate test with qNaN input.
+	(lrint_test, llrint_test, lround_test, llround_test, rint_test)
+	(round_test, signbit_test, significand_test): Note missing +/-Inf
+	as well as qNaN tests.
+
+	* math/basic-test.c (TEST_FUNC, TEST_TRUNC): Rename NaN_var to
+	qNaN_var.  Fix a few strings, too.
+	* math/libm-test.inc (nan_value): Rename to qnan_value.
+	* math/gen-libm-test.pl (%beautify): Adjust to that.
+	* math/bits/mathcalls.h (nan): Refer to qNaN instead of NaN.
+	* math/test-misc.c (main): Likewise.
+	* sysdeps/ieee754/bits/nan.h (__nan_bytes, __nan_union): Rename
+	to __qnan_bytes, and __qnan_union, respectively.
+	* ports/sysdeps/mips/bits/nan.h (__nan_bytes, __nan_union):
+	Likewise.
+	* stdio-common/tstdiomisc.c (nanval, lnanval): Rename to qnanval,
+	and lqnanval, respectively.
+	* sysdeps/powerpc/bits/fenv.h: Fix usage of NaN/qNaN/sNaN.
+	* sysdeps/powerpc/fpu/fenv_libc.h: Likewise.
+	* sysdeps/powerpc/fpu/test-powerpc-snan.c (TEST_FUNC): Likewise,
+	and rename NaN_var to qNaN_var, and SNaN_var to sNaN_var.
+
+	* math/libm-test.inc (fpstack_test) [__x86_64__]: Enable test.
+	* math/test-misc.c (main) [__x86_64__]: Enable test for long
+	doubles.
+
+	* math/test-misc.c (main): Fix copy'n'pastos.
+	* misc/tst-efgcvt.c (special): Likewise.
+
+	* stdio-common/printf_fp.c (__isinfl_internal, __isnanl_internal):
+	Remove declarations.
+
+2013-03-15  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	* sysdeps/ieee754/dbl-64/mpa-arch.h: Remove.
+	* sysdeps/ieee754/dbl-64/mpa.c: Revert last change.
+	* sysdeps/ieee754/dbl-64/mpa.h: Revert last change.
+	* sysdeps/powerpc/power4/fpu/mpa-arch.h: Remove.
+
+2013-03-15  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h (VDSO_IFUNC_RET): Add
+	macro to return vdso values correctly in IFUNC implementations.
+	* sysdeps/unix/sysv/linux/powerpc/gettimeofday.c (__gettimeofday):
+	Optimization by using IFUNC.
+
+2013-03-15  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+	    Richard Henderson  <rth@xxxxxxxxxx>
+	    Tulio Magno Quites Machado Filho  <tuliom@xxxxxxxxxxxxxxxxxx>
+
+	* Makefile.in (bench): New target.
+	* NEWS: Mention the benchmark framework.
+	* Rules (bench): Likewise.
+	(binaries-bench): Generate binaries for functions to
+	benchmark.
+	* benchtests/Makefile: New makefile for benchmark tests.
+	* benchtests/bench-skeleton.c: New skeleton file for benchmark
+	programs.
+	* benchtests/exp-inputs: New input file for EXP function.
+	* benchtests/pow-inputs: New input file for POW function.
+	* scripts/bench.pl: New script to generate source files for
+	benchmark programs.
+
+2013-03-15  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	* sysdeps/ieee754/dbl-64/mpa-arch.h: New file.
+	* sysdeps/ieee754/dbl-64/mpa.c (norm): Use MANTISSA_T to store
+	computations on mantissa.  Use macros for rounding and
+	division.
+	(denorm): Likewise.
+	(__dbl_mp): Likewise.
+	(add_magnitudes): Likewise.
+	(sub_magnitudes): Likewise.
+	(__mul): Likewise.
+	(__sqr): Likewise.
+	* sysdeps/ieee754/dbl-64/mpa.h: Include mpa-arch.h.  Define
+	powers of two in terms of TWOPOW macro.
+	(mp_no): Make type of mantissa as MANTISSA_T.
+	[!RADIXI]: Define RADIXI.
+	[!TWO52]: Define TWO52.
+	* sysdeps/powerpc/power4/fpu/mpa-arch.h: New file.
+
+	* manual/nptl.texi (cindex): Modify threads to pthreads.
+
+2013-03-15  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/x86_64/preconfigure: Regenerated.
+
+2013-03-14  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #14155]
+	* sysdeps/ieee754/dbl-64/e_j0.c (pzero): Return 1.0 for arguments
+	0x1p28 and above.
+	(qzero): Return -0.125 / x for arguments 0x1p28 and above.
+	* sysdeps/ieee754/dbl-64/e_j1.c (pzero): Return 1.0 for arguments
+	0x1p28 and above.
+	(qzero): Return 0.375 / x for arguments 0x1p28 and above.
+	* math/libm-test.inc (j0_test): Do not allow one spurious
+	underflow exception.
+	(y1_test): Likewise.
+
+2013-03-14  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	* manual/Makefile (chapters): Add nptl.
+	* manual/debug.texi (Debugging Support): Add link to Threads
+	chapter.
+	* manual/nptl.texi: New file.
+
+	* sysdeps/unix/sysv/linux/times.c (__times): Fix formatting.
+
+2013-03-14  Petr Baudis  <pasky@xxxxxx>
+
+	* sysdeps/unix/sysv/linux/times.c (__times): On EFAULT, test
+	for non-NULL pointer before the memory validity test. Pointed
+	out by Holger Brunck <holger.brunck@xxxxxxxxxxx>.
+
+2013-03-13  Andreas Schwab  <schwab@xxxxxxx>
+
+	* extra-lib.mk (extra-objs): Add static-only-routines as .oS
+	instead of .os.
+
+2013-03-13  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* timezone/zic.c: Update from tzcode 2013b.
+
+2013-03-12  Carlos O'Donell  <carlos@xxxxxxxxxx>
+
+	* manual/install.texi (Configuring and compiling):
+	Mention i686 and i586.
+	* INSTALL: Regenerate.
+
+2013-03-12  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* sysdeps/init_array/elf-init.c: New file.
+	* csu/elf-init.c
+	(__libc_csu_init) [!NO_INITFINI]: Conditionalize _init call on this.
+	(__libc_csu_fini) [!NO_INITFINI]: Conditionalize _fini call on this.
+
+	* csu/gmon-start.c [GMON_START_ARRAY_SECTION]: Don't define
+	__gmon_start__ as global, but as static with a .preinit_array pointer.
+	* sysdeps/init_array/gmon-start.c: New file.  Use that.
+	* sysdeps/init_array/crti.S: New file, empty except for comments.
+	* sysdeps/init_array/crtn.S: Likewise.
+
+2013-03-11  OndÃÂej BÃÂlka  <neleai@xxxxxxxxx>
+
+	* sysdeps/x86_64/memset.S: Remove USE_MULTIARCH conditional for
+	definining bcopy.
+	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
+	Remove Prefer_SSE_for_memop.
+	* sysdeps/x86_64/multiarch/init-arch.h: Remove
+	bit_Prefer_SSE_for_memop, index_Prefer_SSE_for_memop,
+	HAS_PREFER_SSE_FOR_MEMOP.
+	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Remove
+	memset-x86-64.
+	* sysdeps/x86_64/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list):
+	Remove bzero, memset ifunc support.
+	* sysdeps/x86_64/multiarch/bzero.S: Remove file.
+	* sysdeps/x86_64/multiarch/memset-x86-64.S: Likewise.
+	* sysdeps/x86_64/multiarch/memset.S: Likewise.
+	* sysdeps/x86_64/multiarch/memset_chk.S: Likewise.
+
+2013-03-11  Andreas Schwab  <schwab@xxxxxxx>
+
+	[BZ #15234]
+	* Versions.def (libpthread): Add GLIBC_2.3, so that it can be used
+	by SHLIB_COMPAT.
+	* sysdeps/unix/sysv/linux/x86_64/x32/nptl/libpthread.abilist
+	(GLIBC_2.16): Remove pthread_atfork.
+
+2013-03-08  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	* posix/Makefile (testcases.h): Set LC_ALL=C before sed.
+	(ptestcases.h): Likewise.
+
+2013-03-08  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* Makeconfig ($(common-objpfx)config.status): Depend on
+	sysdeps/*/preconfigure{,.in} too.
+
+2013-03-08  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* malloc/malloc.h (__malloc_ptr_t): Remove macro.
+	(__free_hook): Use void * instead of __malloc_ptr_t.
+	(__malloc_hook): Likewise.
+	(__realloc_hook): Likewise.
+	(__memalign_hook): Likewise.
+	(__after_morecore_hook): Likewise.
+	* malloc/arena.c (save_malloc_hook): Likewise.
+	(save_free_hook): Likewise.
+	* malloc/hooks.c (malloc_hook_ini): Likewise.
+	(realloc_hook_ini): Likewise.
+	(memalign_hook_ini): Likewise.
+	* malloc/malloc.c (malloc_hook_ini): Likewise.
+	(realloc_hook_ini): Likewise.
+	(memalign_hook_ini): Likewise.
+	(__free_hook): Likewise.
+	(__malloc_hook): Likewise.
+	(__realloc_hook): Likewise.
+	(__memalign_hook): Likewise.
+	(__libc_malloc): Likewise.
+	(__libc_free): Likewise.
+	(__libc_realloc): Likewise.
+	(__libc_memalign): Likewise.
+	(__libc_valloc): Likewise.
+	(__libc_pvalloc): Likewise.
+	(__libc_calloc): Likewise.
+	(__posix_memalign): Likewise.
+	* malloc/morecore.c (__sbrk): Likewise.
+	(__default_morecore): Likewise.
+
+	* malloc/morecore.c (__default_morecore): Use ISO C prototype.
+
+	* malloc/malloc.h (__malloc_ptrdiff_t): Remove macro.
+	* malloc/morecore.c (__default_morecore): Use ptrdiff_t instead of
+	__malloc_ptrdiff_t.
+
+	* malloc/malloc.h (__malloc_size_t): Remove macro.
+	* malloc/mcheck.c (old_malloc_hook): Use size_t instead of
+	__malloc_size_t.
+	(old_memalign_hook): Likewise.
+	(old_realloc_hook): Likewise.
+	(struct hdr): Likewise.
+	(flood): Likewise.
+	(mallochook): Likewise.
+	(memalignhook): Likewise.
+	(reallochook): Likewise.
+	* malloc/mtrace.c (tr_old_malloc_hook): Likewise.
+	(tr_old_realloc_hook): Likewise.
+	(tr_old_memalign_hook): Likewise.
+	(tr_mallochook): Likewise.
+	(tr_reallochook): Likewise.
+	(tr_memalignhook): Likewise.
+
+2013-03-08  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/ieee754/ldbl-128ibm/math_ldbl.h (ldbl_pack): Rename to
+	default_ldbl_pack and using as default implementation.
+	(ldbl_unpack): Rename to default_ldbl_unpack and using as default
+	implementation.
+	* sysdeps/powerpc/fpu/math_ldbl.h (ldbl_extract_mantissa): Remove
+	redundant definition.
+	(ldbl_insert_mantissa): Likewise.
+	(ldbl_canonicalize): Likewise.
+	(ldbl_nearbyint): Likewise.
+	(ldbl_pack): Rename to ldbl_pack_ppc.
+	(ldbl_unpack): Rename to ldbl_unpack_ppc.
+	* sysdeps/unix/sysv/linux/powerpc/Implies: Remove file.
+	* sysdeps/powerpc/Implies: Add ieee754/ldbl-opt after ieee754/ldbl-128ibm.
+
+2013-03-08  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc32/power4/fpu/mpa.c: Move file...
+	* sysdeps/powerpc/power4/fpu/mpa.c: ... here.
+	* sysdeps/powerpc/powerpc32/power4/fpu/Makefile: Move file...
+	* sysdeps/powerpc/power4/fpu/Makefile: ... here.
+	* sysdeps/powerpc/powerpc64/power4/fpu/mpa.c: Remove file.
+	* sysdeps/powerpc/powerpc64/power4/fpu/Makefile: Remove file.
+	* sysdeps/powerpc/powerpc32/power4/Implies: New file.
+	* sysdeps/powerpc/powerpc64/power4/Implies: New file.
+
+2013-03-07  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
+	bits/mman-linux.h.
+
+2013-03-07  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	* sysdeps/ieee754/dbl-64/slowexp.c [!USE_LONG_DOUBLE_FOR_MP]:
+	Include mpa.h and declare __MPEXP.
+	[USE_LONG_DOUBLE_FOR_MP] (__slowexp): Call __IEEE754_EXPL.
+	* sysdeps/powerpc/powerpc32/power4/fpu/Makefile
+	(CPPFLAGS-slowexp.c): Define USE_LONG_DOUBLE_FOR_MP.
+	* sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c: Remove.
+	* sysdeps/powerpc/powerpc64/power4/fpu/Makefile
+	(CPPFLAGS-slowexp.c): Define USE_LONG_DOUBLE_FOR_MP.
+	* sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c: Remove.
+
+	* sysdeps/ieee754/dbl-64/slowpow.c [USE_LONG_DOUBLE_FOR_MP]
+	(__slowpow): Use long double EXPL and LOGL functions to
+	compute POW.
+	* sysdeps/powerpc/powerpc32/power4/fpu/Makefile
+	(CPPFLAGS-slowpow.c): Define USE_LONG_DOUBLE_FOR_MP.
+	* sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c: Remove.
+	* sysdeps/powerpc/powerpc64/power4/fpu/Makefile
+	(CPPFLAGS-slowpow.c): Define USE_LONG_DOUBLE_FOR_MP.
+	* sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c: Remove.
+
+	* sysdeps/powerpc/powerpc32/power4/fpu/mpa.c (__mul): Use
+	intermediate variable to calculate exponent.
+	(__sqr): Likewise.
+	* sysdeps/powerpc/powerpc64/power4/fpu/mpa.c (__mul):
+	Likewise.
+	(__sqr): Likewise.
+
+	* sysdeps/ieee754/dbl-64/mpa.c [!NO__MUL]: Define __mul.
+	[!NO__SQR]: Define __sqr.
+	* sysdeps/powerpc/powerpc32/power4/fpu/mpa.c: define NO__MUL
+	and NO__SQR.  Remove all code except __mul and __sqr.  Include
+	sysdeps/ieee754/dbl-64/mpa.c.
+	* sysdeps/powerpc/powerpc64/power4/fpu/mpa.c: Likewise.
+
+	[BZ #12723]
+	* posix/Makefile (tests): Add tst-pathconf.
+	* posix/tst-pathconf.c: New test case.
+	* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Remove
+	_PC_PIPE_BUF.
+	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
+
+2013-03-06  Patsy Franklin  <pfrankli@xxxxxxxxxx>
+
+	* io/fcntl.h: Added a comment about AT_EACCESS and AT_REMOVEDIR.
+
+2013-03-06  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_ANONYMOUS): Allow
+	definition via __MAP_ANONYMOUS.
+
+	* sysdeps/unix/sysv/linux/s390/bits/mman.h (MAP_GROWSUP): Remove,
+	it's not part of Linux headers.
+
+	* sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_HUGE_SHIFT): Define.
+	(MAP_HUGE_MASK): Define.
+
+	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (PTRACE_O_EXIT_KILL):
+	Define.
+	(PTRACE_O_MASK): Adjust for PTRACE_O_EXITKILL.
+	* sysdeps/unix/sysv/linux/s390/sys/ptrace.h (PTRACE_O_EXIT_KILL):
+	Define.
+	(PTRACE_O_MASK): Adjust for PTRACE_O_EXITKILL.
+	* sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_O_EXIT_KILL):
+	Define.
+	(PTRACE_O_MASK): Adjust for PTRACE_O_EXITKILL.
+	* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h (PTRACE_O_EXITKILL):
+	Define.
+	(PTRACE_O_MASK): Adjust for PTRACE_O_EXITKILL.
+
+	* sysdeps/unix/sysv/linux/x86/bits/msq.h (MSG_COPY): Likewise.
+	* sysdeps/unix/sysv/linux/generic/bits/msq.h (MSG_COPY): Define.
+	* sysdeps/unix/sysv/linux/powerpc/bits/msq.h (MSG_COPY): Likewise.
+	* sysdeps/unix/sysv/linux/bits/msq.h (MSG_COPY): Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/msq.h (MSG_COPY): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/msq.h (MSG_COPY): Define.
+
+	* sysdeps/unix/sysv/linux/pathconf.c (__statfs_filesize_max):
+	Handle f2fs.
+
+	* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
+	Handle f2fs and efivarfs.
+
+	* sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max): Handle
+	f2fs.
+
+	* sysdeps/unix/sysv/linux/linux_fsinfo.h (F2FS_SUPER_MAGIC): Add.
+	(EFIVARFS_MAGIC): Add.
+	(F2FS_LINK_MAX): Add.
+
+2013-03-06  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	* stdio-common/vfprintf.c: Replace __builtin_expect with
+	__glibc_unlikely.
+
+2013-03-06  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #13550]
+	* sysdeps/generic/bp-sym.h: Remove file.
+	* sysdeps/powerpc/powerpc64/bp-asm.h: Likewise.
+	* sysdeps/powerpc/powerpc64/__longjmp-common.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__longjmp): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/a2/memcpy.S: Don't include <bp-sym.h>
+	and <bp-asm.h>.
+	(memcpy): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/cell/memcpy.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memcpy): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/memcpy.S: Don't include <bp-sym.h> and
+	<bp-asm.h>.
+	(memcpy): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/memset.S: Don't include <bp-sym.h> and
+	<bp-asm.h>.
+	(memset): Don't use BP_SYM.
+	(memset) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(memset) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	(__bzero): Don't use BP_SYM.
+	(__bzero) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(__bzero) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	* sysdeps/powerpc/powerpc64/power4/memcmp.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memcmp): Don't use BP_SYM.  Remove comment about bounded
+	pointers.
+	* sysdeps/powerpc/powerpc64/power4/memcpy.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memcpy): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power4/memset.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memset): Don't use BP_SYM.
+	(memset) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(memset) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	(__bzero): Don't use BP_SYM.
+	(__bzero) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(__bzero) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	* sysdeps/powerpc/powerpc64/power4/strncmp.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(strncmp): Don't use BP_SYM.  Remove comment about bounded
+	pointers.
+	* sysdeps/powerpc/powerpc64/power6/memcpy.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memcpy): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power6/memset.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memset): Don't use BP_SYM.
+	(memset) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(memset) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	(__bzero): Don't use BP_SYM.
+	(__bzero) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(__bzero) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	* sysdeps/powerpc/powerpc64/power7/memchr.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__memchr): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/memcmp.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memcmp): Don't use BP_SYM.  Remove comment about bounded
+	pointers.
+	* sysdeps/powerpc/powerpc64/power7/memcpy.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memcpy): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/mempcpy.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__mempcpy): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/memrchr.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__memrchr): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/memset.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(memset): Don't use BP_SYM.
+	(__bzero): Likewise.
+	* sysdeps/powerpc/powerpc64/power7/rawmemchr.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__rawmemchr): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/strcasecmp.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__STRCMP): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/strchr.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(strchr): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/strchrnul.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__strchrnul): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/strlen.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(strlen): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/power7/strncmp.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(strncmp): Don't use BP_SYM.  Remove comment about bounded
+	pointers.
+	* sysdeps/powerpc/powerpc64/power7/strnlen.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__strnlen): Don't use BP_SYM.
+	* sysdeps/powerpc/powerpc64/setjmp-common.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__GI__setjmp): Don't use BP_SYM.
+	(_setjmp): Likewise.
+	(__sigsetjmp): Likewise.
+	* sysdeps/powerpc/powerpc64/start.S: Don't include "bp-sym.h".
+	(L(start_addresses)): Don't use BP_SYM.
+	(_start): Likewise.
+	* sysdeps/powerpc/powerpc64/stpcpy.S: Don't include <bp-sym.h> and
+	<bp-asm.h>.
+	(__stpcpy): Don't use BP_SYM, CHECK_BOUNDS_LOW,
+	STORE_RETURN_BOUNDS, CHECK_BOUNDS_HIGH and STORE_RETURN_VALUE.
+	(__stpcpy) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(__stpcpy) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	* sysdeps/powerpc/powerpc64/strchr.S: Don't include <bp-sym.h> and
+	<bp-asm.h>.
+	(strchr): Don't use BP_SYM, CHECK_BOUNDS_LOW, STORE_RETURN_BOUNDS,
+	CHECK_BOUNDS_HIGH_RTN and STORE_RETURN_VALUE.  Remove comment
+	about bounded pointers.
+	(strchr) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(strchr) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	* sysdeps/powerpc/powerpc64/strcmp.S: Don't include <bp-sym.h> and
+	<bp-asm.h>.
+	(strcmp): Don't use BP_SYM and CHECK_BOUNDS_LOW.  Remove comment
+	about bounded pointers.  Remove GKM FIXME comments.
+	(strcmp) [__BOUNDED_POINTERS__]: Remove conditional code.
+	* sysdeps/powerpc/powerpc64/strcpy.S: Don't include <bp-sym.h> and
+	<bp-asm.h>.
+	(strcpy): Don't use BP_SYM, CHECK_BOUNDS_LOW and
+	STORE_RETURN_BOUNDS.  Remove comment about bounded pointers.
+	Remove GKM FIXME comments.
+	(strcpy) [__BOUNDED_POINTERS__]: Remove conditional code.
+	(strcpy) [!__BOUNDED_POINTERS__]: Make code unconditional.
+	* sysdeps/powerpc/powerpc64/strlen.S: Don't include <bp-sym.h> and
+	<bp-asm.h>.
+	(strlen): Don't use BP_SYM and CHECK_BOUNDS_LOW.  Remove comment
+	about bounded pointers.  Remove GKM FIXME comment.
+	* sysdeps/powerpc/powerpc64/strncmp.S: Don't include <bp-sym.h>
+	and <bp-asm.h>.
+	(strncmp): Don't use BP_SYM.  Remove comment about bounded
+	pointers.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__brk): Don't use BP_SYM and DISCARD_BOUNDS.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't include
+	<bp-sym.h> and <bp-asm.h>.
+	(__clone): Don't use BP_SYM and DISCARD_BOUNDS.  Remove GKM FIXME
+	comment.
+
+2013-03-05  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	* stdio-common/vfprintf.c (vfprintf): Check malloc return; don't
+	call free(NULL).
+
+2013-03-05  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* po/es.po: Update from translation team.
+
+2013-03-05  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/unix/sysv/linux/s390/bits/mman.h: Include
+	<bits/mman-linux.h>.
+	(MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value
+	is fine.
+	* sysdeps/unix/sysv/linux/sh/bits/mman.h: Move include of
+	<bits/mman-linux.h> to end of file.
+	(MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value
+	is fine.
+	* sysdeps/unix/sysv/linux/x86/bits/mman.h: Move include of
+	<bits/mman-linux.h> to end of file.
+	(MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value
+	is fine.
+	* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Move include of
+	<bits/mman-linux.h> to end of file.
+
+	* sysdeps/unix/sysv/linux/bits/mman-linux.h [!MCL_CURRENT]
+	(MCL_CURRENT, MCL_FUTURE): Define here.
+
+2013-03-05  Andreas Krebbel  <Andreas.Krebbel@xxxxxxxxxx>
+
+	[BZ #15232]
+	* sysdeps/s390/s390-32/multiarch/ifunc-resolve.c: Use
+	attribute_hidden.
+	* sysdeps/s390/s390-64/multiarch/ifunc-resolve.c: Likewise.
+
+2013-03-05  Andreas Krebbel  <Andreas.Krebbel@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S: Set the
+	fourth parameter needed for rt_sigprocmask syscall.
+	* sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S:
+	* sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: Likewise.
+	* sysdeps/unix/sysv/linux/s390/ucontext_i.sym: Define _NSIG8.
+
+2013-03-04  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #13550]
+	* sysdeps/powerpc/powerpc32/power4/strncmp.S (strncmp): Remove
+	comment about bounded pointers.
+	* sysdeps/powerpc/powerpc32/power7/strncmp.S (strncmp): Likewise.
+	* sysdeps/powerpc/powerpc32/strncmp.S (strncmp): Likewise.
+
+2013-03-04  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/unix/sysv/linux/bits/mman-linux.h: New file, with Linux
+	common definitions.
+
+	* sysdeps/unix/sysv/linux/sh/bits/mman.h: Remove all defines
+	provided by bits/mman-linux.h and include <bits/mman-linux.h>.
+	* sysdeps/unix/sysv/linux/x86/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
+
+2013-03-04  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	[BZ #15055]
+	* sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (__ieee754_acoshl): Use
+	__ieee754_sqrl instead of __sqrl.
+
 2013-03-01  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/powerpc/fpu/fpu_control.h: Move to ...

Modified: trunk/libc/INSTALL
==============================================================================
--- trunk/libc/INSTALL (original)
+++ trunk/libc/INSTALL Mon Mar 18 16:44:23 2013
@@ -140,6 +140,11 @@
      this can be prevented though there generally is no reason since it
      creates compatibility problems.
 
+`--enable-hardcoded-path-in-tests'
+     By default, dynamic tests are linked to run with the installed C
+     library.  This option hardcodes the newly built C library path in
+     dynamic tests so that they can be invoked directly.
+
 `--build=BUILD-SYSTEM'
 `--host=HOST-SYSTEM'
      These options are for cross-compiling.  If you specify both
@@ -153,9 +158,9 @@
      native compile but use what you specify instead of guessing what
      your system is. This is most useful to change the CPU submodel.
      For example, if `configure' guesses your machine as
-     `i586-pc-linux-gnu' but you want to compile a library for 386es,
-     give `--host=i386-pc-linux-gnu' or just `--host=i386-linux' and add
-     the appropriate compiler flags (`-mcpu=i386' will do the trick) to
+     `i686-pc-linux-gnu' but you want to compile a library for 586es,
+     give `--host=i586-pc-linux-gnu' or just `--host=i586-linux' and add
+     the appropriate compiler flags (`-mcpu=i586' will do the trick) to
      CFLAGS.
 
      If you specify just `--build', `configure' will get confused.

Modified: trunk/libc/Makeconfig
==============================================================================
--- trunk/libc/Makeconfig (original)
+++ trunk/libc/Makeconfig Mon Mar 18 16:44:23 2013
@@ -90,10 +90,14 @@
 						    $(firstword $(wildcard \
  $(addprefix $(dir)/,configure configure.in))))) \
 			       $(patsubst %.in,%,\
+ $(wildcard $(..)sysdeps/*/preconfigure $(..)sysdeps/*/preconfigure.in)) \
+			       $(patsubst %.in,%,\
 					  $(foreach add-on,$(add-ons),\
 						    $(firstword $(wildcard \
  $(addprefix $(firstword $(filter /%,$(add-on)) $(..)$(add-on))/,\
-	     configure configure.in)))))
+	     configure configure.in))) \
+ $(wildcard $(addprefix $(firstword $(filter /%,$(add-on)) $(..)$(add-on))/,\
+			sysdeps/*/preconfigure sysdeps/*/preconfigure.in))))
 	@cd $(@D); if test -f $(@F); then exec $(SHELL) $(@F) --recheck; else \
 	 echo The GNU C library has not been configured. >&2; \
 	 echo Run \`configure\' to configure it before building. >&2; \

Modified: trunk/libc/Makefile.in
==============================================================================
--- trunk/libc/Makefile.in (original)
+++ trunk/libc/Makefile.in Mon Mar 18 16:44:23 2013
@@ -3,7 +3,7 @@
 # Uncomment the line below if you want to do parallel build.
 # PARALLELMFLAGS = -j 4
 
-.PHONY: all install
+.PHONY: all install bench
 
 all .DEFAULT:
 	$(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@
@@ -11,3 +11,6 @@
 install:
 	LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; \
 	$(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@
+
+bench:
+	$(MAKE) -C $(srcdir)/benchtests $(PARALLELMFLAGS) objdir=`pwd` $@

Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Mon Mar 18 16:44:23 2013
@@ -9,9 +9,9 @@
 
 * The following bugs are resolved with this release:
 
-  11561, 13951, 14142, 14200, 14317, 14327, 14496, 14920, 14964, 14981,
-  14982, 14985, 14994, 14996, 15003, 15006, 15020, 15023, 15036, 15054,
-  15062, 15078, 15160.
+  11561, 12723, 13550, 13951, 14142, 14200, 14317, 14327, 14496, 14920,
+  14964, 14981, 14982, 14985, 14994, 14996, 15003, 15006, 15020, 15023,
+  15036, 15054, 15055, 15062, 15078, 15160, 15232, 15234, 15283.
 
 * Add support for calling C++11 thread_local object destructors on thread
   and program exit.  This needs compiler support for offloading C++11
@@ -22,6 +22,8 @@
 
 * Support for priority inherited mutexes in pthread condition variables on
   non-x86 architectures.
+
+* Added a benchmark framework to track performance of functions in glibc.
 
 
 Version 2.17
@@ -122,23 +124,23 @@
   4822, 5077, 5461, 5805, 5993, 6471, 6486, 6578, 6649, 6730, 6770, 6794,
   6884, 6890, 6894, 6895, 6907, 6911, 6959, 7064, 9739, 9902, 10110, 10135,
   10140, 10153, 10210, 10254, 10346, 10375, 10545, 10716, 10846, 11174,
-  11322, 11365, 11451, 11494, 11521, 11677, 11837, 11959, 12047, 12097,
-  12193, 12194, 12297, 12298, 12301, 12340, 12354, 12416, 12495, 13058,
-  13223, 13361, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532,
-  13533, 13547, 13551, 13552, 13553, 13555, 13556, 13559, 13563, 13566,
-  13576, 13579, 13583, 13592, 13594, 13613, 13618, 13637, 13656, 13658,
-  13673, 13691, 13695, 13704, 13705, 13706, 13718, 13726, 13738, 13739,
-  13743, 13750, 13758, 13760, 13761, 13775, 13786, 13787, 13792, 13806,
-  13824, 13840, 13841, 13844, 13846, 13848, 13851, 13852, 13854, 13871,
-  13872, 13873, 13879, 13882, 13883, 13884, 13885, 13886, 13892, 13895,
-  13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918,
-  13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928, 13938,
-  13941, 13942, 13954, 13955, 13956, 13963, 13967, 13968, 13970, 13973,
-  13979, 13983, 13986, 13996, 14012, 14027, 14033, 14034, 14036, 14040,
-  14043, 14044, 14048, 14049, 14050, 14053, 14055, 14059, 14064, 14075,
-  14080, 14083, 14103, 14104, 14109, 14112, 14117, 14122, 14123, 14134,
-  14153, 14183, 14188, 14199, 14210, 14218, 14229, 14241, 14273, 14277,
-  14278.
+  11261, 11322, 11365, 11451, 11494, 11521, 11677, 11837, 11959, 12047,
+  12097, 12193, 12194, 12297, 12298, 12301, 12340, 12354, 12416, 12495,
+  13058, 13223, 13361, 13525, 13526, 13527, 13528, 13529, 13530, 13531,
+  13532, 13533, 13547, 13551, 13552, 13553, 13555, 13556, 13559, 13563,
+  13566, 13576, 13579, 13583, 13592, 13594, 13613, 13618, 13637, 13656,
+  13658, 13673, 13691, 13695, 13704, 13705, 13706, 13718, 13726, 13738,
+  13739, 13743, 13750, 13758, 13760, 13761, 13775, 13786, 13787, 13792,
+  13806, 13824, 13840, 13841, 13844, 13846, 13848, 13851, 13852, 13854,
+  13871, 13872, 13873, 13879, 13882, 13883, 13884, 13885, 13886, 13892,
+  13895, 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917,
+  13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928,
+  13938, 13941, 13942, 13954, 13955, 13956, 13963, 13967, 13968, 13970,
+  13973, 13979, 13983, 13986, 13996, 14012, 14027, 14033, 14034, 14036,
+  14040, 14043, 14044, 14048, 14049, 14050, 14053, 14055, 14059, 14064,
+  14075, 14080, 14083, 14103, 14104, 14109, 14112, 14117, 14122, 14123,
+  14134, 14153, 14183, 14188, 14199, 14210, 14218, 14229, 14241, 14273,
+  14277, 14278.
 
 * Support for the x32 ABI on x86-64 added.  The x32 target is selected by
   configuring glibc with:

Modified: trunk/libc/Rules
==============================================================================
--- trunk/libc/Rules (original)
+++ trunk/libc/Rules Mon Mar 18 16:44:23 2013
@@ -83,7 +83,7 @@
 
 # This makes all the auxiliary and test programs.
 
-.PHONY: others tests
+.PHONY: others tests bench
 ifeq ($(multi-arch),no)
 tests := $(filter-out $(tests-ifunc), $(tests))
 xtests := $(filter-out $(xtests-ifunc), $(xtests))
@@ -188,6 +188,31 @@
 	$(make-test-out) > $@
 
 endif	# tests
+
+# Build and run benchmark programs.
+binaries-bench := $(addprefix $(objpfx)bench-,$(bench))
+
+run-bench = $(test-wrapper-env) \
+	    GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
+	    $($*-ENV) $(run-via-rtld-prefix) $${run}
+
+bench: $(binaries-bench)
+	if [ -f $(objpfx)bench.out ]; then \
+	  mv -f $(objpfx)bench.out $(objpfx)bench.out.old; \
+	fi
+	for run in $^; do \
+	  eval $(run-bench) >>  $(objpfx)bench.out; \
+	done
+
+$(binaries-bench): %: %.o \
+  $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
+  $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
+	$(+link)
+
+$(objpfx)bench-%.c: %-inputs bench-skeleton.c
+	$(..)scripts/bench.pl $(patsubst %-inputs,%,$<) \
+	  $($*-ITER) $($*-ARGLIST) $($*-RET) > $@
+
 
 .PHONY: distclean realclean subdir_distclean subdir_realclean \
 	subdir_clean subdir_mostlyclean subdir_testclean

Modified: trunk/libc/Versions.def
==============================================================================
--- trunk/libc/Versions.def (original)
+++ trunk/libc/Versions.def Mon Mar 18 16:44:23 2013
@@ -93,6 +93,7 @@
   GLIBC_2.2
   GLIBC_2.2.3
   GLIBC_2.2.6
+  GLIBC_2.3
   GLIBC_2.3.2
   GLIBC_2.3.3
   GLIBC_2.3.4

Modified: trunk/libc/csu/elf-init.c
==============================================================================
--- trunk/libc/csu/elf-init.c (original)
+++ trunk/libc/csu/elf-init.c Mon Mar 18 16:44:23 2013
@@ -49,10 +49,13 @@
 extern void (*__fini_array_end []) (void) attribute_hidden;
 
 
+#ifndef NO_INITFINI
 /* These function symbols are provided for the .init/.fini section entry
    points automagically by the linker.  */
 extern void _init (void);
 extern void _fini (void);
+#endif
+
 
 /* These functions are passed to __libc_start_main by the startup code.
    These get statically linked into each program.  For dynamically linked
@@ -76,7 +79,9 @@
   }
 #endif
 
+#ifndef NO_INITFINI
   _init ();
+#endif
 
   const size_t size = __init_array_end - __init_array_start;
   for (size_t i = 0; i < size; i++)
@@ -94,6 +99,8 @@
   while (i-- > 0)
     (*__fini_array_start [i]) ();
 
+# ifndef NO_INITFINI
   _fini ();
+# endif
 #endif
 }

Modified: trunk/libc/csu/gmon-start.c
==============================================================================
--- trunk/libc/csu/gmon-start.c (original)
+++ trunk/libc/csu/gmon-start.c Mon Mar 18 16:44:23 2013
@@ -59,10 +59,17 @@
 # endif
 #endif
 
+#ifdef GMON_START_ARRAY_SECTION
+static void __gmon_start__ (void);
+static void (*const gmon_start_initializer) (void)
+  __attribute__ ((used, section (GMON_START_ARRAY_SECTION))) = &__gmon_start__;
+static
+#else
 /* We cannot use the normal constructor mechanism to call
    __gmon_start__ because gcrt1.o appears before crtbegin.o in the link.
    Instead crti.o calls it specially.  */
 extern void __gmon_start__ (void);
+#endif
 
 void
 __gmon_start__ (void)

Modified: trunk/libc/elf/dl-support.c
==============================================================================
--- trunk/libc/elf/dl-support.c (original)
+++ trunk/libc/elf/dl-support.c Mon Mar 18 16:44:23 2013
@@ -201,7 +201,8 @@
     switch (av->a_type)
       {
       case AT_PAGESZ:
-	GLRO(dl_pagesize) = av->a_un.a_val;
+	if (av->a_un.a_val != 0)
+	  GLRO(dl_pagesize) = av->a_un.a_val;
 	break;
       case AT_CLKTCK:
 	GLRO(dl_clktck) = av->a_un.a_val;
@@ -269,9 +270,6 @@
   if (HP_TIMING_AVAIL)
     HP_TIMING_NOW (_dl_cpuclock_offset);
 
-  if (!_dl_pagesize)
-    _dl_pagesize = __getpagesize ();
-
   _dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1;
 
   /* Set up the data structures for the system-supplied DSO early,

Modified: trunk/libc/extra-lib.mk
==============================================================================
--- trunk/libc/extra-lib.mk (original)
+++ trunk/libc/extra-lib.mk Mon Mar 18 16:44:23 2013
@@ -36,7 +36,12 @@
 					   $($(lib)-shared-only-routines),\
 					   $(all-$(lib)-routines))))
 ifneq (,$(filter .os,$(object-suffixes-$(lib))))
-extra-objs += $(all-$(lib)-routines:%=%.os)
+extra-objs += $(patsubst %,%.os,$(filter-out $($(lib)-static-only-routines),\
+					     $(all-$(lib)-routines)))
+endif
+ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
+extra-objs += $(patsubst %,%.oS,$(filter $($(lib)-static-only-routines),\
+					 $(all-$(lib)-routines)))
 endif
 alltypes-$(lib) := $(foreach o,$(object-suffixes-$(lib)),\
 			     $(objpfx)$(patsubst %,$(libtype$o),\

Modified: trunk/libc/io/fcntl.h
==============================================================================
--- trunk/libc/io/fcntl.h (original)
+++ trunk/libc/io/fcntl.h Mon Mar 18 16:44:23 2013
@@ -129,6 +129,12 @@
 # define SEEK_END	2	/* Seek from end of file.  */
 #endif	/* XPG */
 
+/* The constants AT_REMOVEDIR and AT_EACCESS have the same value.  AT_EASSESS
+   is meaningful only to faccessat, while AT_REMOVEDIR is meaningful only to
+   unlinkat.  The two functions do completely different things and therefore,
+   the flags can be allowed to overlap.  For example, passing AT_REMOVEDIR to
+   faccessat would be undefined behavior and thus treating it equivalent to
+   AT_EACCESS is valid undefined behavior.  */
 #ifdef __USE_ATFILE
 # define AT_FDCWD		-100	/* Special value used to indicate
 					   the *at functions should use the

Modified: trunk/libc/malloc/arena.c
==============================================================================
--- trunk/libc/malloc/arena.c (original)
+++ trunk/libc/malloc/arena.c Mon Mar 18 16:44:23 2013
@@ -144,11 +144,9 @@
 
 /* atfork support.  */
 
-static __malloc_ptr_t (*save_malloc_hook) (size_t __size,
-					   const __malloc_ptr_t);
-static void           (*save_free_hook) (__malloc_ptr_t __ptr,
-					 const __malloc_ptr_t);
-static void*        save_arena;
+static void *(*save_malloc_hook) (size_t __size, const void *);
+static void (*save_free_hook) (void *__ptr, const void *);
+static void *save_arena;
 
 #ifdef ATFORK_MEM
 ATFORK_MEM;

Modified: trunk/libc/malloc/hooks.c
==============================================================================
--- trunk/libc/malloc/hooks.c (original)
+++ trunk/libc/malloc/hooks.c Mon Mar 18 16:44:23 2013
@@ -25,7 +25,7 @@
    initialization routine, then do the normal work. */
 
 static void*
-malloc_hook_ini(size_t sz, const __malloc_ptr_t caller)
+malloc_hook_ini(size_t sz, const void *caller)
 {
   __malloc_hook = NULL;
   ptmalloc_init();
@@ -33,7 +33,7 @@
 }
 
 static void*
-realloc_hook_ini(void* ptr, size_t sz, const __malloc_ptr_t caller)
+realloc_hook_ini(void* ptr, size_t sz, const void *caller)
 {
   __malloc_hook = NULL;
   __realloc_hook = NULL;
@@ -42,7 +42,7 @@
 }
 
 static void*
-memalign_hook_ini(size_t alignment, size_t sz, const __malloc_ptr_t caller)
+memalign_hook_ini(size_t alignment, size_t sz, const void *caller)
 {
   __memalign_hook = NULL;
   ptmalloc_init();

Modified: trunk/libc/malloc/malloc.c
==============================================================================
--- trunk/libc/malloc/malloc.c (original)
+++ trunk/libc/malloc/malloc.c Mon Mar 18 16:44:23 2013
@@ -1841,22 +1841,22 @@
 
 /* Forward declarations.  */
 static void* malloc_hook_ini (size_t sz,
-			      const __malloc_ptr_t caller) __THROW;
+			      const void *caller) __THROW;
 static void* realloc_hook_ini (void* ptr, size_t sz,
-			       const __malloc_ptr_t caller) __THROW;
+			       const void *caller) __THROW;
 static void* memalign_hook_ini (size_t alignment, size_t sz,
-				const __malloc_ptr_t caller) __THROW;
+				const void *caller) __THROW;
 
 void weak_variable (*__malloc_initialize_hook) (void) = NULL;
-void weak_variable (*__free_hook) (__malloc_ptr_t __ptr,
-				   const __malloc_ptr_t) = NULL;
-__malloc_ptr_t weak_variable (*__malloc_hook)
-     (size_t __size, const __malloc_ptr_t) = malloc_hook_ini;
-__malloc_ptr_t weak_variable (*__realloc_hook)
-     (__malloc_ptr_t __ptr, size_t __size, const __malloc_ptr_t)
+void weak_variable (*__free_hook) (void *__ptr,
+				   const void *) = NULL;
+void *weak_variable (*__malloc_hook)
+     (size_t __size, const void *) = malloc_hook_ini;
+void *weak_variable (*__realloc_hook)
+     (void *__ptr, size_t __size, const void *)
      = realloc_hook_ini;
-__malloc_ptr_t weak_variable (*__memalign_hook)
-     (size_t __alignment, size_t __size, const __malloc_ptr_t)
+void *weak_variable (*__memalign_hook)
+     (size_t __alignment, size_t __size, const void *)
      = memalign_hook_ini;
 void weak_variable (*__after_morecore_hook) (void) = NULL;
 
@@ -2842,7 +2842,7 @@
   mstate ar_ptr;
   void *victim;
 
-  __malloc_ptr_t (*hook) (size_t, const __malloc_ptr_t)
+  void *(*hook) (size_t, const void *)
     = force_reg (__malloc_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(bytes, RETURN_ADDRESS (0));
@@ -2873,7 +2873,7 @@
   mstate ar_ptr;
   mchunkptr p;                          /* chunk corresponding to mem */
 
-  void (*hook) (__malloc_ptr_t, const __malloc_ptr_t)
+  void (*hook) (void *, const void *)
     = force_reg (__free_hook);
   if (__builtin_expect (hook != NULL, 0)) {
     (*hook)(mem, RETURN_ADDRESS (0));
@@ -2912,7 +2912,7 @@
 
   void* newp;             /* chunk to return */
 
-  __malloc_ptr_t (*hook) (__malloc_ptr_t, size_t, const __malloc_ptr_t) =
+  void *(*hook) (void *, size_t, const void *) =
     force_reg (__realloc_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(oldmem, bytes, RETURN_ADDRESS (0));
@@ -3004,7 +3004,7 @@
   mstate ar_ptr;
   void *p;
 
-  __malloc_ptr_t (*hook) (size_t, size_t, const __malloc_ptr_t) =
+  void *(*hook) (size_t, size_t, const void *) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(alignment, bytes, RETURN_ADDRESS (0));
@@ -3046,7 +3046,7 @@
 
   size_t pagesz = GLRO(dl_pagesize);
 
-  __malloc_ptr_t (*hook) (size_t, size_t, const __malloc_ptr_t) =
+  void *(*hook) (size_t, size_t, const void *) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(pagesz, bytes, RETURN_ADDRESS (0));
@@ -3082,7 +3082,7 @@
   size_t page_mask = GLRO(dl_pagesize) - 1;
   size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
 
-  __malloc_ptr_t (*hook) (size_t, size_t, const __malloc_ptr_t) =
+  void *(*hook) (size_t, size_t, const void *) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(pagesz, rounded_bytes, RETURN_ADDRESS (0));
@@ -3125,7 +3125,7 @@
     }
   }
 
-  __malloc_ptr_t (*hook) (size_t, const __malloc_ptr_t) =
+  void *(*hook) (size_t, const void *) =
     force_reg (__malloc_hook);
   if (__builtin_expect (hook != NULL, 0)) {
     sz = bytes;
@@ -4916,7 +4916,7 @@
 
   /* Call the hook here, so that caller is posix_memalign's caller
      and not posix_memalign itself.  */
-  __malloc_ptr_t (*hook) (size_t, size_t, const __malloc_ptr_t) =
+  void *(*hook) (size_t, size_t, const void *) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
     mem = (*hook)(alignment, size, RETURN_ADDRESS (0));

Modified: trunk/libc/malloc/malloc.h
==============================================================================
--- trunk/libc/malloc/malloc.h (original)
+++ trunk/libc/malloc/malloc.h Mon Mar 18 16:44:23 2013
@@ -22,11 +22,6 @@
 #include <features.h>
 #include <stddef.h>
 #include <stdio.h>
-# define __malloc_ptr_t  void *
-
-/* Used by GNU libc internals. */
-#define __malloc_size_t size_t
-#define __malloc_ptrdiff_t ptrdiff_t
 
 #ifdef _LIBC
 # define __MALLOC_HOOK_VOLATILE
@@ -153,18 +148,18 @@
      __MALLOC_DEPRECATED;
 /* Hooks for debugging and user-defined versions. */
 extern void (*__MALLOC_HOOK_VOLATILE __free_hook) (void *__ptr,
-						   const __malloc_ptr_t)
+						   const void *)
      __MALLOC_DEPRECATED;
 extern void *(*__MALLOC_HOOK_VOLATILE __malloc_hook) (size_t __size,
-						      const __malloc_ptr_t)
+						      const void *)
      __MALLOC_DEPRECATED;
 extern void *(*__MALLOC_HOOK_VOLATILE __realloc_hook) (void *__ptr,
 						       size_t __size,
-						       const __malloc_ptr_t)
+						       const void *)
      __MALLOC_DEPRECATED;
 extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook) (size_t __alignment,
 							size_t __size,
-							const __malloc_ptr_t)
+							const void *)
      __MALLOC_DEPRECATED;
 extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);
 

Modified: trunk/libc/malloc/mcheck.c
==============================================================================
--- trunk/libc/malloc/mcheck.c (original)
+++ trunk/libc/malloc/mcheck.c Mon Mar 18 16:44:23 2013
@@ -29,11 +29,10 @@
 
 /* Old hook values.  */
 static void (*old_free_hook) (__ptr_t ptr, const __ptr_t);
-static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t);
-static __ptr_t (*old_memalign_hook) (__malloc_size_t alignment,
-				     __malloc_size_t size,
+static __ptr_t (*old_malloc_hook) (size_t size, const __ptr_t);
+static __ptr_t (*old_memalign_hook) (size_t alignment, size_t size,
 				     const __ptr_t);
-static __ptr_t (*old_realloc_hook) (__ptr_t ptr, __malloc_size_t size,
+static __ptr_t (*old_realloc_hook) (__ptr_t ptr, size_t size,
 				    const __ptr_t);
 
 /* Function to call when something awful happens.  */
@@ -48,7 +47,7 @@
 
 struct hdr
   {
-    __malloc_size_t size;	/* Exact size requested by user.  */
+    size_t size;		/* Exact size requested by user.  */
     unsigned long int magic;	/* Magic number to check header integrity.  */
     struct hdr *prev;
     struct hdr *next;
@@ -69,12 +68,12 @@
 # include <string.h>
 # define flood memset
 #else
-static void flood (__ptr_t, int, __malloc_size_t);
+static void flood (__ptr_t, int, size_t);
 static void
 flood (ptr, val, size)
      __ptr_t ptr;
      int val;
-     __malloc_size_t size;
+     size_t size;
 {
   char *cp = ptr;
   while (size--)
@@ -202,7 +201,7 @@
 }
 
 static __ptr_t
-mallochook (__malloc_size_t size, const __ptr_t caller)
+mallochook (size_t size, const __ptr_t caller)
 {
   struct hdr *hdr;
 
@@ -235,11 +234,11 @@
 }
 
 static __ptr_t
-memalignhook (__malloc_size_t alignment, __malloc_size_t size,
+memalignhook (size_t alignment, size_t size,
 	      const __ptr_t caller)
 {
   struct hdr *hdr;
-  __malloc_size_t slop;
+  size_t slop;
   char *block;
 
   if (pedantic)
@@ -274,7 +273,7 @@
 }
 
 static __ptr_t
-reallochook (__ptr_t ptr, __malloc_size_t size, const __ptr_t caller)
+reallochook (__ptr_t ptr, size_t size, const __ptr_t caller)
 {
   if (size == 0)
     {
@@ -283,7 +282,7 @@
     }
 
   struct hdr *hdr;
-  __malloc_size_t osize;
+  size_t osize;
 
   if (pedantic)
     mcheck_check_all ();

Modified: trunk/libc/malloc/morecore.c
==============================================================================
--- trunk/libc/malloc/morecore.c (original)
+++ trunk/libc/malloc/morecore.c Mon Mar 18 16:44:23 2013
@@ -30,7 +30,7 @@
 
 #include <stddef.h>
 #include <stdlib.h>
-extern __malloc_ptr_t __sbrk (ptrdiff_t increment) __THROW;
+extern void *__sbrk (ptrdiff_t increment) __THROW;
 libc_hidden_proto (__sbrk)
 #endif
 
@@ -41,12 +41,11 @@
 /* Allocate INCREMENT more bytes of data space,
    and return the start of data space, or NULL on errors.
    If INCREMENT is negative, shrink data space.  */
-__malloc_ptr_t
-__default_morecore (increment)
-     __malloc_ptrdiff_t increment;
+void *
+__default_morecore (ptrdiff_t increment)
 {
-  __malloc_ptr_t result = (__malloc_ptr_t) __sbrk (increment);
-  if (result == (__malloc_ptr_t) -1)
+  void *result = (void *) __sbrk (increment);
+  if (result == (void *) -1)
     return NULL;
   return result;
 }

Modified: trunk/libc/malloc/mtrace.c
==============================================================================
--- trunk/libc/malloc/mtrace.c (original)
+++ trunk/libc/malloc/mtrace.c Mon Mar 18 16:44:23 2013
@@ -58,11 +58,10 @@
 
 /* Old hook values.  */
 static void (*tr_old_free_hook) (__ptr_t ptr, const __ptr_t);
-static __ptr_t (*tr_old_malloc_hook) (__malloc_size_t size, const __ptr_t);
-static __ptr_t (*tr_old_realloc_hook) (__ptr_t ptr, __malloc_size_t size,
+static __ptr_t (*tr_old_malloc_hook) (size_t size, const __ptr_t);
+static __ptr_t (*tr_old_realloc_hook) (__ptr_t ptr, size_t size,
 				       const __ptr_t);
-static __ptr_t (*tr_old_memalign_hook) (__malloc_size_t __alignment,
-					__malloc_size_t __size,
+static __ptr_t (*tr_old_memalign_hook) (size_t __alignment, size_t __size,
 					const __ptr_t);
 
 /* This function is called when the block being alloc'd, realloc'd, or
@@ -160,10 +159,10 @@
   __libc_lock_unlock (lock);
 }
 
-static __ptr_t tr_mallochook (__malloc_size_t, const __ptr_t) __THROW;
+static __ptr_t tr_mallochook (size_t, const __ptr_t) __THROW;
 static __ptr_t
 tr_mallochook (size, caller)
-     __malloc_size_t size;
+     size_t size;
      const __ptr_t caller;
 {
   __ptr_t hdr;
@@ -190,12 +189,12 @@
   return hdr;
 }
 
-static __ptr_t tr_reallochook (__ptr_t, __malloc_size_t, const __ptr_t)
+static __ptr_t tr_reallochook (__ptr_t, size_t, const __ptr_t)
      __THROW;
 static __ptr_t
 tr_reallochook (ptr, size, caller)
      __ptr_t ptr;
-     __malloc_size_t size;
+     size_t size;
      const __ptr_t caller;
 {
   __ptr_t hdr;
@@ -243,11 +242,11 @@
   return hdr;
 }
 
-static __ptr_t tr_memalignhook (__malloc_size_t, __malloc_size_t,
+static __ptr_t tr_memalignhook (size_t, size_t,
 				const __ptr_t) __THROW;
 static __ptr_t
 tr_memalignhook (alignment, size, caller)
-     __malloc_size_t alignment, size;
+     size_t alignment, size;
      const __ptr_t caller;
 {
   __ptr_t hdr;

Modified: trunk/libc/manual/Makefile
==============================================================================
--- trunk/libc/manual/Makefile (original)
+++ trunk/libc/manual/Makefile Mon Mar 18 16:44:23 2013
@@ -42,7 +42,7 @@
 		       message search pattern io stdio llio filesys	\
 		       pipe socket terminal syslog math arith time	\
 		       resource setjmp signal startup process job nss	\
-		       users sysinfo conf crypt debug)
+		       users sysinfo conf crypt debug nptl)
 add-chapters = $(wildcard $(foreach d, $(add-ons), ../$d/$d.texi))
 appendices = lang.texi header.texi install.texi maint.texi platform.texi \
 	     contrib.texi

Modified: trunk/libc/manual/debug.texi
==============================================================================
--- trunk/libc/manual/debug.texi (original)
+++ trunk/libc/manual/debug.texi Mon Mar 18 16:44:23 2013
@@ -1,5 +1,5 @@
 @node Debugging Support
-@c @node Debugging Support, , Cryptographic Functions, Top
+@c @node Debugging Support, POSIX Threads, Cryptographic Functions, Top
 @c %MENU% Functions to help debugging applications
 @chapter Debugging support
 

Modified: trunk/libc/manual/install.texi
==============================================================================
--- trunk/libc/manual/install.texi (original)
+++ trunk/libc/manual/install.texi Mon Mar 18 16:44:23 2013
@@ -172,10 +172,10 @@
 If you only specify @samp{--host}, @code{configure} will prepare for a
 native compile but use what you specify instead of guessing what your
 system is. This is most useful to change the CPU submodel.  For example,
-if @code{configure} guesses your machine as @code{i586-pc-linux-gnu} but
-you want to compile a library for 386es, give
-@samp{--host=i386-pc-linux-gnu} or just @samp{--host=i386-linux} and add
-the appropriate compiler flags (@samp{-mcpu=i386} will do the trick) to
+if @code{configure} guesses your machine as @code{i686-pc-linux-gnu} but
+you want to compile a library for 586es, give
+@samp{--host=i586-pc-linux-gnu} or just @samp{--host=i586-linux} and add
+the appropriate compiler flags (@samp{-mcpu=i586} will do the trick) to
 @var{CFLAGS}.
 
 If you specify just @samp{--build}, @code{configure} will get confused.

Modified: trunk/libc/manual/memory.texi
==============================================================================
--- trunk/libc/manual/memory.texi (original)
+++ trunk/libc/manual/memory.texi Mon Mar 18 16:44:23 2013
@@ -683,25 +683,21 @@
 choices for @var{param}, as defined in @file{malloc.h}, are:
 
 @table @code
-@item M_TRIM_THRESHOLD
-This is the minimum size (in bytes) of the top-most, releasable chunk
-that will cause @code{sbrk} to be called with a negative argument in
-order to return memory to the system.
-@item M_TOP_PAD
-This parameter determines the amount of extra memory to obtain from the
-system when a call to @code{sbrk} is required.  It also specifies the
-number of bytes to retain when shrinking the heap by calling @code{sbrk}
-with a negative argument.  This provides the necessary hysteresis in
-heap size such that excessive amounts of system calls can be avoided.
+@comment TODO: @item M_ARENA_MAX
+@comment       - Document ARENA_MAX env var.
+@comment TODO: @item M_ARENA_TEST
+@comment       - Document ARENA_TEST env var.
+@comment TODO: @item M_CHECK_ACTION
+@item M_MMAP_MAX
+The maximum number of chunks to allocate with @code{mmap}.  Setting this
+to zero disables all use of @code{mmap}.
 @item M_MMAP_THRESHOLD
 All chunks larger than this value are allocated outside the normal
 heap, using the @code{mmap} system call.  This way it is guaranteed
 that the memory for these chunks can be returned to the system on
 @code{free}.  Note that requests smaller than this threshold might still
 be allocated via @code{mmap}.
-@item M_MMAP_MAX
-The maximum number of chunks to allocate with @code{mmap}.  Setting this
-to zero disables all use of @code{mmap}.
+@comment TODO: @item M_MXFAST
 @item M_PERTURB
 If non-zero, memory blocks are filled with values depending on some
 low order bits of this parameter when they are allocated (except when
@@ -710,6 +706,16 @@
 guarantee that the freed block will have any specific values.  It only
 guarantees that the content the block had before it was freed will be
 overwritten.
+@item M_TOP_PAD
+This parameter determines the amount of extra memory to obtain from the
+system when a call to @code{sbrk} is required.  It also specifies the
+number of bytes to retain when shrinking the heap by calling @code{sbrk}
+with a negative argument.  This provides the necessary hysteresis in
+heap size such that excessive amounts of system calls can be avoided.
+@item M_TRIM_THRESHOLD
+This is the minimum size (in bytes) of the top-most, releasable chunk
+that will cause @code{sbrk} to be called with a negative argument in
+order to return memory to the system.
 @end table
 
 @end deftypefun

Modified: trunk/libc/math/Makefile
==============================================================================
--- trunk/libc/math/Makefile (original)
+++ trunk/libc/math/Makefile Mon Mar 18 16:44:23 2013
@@ -90,7 +90,7 @@
 tests = test-matherr test-fenv basic-test \
 	test-misc test-fpucw tst-definitions test-tgmath test-tgmath-ret \
 	bug-nextafter bug-nexttoward bug-tgmath1 test-tgmath-int test-tgmath2 \
-	test-dbl-wrap test-powl tst-CMPLX tst-CMPLX2
+	test-dbl-wrap test-powl tst-CMPLX tst-CMPLX2 test-snan
 tests-$(OPTION_EGLIBC_LIBM_BIG) += atest-exp atest-sincos atest-exp2
 # We do the `long double' tests only if this data type is available and
 # distinct from `double'.

Modified: trunk/libc/math/basic-test.c
==============================================================================
--- trunk/libc/math/basic-test.c (original)
+++ trunk/libc/math/basic-test.c Mon Mar 18 16:44:23 2013
@@ -32,40 +32,40 @@
   }
 }
 
-#define TEST_FUNC(NAME, FLOAT, NANFUNC, EPSILON, HUGEVAL) \
+#define TEST_FUNC(NAME, FLOAT, SUFFIX, EPSILON, HUGEVAL)		      \
 static void								      \
 NAME (void)								      \
 {									      \
   /* Variables are declared volatile to forbid some compiler		      \
      optimizations.  */							      \
-  volatile FLOAT Inf_var, NaN_var, zero_var, one_var;			      \
+  volatile FLOAT Inf_var, qNaN_var, zero_var, one_var;			      \
   FLOAT x1, x2;								      \
 									      \
   zero_var = 0.0;							      \
   one_var = 1.0;							      \
-  NaN_var = zero_var / zero_var;					      \
+  qNaN_var = __builtin_nan ## SUFFIX ("");				      \
   Inf_var = one_var / zero_var;						      \
 									      \
   (void) &zero_var;							      \
   (void) &one_var;							      \
-  (void) &NaN_var;							      \
+  (void) &qNaN_var;							      \
   (void) &Inf_var;							      \
 									      \
 									      \
   check (#FLOAT " isinf (inf) == 1", isinf (Inf_var) == 1);		      \
   check (#FLOAT " isinf (-inf) == -1", isinf (-Inf_var) == -1);		      \
   check (#FLOAT " !isinf (1)", !(isinf (one_var)));			      \
-  check (#FLOAT " !isinf (NaN)", !(isinf (NaN_var)));			      \
+  check (#FLOAT " !isinf (qNaN)", !(isinf (qNaN_var)));			      \
 									      \
-  check (#FLOAT " isnan (NaN)", isnan (NaN_var));			      \
-  check (#FLOAT " isnan (-NaN)", isnan (-NaN_var));			      \
+  check (#FLOAT " isnan (qNaN)", isnan (qNaN_var));			      \
+  check (#FLOAT " isnan (-qNaN)", isnan (-qNaN_var));			      \
   check (#FLOAT " !isnan (1)", !(isnan (one_var)));			      \
   check (#FLOAT " !isnan (inf)", !(isnan (Inf_var)));			      \
 									      \
   check (#FLOAT " inf == inf", Inf_var == Inf_var);			      \
   check (#FLOAT " -inf == -inf", -Inf_var == -Inf_var);			      \
   check (#FLOAT " inf != -inf", Inf_var != -Inf_var);			      \
-  check (#FLOAT " NaN != NaN", NaN_var != NaN_var);			      \
+  check (#FLOAT " qNaN != qNaN", qNaN_var != qNaN_var);			      \
 									      \
   /*									      \
      the same tests but this time with NAN from <bits/nan.h>		      \
@@ -80,11 +80,12 @@
   /*									      \
      And again with the value returned by the `nan' function.		      \
    */									      \
-  check (#FLOAT " isnan (NAN)", isnan (NANFUNC ("")));			      \
-  check (#FLOAT " isnan (-NAN)", isnan (-NANFUNC ("")));		      \
-  check (#FLOAT " !isinf (NAN)", !(isinf (NANFUNC (""))));		      \
-  check (#FLOAT " !isinf (-NAN)", !(isinf (-NANFUNC (""))));		      \
-  check (#FLOAT " NAN != NAN", NANFUNC ("") != NANFUNC (""));		      \
+  check (#FLOAT " isnan (nan (\"\"))", isnan (nan ## SUFFIX ("")));	      \
+  check (#FLOAT " isnan (-nan (\"\"))", isnan (-nan ## SUFFIX ("")));	      \
+  check (#FLOAT " !isinf (nan (\"\"))", !(isinf (nan ## SUFFIX (""))));	      \
+  check (#FLOAT " !isinf (-nan (\"\"))", !(isinf (-nan ## SUFFIX (""))));     \
+  check (#FLOAT " nan (\"\") != nan (\"\")",				      \
+	 nan ## SUFFIX ("") != nan ## SUFFIX (""));			      \
 									      \
   /* test if EPSILON is ok */						      \
   x1 = 1.0;								      \
@@ -102,34 +103,34 @@
   check (#FLOAT " isinf (-HUGE_VALx) == -1", isinf (x1) == -1);		      \
 }
 
-#define TEST_TRUNC(NAME, FLOAT, DOUBLE) \
+#define TEST_TRUNC(NAME, FLOAT, DOUBLE, SUFFIX)				      \
 void									      \
 NAME (void)								      \
 {									      \
-  volatile DOUBLE Inf_var, NaN_var, zero_var, one_var;			      \
+  volatile DOUBLE Inf_var, qNaN_var, zero_var, one_var;			      \
   FLOAT x1, x2;								      \
 									      \
   zero_var = 0.0;							      \
   one_var = 1.0;							      \
-  NaN_var = zero_var / zero_var;					      \
+  qNaN_var = __builtin_nan ## SUFFIX ("");				      \
   Inf_var = one_var / zero_var;						      \
 									      \
-  (void) &NaN_var;							      \
+  (void) &qNaN_var;							      \
   (void) &Inf_var;							      \
 									      \
-  x1 = (FLOAT) NaN_var;							      \
-  check (" "#FLOAT" x = ("#FLOAT") ("#DOUBLE") NaN", isnan (x1) != 0);	      \
+  x1 = (FLOAT) qNaN_var;						      \
+  check (" "#FLOAT" x = ("#FLOAT") ("#DOUBLE") qNaN", isnan (x1) != 0);	      \
   x2 = (FLOAT) Inf_var;							      \
   check (" "#FLOAT" x = ("#FLOAT") ("#DOUBLE") Inf", isinf (x2) != 0);	      \
 }
 
-TEST_FUNC (float_test, float, nanf, FLT_EPSILON, HUGE_VALF)
-TEST_FUNC (double_test, double, nan, DBL_EPSILON, HUGE_VAL)
-TEST_TRUNC (truncdfsf_test, float, double)
+TEST_FUNC (float_test, float, f, FLT_EPSILON, HUGE_VALF)
+TEST_FUNC (double_test, double, , DBL_EPSILON, HUGE_VAL)
+TEST_TRUNC (truncdfsf_test, float, double, )
 #ifndef NO_LONG_DOUBLE
-TEST_FUNC (ldouble_test, long double, nanl, LDBL_EPSILON, HUGE_VALL)
-TEST_TRUNC (trunctfsf_test, float, long double)
-TEST_TRUNC (trunctfdf_test, double, long double)
+TEST_FUNC (ldouble_test, long double, l, LDBL_EPSILON, HUGE_VALL)
+TEST_TRUNC (trunctfsf_test, float, long double, l)
+TEST_TRUNC (trunctfdf_test, double, long double, l)
 #endif
 
 int

Modified: trunk/libc/math/bits/mathcalls.h
==============================================================================
--- trunk/libc/math/bits/mathcalls.h (original)
+++ trunk/libc/math/bits/mathcalls.h Mon Mar 18 16:44:23 2013
@@ -220,7 +220,7 @@
 
 #ifdef __USE_ISOC99
 __BEGIN_NAMESPACE_C99
-/* Return representation of NaN for double type.  */
+/* Return representation of qNaN for double type.  */
 __MATHCALLX (nan,, (const char *__tagb), (__const__));
 __END_NAMESPACE_C99
 #endif

Modified: trunk/libc/math/gen-libm-test.pl
==============================================================================
--- trunk/libc/math/gen-libm-test.pl (original)
+++ trunk/libc/math/gen-libm-test.pl Mon Mar 18 16:44:23 2013
@@ -58,7 +58,7 @@
     "plus_zero" => "+0",
     "minus_infty" => "-inf",
     "plus_infty" => "inf",
-    "nan_value" => "NaN",
+    "qnan_value" => "qNaN",
     "M_El" => "e",
     "M_E2l" => "e^2",
     "M_E3l" => "e^3",

Modified: trunk/libc/math/libm-test.inc
==============================================================================
--- trunk/libc/math/libm-test.inc (original)
+++ trunk/libc/math/libm-test.inc Mon Mar 18 16:44:23 2013
@@ -225,7 +225,7 @@
 static int ignore_max_ulp;	/* Should we ignore max_ulp?  */
 
 static FLOAT minus_zero, plus_zero;
-static FLOAT plus_infty, minus_infty, nan_value, max_value, min_value;
+static FLOAT plus_infty, minus_infty, qnan_value, max_value, min_value;
 static FLOAT min_subnorm_value;
 
 static FLOAT max_error, real_max_error, imag_max_error;
@@ -369,7 +369,7 @@
 static void
 fpstack_test (const char *test_name)
 {
-#ifdef i386
+#if defined (__i386__) || defined (__x86_64__)
   static int old_stack;
   int sw;
 
@@ -813,15 +813,15 @@
 
   START (acos);
 
-  TEST_f_f (acos, plus_infty, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (acos, minus_infty, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (acos, nan_value, nan_value);
+  TEST_f_f (acos, plus_infty, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (acos, minus_infty, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (acos, qnan_value, qnan_value);
 
   /* |x| > 1: */
-  TEST_f_f (acos, 1.125L, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (acos, -1.125L, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (acos, max_value, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (acos, -max_value, nan_value, INVALID_EXCEPTION);
+  TEST_f_f (acos, 1.125L, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (acos, -1.125L, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (acos, max_value, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (acos, -max_value, qnan_value, INVALID_EXCEPTION);
 
   TEST_f_f (acos, 0, M_PI_2l);
   TEST_f_f (acos, minus_zero, M_PI_2l);
@@ -979,11 +979,12 @@
   START (acosh);
 
   TEST_f_f (acosh, plus_infty, plus_infty);
-  TEST_f_f (acosh, minus_infty, nan_value, INVALID_EXCEPTION);
+  TEST_f_f (acosh, minus_infty, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (acosh, qnan_value, qnan_value);
 
   /* x < 1:  */
-  TEST_f_f (acosh, -1.125L, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (acosh, -max_value, nan_value, INVALID_EXCEPTION);
+  TEST_f_f (acosh, -1.125L, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (acosh, -max_value, qnan_value, INVALID_EXCEPTION);
 
   TEST_f_f (acosh, 1, 0);
   TEST_f_f (acosh, 7, 2.63391579384963341725009269461593689L);
@@ -1002,15 +1003,15 @@
 
   START (asin);
 
-  TEST_f_f (asin, plus_infty, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (asin, minus_infty, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (asin, nan_value, nan_value);
-
-  /* asin x == NaN plus invalid exception for |x| > 1.  */
-  TEST_f_f (asin, 1.125L, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (asin, -1.125L, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (asin, max_value, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (asin, -max_value, nan_value, INVALID_EXCEPTION);
+  TEST_f_f (asin, plus_infty, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (asin, minus_infty, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (asin, qnan_value, qnan_value);
+
+  /* asin x == qNaN plus invalid exception for |x| > 1.  */
+  TEST_f_f (asin, 1.125L, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (asin, -1.125L, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (asin, max_value, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (asin, -max_value, qnan_value, INVALID_EXCEPTION);
 
   TEST_f_f (asin, 0, 0);
   TEST_f_f (asin, minus_zero, minus_zero);
@@ -1172,7 +1173,7 @@
   TEST_f_f (asinh, plus_infty, plus_infty);
   TEST_f_f (asinh, minus_infty, minus_infty);
 #endif
-  TEST_f_f (asinh, nan_value, nan_value);
+  TEST_f_f (asinh, qnan_value, qnan_value);
   TEST_f_f (asinh, 0.75L, 0.693147180559945309417232121458176568L);
 
   END (asinh);
@@ -1194,7 +1195,7 @@
 
   TEST_f_f (atan, plus_infty, M_PI_2l);
   TEST_f_f (atan, minus_infty, -M_PI_2l);
-  TEST_f_f (atan, nan_value, nan_value);
+  TEST_f_f (atan, qnan_value, qnan_value);
   TEST_f_f (atan, max_value, M_PI_2l);
   TEST_f_f (atan, -max_value, -M_PI_2l);
 
@@ -1233,13 +1234,13 @@
 
   TEST_f_f (atanh, 1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
   TEST_f_f (atanh, -1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION);
-  TEST_f_f (atanh, nan_value, nan_value);
-
-  /* atanh (x) == NaN plus invalid exception if |x| > 1.  */
-  TEST_f_f (atanh, 1.125L, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (atanh, -1.125L, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (atanh, max_value, nan_value, INVALID_EXCEPTION);
-  TEST_f_f (atanh, -max_value, nan_value, INVALID_EXCEPTION);
+  TEST_f_f (atanh, qnan_value, qnan_value);
+
+  /* atanh (x) == qNaN plus invalid exception if |x| > 1.  */
+  TEST_f_f (atanh, 1.125L, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (atanh, -1.125L, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (atanh, max_value, qnan_value, INVALID_EXCEPTION);
+  TEST_f_f (atanh, -max_value, qnan_value, INVALID_EXCEPTION);
 
   TEST_f_f (atanh, 0.75L, 0.972955074527656652552676371721589865L);
 
@@ -1309,7 +1310,7 @@
   TEST_ff_f (atan2, minus_infty, plus_infty, -M_PI_4l);
   TEST_ff_f (atan2, plus_infty, minus_infty, M_PI_34l);
   TEST_ff_f (atan2, minus_infty, minus_infty, -M_PI_34l);
-  TEST_ff_f (atan2, nan_value, nan_value, nan_value);
+  TEST_ff_f (atan2, qnan_value, qnan_value, qnan_value);
 
   TEST_ff_f (atan2, max_value, max_value, M_PI_4l);
 
@@ -1349,10 +1350,10 @@
   /* cabs (-inf + i x) == +inf.  */
   TEST_c_f (cabs, minus_infty, 1.0, plus_infty);
 
-  TEST_c_f (cabs, minus_infty, nan_value, plus_infty);
-  TEST_c_f (cabs, minus_infty, nan_value, plus_infty);
-
-  TEST_c_f (cabs, nan_value, nan_value, nan_value);
+  TEST_c_f (cabs, minus_infty, qnan_value, plus_infty);
+  TEST_c_f (cabs, minus_infty, qnan_value, plus_infty);
+
+  TEST_c_f (cabs, qnan_value, qnan_value, qnan_value);
 
   /* cabs (x,y) == cabs (y,x).  */
   TEST_c_f (cabs, 0.75L, 12.390625L, 12.4133028598606664302388810868156657L);
@@ -1418,22 +1419,22 @@
   TEST_c_c (cacos, plus_infty, 0.5, 0.0, minus_infty);
   TEST_c_c (cacos, plus_infty, -0.5, 0.0, plus_infty);
 
-  TEST_c_c (cacos, plus_infty, nan_value, nan_value, plus_infty, IGNORE_ZERO_INF_SIGN);
-  TEST_c_c (cacos, minus_infty, nan_value, nan_value, plus_infty, IGNORE_ZERO_INF_SIGN);
-
-  TEST_c_c (cacos, 0, nan_value, M_PI_2l, nan_value);
-  TEST_c_c (cacos, minus_zero, nan_value, M_PI_2l, nan_value);
-
-  TEST_c_c (cacos, nan_value, plus_infty, nan_value, minus_infty);
-  TEST_c_c (cacos, nan_value, minus_infty, nan_value, plus_infty);
-
-  TEST_c_c (cacos, 10.5, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (cacos, -10.5, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (cacos, nan_value, 0.75, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (cacos, nan_value, -0.75, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (cacos, nan_value, nan_value, nan_value, nan_value);
+  TEST_c_c (cacos, plus_infty, qnan_value, qnan_value, plus_infty, IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (cacos, minus_infty, qnan_value, qnan_value, plus_infty, IGNORE_ZERO_INF_SIGN);
+
+  TEST_c_c (cacos, 0, qnan_value, M_PI_2l, qnan_value);
+  TEST_c_c (cacos, minus_zero, qnan_value, M_PI_2l, qnan_value);
+
+  TEST_c_c (cacos, qnan_value, plus_infty, qnan_value, minus_infty);
+  TEST_c_c (cacos, qnan_value, minus_infty, qnan_value, plus_infty);
+
+  TEST_c_c (cacos, 10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (cacos, -10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (cacos, qnan_value, 0.75, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (cacos, qnan_value, -0.75, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (cacos, qnan_value, qnan_value, qnan_value, qnan_value);
 
   TEST_c_c (cacos, plus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L);
   TEST_c_c (cacos, minus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L);
@@ -1572,22 +1573,22 @@
   TEST_c_c (cacosh, plus_infty, 0.5, plus_infty, 0.0);
   TEST_c_c (cacosh, plus_infty, -0.5, plus_infty, minus_zero);
 
-  TEST_c_c (cacosh, plus_infty, nan_value, plus_infty, nan_value);
-  TEST_c_c (cacosh, minus_infty, nan_value, plus_infty, nan_value);
-
-  TEST_c_c (cacosh, 0, nan_value, nan_value, nan_value);
-  TEST_c_c (cacosh, minus_zero, nan_value, nan_value, nan_value);
-
-  TEST_c_c (cacosh, nan_value, plus_infty, plus_infty, nan_value);
-  TEST_c_c (cacosh, nan_value, minus_infty, plus_infty, nan_value);
-
-  TEST_c_c (cacosh, 10.5, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (cacosh, -10.5, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (cacosh, nan_value, 0.75, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (cacosh, nan_value, -0.75, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (cacosh, nan_value, nan_value, nan_value, nan_value);
+  TEST_c_c (cacosh, plus_infty, qnan_value, plus_infty, qnan_value);
+  TEST_c_c (cacosh, minus_infty, qnan_value, plus_infty, qnan_value);
+
+  TEST_c_c (cacosh, 0, qnan_value, qnan_value, qnan_value);
+  TEST_c_c (cacosh, minus_zero, qnan_value, qnan_value, qnan_value);
+
+  TEST_c_c (cacosh, qnan_value, plus_infty, plus_infty, qnan_value);
+  TEST_c_c (cacosh, qnan_value, minus_infty, plus_infty, qnan_value);
+
+  TEST_c_c (cacosh, 10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (cacosh, -10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (cacosh, qnan_value, 0.75, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (cacosh, qnan_value, -0.75, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (cacosh, qnan_value, qnan_value, qnan_value, qnan_value);
 
   TEST_c_c (cacosh, plus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l);
   TEST_c_c (cacosh, minus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l);
@@ -1684,7 +1685,7 @@
 
   TEST_c_f (carg, minus_infty, minus_infty, -3 * M_PI_4l);
 
-  TEST_c_f (carg, nan_value, nan_value, nan_value);
+  TEST_c_f (carg, qnan_value, qnan_value, qnan_value);
 
   END (carg);
 }
@@ -1729,22 +1730,22 @@
   TEST_c_c (casin, plus_infty, 0.5, M_PI_2l, plus_infty);
   TEST_c_c (casin, plus_infty, -0.5, M_PI_2l, minus_infty);
 
-  TEST_c_c (casin, nan_value, plus_infty, nan_value, plus_infty);
-  TEST_c_c (casin, nan_value, minus_infty, nan_value, minus_infty);
-
-  TEST_c_c (casin, 0.0, nan_value, 0.0, nan_value);
-  TEST_c_c (casin, minus_zero, nan_value, minus_zero, nan_value);
-
-  TEST_c_c (casin, plus_infty, nan_value, nan_value, plus_infty, IGNORE_ZERO_INF_SIGN);
-  TEST_c_c (casin, minus_infty, nan_value, nan_value, plus_infty, IGNORE_ZERO_INF_SIGN);
-
-  TEST_c_c (casin, nan_value, 10.5, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (casin, nan_value, -10.5, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (casin, 0.75, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (casin, -0.75, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (casin, nan_value, nan_value, nan_value, nan_value);
+  TEST_c_c (casin, qnan_value, plus_infty, qnan_value, plus_infty);
+  TEST_c_c (casin, qnan_value, minus_infty, qnan_value, minus_infty);
+
+  TEST_c_c (casin, 0.0, qnan_value, 0.0, qnan_value);
+  TEST_c_c (casin, minus_zero, qnan_value, minus_zero, qnan_value);
+
+  TEST_c_c (casin, plus_infty, qnan_value, qnan_value, plus_infty, IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (casin, minus_infty, qnan_value, qnan_value, plus_infty, IGNORE_ZERO_INF_SIGN);
+
+  TEST_c_c (casin, qnan_value, 10.5, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (casin, qnan_value, -10.5, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (casin, 0.75, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (casin, -0.75, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (casin, qnan_value, qnan_value, qnan_value, qnan_value);
 
   TEST_c_c (casin, plus_zero, -1.5L, plus_zero, -1.194763217287109304111930828519090523536L);
   TEST_c_c (casin, minus_zero, -1.5L, minus_zero, -1.194763217287109304111930828519090523536L);
@@ -1885,22 +1886,22 @@
   TEST_c_c (casinh, plus_infty, 0.5, plus_infty, 0.0);
   TEST_c_c (casinh, plus_infty, -0.5, plus_infty, minus_zero);
 
-  TEST_c_c (casinh, plus_infty, nan_value, plus_infty, nan_value);
-  TEST_c_c (casinh, minus_infty, nan_value, minus_infty, nan_value);
-
-  TEST_c_c (casinh, nan_value, 0, nan_value, 0.0);
-  TEST_c_c (casinh, nan_value, minus_zero, nan_value, minus_zero);
-
-  TEST_c_c (casinh, nan_value, plus_infty, plus_infty, nan_value, IGNORE_ZERO_INF_SIGN);
-  TEST_c_c (casinh, nan_value, minus_infty, plus_infty, nan_value, IGNORE_ZERO_INF_SIGN);
-
-  TEST_c_c (casinh, 10.5, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (casinh, -10.5, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (casinh, nan_value, 0.75, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (casinh, -0.75, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (casinh, nan_value, nan_value, nan_value, nan_value);
+  TEST_c_c (casinh, plus_infty, qnan_value, plus_infty, qnan_value);
+  TEST_c_c (casinh, minus_infty, qnan_value, minus_infty, qnan_value);
+
+  TEST_c_c (casinh, qnan_value, 0, qnan_value, 0.0);
+  TEST_c_c (casinh, qnan_value, minus_zero, qnan_value, minus_zero);
+
+  TEST_c_c (casinh, qnan_value, plus_infty, plus_infty, qnan_value, IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (casinh, qnan_value, minus_infty, plus_infty, qnan_value, IGNORE_ZERO_INF_SIGN);
+
+  TEST_c_c (casinh, 10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (casinh, -10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (casinh, qnan_value, 0.75, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (casinh, -0.75, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (casinh, qnan_value, qnan_value, qnan_value, qnan_value);
 
   TEST_c_c (casinh, plus_zero, -1.5L, 0.9624236501192068949955178268487368462704L, -M_PI_2l);
   TEST_c_c (casinh, minus_zero, -1.5L, -0.9624236501192068949955178268487368462704L, -M_PI_2l);
@@ -2042,25 +2043,25 @@
   TEST_c_c (catan, 0.5, plus_infty, M_PI_2l, 0);
   TEST_c_c (catan, -0.5, plus_infty, -M_PI_2l, 0);
 
-  TEST_c_c (catan, nan_value, 0.0, nan_value, 0);
-  TEST_c_c (catan, nan_value, minus_zero, nan_value, minus_zero);
-
-  TEST_c_c (catan, nan_value, plus_infty, nan_value, 0);
-  TEST_c_c (catan, nan_value, minus_infty, nan_value, minus_zero);
-
-  TEST_c_c (catan, 0.0, nan_value, nan_value, nan_value);
-  TEST_c_c (catan, minus_zero, nan_value, nan_value, nan_value);
-
-  TEST_c_c (catan, plus_infty, nan_value, M_PI_2l, 0, IGNORE_ZERO_INF_SIGN);
-  TEST_c_c (catan, minus_infty, nan_value, -M_PI_2l, 0, IGNORE_ZERO_INF_SIGN);
-
-  TEST_c_c (catan, nan_value, 10.5, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (catan, nan_value, -10.5, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (catan, 0.75, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (catan, -0.75, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (catan, nan_value, nan_value, nan_value, nan_value);
+  TEST_c_c (catan, qnan_value, 0.0, qnan_value, 0);
+  TEST_c_c (catan, qnan_value, minus_zero, qnan_value, minus_zero);
+
+  TEST_c_c (catan, qnan_value, plus_infty, qnan_value, 0);
+  TEST_c_c (catan, qnan_value, minus_infty, qnan_value, minus_zero);
+
+  TEST_c_c (catan, 0.0, qnan_value, qnan_value, qnan_value);
+  TEST_c_c (catan, minus_zero, qnan_value, qnan_value, qnan_value);
+
+  TEST_c_c (catan, plus_infty, qnan_value, M_PI_2l, 0, IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (catan, minus_infty, qnan_value, -M_PI_2l, 0, IGNORE_ZERO_INF_SIGN);
+
+  TEST_c_c (catan, qnan_value, 10.5, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (catan, qnan_value, -10.5, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (catan, 0.75, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (catan, -0.75, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (catan, qnan_value, qnan_value, qnan_value, qnan_value);
 
   TEST_c_c (catan, 0.75L, 1.25L, 1.10714871779409050301706546017853704L, 0.549306144334054845697622618461262852L);
   TEST_c_c (catan, -2, -3, -1.4099210495965755225306193844604208L, -0.22907268296853876629588180294200276L);
@@ -2108,25 +2109,25 @@
   TEST_c_c (catanh, plus_infty, 0.5, 0.0, M_PI_2l);
   TEST_c_c (catanh, plus_infty, -0.5, 0.0, -M_PI_2l);
 
-  TEST_c_c (catanh, 0, nan_value, 0.0, nan_value);
-  TEST_c_c (catanh, minus_zero, nan_value, minus_zero, nan_value);
-
-  TEST_c_c (catanh, plus_infty, nan_value, 0.0, nan_value);
-  TEST_c_c (catanh, minus_infty, nan_value, minus_zero, nan_value);
-
-  TEST_c_c (catanh, nan_value, 0, nan_value, nan_value);
-  TEST_c_c (catanh, nan_value, minus_zero, nan_value, nan_value);
-
-  TEST_c_c (catanh, nan_value, plus_infty, 0.0, M_PI_2l, IGNORE_ZERO_INF_SIGN);
-  TEST_c_c (catanh, nan_value, minus_infty, 0.0, -M_PI_2l, IGNORE_ZERO_INF_SIGN);
-
-  TEST_c_c (catanh, 10.5, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (catanh, -10.5, nan_value, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (catanh, nan_value, 0.75, nan_value, nan_value, INVALID_EXCEPTION_OK);
-  TEST_c_c (catanh, nan_value, -0.75, nan_value, nan_value, INVALID_EXCEPTION_OK);
-
-  TEST_c_c (catanh, nan_value, nan_value, nan_value, nan_value);
+  TEST_c_c (catanh, 0, qnan_value, 0.0, qnan_value);
+  TEST_c_c (catanh, minus_zero, qnan_value, minus_zero, qnan_value);
+
+  TEST_c_c (catanh, plus_infty, qnan_value, 0.0, qnan_value);
+  TEST_c_c (catanh, minus_infty, qnan_value, minus_zero, qnan_value);
+
+  TEST_c_c (catanh, qnan_value, 0, qnan_value, qnan_value);
+  TEST_c_c (catanh, qnan_value, minus_zero, qnan_value, qnan_value);
+
+  TEST_c_c (catanh, qnan_value, plus_infty, 0.0, M_PI_2l, IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (catanh, qnan_value, minus_infty, 0.0, -M_PI_2l, IGNORE_ZERO_INF_SIGN);
+
+  TEST_c_c (catanh, 10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (catanh, -10.5, qnan_value, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (catanh, qnan_value, 0.75, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+  TEST_c_c (catanh, qnan_value, -0.75, qnan_value, qnan_value, INVALID_EXCEPTION_OK);
+
+  TEST_c_c (catanh, qnan_value, qnan_value, qnan_value, qnan_value);
 
   TEST_c_c (catanh, 0.75L, 1.25L, 0.261492138795671927078652057366532140L, 0.996825126463918666098902241310446708L);
   TEST_c_c (catanh, -2, -3, -0.14694666622552975204743278515471595L, -1.3389725222944935611241935759091443L);
@@ -2150,7 +2151,7 @@
 
   TEST_f_f (cbrt, plus_infty, plus_infty);
   TEST_f_f (cbrt, minus_infty, minus_infty);
-  TEST_f_f (cbrt, nan_value, nan_value);
+  TEST_f_f (cbrt, qnan_value, qnan_value);
 
   TEST_f_f (cbrt, -0.001L, -0.1L);
   TEST_f_f (cbrt, 8, 2);
@@ -2178,50 +2179,50 @@
   TEST_c_c (ccos, 0.0, minus_zero, 1.0, 0.0);
   TEST_c_c (ccos, minus_zero, minus_zero, 1.0, minus_zero);
 
-  TEST_c_c (ccos, plus_infty, 0.0, nan_value, 0.0, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN);
-  TEST_c_c (ccos, plus_infty, minus_zero, nan_value, 0.0, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN);
-  TEST_c_c (ccos, minus_infty, 0.0, nan_value, 0.0, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN);
-  TEST_c_c (ccos, minus_infty, minus_zero, nan_value, 0.0, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (ccos, plus_infty, 0.0, qnan_value, 0.0, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (ccos, plus_infty, minus_zero, qnan_value, 0.0, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (ccos, minus_infty, 0.0, qnan_value, 0.0, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN);
+  TEST_c_c (ccos, minus_infty, minus_zero, qnan_value, 0.0, INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN);
 
   TEST_c_c (ccos, 0.0, plus_infty, plus_infty, minus_zero);
   TEST_c_c (ccos, 0.0, minus_infty, plus_infty, 0.0);
   TEST_c_c (ccos, minus_zero, plus_infty, plus_infty, 0.0);
   TEST_c_c (ccos, minus_zero, minus_infty, plus_infty, minus_zero);
 
-  TEST_c_c (ccos, plus_infty, plus_infty, plus_infty, nan_value, INVALID_EXCEPTION);
-  TEST_c_c (ccos, minus_infty, plus_infty, plus_infty, nan_value, INVALID_EXCEPTION);
-  TEST_c_c (ccos, plus_infty, minus_infty, plus_infty, nan_value, INVALID_EXCEPTION);
-  TEST_c_c (ccos, minus_infty, minus_infty, plus_infty, nan_value, INVALID_EXCEPTION);
+  TEST_c_c (ccos, plus_infty, plus_infty, plus_infty, qnan_value, INVALID_EXCEPTION);
+  TEST_c_c (ccos, minus_infty, plus_infty, plus_infty, qnan_value, INVALID_EXCEPTION);
+  TEST_c_c (ccos, plus_infty, minus_infty, plus_infty, qnan_value, INVALID_EXCEPTION);
+  TEST_c_c (ccos, minus_infty, minus_infty, plus_infty, qnan_value, INVALID_EXCEPTION);
 
   TEST_c_c (ccos, 4.625, plus_infty, minus_infty, plus_infty);
   TEST_c_c (ccos, 4.625, minus_infty, minus_infty, minus_infty);
   TEST_c_c (ccos, -4.625, plus_infty, minus_infty, minus_infty);
   TEST_c_c (ccos, -4.625, minus_infty, minus_infty, plus_infty);
 

[... 23159 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits