[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...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r22664 - in /trunk: ./ libc/ libc/benchtests/ libc/csu/ libc/elf/ libc/io/ libc/malloc/ libc/manual/ libc/math/ libc/math/bi...
- From: joseph@xxxxxxxxxx
- Date: Mon, 18 Mar 2013 16:44:23 -0000
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