[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r15509 - in /fsf/trunk/libc: ./ ctype/ elf/ grp/ include/ inet/ libio/ localedata/ manual/ math/ math/bits/ misc/sys/ nptl/ ...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r15509 - in /fsf/trunk/libc: ./ ctype/ elf/ grp/ include/ inet/ libio/ localedata/ manual/ math/ math/bits/ misc/sys/ nptl/ ...
- From: eglibc@xxxxxxxxxx
- Date: Sun, 23 Oct 2011 17:49:44 -0000
Author: eglibc
Date: Sun Oct 23 17:49:41 2011
New Revision: 15509
Log:
Import glibc-mainline for 2011-10-23
Added:
fsf/trunk/libc/localedata/tst-setlocale2.c
fsf/trunk/libc/math/bits/math-finite.h
fsf/trunk/libc/string/test-rawmemchr.c
fsf/trunk/libc/sysdeps/i386/i686/fpu/e_log.S
fsf/trunk/libc/sysdeps/i386/i686/fpu/e_logf.S
fsf/trunk/libc/sysdeps/i386/i686/fpu/e_logl.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memchr-sse2.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memrchr-c.c
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memrchr-sse2.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memrchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/rawmemchr-sse2-bsf.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/rawmemchr-sse2.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/rawmemchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wmemcmp-c.c
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wmemcmp-sse4.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wmemcmp-ssse3.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wmemcmp.S
fsf/trunk/libc/sysdeps/ia64/fpu/bits/math-finite.h
fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c
fsf/trunk/libc/sysdeps/x86_64/dla.h
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/Makefile
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_ceil.S
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_ceilf-c.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_ceilf.S
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_floor-c.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_floor.S
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_floorf-c.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_floorf.S
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_fma.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_fmaf.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_nearbyint-c.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_nearbyint.S
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_nearbyintf-c.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_rint-c.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_rint.S
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_rintf-c.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_rintf.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/memcmp-ssse3.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/strcmp-sse42.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/wmemcmp-c.c
fsf/trunk/libc/sysdeps/x86_64/multiarch/wmemcmp-sse4.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/wmemcmp-ssse3.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/wmemcmp.S
Removed:
fsf/trunk/libc/sysdeps/x86_64/multiarch/s_fma.c
fsf/trunk/libc/sysdeps/x86_64/multiarch/s_fmaf.c
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/README
fsf/trunk/libc/Versions.def
fsf/trunk/libc/config.h.in
fsf/trunk/libc/configure
fsf/trunk/libc/configure.in
fsf/trunk/libc/ctype/Versions
fsf/trunk/libc/ctype/ctype-info.c
fsf/trunk/libc/ctype/ctype.h
fsf/trunk/libc/elf/dl-fini.c
fsf/trunk/libc/elf/do-rel.h
fsf/trunk/libc/elf/dynamic-link.h
fsf/trunk/libc/elf/pldd-xx.c
fsf/trunk/libc/grp/initgroups.c
fsf/trunk/libc/include/ctype.h
fsf/trunk/libc/inet/getnetgrent_r.c
fsf/trunk/libc/libio/iofwide.c
fsf/trunk/libc/localedata/ChangeLog
fsf/trunk/libc/localedata/Makefile
fsf/trunk/libc/manual/string.texi
fsf/trunk/libc/math/Makefile
fsf/trunk/libc/math/Versions
fsf/trunk/libc/math/bits/mathcalls.h
fsf/trunk/libc/math/e_acoshl.c
fsf/trunk/libc/math/e_acosl.c
fsf/trunk/libc/math/e_asinl.c
fsf/trunk/libc/math/e_atan2l.c
fsf/trunk/libc/math/e_atanhl.c
fsf/trunk/libc/math/e_coshl.c
fsf/trunk/libc/math/e_exp10.c
fsf/trunk/libc/math/e_exp10f.c
fsf/trunk/libc/math/e_exp10l.c
fsf/trunk/libc/math/e_exp2l.c
fsf/trunk/libc/math/e_expl.c
fsf/trunk/libc/math/e_fmodl.c
fsf/trunk/libc/math/e_gammal_r.c
fsf/trunk/libc/math/e_hypotl.c
fsf/trunk/libc/math/e_j0l.c
fsf/trunk/libc/math/e_j1l.c
fsf/trunk/libc/math/e_jnl.c
fsf/trunk/libc/math/e_lgammal_r.c
fsf/trunk/libc/math/e_log10l.c
fsf/trunk/libc/math/e_log2l.c
fsf/trunk/libc/math/e_logl.c
fsf/trunk/libc/math/e_powl.c
fsf/trunk/libc/math/e_scalb.c
fsf/trunk/libc/math/e_scalbf.c
fsf/trunk/libc/math/e_scalbl.c
fsf/trunk/libc/math/e_sinhl.c
fsf/trunk/libc/math/e_sqrtl.c
fsf/trunk/libc/math/math.h
fsf/trunk/libc/math/math_private.h
fsf/trunk/libc/math/s_cacosh.c
fsf/trunk/libc/math/s_cacoshl.c
fsf/trunk/libc/math/s_casinh.c
fsf/trunk/libc/math/s_casinhf.c
fsf/trunk/libc/math/s_casinhl.c
fsf/trunk/libc/math/s_catan.c
fsf/trunk/libc/math/s_catanf.c
fsf/trunk/libc/math/s_catanh.c
fsf/trunk/libc/math/s_catanhf.c
fsf/trunk/libc/math/s_catanhl.c
fsf/trunk/libc/math/s_catanl.c
fsf/trunk/libc/math/s_ccos.c
fsf/trunk/libc/math/s_ccosf.c
fsf/trunk/libc/math/s_ccosh.c
fsf/trunk/libc/math/s_ccoshf.c
fsf/trunk/libc/math/s_ccoshl.c
fsf/trunk/libc/math/s_ccosl.c
fsf/trunk/libc/math/s_cexp.c
fsf/trunk/libc/math/s_cexpf.c
fsf/trunk/libc/math/s_cexpl.c
fsf/trunk/libc/math/s_clog.c
fsf/trunk/libc/math/s_clog10.c
fsf/trunk/libc/math/s_clog10f.c
fsf/trunk/libc/math/s_clog10l.c
fsf/trunk/libc/math/s_clogf.c
fsf/trunk/libc/math/s_clogl.c
fsf/trunk/libc/math/s_csin.c
fsf/trunk/libc/math/s_csinf.c
fsf/trunk/libc/math/s_csinh.c
fsf/trunk/libc/math/s_csinhf.c
fsf/trunk/libc/math/s_csinhl.c
fsf/trunk/libc/math/s_csinl.c
fsf/trunk/libc/math/s_csqrt.c
fsf/trunk/libc/math/s_csqrtf.c
fsf/trunk/libc/math/s_csqrtl.c
fsf/trunk/libc/math/s_ctan.c
fsf/trunk/libc/math/s_ctanf.c
fsf/trunk/libc/math/s_ctanh.c
fsf/trunk/libc/math/s_ctanhf.c
fsf/trunk/libc/math/s_ctanhl.c
fsf/trunk/libc/math/s_ctanl.c
fsf/trunk/libc/math/s_nan.c
fsf/trunk/libc/math/s_nanf.c
fsf/trunk/libc/math/s_nanl.c
fsf/trunk/libc/math/w_acos.c
fsf/trunk/libc/math/w_acosf.c
fsf/trunk/libc/math/w_acosh.c
fsf/trunk/libc/math/w_acoshf.c
fsf/trunk/libc/math/w_acoshl.c
fsf/trunk/libc/math/w_acosl.c
fsf/trunk/libc/math/w_asin.c
fsf/trunk/libc/math/w_asinf.c
fsf/trunk/libc/math/w_asinl.c
fsf/trunk/libc/math/w_atan2.c
fsf/trunk/libc/math/w_atan2f.c
fsf/trunk/libc/math/w_atan2l.c
fsf/trunk/libc/math/w_atanh.c
fsf/trunk/libc/math/w_atanhf.c
fsf/trunk/libc/math/w_atanhl.c
fsf/trunk/libc/math/w_cosh.c
fsf/trunk/libc/math/w_coshf.c
fsf/trunk/libc/math/w_coshl.c
fsf/trunk/libc/math/w_exp10.c
fsf/trunk/libc/math/w_exp10f.c
fsf/trunk/libc/math/w_exp10l.c
fsf/trunk/libc/math/w_exp2.c
fsf/trunk/libc/math/w_exp2f.c
fsf/trunk/libc/math/w_exp2l.c
fsf/trunk/libc/math/w_fmod.c
fsf/trunk/libc/math/w_fmodf.c
fsf/trunk/libc/math/w_fmodl.c
fsf/trunk/libc/math/w_hypot.c
fsf/trunk/libc/math/w_hypotf.c
fsf/trunk/libc/math/w_hypotl.c
fsf/trunk/libc/math/w_j0.c
fsf/trunk/libc/math/w_j0f.c
fsf/trunk/libc/math/w_j0l.c
fsf/trunk/libc/math/w_j1.c
fsf/trunk/libc/math/w_j1f.c
fsf/trunk/libc/math/w_j1l.c
fsf/trunk/libc/math/w_jn.c
fsf/trunk/libc/math/w_jnf.c
fsf/trunk/libc/math/w_lgamma.c
fsf/trunk/libc/math/w_lgamma_r.c
fsf/trunk/libc/math/w_lgammaf.c
fsf/trunk/libc/math/w_lgammaf_r.c
fsf/trunk/libc/math/w_lgammal.c
fsf/trunk/libc/math/w_lgammal_r.c
fsf/trunk/libc/math/w_log.c
fsf/trunk/libc/math/w_log10.c
fsf/trunk/libc/math/w_log10f.c
fsf/trunk/libc/math/w_log10l.c
fsf/trunk/libc/math/w_log2.c
fsf/trunk/libc/math/w_log2f.c
fsf/trunk/libc/math/w_log2l.c
fsf/trunk/libc/math/w_logf.c
fsf/trunk/libc/math/w_logl.c
fsf/trunk/libc/math/w_pow.c
fsf/trunk/libc/math/w_powf.c
fsf/trunk/libc/math/w_powl.c
fsf/trunk/libc/math/w_remainder.c
fsf/trunk/libc/math/w_remainderf.c
fsf/trunk/libc/math/w_remainderl.c
fsf/trunk/libc/math/w_scalb.c
fsf/trunk/libc/math/w_scalbf.c
fsf/trunk/libc/math/w_scalbl.c
fsf/trunk/libc/math/w_sinh.c
fsf/trunk/libc/math/w_sinhf.c
fsf/trunk/libc/math/w_sinhl.c
fsf/trunk/libc/math/w_sqrt.c
fsf/trunk/libc/math/w_sqrtf.c
fsf/trunk/libc/math/w_sqrtl.c
fsf/trunk/libc/math/w_tgamma.c
fsf/trunk/libc/math/w_tgammaf.c
fsf/trunk/libc/math/w_tgammal.c
fsf/trunk/libc/misc/sys/cdefs.h
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/pthread_create.c
fsf/trunk/libc/nscd/netgroupcache.c
fsf/trunk/libc/string/Makefile
fsf/trunk/libc/string/memrchr.c
fsf/trunk/libc/string/stratcliff.c
fsf/trunk/libc/string/test-memcmp.c
fsf/trunk/libc/string/test-strcmp.c
fsf/trunk/libc/sysdeps/i386/configure
fsf/trunk/libc/sysdeps/i386/configure.in
fsf/trunk/libc/sysdeps/i386/fpu/e_acos.S
fsf/trunk/libc/sysdeps/i386/fpu/e_acosf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_acosh.S
fsf/trunk/libc/sysdeps/i386/fpu/e_acoshf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_acoshl.S
fsf/trunk/libc/sysdeps/i386/fpu/e_acosl.c
fsf/trunk/libc/sysdeps/i386/fpu/e_asin.S
fsf/trunk/libc/sysdeps/i386/fpu/e_asinf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_atan2.S
fsf/trunk/libc/sysdeps/i386/fpu/e_atan2f.S
fsf/trunk/libc/sysdeps/i386/fpu/e_atan2l.c
fsf/trunk/libc/sysdeps/i386/fpu/e_atanh.S
fsf/trunk/libc/sysdeps/i386/fpu/e_atanhf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_atanhl.S
fsf/trunk/libc/sysdeps/i386/fpu/e_exp.S
fsf/trunk/libc/sysdeps/i386/fpu/e_exp10.S
fsf/trunk/libc/sysdeps/i386/fpu/e_exp10f.S
fsf/trunk/libc/sysdeps/i386/fpu/e_exp10l.S
fsf/trunk/libc/sysdeps/i386/fpu/e_exp2.S
fsf/trunk/libc/sysdeps/i386/fpu/e_exp2f.S
fsf/trunk/libc/sysdeps/i386/fpu/e_exp2l.S
fsf/trunk/libc/sysdeps/i386/fpu/e_expf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_expl.c
fsf/trunk/libc/sysdeps/i386/fpu/e_fmod.S
fsf/trunk/libc/sysdeps/i386/fpu/e_fmodf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_fmodl.c
fsf/trunk/libc/sysdeps/i386/fpu/e_hypot.S
fsf/trunk/libc/sysdeps/i386/fpu/e_hypotf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_log.S
fsf/trunk/libc/sysdeps/i386/fpu/e_log10.S
fsf/trunk/libc/sysdeps/i386/fpu/e_log10f.S
fsf/trunk/libc/sysdeps/i386/fpu/e_log10l.S
fsf/trunk/libc/sysdeps/i386/fpu/e_log2.S
fsf/trunk/libc/sysdeps/i386/fpu/e_log2f.S
fsf/trunk/libc/sysdeps/i386/fpu/e_log2l.S
fsf/trunk/libc/sysdeps/i386/fpu/e_logf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_logl.S
fsf/trunk/libc/sysdeps/i386/fpu/e_pow.S
fsf/trunk/libc/sysdeps/i386/fpu/e_powf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_powl.S
fsf/trunk/libc/sysdeps/i386/fpu/e_remainder.S
fsf/trunk/libc/sysdeps/i386/fpu/e_remainderf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_remainderl.S
fsf/trunk/libc/sysdeps/i386/fpu/e_scalb.S
fsf/trunk/libc/sysdeps/i386/fpu/e_scalbf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_scalbl.S
fsf/trunk/libc/sysdeps/i386/fpu/e_sqrt.S
fsf/trunk/libc/sysdeps/i386/fpu/e_sqrtf.S
fsf/trunk/libc/sysdeps/i386/fpu/e_sqrtl.c
fsf/trunk/libc/sysdeps/i386/i686/multiarch/Makefile
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp-sse4.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp-ssse3.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscmp-sse2.S
fsf/trunk/libc/sysdeps/ieee754/dbl-64/dla.h
fsf/trunk/libc/sysdeps/ieee754/dbl-64/doasin.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/dosincos.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_acosh.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_asin.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_atan2.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_atanh.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_cosh.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_exp.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_exp2.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_fmod.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_gamma_r.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_hypot.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_j0.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_j1.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_jn.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_lgamma_r.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_log.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_log10.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_log2.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_sinh.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_sqrt.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/halfulp.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_asinh.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_atan.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_ceil.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_floor.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_rint.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_tan.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/w_exp.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_acosf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_acoshf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_asinf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_atan2f.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_atanhf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_coshf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_exp2f.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_expf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_fmodf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_gammaf_r.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_hypotf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j0f.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_j1f.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_jnf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_lgammaf_r.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_log10f.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_log2f.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_logf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_powf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_remainderf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_sinhf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/e_sqrtf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/s_asinhf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/s_ceilf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/s_floorf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/s_nearbyintf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/s_rintf.c
fsf/trunk/libc/sysdeps/ieee754/flt-32/w_expf.c
fsf/trunk/libc/sysdeps/ieee754/k_standard.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_acoshl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_acosl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_asinl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_atan2l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_atanhl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_coshl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_expl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_fmodl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_gammal_r.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_hypotl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j0l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_j1l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_jnl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_lgammal_r.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_log10l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_log2l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_logl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_powl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_remainderl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128/e_sinhl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_acosl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_asinl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_coshl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_expl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_log10l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_log2l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_logl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_atanl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_acoshl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_asinl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_atan2l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_atanhl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_coshl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_gammal_r.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_hypotl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_j0l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_j1l.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_jnl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_lgammal_r.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_remainderl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_sinhl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_asinhl.c
fsf/trunk/libc/sysdeps/ieee754/ldbl-96/w_expl.c
fsf/trunk/libc/sysdeps/powerpc/fpu/e_hypot.c
fsf/trunk/libc/sysdeps/powerpc/fpu/e_hypotf.c
fsf/trunk/libc/sysdeps/powerpc/fpu/e_sqrt.c
fsf/trunk/libc/sysdeps/powerpc/fpu/e_sqrtf.c
fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrt.c
fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c
fsf/trunk/libc/sysdeps/s390/fpu/e_sqrt.c
fsf/trunk/libc/sysdeps/s390/fpu/e_sqrtf.c
fsf/trunk/libc/sysdeps/s390/fpu/e_sqrtl.c
fsf/trunk/libc/sysdeps/s390/fpu/libm-test-ulps
fsf/trunk/libc/sysdeps/sparc/sparc32/e_sqrt.c
fsf/trunk/libc/sysdeps/sparc/sparc64/fpu/e_sqrtl.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/init-first.c
fsf/trunk/libc/sysdeps/x86_64/dl-machine.h
fsf/trunk/libc/sysdeps/x86_64/fpu/bits/fenv.h
fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h
fsf/trunk/libc/sysdeps/x86_64/fpu/e_exp2l.S
fsf/trunk/libc/sysdeps/x86_64/fpu/e_fmodl.S
fsf/trunk/libc/sysdeps/x86_64/fpu/e_log10l.S
fsf/trunk/libc/sysdeps/x86_64/fpu/e_log2l.S
fsf/trunk/libc/sysdeps/x86_64/fpu/e_logl.S
fsf/trunk/libc/sysdeps/x86_64/fpu/e_powl.S
fsf/trunk/libc/sysdeps/x86_64/fpu/e_remainderl.S
fsf/trunk/libc/sysdeps/x86_64/fpu/e_scalbl.S
fsf/trunk/libc/sysdeps/x86_64/fpu/e_sqrt.c
fsf/trunk/libc/sysdeps/x86_64/fpu/e_sqrtf.c
fsf/trunk/libc/sysdeps/x86_64/fpu/feupdateenv.c
fsf/trunk/libc/sysdeps/x86_64/fpu/fraiseexcpt.c
fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps
fsf/trunk/libc/sysdeps/x86_64/fpu/math_private.h
fsf/trunk/libc/sysdeps/x86_64/memrchr.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/Makefile
fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c
fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h
fsf/trunk/libc/sysdeps/x86_64/multiarch/memcmp-sse4.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/memcmp.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/rawmemchr.S
fsf/trunk/libc/sysdeps/x86_64/multiarch/strcmp.S
fsf/trunk/libc/sysdeps/x86_64/wcscmp.S
fsf/trunk/libc/wcsmbs/wcscmp.c
fsf/trunk/libc/wcsmbs/wmemcmp.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Oct 23 17:49:41 2011
@@ -1,3 +1,706 @@
+2011-09-22 Liubov Dmitrieva <liubov.dmitrieva@xxxxxxxxx>
+
+ * sysdeps/x86_64/wcscmp.S: Update.
+ Fix wrong comparison semantics.
+ wcscmp shall use signed comparison not unsigned.
+ Don't use substraction to avoid overflow bug.
+ * sysdeps/i386/i686/multiarch/wcscmp-sse2.S: Likewise.
+ * wcsmbc/wcscmp.c: Likewise.
+ * string/test-strcmp.c: Likewise.
+ Add new tests to check cases with negative values.
+
+2011-10-23 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/ieee754/dbl-64/dla.h: Move DLA_FMA definition to...
+ * sysdeps/x86_64/dla.h: ...here. New file.
+ * sysdeps/ieee754/dbl-64/doasin.c: Use <dla.h> not "dla.h".
+ * sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_log.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
+ * sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
+
+2011-10-23 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Add __jnl_finite and
+ __ynl_finite aliases.
+
+2011-10-22 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/x86_64/fpu/libm-test-ulps: Update.
+
+ * sysdeps/ieee754/dbl-64/dla.h: When compiling with FMA4 support
+ define DLA_FMA.
+ [DLA_FMA] (EMULV): Use DLA_FMA.
+ [DLA_FMA] (MUL12): Use EMULV.
+ * sysdeps/ieee754/dbl-64/doasin.c [DLA_FMA]: Don't define variables
+ that are not needed.
+ * sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_log.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
+ * sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
+
+2011-10-22 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * math/s_nan.c: Undef __nan.
+ * math/s_nanf.c: Undef __nanf.
+ * math/s_nanl.c: Undef __nanl.
+ * sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Include <math.h> before
+ "math_private.h".
+
+2011-10-22 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * math/s_catan.c: Add branch predictions.
+ * math/s_catanf.c: Likewise.
+ * math/s_catanh.c: Likewise.
+ * math/s_catanhf.c: Likewise.
+ * math/s_catanhl.c: Likewise.
+ * math/s_catanl.c: Likewise.
+ * math/s_cexp.c: Likewise.
+ * math/s_cexpf.c: Likewise.
+ * math/s_cexpl.c: Likewise.
+ * math/s_clog.c: Likewise.
+ * math/s_clog10.c: Likewise.
+ * math/s_clog10f.c: Likewise.
+ * math/s_clog10l.c: Likewise.
+ * math/s_clogf.c: Likewise.
+ * math/s_clogl.c: Likewise.
+ * math/s_csqrt.c: Likewise.
+ * math/s_csqrtf.c: Likewise.
+ * math/s_csqrtl.c: Likewise.
+ * math/s_ctanf.c: Likewise.
+ * math/s_ctanh.c: Likewise.
+ * math/s_ctanhf.c: Likewise.
+ * math/s_ctanhl.c: Likewise.
+ * math/s_ctanl.c: Likewise.
+
+ * math/math_private.h: Define __nan, __nanf, __nanl.
+ * math/s_cacosh.c: Include <math_private.h>.
+ * math/s_cacoshl.c: Likewise.
+ * math/s_casinh.c: Likewise.
+ * math/s_casinhf.c: Likewise.
+ * math/s_casinhl.c: Likewise.
+ * math/s_ccos.c: Rely entire on ccosh.
+ * math/s_ccosf.c: Rely entire on ccoshf.
+ * math/s_ccosl.c: Rely entirely on ccoshl.
+ * math/s_ccosh.c: Add branch predicion helpers. Add branch prediction.
+ Remove tests for FE_INVALID.
+ * math/s_ccoshf.c: Likewise.
+ * math/s_ccoshl.c: Likewise.
+ * math/s_csin.c: Likewise.
+ * math/s_csinf.c: Likewise.
+ * math/s_csinh.c Likewise.
+ * math/s_csinhf.c: Likewise.
+ * math/s_csinhl.c: Likewise.
+ * math/s_csinl.c: Likewise.
+ * math/s_ctan.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_acosh.c: Use __ieee754_sqrt.
+ * sysdeps/ieee754/flt-32/e_acoshf.c: Use __ieee754_sqrtf.
+ * sysdeps/ieee754/ldbl-96/e_acoshl.c: Use __ieee754_sqrtl.
+
+2011-10-21 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Fix
+ compilation problems.
+
+ * sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Add a few more
+ __builtin_expect.
+
+2011-10-20 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/i386/configure.in: Test for -mfma4 option.
+ * config.h.in: Add HAVE_FMA4_SUPPORT entry.
+ * sysdeps/x86_64/multiarch/init-arch.h: Define HAS_FMA4 and
+ COMMON_CPUID_INDEX_80000001.
+ * sysdeps/x86_64/multiarch/init-arch.c: Read 80000001 leaf for AMD.
+ * sysdeps/x86_64/fpu/multiarch/s_fma.c: Test for FMA4 support and
+ use it if FMA3 is not supported.
+ * sysdeps/x86_64/fpu/multiarch/s_fmaf.c: Likewise.
+
+ * sysdeps/x86_64/multiarch/s_fma.c: Moved to ../fpu/multiarch.
+ * sysdeps/x86_64/multiarch/s_fmaf.c: Likewise.
+
+2011-10-20 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ [BZ #12892]
+ * elf/dl-fini.c (_dl_sort_fini): Ignore relocation dependency if
+ it would create a cycle with a link time dependency.
+
+2011-10-19 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/x86_64/multiarch/rawmemchr.S: Small optimization to safe an
+ instruction.
+ * string/Makefile (strop-tests): Add rawmemchr.
+ * string/test-rawmemchr.c: New file.
+
+ * sysdeps/x86_64/multiarch/init-arch.h: Define bit_AVX and index_AVX.
+ * sysdeps/x86_64/multiarch/strcmp-sse42.S: New file. Split out from...
+ * sysdeps/x86_64/multiarch/strcmp.S: ...here. Include strcmp-sse42.S
+ when compiling str{,n}casecmp and when AVX is available. Hook up
+ new optimized code in initializers.
+
+2011-10-19 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * sysdeps/x86_64/fpu/math_private.h (libc_feupdateenv): Use
+ __feraiseexcept instead of feraiseexcept.
+
+2011-10-18 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * math/math_private.h: Define defaults for libc_fetestexcept and
+ libc_feupdateenv.
+ * sysdeps/ieee754/dbl-64/s_fma.c: Use libc_fe* interfaces.
+ * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_exp2f.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_expf.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_nearbyintf.c: Likewise.
+ * sysdeps/x86_64/fpu/math_private.h: Define special versions of
+ libc_fetestexcept and libc_feupdateenv.
+
+ * math/math_private.h: Define defaults for libc_feholdexcept_setround,
+ libc_feholdexcept_setroundf, libc_feholdexcept_setroundl.
+ * sysdeps/ieee754/dbl-64/e_exp2.c: Use libc_feholdexcept_setround.
+ * sysdeps/x86_64/fpu/math_private.h: Define special version of
+ libc_feholdexcept_setround.
+
+ * sysdeps/x86_64/fpu/multiarch/Makefile [math] (libm-sysdep-routines):
+ Add s_nearbyint-c and s_nearbyintf-c.
+ * sysdeps/x86_64/fpu/bits/mathinline.h: Define nearbyint and
+ nearbyintf inlines.
+ * sysdeps/x86_64/fpu/multiarch/s_nearbyint-c.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_nearbyintf-c.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: New file.
+
+ * math/math_private.h: Define defaults for libc_fegetround,
+ libc_fegetroundf, libc_fegetroundl, libc_fesetround, libc_fesetroundf,
+ libc_fesetroundl, libc_feholdexcept, libc_feholdexceptf,
+ libc_feholdexceptl, libc_fesetenv, libc_fesetenvf, libc_fesetenvl.
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Use
+ libc_feholdexcept, libc_fesetround, libc_fesetenv instead of the
+ standard functions.
+ * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise.
+ Remove comments and hacks for old compiler versions.
+ * sysdeps/x86_64/fpu/math_private.h: Define special versions of
+ libc_fegetround, libc_fesetround, libc_feholdexcept, and
+ libc_feholdexceptl.
+
+2011-10-18 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * sysdeps/x86_64/fpu/bits/fenv.h: Add C linkage markers.
+ (__feraiseexcept_renamed): Add __NTH.
+ (feraiseexcept): Add __NTH. Rename local variables to fix
+ namespace violations.
+
+2011-10-17 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Small optimization.
+
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c: New file.
+
+ * sysdeps/x86_64/fpu/math_private.h: Relax asm requirements for
+ recently added interfaces.
+ * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
+
+ * sysdeps/x86_64/fpu/math_private.h: Add some parenthesis to be safe
+ about macro parameter expansion.
+
+ * sysdeps/x86_64/fpu/bits/mathinline.h: Don't define inlines if
+ __NO_MATH_INLINES is defined. Cleanups.
+
+ * sysdeps/x86_64/fpu/math_private.h: Define __rint, __rintf, __floor,
+ and __floorf is target has SSE4.1.
+ * sysdeps/x86_64/fpu/multiarch/s_floor-c.c: Undef first.
+ * sysdeps/x86_64/fpu/multiarch/s_floorf-c.: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_rint-c.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_rintf-c.c: Likewise.
+
+ * sysdeps/x86_64/fpu/bits/mathinline.h (floor): Use correct function
+ name.
+ (floorf): Likewise.
+
+ * nscd/netgroupcache.c (addgetnetgrentX): Fix #ifdef nesting.
+
+2011-10-17 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * misc/sys/cdefs.h: Fix last change.
+
+ * grp/initgroups.c (internal_getgrouplist): Fix initgroups
+ database lookup.
+
+2011-10-16 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * misc/sys/cdefs.h: Use leaf function attribute in __THROW.
+
+ * sysdeps/ieee754/dbl-64/s_ceil.c: Avoid alias renamed.
+ * sysdeps/ieee754/dbl-64/s_floor.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_rint.c: Likewise.
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Likewise.
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Likewise.
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_ceilf.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_floorf.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_rintf.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/Makefile: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_ceil-c.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_ceil.S: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_ceilf-c.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_ceilf.S: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_floor-c.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_floor.S: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_floorf-c.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_floorf.S: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_rint-c.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_rint.S: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_rintf-c.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/s_rintf.S: New file.
+
+ * sysdeps/x86_64/fpu/bits/mathinline.h: Add inlines for rint, rintf,
+ ceil, ceilf, floor, floorf.
+
+ * elf/do-rel.h (elf_dynamic_do_Rel): Work around linker problem.
+ Perform IRELATIVE relocations last.
+
+ * elf/do-rel.h: Add another parameter nrelative, replacing the
+ local variable with the same name. Change name of the function
+ to end in Rel or Rela (uppercase).
+ * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Add new element
+ nrelative to ranges. Only nonzero for DT_REL/DT_RELA. Pass to the
+ elf_dynamic_do_##reloc function.
+
+2011-10-15 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * sysdeps/i386/i686/fpu/e_log.S: No need for the fyl2xp1 use, fyl2x
+ is sufficient, at least on modern CPUs.
+
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: New file.
+
+ * sysdeps/ieee754/dbl-64/e_cosh.c: Cleanup.
+ * sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c: New file.
+
+ * math/Versions [libm] (GLIBC_2.15): Add __exp_finite, __expf_finite,
+ __expl_finite.
+ * math/bits/math-finite.h: Add entries for exp.
+ * math/e_expl.c: Add __*_finite alias.
+ * sysdeps/i386/fpu/e_exp.S: Likewise.
+ * sysdeps/i386/fpu/e_expf.S: Likewise.
+ * sysdeps/i386/fpu/e_expl.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_expf.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Likewise.
+ * sysdeps/ieee754/dbl-64/w_exp.c: Complete rewrite.
+ * sysdeps/ieee754/flt-32/w_expf.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/w_expl.c: Likewise.
+
+ * sysdeps/i386/i686/fpu/e_logf.S: No need for the fyl2xp1 use, fyl2x
+ is sufficient, at least on modern CPUs.
+
+ * ctype/ctype-info.c (__ctype_init): Define.
+ * include/ctype.h (__ctype_init): Declare.
+ (__ctype_b_loc): The variable is always initialized.
+ (__ctype_toupper_loc): Likewise.
+ (__ctype_tolower_loc): Likewise.
+ * ctype/Versions: Export __ctype_init for GLIBC_PRIVATE.
+ * sysdeps/unix/sysv/linux/init-first.c (_init): Call __ctype_init.
+
+2011-10-15 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * wcsmbs/wmemcmp.c (WMEMCMP): Define.
+
+ * configure.in: Also look in $cxxmachine/include for C++ system
+ headers.
+
+2011-09-27 Liubov Dmitrieva <liubov.dmitrieva@xxxxxxxxx>
+
+ * sysdeps/x86_64/multiarch/Makefile: (sysdep_routines): Add
+ memcmp-ssse3 wmemcmp-sse4 wmemcmp-ssse3 wmemcmp-c
+ * sysdeps/x86_64/multiarch/memcmp-ssse3: New file.
+ * sysdeps/x86_64/multiarch/memcmp.S: Update. Add __memcmp_ssse3.
+ * sysdeps/x86_64/multiarch/memcmp-sse4.S: Update.
+ (USE_AS_WMEMCMP): New macro.
+ Fixing indents.
+ * sysdeps/x86_64/multiarch/wmemcmp.S: New file.
+ * sysdeps/x86_64/multiarch/wmemcmp-ssse3.S: New file.
+ * sysdeps/x86_64/multiarch/wmemcmp-sse4.S: New file.
+ * sysdeps/x86_64/multiarch/wmemcmp-c.S: New file.
+ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
+ wmemcmp-ssse3 wmemcmp-sse4 wmemcmp-c
+ * sysdeps/i386/i686/multiarch/wmemcmp.S: New file.
+ * sysdeps/i386/i686/multiarch/wmemcmp-c.c: New file.
+ * sysdeps/i386/i686/multiarch/wmemcmp-ssse3.S: New file.
+ * sysdeps/i386/i686/multiarch/wmemcmp-sse4.S: New file.
+ * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Update.
+ (USE_AS_WMEMCMP): New macro.
+ * sysdeps/i386/i686/multiarch/memcmp-ssse3: Likewise.
+ * sysdeps/string/test-memcmp.c: Update.
+ Fix simple_wmemcmp.
+ Add new tests.
+ * wcsmbs/wmemcmp.c: Update.
+ (WMEMCMP): New macro.
+ Fix overflow bug.
+
+2011-10-12 Andreas Jaeger <aj@xxxxxxx>
+
+ [BZ #13268]
+ * math/bits/mathcalls.h: Mark argument 2 of modf as non-null.
+
+2011-10-15 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * libio/iofwide.c (do_length): Avoid warning.
+
+ * ctype/ctype.h (__isctype_f): Add missing __THROW.
+
+2011-10-14 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * elf/pldd-xx.c (find_maps): Remove leftover debug message.
+
+ * sysdeps/i386/fpu/e_log.S: Add real definition of __log_finite.
+ * sysdeps/i386/fpu/e_logf.S: Add real definition of __logf_finite.
+ * sysdeps/i386/fpu/e_logl.S: Add real definition of __logl_finite.
+ * sysdeps/i386/i686/fpu/e_log.S: New file.
+ * sysdeps/i386/i686/fpu/e_logf.S: New file.
+ * sysdeps/i386/i686/fpu/e_logl.S: New file.
+
+ * ctype/ctype.h: Add support for inlined isXXX functions when
+ compiling C++ code.
+
+2011-10-14 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * sysdeps/s390/fpu/libm-test-ulps: Adjust ULPs for jn tests.
+
+ * sysdeps/x86_64/fpu/fraiseexcpt.c: Fix last change.
+
+2011-10-13 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ [BZ #13291]
+ * manual/string.texi (String/Array Comparison): Typo fix in strverscmp.
+
+2011-10-13 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * sysdeps/x86_64/fpu/fraiseexcpt.c: Add __feraiseexcept alias.
+ * sysdeps/x86_64/fpu/feupdateenv.c: Use __feraiseexcept instead of
+ feraiseexcept.
+
+ * sysdeps/x86_64/memrchr.S: Check for zero size.
+
+ * string/stratcliff.c: Add memrchr tests.
+
+2011-10-12 Liubov Dmitrieva <liubov.dmitrieva@xxxxxxxxx>
+
+ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
+ memchr-sse2 memchr-sse2-bsf memrchr-sse2 memrchr-sse2-bsf memrchr-c
+ rawmemchr-sse2 rawmemchr-sse2-bsf.
+ * sysdeps/i386/i686/multiarch/memchr.S: New file.
+ * sysdeps/i386/i686/multiarch/memchr-sse2.S: New file.
+ * sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S: New file.
+ * sysdeps/i386/i686/multiarch/memrchr.S: New file.
+ * sysdeps/i386/i686/multiarch/memrchr-c.c: New file.
+ * sysdeps/i386/i686/multiarch/memrchr-sse2.S: New file.
+ * sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S: New file.
+ * sysdeps/i386/i686/multiarch/rawmemchr.S: New file.
+ * sysdeps/i386/i686/multiarch/rawmemchr-sse2.S: New file.
+ * sysdeps/i386/i686/multiarch/rawmemchr-sse2-bsf.S: New file.
+ * string/memrchr.c (MEMRCHR): New macro.
+
+2011-10-12 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ Add integration with gcc's -ffinite-math-only and optimize wrapper
+ functions in libm.
+ * Versions.def: Define GLIBC_2.15 version for libm.
+ * math/Makefile (headers): Add bits/math-finite.h.
+ * math/bits/math-finite.h: New file.
+ * sysdeps/ia64/fpu/bits/math-finite.h: New file.
+ * math/Versions [libm] (GLIBC_2.15): Export __*_finite symbols.
+ * math/e_acoshl.c: Add __*_finite alias.
+ * math/e_acosl.c: Likewise.
+ * math/e_asinl.c: Likewise.
+ * math/e_atan2l.c: Likewise.
+ * math/e_atanhl.c: Likewise.
+ * math/e_coshl.c: Likewise.
+ * math/e_exp10.c: Likewise.
+ * math/e_exp10f.c: Likewise.
+ * math/e_exp10l.c: Likewise.
+ * math/e_exp2l.c: Likewise.
+ * math/e_fmodl.c: Likewise.
+ * math/e_gammal_r.c: Likewise.
+ * math/e_hypotl.c: Likewise.
+ * math/e_j0l.c: Likewise.
+ * math/e_j1l.c: Likewise.
+ * math/e_jnl.c: Likewise.
+ * math/e_lgammal_r.c: Likewise.
+ * math/e_log10l.c: Likewise.
+ * math/e_log2l.c: Likewise.
+ * math/e_logl.c: Likewise.
+ * math/e_powl.c: Likewise.
+ * math/e_sinhl.c: Likewise.
+ * math/e_sqrtl.c: Likewise.
+ * math/e_scalb.c: Completely rewritten and optimized.
+ * math/e_scalbf.c: Likewise.
+ * math/e_scalbl.c: Likewise.
+ * math/w_acos.c: Likewise.
+ * math/w_acosf.c: Likewise.
+ * math/w_acosl.c: Likewise.
+ * math/w_acosh.c: Likewise.
+ * math/w_acoshf.c: Likewise.
+ * math/w_acoshl.c: Likewise.
+ * math/w_asin.c: Likewise.
+ * math/w_asinf.c: Likewise.
+ * math/w_asinl.c: Likewise.
+ * math/w_atan2.c: Likewise.
+ * math/w_atan2f.c: Likewise.
+ * math/w_atan2l.c: Likewise.
+ * math/w_atanh.c: Likewise.
+ * math/w_atanhf.c: Likewise.
+ * math/w_atanhl.c: Likewise.
+ * math/w_exp10.c: Likewise.
+ * math/w_exp10f.c: Likewise.
+ * math/w_exp10l.c: Likewise.
+ * math/w_fmod.c: Likewise.
+ * math/w_fmodf.c: Likewise.
+ * math/w_fmodl.c: Likewise.
+ * math/w_j0.c: Likewise.
+ * math/w_j0f.c: Likewise.
+ * math/w_j0l.c: Likewise.
+ * math/w_j1.c: Likewise.
+ * math/w_j1f.c: Likewise.
+ * math/w_j1l.c: Likewise.
+ * math/w_jn.c: Likewise.
+ * math/w_jnf.c: Likewise.
+ * math/w_log.c: Likewise.
+ * math/w_logf.c: Likewise.
+ * math/w_logl.c: Likewise.
+ * math/w_log10.c: Likewise.
+ * math/w_log10f.c: Likewise.
+ * math/w_log10l.c: Likewise.
+ * math/w_log2.c: Likewise.
+ * math/w_log2f.c: Likewise.
+ * math/w_log2l.c: Likewise.
+ * math/w_pow.c: Likewise.
+ * math/w_powf.c: Likewise.
+ * math/w_powl.c: Likewise.
+ * math/w_remainder.c: Likewise.
+ * math/w_remainderf.c: Likewise.
+ * math/w_remainderl.c: Likewise.
+ * math/w_scalb.c: Likewise.
+ * math/w_scalbf.c: Likewise.
+ * math/w_scalbl.c: Likewise.
+ * math/w_sqrt.c: Likewise.
+ * math/w_sqrtf.c: Likewise.
+ * math/w_sqrtl.c: Likewise.
+ * math/math.h: Define __MATH_DECLARE_LDOUBLE if long double functions
+ are declared. Include <bits/math-finite.h> if -ffinite-math-only is
+ used.
+ * math/math_private.h: Declare __kernel_standard_f.
+ * math/w_cosh.c: Remove cruft and optimize a bit.
+ * math/w_coshf.c: Likewise.
+ * math/w_coshl.c: Likewise.
+ * math/w_exp2.c: Likewise.
+ * math/w_exp2f.c: Likewise.
+ * math/w_exp2l.c: Likewise.
+ * math/w_hypot.c: Likewise.
+ * math/w_hypotf.c: Likewise.
+ * math/w_hypotl.c: Likewise.
+ * math/w_lgamma.c: Likewise.
+ * math/w_lgamma_r.c: Likewise.
+ * math/w_lgammaf.c: Likewise.
+ * math/w_lgammaf_r.c: Likewise.
+ * math/w_lgammal.c: Likewise.
+ * math/w_lgammal_r.c: Likewise.
+ * math/w_sinh.c: Likewise.
+ * math/w_sinhf.c: Likewise.
+ * math/w_sinhl.c: Likewise.
+ * math/w_tgamma.c: Likewise.
+ * math/w_tgammaf.c: Likewise.
+ * math/w_tgammal.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise.
+ * sysdeps/i386/fpu/e_acos.S: Add __*_finite alias.
+ Minor optimizations. Pretty printing. Remove cruft.
+ * sysdeps/i386/fpu/e_acosf.S: Likewise.
+ * sysdeps/i386/fpu/e_acosh.S: Likewise.
+ * sysdeps/i386/fpu/e_acoshf.S: Likewise.
+ * sysdeps/i386/fpu/e_acoshl.S: Likewise.
+ * sysdeps/i386/fpu/e_acosl.c: Likewise.
+ * sysdeps/i386/fpu/e_asin.S: Likewise.
+ * sysdeps/i386/fpu/e_asinf.S: Likewise.
+ * sysdeps/i386/fpu/e_atan2.S: Likewise.
+ * sysdeps/i386/fpu/e_atan2f.S: Likewise.
+ * sysdeps/i386/fpu/e_atan2l.c: Likewise.
+ * sysdeps/i386/fpu/e_atanh.S: Likewise.
+ * sysdeps/i386/fpu/e_atanhf.S: Likewise.
+ * sysdeps/i386/fpu/e_atanhl.S: Likewise.
+ * sysdeps/i386/fpu/e_exp10.S: Likewise.
+ * sysdeps/i386/fpu/e_exp10f.S: Likewise.
+ * sysdeps/i386/fpu/e_exp10l.S: Likewise.
+ * sysdeps/i386/fpu/e_exp2.S: Likewise.
+ * sysdeps/i386/fpu/e_exp2f.S: Likewise.
+ * sysdeps/i386/fpu/e_exp2l.S: Likewise.
+ * sysdeps/i386/fpu/e_fmod.S: Likewise.
+ * sysdeps/i386/fpu/e_fmodf.S: Likewise.
+ * sysdeps/i386/fpu/e_fmodl.c: Likewise.
+ * sysdeps/i386/fpu/e_hypot.S: Likewise.
+ * sysdeps/i386/fpu/e_hypotf.S: Likewise.
+ * sysdeps/i386/fpu/e_log.S: Likewise.
+ * sysdeps/i386/fpu/e_log10.S: Likewise.
+ * sysdeps/i386/fpu/e_log10f.S: Likewise.
+ * sysdeps/i386/fpu/e_log10l.S: Likewise.
+ * sysdeps/i386/fpu/e_log2.S: Likewise.
+ * sysdeps/i386/fpu/e_log2f.S: Likewise.
+ * sysdeps/i386/fpu/e_log2l.S: Likewise.
+ * sysdeps/i386/fpu/e_logf.S: Likewise.
+ * sysdeps/i386/fpu/e_logl.S: Likewise.
+ * sysdeps/i386/fpu/e_pow.S: Likewise.
+ * sysdeps/i386/fpu/e_powf.S: Likewise.
+ * sysdeps/i386/fpu/e_powl.S: Likewise.
+ * sysdeps/i386/fpu/e_remainder.S: Likewise.
+ * sysdeps/i386/fpu/e_remainderf.S: Likewise.
+ * sysdeps/i386/fpu/e_remainderl.S: Likewise.
+ * sysdeps/i386/fpu/e_scalb.S: Likewise.
+ * sysdeps/i386/fpu/e_scalbf.S: Likewise.
+ * sysdeps/i386/fpu/e_scalbl.S: Likewise.
+ * sysdeps/i386/fpu/e_sqrt.S: Likewise.
+ * sysdeps/i386/fpu/e_sqrtf.S: Likewise.
+ * sysdeps/i386/fpu/e_sqrtl.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_acosh.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_cosh.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_fmod.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_hypot.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_j0.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_j1.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_jn.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_log.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_log10.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_log2.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_sinh.c: Likewise.
+ * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
+ * sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_asinh.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_acosf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_acoshf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_asinf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_atan2f.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_coshf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_exp2f.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_fmodf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_hypotf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_j0f.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_j1f.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_jnf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_log10f.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_log2f.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_logf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_powf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_remainderf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_sinhf.c: Likewise.
+ * sysdeps/ieee754/flt-32/e_sqrtf.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_asinhf.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_acoshl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_atan2l.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_atanhl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_fmodl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_hypotl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_j0l.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_log2l.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_logl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_remainderl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_acoshl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_acosl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_atan2l.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_atanhl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_coshl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_log10l.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_log2l.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_logl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_powl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_remainderl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_acoshl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_atan2l.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_coshl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_hypotl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_remainderl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/e_sinhl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/s_asinhl.c: Likewise.
+ * sysdeps/powerpc/fpu/e_hypot.c: Likewise.
+ * sysdeps/powerpc/fpu/e_hypotf.c: Likewise.
+ * sysdeps/powerpc/fpu/e_sqrt.c: Likewise.
+ * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/e_sqrt.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c: Likewise.
+ * sysdeps/s390/fpu/e_sqrt.c: Likewise.
+ * sysdeps/s390/fpu/e_sqrtf.c: Likewise.
+ * sysdeps/s390/fpu/e_sqrtl.c: Likewise.
+ * sysdeps/sparc/sparc32/e_sqrt.c: Likewise.
+ * sysdeps/sparc/sparc64/fpu/e_sqrtl.c: Likewise.
+ * sysdeps/x86_64/fpu/e_exp2l.S: Likewise.
+ * sysdeps/x86_64/fpu/e_fmodl.S: Likewise.
+ * sysdeps/x86_64/fpu/e_log10l.S: Likewise.
+ * sysdeps/x86_64/fpu/e_log2l.S: Likewise.
+ * sysdeps/x86_64/fpu/e_logl.S: Likewise.
+ * sysdeps/x86_64/fpu/e_powl.S: Likewise.
+ * sysdeps/x86_64/fpu/e_remainderl.S: Likewise.
+ * sysdeps/x86_64/fpu/e_scalbl.S: Likewise.
+ * sysdeps/x86_64/fpu/e_sqrt.c: Likewise. Fix parameter order
+ * sysdeps/x86_64/fpu/e_sqrtf.c: Likewise.
+ * sysdeps/x86_64/fpu/math_private.h (__isnan): Cast d parameter.
+ (__isnanf): Likewise.
+ (__isinf_ns): Likewise.
+ (__isinf_nsf): Likewise.
+ (__finite): Likewise.
+ (__finitef): Likewise.
+ (__ieee754_sqrt): Define as macro.
+ (__ieee754_sqrtf): Define as macro.
+ (__ieee754_sqrtl): Define as macro.
+ * sysdeps/x86_64/fpu/bits/fenv.h (feraiseexcept): Add partially
+ inlined copy.
+ * sysdeps/x86_64/fpu/bits/mathinline.h: Make use of
+ __FINITE_MATH_ONLY__ consistent.
+ * sysdeps/ieee754/k_standard.c (__kernel_standard_f): New function.
+
+2011-10-10 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * inet/getnetgrent_r.c (nscd_getnetgrent): Use __rawmemchr instead
+ of rawmemchr.
+
+ * sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c: New file.
+
2011-10-09 Ulrich Drepper <drepper@xxxxxxxxx>
* po/ja.po: Update from translation team.
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sun Oct 23 17:49:41 2011
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes. 2011-10-8
+GNU C Library NEWS -- history of user-visible changes. 2011-10-20
Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
See the end for copying conditions.
@@ -9,9 +9,9 @@
* The following bugs are resolved with this release:
- 6779, 6783, 9696, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12907,
- 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114, 13118,
- 13123, 13134, 13138, 13150, 13179, 13192
+ 6779, 6783, 9696, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12892,
+ 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114,
+ 13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291
* New program pldd to list loaded object of a process
Implemented by Ulrich Drepper.
@@ -33,7 +33,7 @@
* Optimized strchr and strrchr for SSE on x86-32.
Contributed by Liubov Dmitrieva.
-* Optimized memchr, memrchr, rawmemchr for x86-64.
+* Optimized memchr, memrchr, rawmemchr, memcmp, wmemcmp for x86-64 and x86-32.
Contributed by Liubov Dmitrieva.
* New interfaces: scandirat, scandirat64
@@ -43,6 +43,15 @@
Implemented by Ulrich Drepper.
* nscd now also caches the netgroup database.
+ Implemented by Ulrich Drepper.
+
+* Integrate libm with gcc's -ffinite-math-only option.
+ Implemented by Ulrich Drepper.
+
+* Lots of generic, 64-bit, and x86-64-specific performance optimizations
+ to math functions. Implemented by Ulrich Drepper.
+
+* Optimized strcasecmp and strncasecmp for AVX on x86-64.
Implemented by Ulrich Drepper.
Version 2.14
Modified: fsf/trunk/libc/README
==============================================================================
--- fsf/trunk/libc/README (original)
+++ fsf/trunk/libc/README Sun Oct 23 17:49:41 2011
@@ -94,4 +94,7 @@
The GNU C Library is free software. See the file COPYING.LIB for copying
conditions, and LICENSES for notices about a few contributions that require
-these additional notices to be distributed.
+these additional notices to be distributed. License copyright years may be
+listed using range notation, e.g., 2000-2011, indicating that every year in
+the range, inclusive, is a copyrightable year that would otherwise be listed
+individually.
Modified: fsf/trunk/libc/Versions.def
==============================================================================
--- fsf/trunk/libc/Versions.def (original)
+++ fsf/trunk/libc/Versions.def Sun Oct 23 17:49:41 2011
@@ -54,6 +54,7 @@
GLIBC_2.2.3
GLIBC_2.3.4
GLIBC_2.4
+ GLIBC_2.15
}
libnsl {
GLIBC_2.0
Modified: fsf/trunk/libc/config.h.in
==============================================================================
--- fsf/trunk/libc/config.h.in (original)
+++ fsf/trunk/libc/config.h.in Sun Oct 23 17:49:41 2011
@@ -117,6 +117,9 @@
/* Define if gcc supports AVX. */
#undef HAVE_AVX_SUPPORT
+
+/* Define if gcc supports FMA4. */
+#undef HAVE_FMA4_SUPPORT
/* Define if the compiler's exception support is based on libunwind. */
#undef HAVE_CC_WITH_LIBUNWIND
Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Sun Oct 23 17:49:41 2011
@@ -5372,11 +5372,16 @@
SYSINCLUDES="$SYSINCLUDES \
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
if test -n "$CXX"; then
+ CXX_SYSINCLUDES=
cxxversion=`$CXX -dumpversion 2>&5` &&
cxxmachine=`$CXX -dumpmachine 2>&5` &&
- cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
- CXX_SYSINCLUDES="-isystem $cxxheaders \
+ for d in include "$cxxmachine/include"; do
+ i=../../../../$d/c++/$cxxversion
+ cxxheaders=`$CXX -print-file-name="$i"` &&
+ test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
+ CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
-isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
+ done
fi
fi
Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Sun Oct 23 17:49:41 2011
@@ -1061,11 +1061,16 @@
SYSINCLUDES="$SYSINCLUDES \
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
if test -n "$CXX"; then
+ CXX_SYSINCLUDES=
cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
- cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
- CXX_SYSINCLUDES="-isystem $cxxheaders \
+ for d in include "$cxxmachine/include"; do
+ i=../../../../$d/c++/$cxxversion
+ cxxheaders=`$CXX -print-file-name="$i"` &&
+ test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
+ CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
-isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
+ done
fi
fi
AC_SUBST(SYSINCLUDES)
Modified: fsf/trunk/libc/ctype/Versions
==============================================================================
--- fsf/trunk/libc/ctype/Versions (original)
+++ fsf/trunk/libc/ctype/Versions Sun Oct 23 17:49:41 2011
@@ -21,4 +21,7 @@
# functions used by optimized macros in ctype.h
__ctype_b_loc; __ctype_tolower_loc; __ctype_toupper_loc;
}
+ GLIBC_PRIVATE {
+ __ctype_init;
+ }
}
Modified: fsf/trunk/libc/ctype/ctype-info.c
==============================================================================
--- fsf/trunk/libc/ctype/ctype-info.c (original)
+++ fsf/trunk/libc/ctype/ctype-info.c Sun Oct 23 17:49:41 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,95,96,97,99,2000, 2002, 2008
+/* Copyright (C) 1991,92,95,96,97,99,2000, 2002, 2008, 2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -24,6 +24,19 @@
__libc_tsd_define (, const uint16_t *, CTYPE_B)
__libc_tsd_define (, const int32_t *, CTYPE_TOLOWER)
__libc_tsd_define (, const int32_t *, CTYPE_TOUPPER)
+
+
+void
+__ctype_init (void)
+{
+ const uint16_t **bp = __libc_tsd_address (const uint16_t *, CTYPE_B);
+ *bp = (const uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS) + 128;
+ const int32_t **up = __libc_tsd_address (const int32_t *, CTYPE_TOUPPER);
+ *up = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOUPPER) + 128);
+ const int32_t **lp = __libc_tsd_address (const int32_t *, CTYPE_TOLOWER);
+ *lp = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOLOWER) + 128);
+}
+libc_hidden_def (__ctype_init)
#include <shlib-compat.h>
Modified: fsf/trunk/libc/ctype/ctype.h
==============================================================================
--- fsf/trunk/libc/ctype/ctype.h (original)
+++ fsf/trunk/libc/ctype/ctype.h Sun Oct 23 17:49:41 2011
@@ -1,5 +1,5 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007,2008,2009
- Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007,2008,2009,2011
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -85,8 +85,18 @@
extern __const __int32_t **__ctype_toupper_loc (void)
__THROW __attribute__ ((__const));
-#define __isctype(c, type) \
+
+#ifndef __cplusplus
+# define __isctype(c, type) \
((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type)
+#elif defined __USE_EXTERN_INLINES
+# define __isctype_f(type) \
+ __extern_inline int \
+ is##type (int __c) __THROW \
+ { \
+ return (*__ctype_b_loc ())[(int) (__c)] & (unsigned short int) _IS##type; \
+ }
+#endif
#define __isascii(c) (((c) & ~0x7f) == 0) /* If C is a 7 bit value. */
#define __toascii(c) ((c) & 0x7f) /* Mask off high bits. */
@@ -169,7 +179,23 @@
__res = (a)[(int) (c)]; \
__res; }))
-#if !defined __NO_CTYPE && !defined __cplusplus
+#if !defined __NO_CTYPE
+# ifdef __isctype_f
+__isctype_f (alnum)
+__isctype_f (alpha)
+__isctype_f (cntrl)
+__isctype_f (digit)
+__isctype_f (lower)
+__isctype_f (graph)
+__isctype_f (print)
+__isctype_f (punct)
+__isctype_f (space)
+__isctype_f (upper)
+__isctype_f (xdigit)
+# ifdef __USE_ISOC99
+__isctype_f (blank)
+# endif
+# elif defined __isctype
# define isalnum(c) __isctype((c), _ISalnum)
# define isalpha(c) __isctype((c), _ISalpha)
# define iscntrl(c) __isctype((c), _IScntrl)
@@ -181,9 +207,9 @@
# define isspace(c) __isctype((c), _ISspace)
# define isupper(c) __isctype((c), _ISupper)
# define isxdigit(c) __isctype((c), _ISxdigit)
-
-# ifdef __USE_ISOC99
-# define isblank(c) __isctype((c), _ISblank)
+# ifdef __USE_ISOC99
+# define isblank(c) __isctype((c), _ISblank)
+# endif
# endif
# ifdef __USE_EXTERN_INLINES
Modified: fsf/trunk/libc/elf/dl-fini.c
==============================================================================
--- fsf/trunk/libc/elf/dl-fini.c (original)
+++ fsf/trunk/libc/elf/dl-fini.c Sun Oct 23 17:49:41 2011
@@ -100,7 +100,17 @@
/* Look through the relocation dependencies of the object. */
while (m-- > 0)
if (__builtin_expect (relmaps[m] == thisp, 0))
- goto move;
+ {
+ /* If a cycle exists with a link time dependency,
+ preserve the latter. */
+ struct link_map **runp = thisp->l_initfini;
+ if (runp != NULL)
+ while (*runp != NULL)
+ if (__builtin_expect (*runp++ == maps[k], 0))
+ goto ignore;
+ goto move;
+ }
+ ignore:;
}
--k;
Modified: fsf/trunk/libc/elf/do-rel.h
==============================================================================
--- fsf/trunk/libc/elf/do-rel.h (original)
+++ fsf/trunk/libc/elf/do-rel.h Sun Oct 23 17:49:41 2011
@@ -21,13 +21,10 @@
`elf_dynamic_do_rel' and `elf_dynamic_do_rela'. */
#ifdef DO_RELA
-# define elf_dynamic_do_rel elf_dynamic_do_rela
-# define RELCOUNT_IDX VERSYMIDX (DT_RELACOUNT)
+# define elf_dynamic_do_Rel elf_dynamic_do_Rela
# define Rel Rela
# define elf_machine_rel elf_machine_rela
# define elf_machine_rel_relative elf_machine_rela_relative
-#else
-# define RELCOUNT_IDX VERSYMIDX (DT_RELCOUNT)
#endif
#ifndef DO_ELF_MACHINE_REL_RELATIVE
@@ -50,13 +47,18 @@
than fully resolved now. */
auto inline void __attribute__ ((always_inline))
-elf_dynamic_do_rel (struct link_map *map,
+elf_dynamic_do_Rel (struct link_map *map,
ElfW(Addr) reladdr, ElfW(Addr) relsize,
+ __typeof (((ElfW(Dyn) *) 0)->d_un.d_val) nrelative,
int lazy, int skip_ifunc)
{
const ElfW(Rel) *r = (const void *) reladdr;
const ElfW(Rel) *end = (const void *) (reladdr + relsize);
ElfW(Addr) l_addr = map->l_addr;
+# if defined ELF_MACHINE_IRELATIVE && !defined RTLD_BOOTSTRAP
+ const ElfW(Rel) *r2 = NULL;
+ const ElfW(Rel) *end2 = NULL;
+# endif
#if (!defined DO_RELA || !defined ELF_MACHINE_PLT_REL) && !defined RTLD_BOOTSTRAP
/* We never bind lazily during ld.so bootstrap. Unfortunately gcc is
@@ -66,17 +68,31 @@
{
/* Doing lazy PLT relocations; they need very little info. */
for (; r < end; ++r)
- elf_machine_lazy_rel (map, l_addr, r, skip_ifunc);
+# ifdef ELF_MACHINE_IRELATIVE
+ if (ELFW(R_TYPE) (r->r_info) == ELF_MACHINE_IRELATIVE)
+ {
+ if (r2 == NULL)
+ r2 = r;
+ end2 = r;
+ }
+ else
+# endif
+ elf_machine_lazy_rel (map, l_addr, r, skip_ifunc);
+
+# ifdef ELF_MACHINE_IRELATIVE
+ if (r2 != NULL)
+ for (; r2 <= end2; ++r2)
+ if (ELFW(R_TYPE) (r2->r_info) == ELF_MACHINE_IRELATIVE)
+ elf_machine_lazy_rel (map, l_addr, r2, skip_ifunc);
+# endif
}
else
#endif
{
const ElfW(Sym) *const symtab =
(const void *) D_PTR (map, l_info[DT_SYMTAB]);
- ElfW(Word) nrelative = (map->l_info[RELCOUNT_IDX] == NULL
- ? 0 : map->l_info[RELCOUNT_IDX]->d_un.d_val);
const ElfW(Rel) *relative = r;
- r = r + MIN (nrelative, relsize / sizeof (ElfW(Rel)));
+ r += nrelative;
#ifndef RTLD_BOOTSTRAP
/* This is defined in rtld.c, but nowhere in the static libc.a; make
@@ -116,24 +132,69 @@
for (; r < end; ++r)
{
+#if defined ELF_MACHINE_IRELATIVE && !defined RTLD_BOOTSTRAP
+ if (ELFW(R_TYPE) (r->r_info) == ELF_MACHINE_IRELATIVE)
+ {
+ if (r2 == NULL)
+ r2 = r;
+ end2 = r;
+ continue;
+ }
+#endif
+
ElfW(Half) ndx = version[ELFW(R_SYM) (r->r_info)] & 0x7fff;
elf_machine_rel (map, r, &symtab[ELFW(R_SYM) (r->r_info)],
&map->l_versions[ndx],
(void *) (l_addr + r->r_offset), skip_ifunc);
}
+
+#if defined ELF_MACHINE_IRELATIVE && !defined RTLD_BOOTSTRAP
+ if (r2 != NULL)
+ for (; r2 <= end2; ++r2)
+ if (ELFW(R_TYPE) (r2->r_info) == ELF_MACHINE_IRELATIVE)
+ {
+ ElfW(Half) ndx
+ = version[ELFW(R_SYM) (r2->r_info)] & 0x7fff;
+ elf_machine_rel (map, r2,
+ &symtab[ELFW(R_SYM) (r2->r_info)],
+ &map->l_versions[ndx],
+ (void *) (l_addr + r2->r_offset),
+ skip_ifunc);
+ }
+#endif
}
#ifndef RTLD_BOOTSTRAP
else
- for (; r < end; ++r)
- elf_machine_rel (map, r, &symtab[ELFW(R_SYM) (r->r_info)], NULL,
- (void *) (l_addr + r->r_offset), skip_ifunc);
+ {
+ for (; r < end; ++r)
+# ifdef ELF_MACHINE_IRELATIVE
+ if (ELFW(R_TYPE) (r->r_info) == ELF_MACHINE_IRELATIVE)
+ {
+ if (r2 == NULL)
+ r2 = r;
+ end2 = r;
+ }
+ else
+# endif
+ elf_machine_rel (map, r, &symtab[ELFW(R_SYM) (r->r_info)], NULL,
+ (void *) (l_addr + r->r_offset), skip_ifunc);
+
+# ifdef ELF_MACHINE_IRELATIVE
+ if (r2 != NULL)
+ for (; r2 <= end2; ++r2)
+ if (ELFW(R_TYPE) (r2->r_info) == ELF_MACHINE_IRELATIVE)
+ elf_machine_rel (map, r2, &symtab[ELFW(R_SYM) (r2->r_info)],
+ NULL, (void *) (l_addr + r2->r_offset),
+ skip_ifunc);
+# endif
+ }
#endif
}
}
-#undef elf_dynamic_do_rel
+#undef elf_dynamic_do_Rel
#undef Rel
#undef elf_machine_rel
#undef elf_machine_rel_relative
#undef DO_ELF_MACHINE_REL_RELATIVE
-#undef RELCOUNT_IDX
+#undef DO_RELA
Modified: fsf/trunk/libc/elf/dynamic-link.h
==============================================================================
--- fsf/trunk/libc/elf/dynamic-link.h (original)
+++ fsf/trunk/libc/elf/dynamic-link.h Sun Oct 23 17:49:41 2011
@@ -258,17 +258,24 @@
# ifdef ELF_MACHINE_PLTREL_OVERLAP
# define _ELF_DYNAMIC_DO_RELOC(RELOC, reloc, map, do_lazy, skip_ifunc, test_rel) \
do { \
- struct { ElfW(Addr) start, size; int lazy; } ranges[3]; \
+ struct { ElfW(Addr) start, size; \
+ __typeof (((ElfW(Dyn) *) 0)->d_un.d_val) nrelative; int lazy; } \
+ ranges[3]; \
int ranges_index; \
\
ranges[0].lazy = ranges[2].lazy = 0; \
ranges[1].lazy = 1; \
ranges[0].size = ranges[1].size = ranges[2].size = 0; \
+ ranges[0].nrelative = ranges[1].nrelative = ranges[2].nrelative = 0; \
\
if ((map)->l_info[DT_##RELOC]) \
{ \
ranges[0].start = D_PTR ((map), l_info[DT_##RELOC]); \
ranges[0].size = (map)->l_info[DT_##RELOC##SZ]->d_un.d_val; \
+ if (map->l_info[VERSYMIDX (DT_##RELOC##COUNT)] != NULL) \
+ ranges[0].nrelative \
+ = MIN (map->l_info[VERSYMIDX (DT_##RELOC##COUNT)]->d_un.d_val, \
+ ranges[0].size / sizeof (ElfW(reloc))); \
} \
\
if ((do_lazy) \
@@ -286,21 +293,25 @@
elf_dynamic_do_##reloc ((map), \
ranges[ranges_index].start, \
ranges[ranges_index].size, \
+ ranges[ranges_index].nrelative, \
ranges[ranges_index].lazy, \
skip_ifunc); \
} while (0)
# else
# define _ELF_DYNAMIC_DO_RELOC(RELOC, reloc, map, do_lazy, skip_ifunc, test_rel) \
do { \
- struct { ElfW(Addr) start, size; int lazy; } ranges[2]; \
- ranges[0].lazy = 0; \
- ranges[0].size = ranges[1].size = 0; \
- ranges[0].start = 0; \
+ struct { ElfW(Addr) start, size; \
+ __typeof (((ElfW(Dyn) *) 0)->d_un.d_val) nrelative; int lazy; } \
+ ranges[2] = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 } }; \
\
if ((map)->l_info[DT_##RELOC]) \
{ \
ranges[0].start = D_PTR ((map), l_info[DT_##RELOC]); \
ranges[0].size = (map)->l_info[DT_##RELOC##SZ]->d_un.d_val; \
+ if (map->l_info[VERSYMIDX (DT_##RELOC##COUNT)] != NULL) \
+ ranges[0].nrelative \
+ = MIN (map->l_info[VERSYMIDX (DT_##RELOC##COUNT)]->d_un.d_val, \
+ ranges[0].size / sizeof (ElfW(reloc))); \
} \
if ((map)->l_info[DT_PLTREL] \
&& (!test_rel || (map)->l_info[DT_PLTREL]->d_un.d_val == DT_##RELOC)) \
@@ -312,7 +323,8 @@
/* This test does not only detect whether the relocation \
sections are in the right order, it also checks whether \
there is a DT_REL/DT_RELA section. */ \
- || ranges[0].start + ranges[0].size != start)) \
+ || __builtin_expect (ranges[0].start + ranges[0].size \
+ != start, 0))) \
{ \
ranges[1].start = start; \
ranges[1].size = (map)->l_info[DT_PLTRELSZ]->d_un.d_val; \
@@ -327,8 +339,8 @@
} \
\
if (ELF_DURING_STARTUP) \
- elf_dynamic_do_##reloc ((map), ranges[0].start, ranges[0].size, 0, \
- skip_ifunc); \
+ elf_dynamic_do_##reloc ((map), ranges[0].start, ranges[0].size, \
+ ranges[0].nrelative, 0, skip_ifunc); \
else \
{ \
int ranges_index; \
@@ -336,6 +348,7 @@
elf_dynamic_do_##reloc ((map), \
ranges[ranges_index].start, \
ranges[ranges_index].size, \
+ ranges[ranges_index].nrelative, \
ranges[ranges_index].lazy, \
skip_ifunc); \
} \
@@ -351,7 +364,7 @@
# if ! ELF_MACHINE_NO_REL
# include "do-rel.h"
# define ELF_DYNAMIC_DO_REL(map, lazy, skip_ifunc) \
- _ELF_DYNAMIC_DO_RELOC (REL, rel, map, lazy, skip_ifunc, _ELF_CHECK_REL)
+ _ELF_DYNAMIC_DO_RELOC (REL, Rel, map, lazy, skip_ifunc, _ELF_CHECK_REL)
# else
# define ELF_DYNAMIC_DO_REL(map, lazy, skip_ifunc) /* Nothing to do. */
# endif
@@ -360,7 +373,7 @@
# define DO_RELA
# include "do-rel.h"
# define ELF_DYNAMIC_DO_RELA(map, lazy, skip_ifunc) \
- _ELF_DYNAMIC_DO_RELOC (RELA, rela, map, lazy, skip_ifunc, _ELF_CHECK_REL)
+ _ELF_DYNAMIC_DO_RELOC (RELA, Rela, map, lazy, skip_ifunc, _ELF_CHECK_REL)
# else
# define ELF_DYNAMIC_DO_RELA(map, lazy, skip_ifunc) /* Nothing to do. */
# endif
Modified: fsf/trunk/libc/elf/pldd-xx.c
==============================================================================
--- fsf/trunk/libc/elf/pldd-xx.c (original)
+++ fsf/trunk/libc/elf/pldd-xx.c Sun Oct 23 17:49:41 2011
@@ -101,7 +101,6 @@
default:
break;
}
- printf("progam header at offset %lu\n", (unsigned long)phdr);
if (phdr == 0 || phnum == 0 || phent == 0)
error (EXIT_FAILURE, 0, gettext ("cannot find program header of process"));
Modified: fsf/trunk/libc/grp/initgroups.c
==============================================================================
--- fsf/trunk/libc/grp/initgroups.c (original)
+++ fsf/trunk/libc/grp/initgroups.c Sun Oct 23 17:49:41 2011
@@ -82,9 +82,8 @@
if (__nss_initgroups_database == NULL)
{
- no_more = __nss_database_lookup ("initgroups", NULL, "",
- &__nss_initgroups_database);
- if (no_more == 0 && __nss_initgroups_database == NULL)
+ if (__nss_database_lookup ("initgroups", NULL, "",
+ &__nss_initgroups_database) < 0)
{
if (__nss_group_database == NULL)
no_more = __nss_database_lookup ("group", NULL, "compat files",
@@ -92,11 +91,8 @@
__nss_initgroups_database = __nss_group_database;
}
- else if (__nss_initgroups_database != NULL)
- {
- assert (no_more == 0);
- use_initgroups_entry = true;
- }
+ else
+ use_initgroups_entry = true;
}
else
/* __nss_initgroups_database might have been set through
Modified: fsf/trunk/libc/include/ctype.h
==============================================================================
--- fsf/trunk/libc/include/ctype.h (original)
+++ fsf/trunk/libc/include/ctype.h Sun Oct 23 17:49:41 2011
@@ -1,4 +1,8 @@
#ifndef _CTYPE_H
+
+/* Initialize ctype locale data. */
+extern void __ctype_init (void);
+libc_hidden_proto (__ctype_init)
extern int __isctype (int __c, int __mask);
@@ -22,31 +26,23 @@
__libc_tsd_define (extern, const int32_t *, CTYPE_TOUPPER)
__libc_tsd_define (extern, const int32_t *, CTYPE_TOLOWER)
+
CTYPE_EXTERN_INLINE const uint16_t ** __attribute__ ((const))
__ctype_b_loc (void)
{
- const uint16_t **tablep = __libc_tsd_address (const uint16_t *, CTYPE_B);
- if (__builtin_expect (*tablep == NULL, 0))
- *tablep = (const uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS) + 128;
- return tablep;
+ return __libc_tsd_address (const uint16_t *, CTYPE_B);
}
CTYPE_EXTERN_INLINE const int32_t ** __attribute__ ((const))
__ctype_toupper_loc (void)
{
- const int32_t **tablep = __libc_tsd_address (const int32_t *, CTYPE_TOUPPER);
- if (__builtin_expect (*tablep == NULL, 0))
- *tablep = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOUPPER) + 128);
- return tablep;
+ return __libc_tsd_address (const int32_t *, CTYPE_TOUPPER);
}
CTYPE_EXTERN_INLINE const int32_t ** __attribute__ ((const))
__ctype_tolower_loc (void)
{
- const int32_t **tablep = __libc_tsd_address (const int32_t *, CTYPE_TOLOWER);
- if (__builtin_expect (*tablep == NULL, 0))
- *tablep = ((int32_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_TOLOWER) + 128);
- return tablep;
+ return __libc_tsd_address (const int32_t *, CTYPE_TOLOWER);
}
# endif /* Not NOT_IN_libc. */
Modified: fsf/trunk/libc/inet/getnetgrent_r.c
==============================================================================
--- fsf/trunk/libc/inet/getnetgrent_r.c (original)
+++ fsf/trunk/libc/inet/getnetgrent_r.c Sun Oct 23 17:49:41 2011
@@ -250,11 +250,11 @@
datap->type = triple_val;
datap->val.triple.host = datap->cursor;
- datap->cursor = (char *) rawmemchr (datap->cursor, '\0') + 1;
+ datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
datap->val.triple.user = datap->cursor;
- datap->cursor = (char *) rawmemchr (datap->cursor, '\0') + 1;
+ datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
datap->val.triple.domain = datap->cursor;
- datap->cursor = (char *) rawmemchr (datap->cursor, '\0') + 1;
+ datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
return NSS_STATUS_SUCCESS;
}
Modified: fsf/trunk/libc/libio/iofwide.c
==============================================================================
--- fsf/trunk/libc/libio/iofwide.c (original)
+++ fsf/trunk/libc/libio/iofwide.c Sun Oct 23 17:49:41 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2003, 2005, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -471,7 +471,6 @@
const unsigned char *cp = (const unsigned char *) from_start;
wchar_t to_buf[max];
struct __gconv_step *gs = codecvt->__cd_in.__cd.__steps;
- int status;
size_t dummy;
codecvt->__cd_in.__cd.__data[0].__outbuf = (unsigned char *) to_buf;
@@ -484,10 +483,10 @@
PTR_DEMANGLE (fct);
#endif
- status = DL_CALL_FCT (fct,
- (gs, codecvt->__cd_in.__cd.__data, &cp,
- (const unsigned char *) from_end, NULL,
- &dummy, 0, 0));
+ DL_CALL_FCT (fct,
+ (gs, codecvt->__cd_in.__cd.__data, &cp,
+ (const unsigned char *) from_end, NULL,
+ &dummy, 0, 0));
result = cp - (const unsigned char *) from_start;
#else
Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Sun Oct 23 17:49:41 2011
@@ -1,3 +1,10 @@
+2011-10-15 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * Makefile (tests): Add tst-setlocale2:
+ (LOCALES): Add tr_TR.ISO-8859-9;
+ (tst-setlocale2-ENV): Define.
+ * tst-setlocale2.c: New file.
+
2011-07-02 Roland McGrath <roland@xxxxxxxxxxxxx>
* tests-mbwc/tst_funcs.h (TST_DECL_VARS, TST_HEAD_LOCALE):
Modified: fsf/trunk/libc/localedata/Makefile
==============================================================================
--- fsf/trunk/libc/localedata/Makefile (original)
+++ fsf/trunk/libc/localedata/Makefile Sun Oct 23 17:49:41 2011
@@ -94,7 +94,7 @@
tests = $(locale_test_suite) tst-digits tst-setlocale bug-iconv-trans \
tst-leaks tst-mbswcs6 tst-xlocale1 tst-xlocale2 bug-usesetlocale \
- tst-strfmon1 tst-sscanf tst-strptime bug-setlocale1
+ tst-strfmon1 tst-sscanf tst-strptime bug-setlocale1 tst-setlocale2
ifeq (yes,$(build-shared))
ifneq (no,$(PERL))
tests: $(objpfx)mtrace-tst-leaks
@@ -137,7 +137,7 @@
hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
vi_VN.TCVN5712-1 nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 \
tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 \
- ja_JP.UTF-8 si_LK.UTF-8
+ ja_JP.UTF-8 si_LK.UTF-8 tr_TR.ISO-8859-9
LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
CHARMAPS := $(shell echo "$(LOCALES)" | \
sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
@@ -303,6 +303,7 @@
bug-setlocale1-ENV = LOCPATH=$(common-objpfx)localedata
bug-setlocale1-ARGS = $(common-objpfx)
+tst-setlocale2-ENV = LOCPATH=$(common-objpfx)localedata
$(objdir)/iconvdata/gconv-modules:
$(MAKE) -C ../iconvdata subdir=iconvdata $@
Added: fsf/trunk/libc/localedata/tst-setlocale2.c
==============================================================================
--- fsf/trunk/libc/localedata/tst-setlocale2.c (added)
+++ fsf/trunk/libc/localedata/tst-setlocale2.c Sun Oct 23 17:49:41 2011
@@ -1,0 +1,76 @@
+#include <ctype.h>
+#include <locale.h>
+#include <stdio.h>
+#include <wctype.h>
+
+
+static int
+do_test (void)
+{
+ const char *loc = "de_DE.ISO-8859-1";
+ if (setlocale (LC_ALL, loc) == NULL)
+ {
+ printf ("cannot set %s locale\n", loc);
+ return 1;
+ }
+ printf ("selected locale %s\n", loc);
+
+ wint_t win = 0xe4;
+ wint_t wex = 0xc4;
+ wint_t wch = towupper (win);
+ if (wch != wex)
+ {
+ printf ("towupper(%x) = %x, expected %x\n", win, wch, wex);
+ return 1;
+ }
+ wch = toupper (win);
+ if (wch != wex)
+ {
+ printf ("toupper(%x) = %x, expected %x\n", win, wch, wex);
+ return 1;
+ }
+
+ win = 0x69;
+ wex = 0x49;
+ wch = towupper (win);
+ if (wch != wex)
+ {
+ printf ("towupper(%x) = %x, expected %x\n", win, wch, wex);
+ return 1;
+ }
+ wch = toupper (win);
+ if (wch != wex)
+ {
+ printf ("toupper(%x) = %x, expected %x\n", win, wch, wex);
+ return 1;
+ }
+
+ loc = "tr_TR.ISO-8859-9";
+ if (setlocale (LC_ALL, loc) == NULL)
+ {
+ printf ("cannot set %s locale\n", loc);
+ return 1;
+ }
+ printf ("selected locale %s\n", loc);
+
+ win = 0x69;
+ wex = 0x130;
+ wch = towupper (win);
+ if (wch != wex)
+ {
+ printf ("towupper(%x) = %x, expected %x\n", win, wch, wex);
+ return 1;
+ }
+ wch = toupper (win);
+ wex = 0xdd;
+ if (wch != wex)
+ {
+ printf ("toupper(%x) = %x, expected %x\n", win, wch, wex);
+ return 1;
+ }
+
+ return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
Modified: fsf/trunk/libc/manual/string.texi
==============================================================================
--- fsf/trunk/libc/manual/string.texi (original)
+++ fsf/trunk/libc/manual/string.texi Sun Oct 23 17:49:41 2011
@@ -1249,10 +1249,10 @@
@comment GNU
@deftypefun int strverscmp (const char *@var{s1}, const char *@var{s2})
The @code{strverscmp} function compares the string @var{s1} against
-@var{s2}, considering them as holding indices/version numbers. Return
-value follows the same conventions as found in the @code{strverscmp}
-function. In fact, if @var{s1} and @var{s2} contain no digits,
-@code{strverscmp} behaves like @code{strcmp}.
+@var{s2}, considering them as holding indices/version numbers. The
+return value follows the same conventions as found in the
+@code{strcmp} function. In fact, if @var{s1} and @var{s2} contain no
+digits, @code{strverscmp} behaves like @code{strcmp}.
Basically, we compare strings normally (character by character), until
we find a digit in each string - then we enter a special comparison
Modified: fsf/trunk/libc/math/Makefile
==============================================================================
--- fsf/trunk/libc/math/Makefile (original)
+++ fsf/trunk/libc/math/Makefile Sun Oct 23 17:49:41 2011
@@ -1,5 +1,4 @@
-# Copyright (C) 1996-2001,2002,2003,2004,2005,2006,2011
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2006,2011 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +24,8 @@
headers := math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.h \
bits/huge_valf.h bits/huge_vall.h bits/inf.h bits/nan.h \
fpu_control.h complex.h bits/cmathcalls.h fenv.h \
- bits/fenv.h bits/fenvinline.h bits/mathdef.h tgmath.h
+ bits/fenv.h bits/fenvinline.h bits/mathdef.h tgmath.h \
+ bits/math-finite.h
# Internal header files.
distribute := math_ldbl.h math_private.h machine/asm.h
Modified: fsf/trunk/libc/math/Versions
==============================================================================
--- fsf/trunk/libc/math/Versions (original)
+++ fsf/trunk/libc/math/Versions Sun Oct 23 17:49:41 2011
@@ -168,4 +168,34 @@
# puts exp2l in GLIBC_2.1, which will override this entry.
exp2l;
}
+ GLIBC_2.15 {
+ # Optimized -ffinite-math-only entry points
+ __acos_finite; __acosf_finite; __acosl_finite;
+ __acosh_finite; __acoshf_finite; __acoshl_finite;
+ __asin_finite; __asinf_finite; __asinl_finite;
+ __atan2_finite; __atan2f_finite; __atan2l_finite;
+ __atanh_finite; __atanhf_finite; __atanhl_finite;
+ __cosh_finite; __coshf_finite; __coshl_finite;
+ __exp10_finite; __exp10f_finite; __exp10l_finite;
+ __exp2_finite; __exp2f_finite; __exp2l_finite;
+ __fmod_finite; __fmodf_finite; __fmodl_finite;
+ __hypot_finite; __hypotf_finite; __hypotl_finite;
+ __j0_finite; __j0f_finite; __j0l_finite;
+ __y0_finite; __y0f_finite; __y0l_finite;
+ __j1_finite; __j1f_finite; __j1l_finite;
+ __y1_finite; __y1f_finite; __y1l_finite;
+ __jn_finite; __jnf_finite; __jnl_finite;
+ __yn_finite; __ynf_finite; __ynl_finite;
+ __lgamma_r_finite; __lgammaf_r_finite; __lgammal_r_finite;
+ __log_finite; __logf_finite; __logl_finite;
+ __log10_finite; __log10f_finite; __log10l_finite;
+ __log2_finite; __log2f_finite; __log2l_finite;
+ __pow_finite; __powf_finite; __powl_finite;
+ __remainder_finite; __remainderf_finite; __remainderl_finite;
+ __scalb_finite; __scalbf_finite; __scalbl_finite;
+ __sinh_finite; __sinhf_finite; __sinhl_finite;
+ __sqrt_finite; __sqrtf_finite; __sqrtl_finite;
+ __gamma_r_finite; __gammaf_r_finite; __gammal_r_finite;
+ __exp_finite; __expf_finite; __expl_finite;
+ }
}
Added: fsf/trunk/libc/math/bits/math-finite.h
==============================================================================
--- fsf/trunk/libc/math/bits/math-finite.h (added)
+++ fsf/trunk/libc/math/bits/math-finite.h Sun Oct 23 17:49:41 2011
@@ -1,0 +1,322 @@
+/* Entry points to finite-math-only compiler runs.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _MATH_H
+# error "Never use <bits/math-finite.h> directly; include <math.h> instead."
+#endif
+
+/* acos. */
+extern double acos (double) __asm__ ("__acos_finite");
+extern float acosf (float) __asm__ ("__acosf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double acosl (long double) __asm__ ("__acosl_finite");
+#endif
+
+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
+/* acosh. */
+extern double acosh (double) __asm__ ("__acosh_finite");
+extern float acoshf (float) __asm__ ("__acoshf_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double acoshl (long double) __asm__ ("__acoshl_finite");
+# endif
+#endif
+
+/* asin. */
+extern double asin (double) __asm__ ("__asin_finite");
+extern float asinf (float) __asm__ ("__asinf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double asinl (long double) __asm__ ("__asinl_finite");
+#endif
+
+/* atan2. */
+extern double atan2 (double, double) __asm__ ("__atan2_finite");
+extern float atan2f (float, float) __asm__ ("__atan2f_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double atan2l (long double, long double) __asm__ ("__atan2l_finite");
+#endif
+
+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
+/* atanh. */
+extern double atanh (double) __asm__ ("__atanh_finite");
+extern float atanhf (float) __asm__ ("__atanhf_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double atanhl (long double) __asm__ ("__atanhl_finite");
+# endif
+#endif
+
+/* cosh. */
+extern double cosh (double) __asm__ ("__cosh_finite");
+extern float coshf (float) __asm__ ("__coshf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double coshl (long double) __asm__ ("__coshl_finite");
+#endif
+
+/* exp. */
+extern double exp (double) __asm__ ("__exp_finite");
+extern float expf (float) __asm__ ("__expf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double expl (long double) __asm__ ("__expl_finite");
+#endif
+
+#ifdef __USE_GNU
+/* exp10. */
+extern double exp10 (double) __asm__ ("__exp10_finite");
+extern float exp10f (float) __asm__ ("__exp10f_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double exp10l (long double) __asm__ ("__exp10l_finite");
+# endif
+
+/* pow10. */
+extern double pow10 (double) __asm__ ("__exp10_finite");
+extern float pow10f (float) __asm__ ("__exp10f_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double pow10l (long double) __asm__ ("__exp10l_finite");
+# endif
+#endif
+
+#ifdef __USE_ISOC99
+/* exp2. */
+extern double exp2 (double) __asm__ ("__exp2_finite");
+extern float exp2f (float) __asm__ ("__exp2f_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double exp2l (long double) __asm__ ("__exp2l_finite");
+# endif
+#endif
+
+/* fmod. */
+extern double fmod (double, double) __asm__ ("__fmod_finite");
+extern float fmodf (float, float) __asm__ ("__fmodf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double fmodl (long double, long double) __asm__ ("__fmodl_finite");
+#endif
+
+#ifdef __USE_ISOC99
+/* hypot. */
+extern double hypot (double, double) __asm__ ("__hypot_finite");
+extern float hypotf (float, float) __asm__ ("__hypotf_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double hypotl (long double, long double) __asm__ ("__hypotl_finite");
+# endif
+#endif
+
+#if defined __USE_MISC || defined __USE_XOPEN
+/* j0. */
+extern double j0 (double) __asm__ ("__j0_finite");
+extern float j0f (float) __asm__ ("__j0f_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double j0l (long double) __asm__ ("__j0l_finite");
+# endif
+
+/* y0. */
+extern double y0 (double) __asm__ ("__y0_finite");
+extern float y0f (float) __asm__ ("__y0f_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double y0l (long double) __asm__ ("__y0l_finite");
+# endif
+
+/* j1. */
+extern double j1 (double) __asm__ ("__j1_finite");
+extern float j1f (float) __asm__ ("__j1f_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double j1l (long double) __asm__ ("__j1l_finite");
+# endif
+
+/* y1. */
+extern double y1 (double) __asm__ ("__y1_finite");
+extern float y1f (float) __asm__ ("__y1f_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double y1l (long double) __asm__ ("__y1l_finite");
+# endif
+
+/* jn. */
+extern double jn (int, double) __asm__ ("__jn_finite");
+extern float jnf (int, float) __asm__ ("__jnf_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double jnl (int, long double) __asm__ ("__jnl_finite");
+# endif
+
+/* yn. */
+extern double yn (int, double) __asm__ ("__yn_finite");
+extern float ynf (int, float) __asm__ ("__ynf_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double ynl (int, long double) __asm__ ("__ynl_finite");
+# endif
+#endif
+
+#ifdef __USE_MISC
+/* lgamma_r. */
+extern double lgamma_r (double, int *) __asm__ ("__lgamma_r_finite");
+extern float lgammaf_r (float, int *) __asm__ ("__lgammaf_r_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double lgammal_r (long double, int *) __asm__ ("__lgammal_r_finite");
+# endif
+#endif
+
+#if defined __USE_MISC || defined __USE_XOPEN || defined __USE_ISOC99
+/* lgamma. */
+__extern_always_inline double lgamma (double __d)
+{
+# ifdef __USE_ISOC99
+ int __local_signgam = 0;
+ return lgamma_r (__d, &__local_signgam);
+# else
+ return lgamma_r (__d, &signgam);
+# endif
+}
+__extern_always_inline float lgammaf (float __d)
+{
+# ifdef __USE_ISOC99
+ int __local_signgam = 0;
+ return lgammaf_r (__d, &__local_signgam);
+# else
+ return lgammaf_r (__d, &signgam);
+# endif
+}
+# ifdef __MATH_DECLARE_LDOUBLE
+__extern_always_inline long double lgammal (long double __d)
+{
+# ifdef __USE_ISOC99
+ int __local_signgam = 0;
+ return lgammal_r (__d, &__local_signgam);
+# else
+ return lgammal_r (__d, &signgam);
+# endif
+}
+# endif
+#endif
+
+#if defined __USE_MISC || defined __USE_XOPEN
+/* gamma. */
+__extern_always_inline double gamma (double __d)
+{
+# ifdef __USE_ISOC99
+ int __local_signgam = 0;
+ return lgamma_r (__d, &__local_signgam);
+# else
+ return lgamma_r (__d, &signgam);
+# endif
+}
+__extern_always_inline float gammaf (float __d)
+{
+# ifdef __USE_ISOC99
+ int __local_signgam = 0;
+ return lgammaf_r (__d, &__local_signgam);
+# else
+ return lgammaf_r (__d, &signgam);
+# endif
+}
+# ifdef __MATH_DECLARE_LDOUBLE
+__extern_always_inline long double gammal (long double __d)
+{
+# ifdef __USE_ISOC99
+ int __local_signgam = 0;
+ return lgammal_r (__d, &__local_signgam);
+# else
+ return lgammal_r (__d, &signgam);
+# endif
+}
+# endif
+#endif
+
+/* log. */
+extern double log (double) __asm__ ("__log_finite");
+extern float logf (float) __asm__ ("__logf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double logl (long double) __asm__ ("__logl_finite");
+#endif
+
+/* log10. */
+extern double log10 (double) __asm__ ("__log10_finite");
+extern float log10f (float) __asm__ ("__log10f_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double log10l (long double) __asm__ ("__log10l_finite");
+#endif
+
+#ifdef __USE_ISOC99
+/* log2. */
+extern double log2 (double) __asm__ ("__log2_finite");
+extern float log2f (float) __asm__ ("__log2f_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double log2l (long double) __asm__ ("__log2l_finite");
+# endif
+#endif
+
+/* pow. */
+extern double pow (double, double) __asm__ ("__pow_finite");
+extern float powf (float, float) __asm__ ("__powf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double powl (long double, long double) __asm__ ("__powl_finite");
+#endif
+
+/* remainder. */
+extern double remainder (double, double) __asm__ ("__remainder_finite");
+extern float remainderf (float, float) __asm__ ("__remainderf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double remainderl (long double, long double) __asm__ ("__remainderl_finite");
+#endif
+
+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
+/* scalb. */
+extern double scalb (double, double) __asm__ ("__scalb_finite");
+extern float scalbf (float, float) __asm__ ("__scalbf_finite");
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double scalbl (long double, long double) __asm__ ("__scalbl_finite");
+# endif
+#endif
+
+/* sinh. */
+extern double sinh (double) __asm__ ("__sinh_finite");
+extern float sinhf (float) __asm__ ("__sinhf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double sinhl (long double) __asm__ ("__sinhl_finite");
+#endif
+
+/* sqrt. */
+extern double sqrt (double) __asm__ ("__sqrt_finite");
+extern float sqrtf (float) __asm__ ("__sqrtf_finite");
+#ifdef __MATH_DECLARE_LDOUBLE
+extern long double sqrtl (long double) __asm__ ("__sqrtl_finite");
+#endif
+
+#ifdef __USE_ISOC99
+/* tgamma. */
+extern double __gamma_r_finite (double, int *);
+__extern_always_inline double tgamma (double __d)
+{
+ int __local_signgam = 0;
+ double __res = __gamma_r_finite (__d, &__local_signgam);
+ return __local_signgam < 0 ? -__res : __res;
+}
+extern float __gammaf_r_finite (float, int *);
+__extern_always_inline float tgammaf (float __d)
+{
+ int __local_signgam = 0;
+ float __res = __gammaf_r_finite (__d, &__local_signgam);
+ return __local_signgam < 0 ? -__res : __res;
+}
+# ifdef __MATH_DECLARE_LDOUBLE
+extern long double __gammal_r_finite (long double, int *);
+__extern_always_inline long double tgammal (long double __d)
+{
+ int __local_signgam = 0;
+ long double __res = __gammal_r_finite (__d, &__local_signgam);
+ return __local_signgam < 0 ? -__res : __res;
+}
+# endif
+#endif
Modified: fsf/trunk/libc/math/bits/mathcalls.h
==============================================================================
--- fsf/trunk/libc/math/bits/mathcalls.h (original)
+++ fsf/trunk/libc/math/bits/mathcalls.h Sun Oct 23 17:49:41 2011
@@ -1,5 +1,5 @@
/* Prototype declarations for math functions; helper file for <math.h>.
- Copyright (C) 1996-2002, 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1996-2002, 2003, 2006, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -113,7 +113,8 @@
__MATHCALL (log10,, (_Mdouble_ __x));
/* Break VALUE into integral and fractional parts. */
-__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr));
+__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr))
+ __attribute__ ((__nonnull__ (2)));
_Mdouble_END_NAMESPACE
#ifdef __USE_GNU
Modified: fsf/trunk/libc/math/e_acoshl.c
==============================================================================
--- fsf/trunk/libc/math/e_acoshl.c (original)
+++ fsf/trunk/libc/math/e_acoshl.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_acoshl, __acoshl_finite)
stub_warning (acoshl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_acosl.c
==============================================================================
--- fsf/trunk/libc/math/e_acosl.c (original)
+++ fsf/trunk/libc/math/e_acosl.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_acosl, __acosl_finite)
stub_warning (acosl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_asinl.c
==============================================================================
--- fsf/trunk/libc/math/e_asinl.c (original)
+++ fsf/trunk/libc/math/e_asinl.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_asinl, __asinl_finite)
stub_warning (asinl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_atan2l.c
==============================================================================
--- fsf/trunk/libc/math/e_atan2l.c (original)
+++ fsf/trunk/libc/math/e_atan2l.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_atan2l, __atan2l_finite)
stub_warning (atan2l)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_atanhl.c
==============================================================================
--- fsf/trunk/libc/math/e_atanhl.c (original)
+++ fsf/trunk/libc/math/e_atanhl.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_atanhl, __atanhl_finite)
stub_warning (__ieee754_atanhl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_coshl.c
==============================================================================
--- fsf/trunk/libc/math/e_coshl.c (original)
+++ fsf/trunk/libc/math/e_coshl.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_coshl, __coshl_finite)
stub_warning (__ieee754_coshl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_exp10.c
==============================================================================
--- fsf/trunk/libc/math/e_exp10.c (original)
+++ fsf/trunk/libc/math/e_exp10.c Sun Oct 23 17:49:41 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -28,3 +28,4 @@
replaced sometime (soon?). */
return __ieee754_exp (M_LN10 * arg);
}
+strong_alias (__ieee754_exp10, __exp10_finite)
Modified: fsf/trunk/libc/math/e_exp10f.c
==============================================================================
--- fsf/trunk/libc/math/e_exp10f.c (original)
+++ fsf/trunk/libc/math/e_exp10f.c Sun Oct 23 17:49:41 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -28,3 +28,4 @@
replaced sometime (soon?). */
return __ieee754_expf (M_LN10 * arg);
}
+strong_alias (__ieee754_exp10f, __exp10f_finite)
Modified: fsf/trunk/libc/math/e_exp10l.c
==============================================================================
--- fsf/trunk/libc/math/e_exp10l.c (original)
+++ fsf/trunk/libc/math/e_exp10l.c Sun Oct 23 17:49:41 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -28,3 +28,4 @@
replaced sometime (soon?). */
return __ieee754_expl (M_LN10l * arg);
}
+strong_alias (__ieee754_exp10l, __exp10l_finite)
Modified: fsf/trunk/libc/math/e_exp2l.c
==============================================================================
--- fsf/trunk/libc/math/e_exp2l.c (original)
+++ fsf/trunk/libc/math/e_exp2l.c Sun Oct 23 17:49:41 2011
@@ -8,3 +8,4 @@
replaced sometime (soon?). */
return __ieee754_expl (M_LN2l * x);
}
+strong_alias (__ieee754_exp2l, __exp2l_finite)
Modified: fsf/trunk/libc/math/e_expl.c
==============================================================================
--- fsf/trunk/libc/math/e_expl.c (original)
+++ fsf/trunk/libc/math/e_expl.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_expl, __expl_finite)
stub_warning (expl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_fmodl.c
==============================================================================
--- fsf/trunk/libc/math/e_fmodl.c (original)
+++ fsf/trunk/libc/math/e_fmodl.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_fmodl, __fmodl_finite)
stub_warning (fmodl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_gammal_r.c
==============================================================================
--- fsf/trunk/libc/math/e_gammal_r.c (original)
+++ fsf/trunk/libc/math/e_gammal_r.c Sun Oct 23 17:49:41 2011
@@ -10,6 +10,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_gammal_r, __gammal_r_finite)
stub_warning (__ieee754_gammal_r)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_hypotl.c
==============================================================================
--- fsf/trunk/libc/math/e_hypotl.c (original)
+++ fsf/trunk/libc/math/e_hypotl.c Sun Oct 23 17:49:41 2011
@@ -9,6 +9,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_hypotl, __hypotl_finite)
stub_warning (__ieee754_hypotl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_j0l.c
==============================================================================
--- fsf/trunk/libc/math/e_j0l.c (original)
+++ fsf/trunk/libc/math/e_j0l.c Sun Oct 23 17:49:41 2011
@@ -10,6 +10,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_j0l, __j0l_finite)
stub_warning (j0l)
@@ -20,6 +21,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_y0l, __y0l_finite)
stub_warning (y0l)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_j1l.c
==============================================================================
--- fsf/trunk/libc/math/e_j1l.c (original)
+++ fsf/trunk/libc/math/e_j1l.c Sun Oct 23 17:49:41 2011
@@ -10,6 +10,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_j1l, __j1l_finite)
stub_warning (j1l)
@@ -20,6 +21,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_y1l, __y1l_finite)
stub_warning (y1l)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_jnl.c
==============================================================================
--- fsf/trunk/libc/math/e_jnl.c (original)
+++ fsf/trunk/libc/math/e_jnl.c Sun Oct 23 17:49:41 2011
@@ -10,6 +10,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_jnl, __jnl_finite)
stub_warning (jnl)
@@ -20,6 +21,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_ynl, __ynl_finite)
stub_warning (ynl)
#include <stub-tag.h>
Modified: fsf/trunk/libc/math/e_lgammal_r.c
==============================================================================
--- fsf/trunk/libc/math/e_lgammal_r.c (original)
+++ fsf/trunk/libc/math/e_lgammal_r.c Sun Oct 23 17:49:41 2011
@@ -11,6 +11,7 @@
__set_errno (ENOSYS);
return 0.0;
}
+strong_alias (__ieee754_lgammal_r, __lgammal_r_finite)
stub_warning (lgammal)
[... 36468 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits