Merge branch 'master' into bug13658-branch

This commit is contained in:
Andreas Jaeger 2012-03-14 16:36:17 +01:00
commit 356a10ee3e
539 changed files with 10781 additions and 8485 deletions

702
ChangeLog
View File

@ -1,3 +1,705 @@
2012-03-14 Joseph Myers <joseph@codesourcery.com>
[BZ #13841]
* math/s_csqrt.c: Include <float.h>.
(__csqrt): Scale large or subnormal inputs.
* math/s_csqrtf.c: Likewise.
* math/s_csqrtl.c: Likewise.
* math/libm-test.inc (csqrt_test): Add more tests.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
[BZ #13840]
* math/libm-test.inc (hypot_test): Add more tests.
2012-03-13 David S. Miller <davem@davemloft.net>
[BZ #13840]
* sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Rewrite to use
double-precision for the calculation instead of scaling.
2012-03-13 Joseph Myers <joseph@codesourcery.com>
* sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Do not
manipulate bits before adding and subtracting TWO52[sx].
* sysdeps/ieee754/dbl-64/s_rint.c (__rint): Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c (__nearbyint):
Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c (__rint): Likewise.
2012-03-13 David S. Miller <davem@davemloft.net>
* sysdeps/sparc/Makefile: Remove rtld-global-offsets.sym handling.
* sysdeps/sparc/elf/rtld-global-offsets.sym: Delete.
* sysdeps/sparc/sparc64/multiarch/memcpy.S: Don't include
rtld-global-offsets.h
* sysdeps/sparc/sparc64/multiarch/memset.S: Likewise.
* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use expl for
large parameters.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c: New file.
* sysdeps/unix/sysv/linux/openat.c (OPENAT_NOT_CANCEL): Declare syscall
'err' in the ifdef scope in which it is actually used.
* nss/nss_db/db-init.c: Include string.h
2012-03-12 David S. Miller <davem@davemloft.net>
* sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): Fix
masking out of the most significant byte of random value used.
* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard):
Fix coding style in previous change.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS): Set on sparc when 2.5.64 and later.
(__ASSUME_TGKILL): Set on sparc when 2.6.1 and later, simplify
expression.
(__ASSUME_FADVISE64_64_SYSCALL): Set on sparc when 2.6.1 and
later.
2012-03-11 David S. Miller <davem@davemloft.net>
* sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
(__makecontext): Fix signedness of pointer casts setting up 'sp'.
* sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL) Use 'long'
for 'resultvar' otherwise things get truncated on 64-bit.
* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard):
Fix masking out of the most significant byte of random value used.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-03-10 Andreas Schwab <schwab@linux-m68k.org>
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
2012-03-09 David S. Miller <davem@davemloft.net>
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Protect local
variables with appropriate CPP guards.
* sysdeps/sparc/sparc32/dl-trampoline.S: Propagate the stack_ptr from the
frame pointer, not the stack pointer. Correct layout comments. Fix test
on resulting framesize and the management of the outregs buffer for pltexit.
Preserve floating point return values across _dl_call_pltexit call.
* sysdeps/sparc/sparc64/dl-trampoline.S: Fix test on resulting
framesize and the management of the outregs buffer for pltexit.
Preserve floating point return values across _dl_call_pltexit
call.
* elf/sotruss-lib.c (la_sparc32_gnu_pltenter, la_sparc64_gnu_pltenter,
la_sparc32_gnu_pltexit, la_sparc64_gnu_pltexit): New functions.
(print_exit): Fix format string for return register value.
2012-03-10 Joseph Myers <joseph@codesourcery.com>
* sunrpc/Makefile (others): Add rpcgen.
($(objpfx)rpcgen): Remove special build rule and dependency on
libc.
* sunrpc/rpcgen.c: New file.
2012-03-09 Paul Eggert <eggert@cs.ucla.edu>
[BZ #13673]
* posix/bug-regex33.c: Replace FSF snail mail address with URL.
* stdio-common/bug-vfprintf-nargs.c: Likewise.
* sysdeps/i386/crti.S: Likewise.
* sysdeps/i386/crtn.S: Likewise.
* sysdeps/powerpc/powerpc32/crti.S: Likewise.
* sysdeps/powerpc/powerpc32/crtn.S: Likewise.
* sysdeps/powerpc/powerpc64/crti.S: Likewise.
* sysdeps/powerpc/powerpc64/crtn.S: Likewise.
* sysdeps/sh/crti.S: Likewise.
* sysdeps/sh/crtn.S: Likewise.
* sysdeps/x86_64/fpu/e_expf.S: Likewise.
[BZ #13673]
* locale/programs/charmap-kw.gperf: Replace FSF snail mail address
with URL.
* locale/programs/locfile-kw.gperf: Likewise.
* locale/programs/charmap-kw.h: Regenerated.
* locale/programs/locfile-kw.h: Likewise.
[BZ #13673]
* intl/plural.y: Replace FSF snail mail address with URL.
* intl/plural.c: Regenerated.
2012-03-09 Richard Henderson <rth@twiddle.net>
* include/math_private.h: Remove file.
* math/math_private.h: Move file ...
* sysdeps/generic/math_private.h: ... here.
* sysdeps/i386/fpu/math_private.h: Use include_next for math_private.h.
* sysdeps/powerpc/fpu/math_private.h: Likewise.
* sysdeps/x86_64/fpu/math_private.h: Likewise.
* sysdeps/i386/fpu/s_fpclassifyl.c: Use <> to include both <math.h>
and <math_private.h>.
* sysdeps/i386/fpu/s_isinfl.c: Likewise.
* sysdeps/i386/fpu/s_isnanl.c: Likewise.
* sysdeps/i386/fpu/s_nextafterl.c: Likewise.
* sysdeps/i386/fpu/s_nexttoward.c: Likewise.
* sysdeps/i386/fpu/s_nexttowardf.c: Likewise.
* sysdeps/ieee754/dbl-64/branred.c: Likewise.
* sysdeps/ieee754/dbl-64/doasin.c: Likewise.
* sysdeps/ieee754/dbl-64/dosincos.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_atanh.c: Likewise.
* sysdeps/ieee754/dbl-64/e_cosh.c: Likewise.
* sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
* sysdeps/ieee754/dbl-64/e_fmod.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_rem_pio2.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/k_rem_pio2.c: Likewise.
* sysdeps/ieee754/dbl-64/s_asinh.c: Likewise.
* sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
* sysdeps/ieee754/dbl-64/s_cbrt.c: Likewise.
* sysdeps/ieee754/dbl-64/s_ceil.c: Likewise.
* sysdeps/ieee754/dbl-64/s_copysign.c: Likewise.
* sysdeps/ieee754/dbl-64/s_erf.c: Likewise.
* sysdeps/ieee754/dbl-64/s_expm1.c: Likewise.
* sysdeps/ieee754/dbl-64/s_fabs.c: Likewise.
* sysdeps/ieee754/dbl-64/s_finite.c: Likewise.
* sysdeps/ieee754/dbl-64/s_floor.c: Likewise.
* sysdeps/ieee754/dbl-64/s_fpclassify.c: Likewise.
* sysdeps/ieee754/dbl-64/s_frexp.c: Likewise.
* sysdeps/ieee754/dbl-64/s_ilogb.c: Likewise.
* sysdeps/ieee754/dbl-64/s_isinf.c: Likewise.
* sysdeps/ieee754/dbl-64/s_isinf_ns.c: Likewise.
* sysdeps/ieee754/dbl-64/s_isnan.c: Likewise.
* sysdeps/ieee754/dbl-64/s_llrint.c: Likewise.
* sysdeps/ieee754/dbl-64/s_llround.c: Likewise.
* sysdeps/ieee754/dbl-64/s_log1p.c: Likewise.
* sysdeps/ieee754/dbl-64/s_logb.c: Likewise.
* sysdeps/ieee754/dbl-64/s_lrint.c: Likewise.
* sysdeps/ieee754/dbl-64/s_lround.c: Likewise.
* sysdeps/ieee754/dbl-64/s_modf.c: Likewise.
* sysdeps/ieee754/dbl-64/s_nearbyint.c: Likewise.
* sysdeps/ieee754/dbl-64/s_remquo.c: Likewise.
* sysdeps/ieee754/dbl-64/s_rint.c: Likewise.
* sysdeps/ieee754/dbl-64/s_round.c: Likewise.
* sysdeps/ieee754/dbl-64/s_scalbln.c: Likewise.
* sysdeps/ieee754/dbl-64/s_scalbn.c: Likewise.
* sysdeps/ieee754/dbl-64/s_signbit.c: Likewise.
* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
* sysdeps/ieee754/dbl-64/s_sincos.c: Likewise.
* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
* sysdeps/ieee754/dbl-64/s_tanh.c: Likewise.
* sysdeps/ieee754/dbl-64/s_trunc.c: Likewise.
* sysdeps/ieee754/dbl-64/sincos32.c: Likewise.
* sysdeps/ieee754/dbl-64/slowexp.c: Likewise.
* sysdeps/ieee754/dbl-64/slowpow.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_isinf_ns.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_modf.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_scalbln.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c: Likewise.
* sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.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_atanhf.c: Likewise.
* sysdeps/ieee754/flt-32/e_coshf.c: Likewise.
* sysdeps/ieee754/flt-32/e_fmodf.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_rem_pio2f.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/k_cosf.c: Likewise.
* sysdeps/ieee754/flt-32/k_rem_pio2f.c: Likewise.
* sysdeps/ieee754/flt-32/k_sinf.c: Likewise.
* sysdeps/ieee754/flt-32/k_tanf.c: Likewise.
* sysdeps/ieee754/flt-32/s_asinhf.c: Likewise.
* sysdeps/ieee754/flt-32/s_atanf.c: Likewise.
* sysdeps/ieee754/flt-32/s_cbrtf.c: Likewise.
* sysdeps/ieee754/flt-32/s_ceilf.c: Likewise.
* sysdeps/ieee754/flt-32/s_copysignf.c: Likewise.
* sysdeps/ieee754/flt-32/s_cosf.c: Likewise.
* sysdeps/ieee754/flt-32/s_erff.c: Likewise.
* sysdeps/ieee754/flt-32/s_expm1f.c: Likewise.
* sysdeps/ieee754/flt-32/s_fabsf.c: Likewise.
* sysdeps/ieee754/flt-32/s_finitef.c: Likewise.
* sysdeps/ieee754/flt-32/s_floorf.c: Likewise.
* sysdeps/ieee754/flt-32/s_fpclassifyf.c: Likewise.
* sysdeps/ieee754/flt-32/s_frexpf.c: Likewise.
* sysdeps/ieee754/flt-32/s_ilogbf.c: Likewise.
* sysdeps/ieee754/flt-32/s_isinf_nsf.c: Likewise.
* sysdeps/ieee754/flt-32/s_isinff.c: Likewise.
* sysdeps/ieee754/flt-32/s_isnanf.c: Likewise.
* sysdeps/ieee754/flt-32/s_llrintf.c: Likewise.
* sysdeps/ieee754/flt-32/s_llroundf.c: Likewise.
* sysdeps/ieee754/flt-32/s_log1pf.c: Likewise.
* sysdeps/ieee754/flt-32/s_logbf.c: Likewise.
* sysdeps/ieee754/flt-32/s_lrintf.c: Likewise.
* sysdeps/ieee754/flt-32/s_lroundf.c: Likewise.
* sysdeps/ieee754/flt-32/s_modff.c: Likewise.
* sysdeps/ieee754/flt-32/s_nearbyintf.c: Likewise.
* sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
* sysdeps/ieee754/flt-32/s_remquof.c: Likewise.
* sysdeps/ieee754/flt-32/s_rintf.c: Likewise.
* sysdeps/ieee754/flt-32/s_roundf.c: Likewise.
* sysdeps/ieee754/flt-32/s_scalblnf.c: Likewise.
* sysdeps/ieee754/flt-32/s_scalbnf.c: Likewise.
* sysdeps/ieee754/flt-32/s_signbitf.c: Likewise.
* sysdeps/ieee754/flt-32/s_sincosf.c: Likewise.
* sysdeps/ieee754/flt-32/s_sinf.c: Likewise.
* sysdeps/ieee754/flt-32/s_tanf.c: Likewise.
* sysdeps/ieee754/flt-32/s_tanhf.c: Likewise.
* sysdeps/ieee754/flt-32/s_truncf.c: Likewise.
* sysdeps/ieee754/k_standard.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_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_rem_pio2l.c: Likewise.
* sysdeps/ieee754/ldbl-128/e_remainderl.c: Likewise.
* sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
* sysdeps/ieee754/ldbl-128/k_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-128/k_sincosl.c: Likewise.
* sysdeps/ieee754/ldbl-128/k_sinl.c: Likewise.
* sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_asinhl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_cbrtl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_ceill.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_copysignl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_fabsl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_floorl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_fpclassifyl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_frexpl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_ilogbl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_isinf_nsl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_llrintl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_llroundl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_logbl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_lrintl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_lroundl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_modfl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_nextafterl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_nexttowardf.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_remquol.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_rintl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_roundl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_scalblnl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_scalbnl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_signbitl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_sincosl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_sinl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_tanhl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_tanl.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_truncl.c: Likewise.
* sysdeps/ieee754/ldbl-128/w_expl.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_hypotl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_jnl.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_rem_pio2l.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_remainderl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/k_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/k_sincosl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/k_sinl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/k_tanl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_asinhl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_ctanl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_erfl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_fabsl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_finitel.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_frexpl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_isinfl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_isnanl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_logbl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_modfl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_remquol.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_signbitl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_sincosl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_sinl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_tanhl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_tanl.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_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/ieee754/ldbl-96/s_cbrtl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_ceill.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_copysignl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_fabsl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_floorl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_fpclassifyl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_frexpl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_ilogbl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_isinf_nsl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_isinfl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_isnanl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_llrintl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_llroundl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_logbl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_lrintl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_lroundl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_modfl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_nearbyintl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_nextafterl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_nexttowardf.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_remquol.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_rintl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_roundl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_scalblnl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_scalbnl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_signbitl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_sincosl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_sinl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_tanhl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_tanl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_truncl.c: Likewise.
* sysdeps/ieee754/s_lib_version.c: Likewise.
* sysdeps/ieee754/s_matherr.c: Likewise.
* sysdeps/ieee754/s_signgam.c: Likewise.
* sysdeps/powerpc/fpu/e_hypot.c: Likewise.
* sysdeps/powerpc/fpu/e_hypotf.c: Likewise.
* sysdeps/powerpc/fpu/e_rem_pio2f.c: Likewise.
* sysdeps/powerpc/fpu/k_cosf.c: Likewise.
* sysdeps/powerpc/fpu/k_rem_pio2f.c: Likewise.
* sysdeps/powerpc/fpu/k_sinf.c: Likewise.
* sysdeps/powerpc/fpu/s_cosf.c: Likewise.
* sysdeps/powerpc/fpu/s_float_bitwise.h: Likewise.
* sysdeps/powerpc/fpu/s_isnan.c: Likewise.
* sysdeps/powerpc/fpu/s_rint.c: Likewise.
* sysdeps/powerpc/fpu/s_rintf.c: Likewise.
* sysdeps/powerpc/fpu/s_sinf.c: Likewise.
* sysdeps/powerpc/fpu/w_sqrt.c: Likewise.
* sysdeps/powerpc/fpu/w_sqrtf.c: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c: Likewise.
* sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c: Likewise.
* sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c: Likewise.
* sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c: Likewise.
* sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c: Likewise.
2012-03-09 Joseph Myers <joseph@codesourcery.com>
* sunrpc/rpc_cout.c: Remove __GNU_LIBRARY__ conditionals.
* sunrpc/rpc_main.c: Likewise.
* sunrpc/rpc_svcout.c: Likewise.
2012-03-09 David S. Miller <davem@davemloft.net>
* include/math_private.h: New file.
2012-03-09 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/bits/socket_type.h: New file.
* sysdeps/unix/sysv/linux/sparc/bits/socket_type.h: Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h: Get enum __socket_type
from <bits/socket_type.h>.
(enum __socket_type): Don't define here.
* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Remove.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
bits/socket_type.h.
[BZ #13566]
* libio/stdio.h (gets): Always declare for C++ up to C++11 without
checking __USE_GNU.
* Makerules ($(inst_includedir)/%.h): New rule.
* stdio-common/Makefile (headers): Add bits/stdio_lim.h.
(install-others): Remove variable setting.
($(inst_includedir)/bits/stdio_lim.h): Remove rule.
2012-03-08 Richard Henderson <rth@twiddle.net>
* sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrt): Convert
from macro to inline function; merge with the
!__LIBC_INTERNAL_MATH_INLINES version.
(__ieee754_sqrtf): Likewise.
* sysdeps/x86_64/fpu/math_private.h (__rint): Convert from macro
to inline function.
(__rintf, __floor, __floorf): Likewise.
* sysdeps/x86_64/fpu/math_private.h (__ieee754_sqrt): Convert from
macro to inline function.
(__ieee754_sqrtf, __ieee754_sqrtl): Likewise.
* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Include <math_private.h>,
not <math/math_private.h>.
2012-03-08 David S. Miller <davem@davemloft.net>
* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Update
copyright year.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise.
2012-03-08 Thomas Schwinge <thomas@codesourcery.com>
* resolv/gai_misc.c (handle_requests): Fix struct timespec
normalization.
* rt/tst-cpuclock2.c (test_nanosleep): Likewise.
* sysdeps/pthread/aio_misc.c (handle_fildes_io): Likewise.
2012-03-08 Ulrich Drepper <drepper@gmail.com>
* stdio-common/tst-fphex.c: Various cleanups. The macros cannot
be defined individually, they must be defined as a block. Define
S for printing a string instead of hidint the different by using a
macro for adding the 'l'.
* stdio-common/tst-fphex-wide.c: Adjust.
2012-03-07 Marek Polacek <polacek@redhat.com>
* stdio-common/tst-long-dbl-fphex.c: Fix test for non ldbl-96 targets.
2012-03-08 Marek Polacek <polacek@redhat.com>
[BZ #13806]
* stdio-common/Makefile (tests): Add tst-fphex-wide.
* stdio-common/tst-fphex.c: Define a few macros to make the
test reusable. Use them.
* stdio-common/tst-fphex-wide.c: New file.
2012-03-08 Joseph Myers <joseph@codesourcery.com>
[BZ #6911]
* manual/macros.texi (gnusystems): New macro.
(nongnusystems): Likewise.
(gnulinuxhurdsystems): Likewise.
(gnuhurdsystems): Likewise..
(gnulinuxsystems): Likewise.
* manual/charset.texi: Use new macros or @theglibc{} to refer to
variants of the GNU system, not "GNU system".
* manual/conf.texi: Likewise.
* manual/errno.texi: Likewise. Update example of errno macro
expansion.
* manual/filesys.texi: Likewise.
(getumask): Document as specific to GNU/Hurd.
* manual/install.texi: Likewise. Reword some references to
GNU/Linux.
* manual/intro.texi: Likewise.
* manual/io.texi: Likewise.
(File Name Portability): Detail which constraints are inapplicable
to all GNU systems and which are only inapplicable to GNU/Hurd.
* manual/job.texi: Likewise.
* manual/llio.texi: Likewise.
(O_NOCTTY): Document as present on GNU/Linux.
* manual/maint.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
(RUSAGE_CHILDREN): Remove statement about specifying a particular
child on GNU/Hurd.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/terminal.texi: Likewise.
(ONLCR): Document as POSIX.
(OXTABS): Document availability on GNU/Linux as XTABS.
(ONOEOT): Document availability separately from other bits.
(VLNEXT, VDISCARD, VSTATUS): Document availability individually.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
* INSTALL: Regenerated.
* sysdeps/gnu/errlist.c: Regenerated.
* aclocal.m4 (LIBC_TRY_LINK_STATIC): New macro.
* configure.in (libc_cv_preinit_array): Use LIBC_TRY_LINK_STATIC.
(libc_cv_ctors_header): Likewise. Use asm ("") instead of calling
puts.
* configure: Regenerated.
2012-03-07 Joseph Myers <joseph@codesourcery.com>
* sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no
default includes instead of AC_HEADER_CHECK.
* sysdeps/i386/configure: Regenerated.
[BZ #10716]
* math/s_cacosh.c (__cacosh): Convert negative log results to 0.
* math/s_cacoshf.c (__cacoshf): Likewise.
* math/s_cacoshl.c (__cacoshl): Likewise.
* math/s_casinh.c (__casinh): Set signs of result from argument.
* math/s_casinhf.c (__casinhf): Likewise.
* math/s_casinhl.c (__casinhl): Likewise.
* math/libm-test.inc (cacos_test, cacosh_test, casin_test)
(casinh_test): Add more tests.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2012-03-07 Ulrich Drepper <drepper@gmail.com>
* po/zh_TW.po: Update from translation team.
* login/Makefile (distribute): Remove variable.
* catgets/Makefile: Likewise.
* mach/Makefile: Likewise.
* malloc/Makefile: Likewise.
* misc/Makefile: Likewise.
* iconv/Makefile: Likewise.
* nscd/Makefile: Likewise.
* hurd/Makefile: Likewise.
* manual/Makefile: Likewise.
* locale/Makefile: Likewise.
* intl/Makefile: Likewise.
* conform/Makefile: Likewise.
* nss/Makefile: Likewise.
* time/Makefile: Likewise.
* soft-fp/Makefile: Likewise.
* dirent/Makefile: Likewise.
* gmon/Makefile: Likewise.
* po/Makefile: Likewise.
* rt/Makefile: Likewise.
* socket/Makefile: Likewise.
* math/Makefile: Likewise.
* signal/Makefile: Likewise.
* debug/Makefile: Likewise.
* elf/Makefile: Likewise.
* timezone/Makefile: Likewise.
* stdlib/Makefile: Likewise.
* iconvdata/Makefile: Likewise.
* sunrpc/Makefile: Likewise.
* io/Makefile: Likewise.
* argp/Makefile: Likewise.
* inet/Makefile: Likewise.
* hesiod/Makefile: Likewise.
* grp/Makefile: Likewise.
* csu/Makefile: Likewise.
* wctype/Makefile: Likewise.
* crypt/Makefile: Likewise.
* libio/Makefile: Likewise.
* string/Makefile: Likewise.
* nis/Makefile: Likewise.
* resolv/Makefile: Likewise.
* stdio-common/Makefile: Likewise.
* wcsmbs/Makefile: Likewise.
* dlfcn/Makefile: Likewise.
* posix/Makefile: Likewise.
* timezone/Makefile: Don't install timezone files, just the programs
and scripts.
2012-03-06 Ulrich Drepper <drepper@gmail.com>
* nss/databases.def: Add missing gshadow entry.
* stdio-common/vfprintf.c: Fix formatting. Missing copyright update.
2012-03-06 Marek Polacek <polacek@redhat.com>
[BZ #13726]
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Adjust position of wnumstr.
* sysdeps/x86_64/fpu/printf_fphex.c: Likewise.
* stdio-common/Makefile (tests): Add tst-long-dbl-fphex.
* stdio-common/tst-long-dbl-fphex.c: New file.
2012-03-06 David S. Miller <davem@davemloft.net>
* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
(set_obp_int): New function.
(get_obp_int): New function.
(__get_clockfreq_via_dev_openprom): Likewise.
* sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_SYSCALL_ERROR_P):
Avoid unused variable warnings on 'val' and use builtin_expect.
(INLINE_SYSCALL): Don't wrap INTERNAL_SYSCALL_ERROR_P with
__builtin_expect.
(INLINE_CLONE_SYSCALL): Likewise.
2012-03-05 David S. Miller <davem@davemloft.net>
* sysdeps/sparc/fpu/libm-test-ulps: Update.

13
INSTALL
View File

@ -339,7 +339,7 @@ patches, although we try to avoid this.
Specific advice for GNU/Linux systems
=====================================
If you are installing the GNU C Library on a GNU/Linux system, you need
If you are installing the GNU C Library on GNU/Linux systems, you need
to have the header files from a 2.6.19.1 or newer kernel around for
reference. These headers must be installed using `make
headers_install'; the headers present in the kernel source directory
@ -370,11 +370,12 @@ required if not compiling programs using those interfaces. You do not
need to copy kernel headers if you did not specify an alternate kernel
header source using `--with-headers'.
GNU/Linux expects some components of the GNU C Library installation
to be in `/lib' and some in `/usr/lib'. This is handled automatically
if you configure the GNU C Library with `--prefix=/usr'. If you set
some other prefix or allow it to default to `/usr/local', then all the
components are installed there.
The Filesystem Hierarchy Standard for GNU/Linux systems expects some
components of the GNU C Library installation to be in `/lib' and some
in `/usr/lib'. This is handled automatically if you configure the GNU
C Library with `--prefix=/usr'. If you set some other prefix or allow
it to default to `/usr/local', then all the components are installed
there.
You cannot use `nscd' with 2.0 kernels, due to bugs in the
kernel-side thread support. `nscd' happens to hit these bugs

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991-2010, 2011 Free Software Foundation, Inc.
# Copyright (C) 1991-2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -1068,6 +1068,8 @@ ifdef headers
# headers in the sysdeps tree.
$(inst_includedir)/%.h: $(objpfx)%.h $(+force)
$(do-install)
$(inst_includedir)/%.h: $(common-objpfx)%.h $(+force)
$(do-install)
$(inst_includedir)/%.h: %.h $(+force)
$(do-install)
$(inst_includedir)/%.h: $(..)include/%.h $(+force)

10
NEWS
View File

@ -10,11 +10,11 @@ Version 2.16
* The following bugs are resolved with this release:
174, 350, 411, 2541, 2547, 2548, 3335, 3976, 3992, 4026, 4108, 4596, 4822,
5077, 5461, 5805, 5993, 6884, 6907, 9739, 9902, 10110, 10135, 10140,
10210, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527,
13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553,
13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13738,
13786
5077, 5461, 5805, 5993, 6884, 6907, 6911, 9739, 9902, 10110, 10135, 10140,
10210, 10545, 10716, 11174, 11322, 11365, 11494, 12047, 13058, 13525,
13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551,
13552, 13553, 13555, 13559, 13566, 13583, 13618, 13637, 13656, 13673,
13695, 13704, 13706, 13726, 13738, 13786, 13792, 13806, 13840, 13841
* ISO C11 support:

14
aclocal.m4 vendored
View File

@ -113,3 +113,17 @@ AC_CACHE_CHECK(whether $LD is GNU ld, libc_cv_prog_ld_gnu,
[LIBC_PROG_FOO_GNU($LD, libc_cv_prog_ld_gnu=yes, libc_cv_prog_ld_gnu=no)])
gnu_ld=$libc_cv_prog_ld_gnu
])
dnl Run a static link test with -nostdlib -nostartfiles.
dnl LIBC_TRY_LINK_STATIC([code], [action-if-true], [action-if-false])
AC_DEFUN([LIBC_TRY_LINK_STATIC],
[cat > conftest.c <<EOF
int _start (void) { return 0; }
int __start (void) { return 0; }
$1
EOF
AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
conftest.c -static -nostartfiles -nostdlib
1>&AS_MESSAGE_LOG_FD])],
[$2], [$3])
rm -f conftest*])

View File

@ -1,4 +1,5 @@
# Copyright (C) 1997,2002,2003,2006,2007,2010 Free Software Foundation, Inc.
# Copyright (C) 1997,2002,2003,2006,2007,2010,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -21,7 +22,6 @@
subdir := argp
headers = argp.h
distribute = argp-fmtstream.h argp-namefrob.h
routines = $(addprefix argp-, ba fmtstream fs-xinl help parse pv \
pvh xinl eexst)

View File

@ -1,4 +1,4 @@
# Copyright (C) 1996-2000, 2002, 2003, 2004 Free Software Foundation, Inc.
# Copyright (C) 1996-2000, 2002-2004, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -21,8 +21,6 @@
subdir := catgets
headers = nl_types.h
distribute = catgetsinfo.h config.h xopen-msg.sed test1.msg test2.msg \
test-gencat.sh sample.SJIS
routines = catgets open_catalog
others = gencat
install-bin = gencat

41
configure vendored
View File

@ -5999,17 +5999,19 @@ else
cat > conftest.c <<EOF
int _start (void) { return 0; }
int __start (void) { return 0; }
int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
-static -nostartfiles -nostdlib 1>&5'
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
conftest.c -static -nostartfiles -nostdlib
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then
test $ac_status = 0; }; }; then :
if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
libc_cv_initfini_array=yes
else
@ -6019,6 +6021,7 @@ else
libc_cv_initfini_array=no
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5
$as_echo "$libc_cv_initfini_array" >&6; }
@ -6032,21 +6035,22 @@ if ${libc_cv_ctors_header+:} false; then :
$as_echo_n "(cached) " >&6
else
libc_cv_ctors_header=yes
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
cat > conftest.c <<EOF
int _start (void) { return 0; }
int __start (void) { return 0; }
int
main ()
{
__attribute__ ((constructor)) void ctor (void) { asm (""); }
__attribute__ ((destructor)) void dtor (void) { asm (""); }
__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
EOF
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
conftest.c -static -nostartfiles -nostdlib
1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
if $READELF -WS conftest$ac_exeext | $AWK '
{ gsub(/\[ */, "[") }
$2 == ".ctors" || $2 == ".dtors" {
@ -6068,8 +6072,7 @@ else
as_fn_error $? "missing __attribute__ ((constructor)) support??" "$LINENO" 5
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5

View File

@ -1349,24 +1349,17 @@ fi
AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
libc_cv_initfini_array, [dnl
cat > conftest.c <<EOF
int _start (void) { return 0; }
int __start (void) { return 0; }
LIBC_TRY_LINK_STATIC([
int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
EOF
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
-static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
then
if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
],
[if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
libc_cv_initfini_array=yes
else
libc_cv_initfini_array=no
fi
else
libc_cv_initfini_array=no
fi
rm -f conftest*])
fi],
[libc_cv_initfini_array=no])
])
if test $libc_cv_initfini_array != yes; then
AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
fi
@ -1374,9 +1367,9 @@ fi
AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
libc_cv_ctors_header, [dnl
libc_cv_ctors_header=yes
AC_TRY_LINK([], [
__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
LIBC_TRY_LINK_STATIC([
__attribute__ ((constructor)) void ctor (void) { asm (""); }
__attribute__ ((destructor)) void dtor (void) { asm (""); }
],
[dnl
AS_IF([$READELF -WS conftest$ac_exeext | $AWK '

View File

@ -20,9 +20,6 @@
#
subdir := conform
distribute = conformtest.pl $(wildcard data/*.h-data) \
$(wildcard data/*/*.h-data)
include ../Rules
ifneq (yes,$(fast-check))

View File

@ -1,4 +1,4 @@
# Copyright (C) 1996, 2000, 2001, 2007, 2009 Free Software Foundation, Inc.
# Copyright (C) 1996,2000,2001,2007,2009,2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -30,9 +30,6 @@ libcrypt-routines := crypt-entry md5-crypt sha256-crypt sha512-crypt crypt \
tests := cert md5c-test sha256c-test sha512c-test
distribute := ufc-crypt.h crypt-private.h ufc.c speeds.c README.ufc-crypt \
Banner md5.h sha256.h sha512.h
include ../Makeconfig
ifeq ($(crypt-in-libc),yes)

View File

@ -37,8 +37,6 @@ omit-deps = $(patsubst %.o,%,$(start-installed-name) g$(start-installed-name) \
b$(start-installed-name) $(csu-dummies) \
S$(start-installed-name))
install-lib = $(start-installed-name) g$(start-installed-name) $(csu-dummies)
distribute = gmon-start.c start.c \
abi-note.S init.c c not-cancel.h
generated = version-info.h
before-compile = $(objpfx)version-info.h

View File

@ -21,7 +21,6 @@
subdir := debug
headers := execinfo.h
distribute = sigcontextinfo.h register-dump.h frame.h
routines = backtrace backtracesyms backtracesymsfd noophooks \
memcpy_chk memmove_chk mempcpy_chk memset_chk stpcpy_chk \
@ -138,7 +137,6 @@ install-bin-script = xtrace
include ../Makeconfig
distribute += catchsegv.sh xtrace.sh
ifeq ($(build-shared),yes)
install-bin-script += catchsegv
endif

View File

@ -1,4 +1,5 @@
# Copyright (C) 1991-2000,2002,2003,2005,2006,2011 Free Software Foundation, Inc.
# Copyright (C) 1991-2000,2002,2003,2005,2006,2011,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -26,7 +27,6 @@ routines := opendir closedir readdir readdir_r rewinddir \
getdents getdents64 dirfd readdir64 readdir64_r scandir64 \
alphasort64 versionsort64 fdopendir \
scandirat scandirat64
distribute := dirstream.h
tests := list tst-seekdir opendir-tst1 bug-readdir1 tst-fdopendir \
tst-fdopendir2

View File

@ -22,12 +22,6 @@ libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr dladdr1 dlinfo \
dlmopen dlfcn
routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
elide-routines.os := $(routines)
distribute := dlopenold.c glreflib1.c glreflib2.c glreflib3.c \
failtestmod.c \
defaultmod1.c defaultmod2.c errmsg1mod.c modatexit.c \
modcxaatexit.c modstatic.c modstatic2.c \
bug-dlsym1-lib1.c bug-dlsym1-lib2.c bug-atexit1-lib.c \
bug-atexit2-lib.c
extra-libs-others := libdl

View File

@ -41,91 +41,6 @@ shared-only-routines += dl-caller
rtld-routines := rtld $(dl-routines) dl-sysdep dl-environ dl-minimal
all-rtld-routines = $(rtld-routines) $(sysdep-rtld-routines)
distribute := rtld-Rules \
$(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
dl-cache.h dl-hash.h soinit.c sofini.c ldd.bash.in \
genrtldtbl.awk atomicity.h dl-procinfo.h ldsodefs.h \
dl-librecon.h interp.c sln.c dl-dst.h hp-timing.h \
dl-lookupcfg.h sprof.c gen-trusted-dirs.awk \
testobj1.c testobj2.c testobj3.c testobj4.c testobj5.c \
testobj6.c testobj1_1.c failobj.c unloadmod.c \
ldconfig.h ldconfig.c cache.c readlib.c readelflib.c \
chroot_canon.c gccframe.h \
dep1.c dep2.c dep3.c dep4.c dl-dtprocnum.h unsecvars.h \
vismain.c vismod1.c vismod2.c vismod3.c \
constload2.c constload3.c filtmod1.c filtmod2.c \
nodlopenmod.c nodelete.c nodelmod1.c nodelmod2.c \
nodelmod3.c nodelmod4.c nodlopen.c dl-osinfo.h \
reldepmod1.c reldepmod2.c reldepmod3.c reldepmod4.c \
reldepmod5.c reldepmod6.c \
reldep4mod1.c reldep4mod2.c reldep4mod3.c reldep4mod4.c \
nextmod1.c nextmod2.c pathoptobj.c tst-pathopt.sh \
neededobj1.c neededobj2.c neededobj3.c neededobj4.c \
neededobj5.c neededobj6.c firstobj.c \
unload2mod.c unload2dep.c ltglobmod1.c ltglobmod2.c \
testobj.h vismod.h globalmod1.c \
dblloadmod1.c dblloadmod2.c dblloadmod3.c \
reldep6mod4.c reldep6mod3.c reldep6mod2.c reldep6mod1.c \
reldep6mod0.c reldep7mod1.c reldep7mod2.c \
unwind-dw2.c unwind-dw2-fde.c unwind.h unwind-pe.h \
unwind-dw2-fde.h dwarf2.h dl-procinfo.c tls.h dl-tls.h \
tst-tlsmod1.c tst-tlsmod2.c tst-tlsmod3.c tst-tlsmod4.c \
tst-tlsmod5.c tst-tlsmod6.c tst-tlsmod7.c tst-tlsmod8.c \
tst-tlsmod9.c tst-tlsmod10.c tst-tlsmod11.c \
tst-tlsmod12.c tst-tls10.h tst-alignmod.c tst-alignmod2.c \
circlemod1.c circlemod1a.c circlemod2.c circlemod2a.c \
circlemod3.c circlemod3a.c nodlopenmod2.c \
tst-tls19mod1.c tst-tls19mod2.c tst-tls19mod3.c \
tls-macros.h \
reldep8mod1.c reldep8mod2.c reldep8mod3.c \
nodel2mod1.c nodel2mod2.c nodel2mod3.c \
reldep9.c reldep9mod1.c reldep9mod2.c reldep9mod3.c \
tst-array1.exp tst-array2.exp tst-array4.exp \
tst-array2dep.c tst-piemod1.c \
tst-execstack-mod.c tst-dlmodcount.c \
check-textrel.c dl-sysdep.h test-dlopenrpathmod.c \
tst-deep1mod1.c tst-deep1mod2.c tst-deep1mod3.c \
unload3mod1.c unload3mod2.c unload3mod3.c unload3mod4.c \
unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \
unload6mod1.c unload6mod2.c unload6mod3.c \
unload7mod1.c unload7mod2.c \
unload8mod1.c unload8mod1x.c unload8mod2.c unload8mod3.c \
tst-audit1.c tst-audit2.c tst-audit3.c tst-audit4.c \
tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \
tst-auditmod4a.c tst-auditmod4b.c \
tst-audit5.c tst-auditmod5a.c tst-auditmod5b.c \
tst-audit6.c tst-auditmod6a.c tst-auditmod6b.c \
tst-auditmod6c.c \
tst-audit7.c tst-auditmod7a.c tst-auditmod7b.c \
order2mod1.c order2mod2.c order2mod3.c order2mod4.c \
tst-stackguard1.c tst-stackguard1-static.c \
tst-array5.c tst-array5-static.c tst-array5dep.c \
tst-array5.exp tst-leaks1.c check-execstack.c \
ifuncmain1.c ifuncmain1pic.c ifuncmain1vis.c \
ifuncmain1vispic.c ifuncmain1static.c \
ifuncmain1staticpic.c ifuncmain1picstatic.c \
ifuncdep1.c ifuncdep1pic.c ifuncmod1.c \
ifuncmain1pie.c ifuncmain1vispie.c \
ifuncmain1staticpie.c \
ifuncmain2.c ifuncmain2static.c ifuncdep2.c \
ifuncmain2pic.c ifuncmain2picstatic.c ifuncdep2pic.c \
ifuncmain3.c ifuncmod3.c \
ifuncmain4.c ifuncmain4static.c ifuncmain4picstatic.c \
ifuncmain5.c ifuncmain5pic.c ifuncmain5picstatic.c \
ifuncmain5pie.c ifuncmain5static.c \
ifuncmain5staticpic.c \
ifuncdep5.c ifuncdep5pic.c ifuncmod5.c \
ifuncmain6pie.c ifuncmod6.c \
ifuncmain7.c ifuncmain7pic.c ifuncmain7picstatic.c \
ifuncmain7pie.c ifuncmain7static.c \
tst-unique1.c tst-unique1mod1.c tst-unique1mod2.c \
tst-unique2.c tst-unique2mod1.c tst-unique2mod2.c \
tst-initordera1.c tst-initordera2.c tst-initorderb1.c \
tst-initorderb2.c tst-initordera3.c tst-initordera4.c \
tst-initorder.c \
tst-initorder2.c \
tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c
CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-dl-iterate-phdr.c = $(uses-callbacks)

View File

@ -1,5 +1,5 @@
/* Trace calls through PLTs and show caller, callee, and parameters.
Copyright (C) 2011 Free Software Foundation, Inc.
Copyright (C) 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
@ -288,6 +288,40 @@ la_x86_64_gnu_pltenter (Elf64_Sym *sym __attribute__ ((unused)),
return sym->st_value;
}
#elif defined __sparc__ && !defined __arch64__
Elf32_Addr
la_sparc32_gnu_pltenter (Elf32_Sym *sym __attribute__ ((unused)),
unsigned int ndx __attribute__ ((unused)),
uintptr_t *refcook, uintptr_t *defcook,
La_sparc32_regs *regs, unsigned int *flags,
const char *symname, long int *framesizep)
{
print_enter (refcook, defcook, symname,
regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2],
*flags);
/* No need to copy anything, we will not need the parameters in any case. */
*framesizep = 0;
return sym->st_value;
}
#elif defined __sparc__ && defined __arch64__
Elf64_Addr
la_sparc64_gnu_pltenter (Elf64_Sym *sym __attribute__ ((unused)),
unsigned int ndx __attribute__ ((unused)),
uintptr_t *refcook, uintptr_t *defcook,
La_sparc64_regs *regs, unsigned int *flags,
const char *symname, long int *framesizep)
{
print_enter (refcook, defcook, symname,
regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2],
*flags);
/* No need to copy anything, we will not need the parameters in any case. */
*framesizep = 0;
return sym->st_value;
}
#elif !defined HAVE_ARCH_PLTENTER
# warning "pltenter for architecture not supported"
#endif
@ -302,7 +336,7 @@ print_exit (uintptr_t *refcook, uintptr_t *defcook, const char *symname,
if (print_pid)
snprintf (buf, sizeof (buf), "%5ld: ", (long int) getpid ());
fprintf (out_file, "%s%15s -> %-15s:%s%s - 0x%lu\n",
fprintf (out_file, "%s%15s -> %-15s:%s%s - 0x%lx\n",
buf, (char *) *refcook, (char *) *defcook, " ", symname, reg);
}
@ -327,6 +361,26 @@ la_x86_64_gnu_pltexit (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
return 0;
}
#elif defined __sparc__ && !defined __arch64__
unsigned int
la_sparc32_gnu_pltexit (Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,
uintptr_t *defcook, const struct La_sparc32_regs *inregs,
struct La_sparc32_retval *outregs, const char *symname)
{
print_exit (refcook, defcook, symname, outregs->lrv_reg[0]);
return 0;
}
#elif defined __sparc__ && defined __arch64__
unsigned int
la_sparc64_gnu_pltexit (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
uintptr_t *defcook, const struct La_sparc64_regs *inregs,
struct La_sparc64_retval *outregs, const char *symname)
{
print_exit (refcook, defcook, symname, outregs->lrv_reg[0]);
return 0;
}
#elif !defined HAVE_ARCH_PLTEXIT
# warning "pltexit for architecture not supported"
#endif

View File

@ -1,4 +1,4 @@
# Copyright (C) 1995,1996,1997,2001,2002,2005 Free Software Foundation, Inc.
# Copyright (C) 1995-1997,2001,2002,2005,2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -21,7 +21,6 @@
subdir := gmon
headers := sys/gmon.h sys/gmon_out.h sys/profil.h
distribute := machine-gmon.h profil-counter.h
routines := gmon mcount profil sprofil bb_init_func bb_exit_func prof-freq
elide-routines.os = bb_init_func bb_exit_func

View File

@ -1,4 +1,5 @@
# Copyright (C) 1991,1992,1996-2000,2003,2004 Free Software Foundation, Inc.
# Copyright (C) 1991,1992,1996-2000,2003,2004,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -21,8 +22,6 @@
subdir := grp
headers := grp.h
distribute := tst_fgetgrent.c tst_fgetgrent.sh compat-initgroups.c
routines := fgetgrent initgroups setgroups \
getgrent getgrgid getgrnam putgrent \
getgrent_r getgrgid_r getgrnam_r fgetgrent_r

View File

@ -1,4 +1,4 @@
# Copyright (C) 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
# Copyright (C) 1997, 1998, 2000, 2001, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -20,8 +20,6 @@
#
subdir := hesiod
distribute := hesiod.h hesiod_p.h README.hesiod nss_hesiod/nss_hesiod.h
extra-libs := libnss_hesiod
extra-libs-others = $(extra-libs)
@ -29,7 +27,7 @@ subdir-dirs = nss_hesiod
vpath %.c nss_hesiod
libnss_hesiod-routines := hesiod hesiod-grp hesiod-init hesiod-proto \
hesiod-pwd hesiod-service
hesiod-pwd hesiod-service
# Build only shared library
libnss_hesiod-inhibit-o = $(filter-out .os,$(object-suffixes))
@ -41,6 +39,6 @@ include ../Rules
# The Hesiod NSS modules also needs the resolver and some help from
# the file service.
$(objpfx)libnss_hesiod.so: $(common-objpfx)resolv/libresolv.so \
$(common-objpfx)nss/libnss_files.so \
$(common-objpfx)libc.so \
$(common-objpfx)nss/libnss_files.so \
$(common-objpfx)libc.so \
$(common-objpfx)libc_nonshared.a

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991,92,93,94,95,96,97,98,99,2001,2002,2004,2006
# Copyright (C) 1991,92,93,94,95,96,97,98,99,2001,2002,2004,2006,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
@ -29,7 +29,7 @@ headers = hurd.h $(interface-headers) \
userlink.h resource.h threadvar.h lookup.h)
inline-headers = hurd.h $(addprefix hurd/,fd.h signal.h \
userlink.h threadvar.h port.h)
userlink.h threadvar.h port.h)
# The RPC interfaces go in a separate library.
interface-library := libhurduser
@ -67,12 +67,9 @@ dtable = dtable port2fd new-fd alloc-fd intern-fd \
getdport openport \
fd-close fd-read fd-write hurdioctl ctty-input ctty-output
inlines = $(inline-headers:%.h=%-inlines)
distribute = hurdstartup.h hurdfault.h hurdhost.h \
faultexc.defs intr-rpc.defs intr-rpc.h intr-msg.h Notes
# XXX this is a temporary hack; see hurdmalloc.h
routines += hurdmalloc
distribute += hurdmalloc.h
# Binary compatibility for libc.so.0.2[GLIBC_2.0].
ifeq ($(versioning),yes)

View File

@ -45,10 +45,6 @@ CFLAGS-simple-hash.c = -I../locale
tests = tst-iconv1 tst-iconv2 tst-iconv3 tst-iconv4 tst-iconv5
distribute = gconv_builtin.h gconv_int.h loop.c skeleton.c iconv_prog.h \
iconv_charmap.c dummy-repertoire.c gconv_charset.h strtab.c \
iconvconfig.h
others = iconv_prog iconvconfig
install-others-programs = $(inst_bindir)/iconv
install-sbin = iconvconfig

View File

@ -1,4 +1,4 @@
# Copyright (C) 1997-2008, 2011 Free Software Foundation, Inc.
# Copyright (C) 1997-2008, 2011, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -127,83 +127,6 @@ LDFLAGS-libCNS.so = $(LDFLAGS-soname-fname)
LDFLAGS-libISOIR165.so = $(LDFLAGS-soname-fname)
LDFLAGS-libJISX0213.so = $(LDFLAGS-soname-fname)
distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map \
gen-8bit.sh gen-8bit-gap.sh gen-8bit-gap-1.sh \
TESTS $(wildcard testdata/*) \
TESTS2 run-iconv-test.sh tst-tables.sh tst-table.sh \
tst-table-charmap.sh tst-table-from.c tst-table-to.c \
EUC-JP.irreversible ISIRI-3342.irreversible SJIS.irreversible \
EUC-KR.irreversible BIG5HKSCS.irreversible BIG5.irreversible \
CP1255.irreversible CP1258.irreversible EUC-TW.irreversible \
IBM856.irreversible IBM922.irreversible IBM1132.irreversible \
IBM1133.irreversible IBM1160.irreversible IBM1161.irreversible\
IBM1163.irreversible IBM1164.irreversible \
ARMSCII-8.irreversible TCVN5712-1.precomposed \
JISX0213.TXT EUC-JISX0213.precomposed \
SHIFT_JISX0213.precomposed SHIFT_JISX0213.irreversible \
TSCII.irreversible TSCII.precomposed \
8bit-generic.c 8bit-gap.c \
ansi_x3.110.c asmo_449.c big5.c cp737.c cp737.h \
cp775.c cp775.h ibm874.c cns11643.c cns11643.h \
cns11643l1.c cns11643l1.h cp1125.c cp1250.c cp1251.c cp1252.c \
cp1253.c cp1254.c cp1255.c cp1256.c cp1257.c cp1258.c \
csn_369103.c cwi.c dec-mcs.c ebcdic-at-de.c ebcdic-at-de-a.c \
ebcdic-ca-fr.c ebcdic-dk-no.c ebcdic-dk-no-a.c ebcdic-es.c \
ebcdic-es-a.c ebcdic-es-s.c ebcdic-fr.c ebcdic-fi-se.c \
ebcdic-fi-se-a.c ebcdic-is-friss.c ebcdic-it.c ebcdic-pt.c \
ebcdic-uk.c ebcdic-us.c ecma-cyrillic.c euc-cn.c euc-jp.c \
euc-kr.c euc-tw.c gb2312.c gb2312.h gbk.c gost_19768-74.c \
greek-ccitt.c greek7.c greek7-old.c hp-roman8.c ibm037.c \
ibm038.c ibm256.c ibm273.c ibm274.c ibm275.c ibm277.c \
ibm278.c ibm280.c ibm281.c ibm284.c ibm285.c ibm290.c \
ibm297.c ibm420.c ibm423.c ibm424.c ibm437.c ibm500.c \
ibm850.c ibm851.c ibm852.c ibm855.c ibm857.c ibm860.c \
ibm861.c ibm862.c ibm863.c ibm864.c ibm865.c ibm866.c \
ibm868.c ibm869.c ibm870.c ibm871.c ibm875.c ibm880.c \
ibm891.c ibm903.c ibm904.c ibm905.c ibm918.c ibm1004.c \
ibm856.c ibm930.c ibm933.c ibm935.c ibm937.c ibm939.c ibm1046.c \
ibm856.h ibm930.h ibm933.h ibm935.h ibm937.h ibm939.h ibm1046.h \
ibm922.c ibm922.h ibm1124.c ibm1124.h ibm1129.c ibm1129.h \
ibm1132.c ibm1132.h ibm1133.c ibm1133.h ibm1162.c ibm1162.h \
ibm1026.c ibm1047.c iec_p27-1.c inis.c inis-8.c viscii.c \
inis-cyrillic.c iso-2022-jp.c iso-2022-kr.c iso646.c \
iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c \
iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c \
iso8859-11.c iso8859-13.c iso8859-14.c iso8859-9e.c \
iso8859-15.c iso_2033.c iso_5427-ext.c iso_5427.c iso_5428.c \
iso_6937.c iso_6937-2.c iso_10367-box.c jis0201.c jis0201.h \
jis0208.c jis0208.h jis0212.c jis0212.h johab.c koi-8.c \
koi8-r.c ksc5601.c ksc5601.h latin-greek.c latin-greek-1.c \
macintosh.c mac-is.c mac-uk.c nats-dano.c nats-sefi.c sjis.c \
t.61.c uhc.c sami-ws2.c iso-ir-197.c tis-620.c koi8-u.c \
isiri-3342.c isiri-3342.h gbgbk.c iso-2022-cn.c cns11643l2.h \
iso8859-16.c utf-16.c unicode.c utf-32.c utf-7.c big5hkscs.c \
iso-ir-165.c iso-ir-165.h gb18030.c iso-2022-cn-ext.c \
ibm932.c ibm932.h ibm943.c ibm943.h gbbig5.c cp10007.c \
koi8-t.c georgian-ps.c georgian-academy.c iso-ir-209.c \
mac-sami.c ibm1160.c ibm1160.h ibm1161.c ibm1161.h \
ibm1163.c ibm1163.h ibm1164.c ibm1164.h jisx0213.c jisx0213.h \
euc-jisx0213.c shift_jisx0213.c iso-2022-jp-3.c \
tcvn5712-1.c armscii-8.c tscii.c ibm866nav.c pt154.c rk1048.c \
ibm1025.c ibm1025.h ibm1122.c ibm1122.h ibm1137.c ibm1137.h \
ibm1153.c ibm1153.h ibm1154.c ibm1154.h ibm1155.c ibm1155.h \
ibm1156.c ibm1156.h ibm1157.c ibm1157.h ibm1158.c ibm1158.h \
ibm803.c ibm803.h ibm901.c ibm901.h ibm902.c ibm902.h \
ibm921.c ibm921.h ibm1008.c ibm1008.h ibm1008_420.c \
ibm1097.c ibm1097.h ibm1112.c ibm1112.h ibm1123.c ibm1123.h \
ibm1130.c ibm1130.h ibm1140.c ibm1140.h ibm1141.c ibm1141.h \
ibm1142.c ibm1142.h ibm1143.c ibm1143.h ibm1144.c ibm1144.h \
ibm1145.c ibm1145.h ibm1146.c ibm1146.h ibm1147.c ibm1147.h \
ibm1148.c ibm1148.h ibm1149.c ibm1149.h ibm1166.c ibm1166.h \
ibm1167.c ibm1167.h ibm4517.c ibm4517.h ibm4899.c ibm4899.h \
ibm4909.c ibm4909.h ibm4971.c ibm4971.h ibm5347.c ibm5347.h \
ibm9030.c ibm9030.h ibm9066.c ibm9066.h ibm9448.c ibm9448.h \
ibm12712.c ibm12712.h ibm16804.c ibm16804.h \
ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h \
ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c mik.c \
brf.c mac-centraleurope.c hp-roman9.c hp-turkish8.c \
hp-thai8.c hp-greek8.c cp770.c cp771.c cp772.c cp773.c cp774.c
# We build the transformation modules only when we build shared libs.
ifeq (yes,$(build-shared))

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991-2006, 2007, 2009, 2011 Free Software Foundation, Inc.
# Copyright (C) 1991-2007, 2009, 2011, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -25,8 +25,6 @@ headers := netinet/ether.h netinet/in.h netinet/in_systm.h \
netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \
aliases.h ifaddrs.h netinet/ip6.h netinet/icmp6.h bits/in.h
distribute := netgroup.h
routines := htonl htons \
inet_lnaof inet_mkadr \
inet_netof inet_ntoa inet_net herrno herrno-loc \

View File

@ -1,4 +1,4 @@
# Copyright (C) 1995-2003, 2005, 2008, 2011 Free Software Foundation, Inc.
# Copyright (C) 1995-2003,2005,2008,2011,2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -23,15 +23,6 @@ routines = bindtextdom dcgettext dgettext gettext \
dcigettext dcngettext dngettext ngettext \
finddomain loadmsgcat localealias textdomain
aux = l10nflist explodename plural plural-exp hash-string
distribute = gmo.h gettextP.h hash-string.h loadinfo.h locale.alias \
plural.y plural-exp.h plural-eval.c po2test.sed \
tst-gettext.sh \
tst-translit.sh translit.po \
tst-gettext2.sh tstlang1.po tstlang2.po \
tst-codeset.sh tstcodeset.po \
tst-gettext3.sh \
tst-gettext4.sh tst-gettext4-de.po tst-gettext4-fr.po \
tst-gettext5.sh tst-gettext6.sh
include ../Makeconfig

View File

@ -1,9 +1,8 @@
/* A Bison parser, made by GNU Bison 2.4.3. */
/* A Bison parser, made by GNU Bison 2.5. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
/* Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2009, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -45,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "2.4.3"
#define YYBISON_VERSION "2.5"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@ -74,7 +73,7 @@
/* Copy the first part of user declarations. */
/* Line 189 of yacc.c */
/* Line 268 of yacc.c */
#line 1 "plural.y"
/* Expression parsing for plural form selection.
@ -93,9 +92,8 @@
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. */
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* The bison generated parser uses alloca. AIX 3 forces us to put this
declaration at the beginning of the file. The declaration in bison's
@ -123,8 +121,8 @@
#define YYPARSE_PARAM arg
/* Line 189 of yacc.c */
#line 128 "plural.c"
/* Line 268 of yacc.c */
#line 126 "plural.c"
/* Enabling traces. */
#ifndef YYDEBUG
@ -158,6 +156,13 @@
NUMBER = 262
};
#endif
/* Tokens. */
#define EQUOP2 258
#define CMPOP2 259
#define ADDOP2 260
#define MULOP2 261
#define NUMBER 262
@ -165,8 +170,8 @@
typedef union YYSTYPE
{
/* Line 214 of yacc.c */
#line 50 "plural.y"
/* Line 293 of yacc.c */
#line 49 "plural.y"
unsigned long int num;
enum operator op;
@ -174,8 +179,8 @@ typedef union YYSTYPE
/* Line 214 of yacc.c */
#line 179 "plural.c"
/* Line 293 of yacc.c */
#line 184 "plural.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@ -185,8 +190,8 @@ typedef union YYSTYPE
/* Copy the second part of user declarations. */
/* Line 264 of yacc.c */
#line 56 "plural.y"
/* Line 343 of yacc.c */
#line 55 "plural.y"
/* Prototypes for local functions. */
static struct expression *new_exp PARAMS ((int nargs, enum operator op,
@ -286,8 +291,8 @@ new_exp_3 (op, bexp, tbranch, fbranch)
/* Line 264 of yacc.c */
#line 291 "plural.c"
/* Line 343 of yacc.c */
#line 296 "plural.c"
#ifdef short
# undef short
@ -390,11 +395,11 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef _STDLIB_H
# define _STDLIB_H 1
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
# endif
# endif
# endif
@ -417,24 +422,24 @@ YYID (yyi)
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
# if (defined __cplusplus && ! defined _STDLIB_H \
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef _STDLIB_H
# define _STDLIB_H 1
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
@ -463,23 +468,7 @@ union yyalloc
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(To, From, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
# else
# define YYCOPY(To, From, Count) \
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
while (YYID (0))
# endif
# endif
# define YYCOPY_NEEDED 1
/* Relocate STACK from its old location to the new one. The
local variables YYSIZE and YYSTACKSIZE give the old and new number of
@ -499,6 +488,26 @@ union yyalloc
#endif
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(To, From, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
# else
# define YYCOPY(To, From, Count) \
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
while (YYID (0))
# endif
# endif
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 9
/* YYLAST -- Last index in YYTABLE. */
@ -574,8 +583,8 @@ static const yytype_int8 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint8 yyrline[] =
{
0, 175, 175, 183, 187, 191, 195, 199, 203, 207,
211, 215, 219, 224
0, 174, 174, 182, 186, 190, 194, 198, 202, 206,
210, 214, 218, 223
};
#endif
@ -614,8 +623,8 @@ static const yytype_uint8 yyr2[] =
2, 1, 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
@ -648,8 +657,7 @@ static const yytype_int8 yypgoto[] =
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
number is the opposite. If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -1
static const yytype_uint8 yytable[] =
{
@ -661,6 +669,12 @@ static const yytype_uint8 yytable[] =
16, 13, 14, 15, 16
};
#define yypact_value_is_default(yystate) \
((yystate) == (-10))
#define yytable_value_is_error(yytable_value) \
YYID (0)
static const yytype_int8 yycheck[] =
{
1, 10, 11, 4, 13, 14, 8, 9, 0, 10,
@ -713,7 +727,6 @@ do \
{ \
yychar = (Token); \
yylval = (Value); \
yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK (1); \
goto yybackup; \
} \
@ -755,19 +768,10 @@ while (YYID (0))
#endif
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
/* This macro is provided for backward compatibility. */
#ifndef YY_LOCATION_PRINT
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
(Loc).last_line, (Loc).last_column)
# else
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
@ -959,7 +963,6 @@ int yydebug;
# define YYMAXDEPTH 10000
#endif
#if YYERROR_VERBOSE
@ -1062,115 +1065,142 @@ yytnamerr (char *yyres, const char *yystr)
}
# endif
/* Copy into YYRESULT an error message about the unexpected token
YYCHAR while in state YYSTATE. Return the number of bytes copied,
including the terminating null byte. If YYRESULT is null, do not
copy anything; just return the number of bytes that would be
copied. As a special case, return 0 if an ordinary "syntax error"
message will do. Return YYSIZE_MAXIMUM if overflow occurs during
size calculation. */
static YYSIZE_T
yysyntax_error (char *yyresult, int yystate, int yychar)
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
about the unexpected token YYTOKEN for the state stack whose top is
YYSSP.
Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
not large enough to hold the message. In that case, also set
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
required number of bytes is too large to store. */
static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
int yyn = yypact[yystate];
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
YYSIZE_T yysize1;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = 0;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
"expected"). */
int yycount = 0;
if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
return 0;
else
/* There are many possibilities here to consider:
- Assume YYFAIL is not used. It's too flawed to consider. See
<http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
for details. YYERROR is fine as it does not invoke this
function.
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
tokens because there are none.
- The only way there can be no lookahead present (in yychar) is if
this state is a consistent state with a default action. Thus,
detecting the absence of a lookahead is sufficient to determine
that there is no unexpected or expected token to report. In that
case, just report a simple "syntax error".
- Don't assume there isn't a lookahead just because this state is a
consistent state with a default action. There might have been a
previous inconsistent state, consistent state with a non-default
action, or user semantic action that manipulated yychar.
- Of course, the expected token list depends on states to have
correct lookahead information, and it depends on the parser not
to perform extra reductions after fetching a lookahead from the
scanner and before detecting a syntax error. Thus, state merging
(from LALR or IELR) and default reductions corrupt the expected
token list. However, the list is correct for canonical LR with
one exception: it will still contain any token that will not be
accepted due to an error action in a later state.
*/
if (yytoken != YYEMPTY)
{
int yytype = YYTRANSLATE (yychar);
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
YYSIZE_T yysize = yysize0;
YYSIZE_T yysize1;
int yysize_overflow = 0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
int yyx;
int yyn = yypact[*yyssp];
yyarg[yycount++] = yytname[yytoken];
if (!yypact_value_is_default (yyn))
{
/* Start YYX at -YYN if negative to avoid negative indexes in
YYCHECK. In other words, skip the first -YYN actions for
this state because they are default actions. */
int yyxbegin = yyn < 0 ? -yyn : 0;
/* Stay within bounds of both yycheck and yytname. */
int yychecklim = YYLAST - yyn + 1;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yyx;
# if 0
/* This is so xgettext sees the translatable formats that are
constructed on the fly. */
YY_("syntax error, unexpected %s");
YY_("syntax error, unexpected %s, expecting %s");
YY_("syntax error, unexpected %s, expecting %s or %s");
YY_("syntax error, unexpected %s, expecting %s or %s or %s");
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
# endif
char *yyfmt;
char const *yyf;
static char const yyunexpected[] = "syntax error, unexpected %s";
static char const yyexpecting[] = ", expecting %s";
static char const yyor[] = " or %s";
char yyformat[sizeof yyunexpected
+ sizeof yyexpecting - 1
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
* (sizeof yyor - 1))];
char const *yyprefix = yyexpecting;
/* Start YYX at -YYN if negative to avoid negative indexes in
YYCHECK. */
int yyxbegin = yyn < 0 ? -yyn : 0;
/* Stay within bounds of both yycheck and yytname. */
int yychecklim = YYLAST - yyn + 1;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yycount = 1;
yyarg[0] = yytname[yytype];
yyfmt = yystpcpy (yyformat, yyunexpected);
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
{
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
{
yycount = 1;
yysize = yysize0;
yyformat[sizeof yyunexpected - 1] = '\0';
break;
}
yyarg[yycount++] = yytname[yyx];
yysize1 = yysize + yytnamerr (0, yytname[yyx]);
yysize_overflow |= (yysize1 < yysize);
yysize = yysize1;
yyfmt = yystpcpy (yyfmt, yyprefix);
yyprefix = yyor;
}
yyf = YY_(yyformat);
yysize1 = yysize + yystrlen (yyf);
yysize_overflow |= (yysize1 < yysize);
yysize = yysize1;
if (yysize_overflow)
return YYSIZE_MAXIMUM;
if (yyresult)
{
/* Avoid sprintf, as that infringes on the user's name space.
Don't have undefined behavior even if the translation
produced a string with the wrong number of "%s"s. */
char *yyp = yyresult;
int yyi = 0;
while ((*yyp = *yyf) != '\0')
{
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
{
yyp += yytnamerr (yyp, yyarg[yyi++]);
yyf += 2;
}
else
{
yyp++;
yyf++;
}
}
}
return yysize;
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
&& !yytable_value_is_error (yytable[yyx + yyn]))
{
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
{
yycount = 1;
yysize = yysize0;
break;
}
yyarg[yycount++] = yytname[yyx];
yysize1 = yysize + yytnamerr (0, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
yysize = yysize1;
}
}
}
switch (yycount)
{
# define YYCASE_(N, S) \
case N: \
yyformat = S; \
break
YYCASE_(0, YY_("syntax error"));
YYCASE_(1, YY_("syntax error, unexpected %s"));
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
# undef YYCASE_
}
yysize1 = yysize + yystrlen (yyformat);
if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
yysize = yysize1;
if (*yymsg_alloc < yysize)
{
*yymsg_alloc = 2 * yysize;
if (! (yysize <= *yymsg_alloc
&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
return 1;
}
/* Avoid sprintf, as that infringes on the user's name space.
Don't have undefined behavior even if the translation
produced a string with the wrong number of "%s"s. */
{
char *yyp = *yymsg;
int yyi = 0;
while ((*yyp = *yyformat) != '\0')
if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
{
yyp += yytnamerr (yyp, yyarg[yyi++]);
yyformat += 2;
}
else
{
yyp++;
yyformat++;
}
}
return 0;
}
#endif /* YYERROR_VERBOSE */
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
@ -1203,6 +1233,7 @@ yydestruct (yymsg, yytype, yyvaluep)
}
}
/* Prevent warnings from -Wmissing-prototypes. */
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
@ -1219,12 +1250,9 @@ int yyparse ();
#endif /* ! YYPARSE_PARAM */
/*-------------------------.
| yyparse or yypush_parse. |
`-------------------------*/
/*----------.
| yyparse. |
`----------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@ -1411,7 +1439,7 @@ yybackup:
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
if (yypact_value_is_default (yyn))
goto yydefault;
/* Not known => get a lookahead token if don't already have one. */
@ -1442,8 +1470,8 @@ yybackup:
yyn = yytable[yyn];
if (yyn <= 0)
{
if (yyn == 0 || yyn == YYTABLE_NINF)
goto yyerrlab;
if (yytable_value_is_error (yyn))
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
@ -1496,123 +1524,134 @@ yyreduce:
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
case 2:
case 2:
/* Line 1464 of yacc.c */
#line 176 "plural.y"
/* Line 1806 of yacc.c */
#line 175 "plural.y"
{
if ((yyvsp[(1) - (1)].exp) == NULL)
YYABORT;
((struct parse_args *) arg)->res = (yyvsp[(1) - (1)].exp);
;}
}
break;
case 3:
/* Line 1464 of yacc.c */
#line 184 "plural.y"
/* Line 1806 of yacc.c */
#line 183 "plural.y"
{
(yyval.exp) = new_exp_3 (qmop, (yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].exp), (yyvsp[(5) - (5)].exp));
;}
}
break;
case 4:
/* Line 1464 of yacc.c */
#line 188 "plural.y"
/* Line 1806 of yacc.c */
#line 187 "plural.y"
{
(yyval.exp) = new_exp_2 (lor, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
;}
}
break;
case 5:
/* Line 1464 of yacc.c */
#line 192 "plural.y"
/* Line 1806 of yacc.c */
#line 191 "plural.y"
{
(yyval.exp) = new_exp_2 (land, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
;}
}
break;
case 6:
/* Line 1464 of yacc.c */
#line 196 "plural.y"
/* Line 1806 of yacc.c */
#line 195 "plural.y"
{
(yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
;}
}
break;
case 7:
/* Line 1464 of yacc.c */
#line 200 "plural.y"
/* Line 1806 of yacc.c */
#line 199 "plural.y"
{
(yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
;}
}
break;
case 8:
/* Line 1464 of yacc.c */
#line 204 "plural.y"
/* Line 1806 of yacc.c */
#line 203 "plural.y"
{
(yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
;}
}
break;
case 9:
/* Line 1464 of yacc.c */
#line 208 "plural.y"
/* Line 1806 of yacc.c */
#line 207 "plural.y"
{
(yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp));
;}
}
break;
case 10:
/* Line 1464 of yacc.c */
#line 212 "plural.y"
/* Line 1806 of yacc.c */
#line 211 "plural.y"
{
(yyval.exp) = new_exp_1 (lnot, (yyvsp[(2) - (2)].exp));
;}
}
break;
case 11:
/* Line 1464 of yacc.c */
#line 216 "plural.y"
/* Line 1806 of yacc.c */
#line 215 "plural.y"
{
(yyval.exp) = new_exp_0 (var);
;}
}
break;
case 12:
/* Line 1464 of yacc.c */
#line 220 "plural.y"
/* Line 1806 of yacc.c */
#line 219 "plural.y"
{
if (((yyval.exp) = new_exp_0 (num)) != NULL)
(yyval.exp)->val.num = (yyvsp[(1) - (1)].num);
;}
}
break;
case 13:
/* Line 1464 of yacc.c */
#line 225 "plural.y"
/* Line 1806 of yacc.c */
#line 224 "plural.y"
{
(yyval.exp) = (yyvsp[(2) - (3)].exp);
;}
}
break;
/* Line 1464 of yacc.c */
#line 1614 "plural.c"
/* Line 1806 of yacc.c */
#line 1642 "plural.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
that yytoken be updated with the new translation. We take the
approach of translating immediately before every use of yytoken.
One alternative is translating here after every semantic action,
but that translation would be missed if the semantic action invokes
YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
incorrect destructor might then be invoked immediately. In the
case of YYERROR or YYBACKUP, subsequent parser actions might lead
to an incorrect destructor call or verbose syntax error message
before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
@ -1640,6 +1679,10 @@ yyreduce:
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
@ -1647,37 +1690,36 @@ yyerrlab:
#if ! YYERROR_VERBOSE
yyerror (YY_("syntax error"));
#else
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
yyssp, yytoken)
{
YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
{
YYSIZE_T yyalloc = 2 * yysize;
if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
yyalloc = YYSTACK_ALLOC_MAXIMUM;
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
yymsg = (char *) YYSTACK_ALLOC (yyalloc);
if (yymsg)
yymsg_alloc = yyalloc;
else
{
yymsg = yymsgbuf;
yymsg_alloc = sizeof yymsgbuf;
}
}
if (0 < yysize && yysize <= yymsg_alloc)
{
(void) yysyntax_error (yymsg, yystate, yychar);
yyerror (yymsg);
}
else
{
yyerror (YY_("syntax error"));
if (yysize != 0)
goto yyexhaustedlab;
}
char const *yymsgp = YY_("syntax error");
int yysyntax_error_status;
yysyntax_error_status = YYSYNTAX_ERROR;
if (yysyntax_error_status == 0)
yymsgp = yymsg;
else if (yysyntax_error_status == 1)
{
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
if (!yymsg)
{
yymsg = yymsgbuf;
yymsg_alloc = sizeof yymsgbuf;
yysyntax_error_status = 2;
}
else
{
yysyntax_error_status = YYSYNTAX_ERROR;
yymsgp = yymsg;
}
}
yyerror (yymsgp);
if (yysyntax_error_status == 2)
goto yyexhaustedlab;
}
# undef YYSYNTAX_ERROR
#endif
}
@ -1736,7 +1778,7 @@ yyerrlab1:
for (;;)
{
yyn = yypact[yystate];
if (yyn != YYPACT_NINF)
if (!yypact_value_is_default (yyn))
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
@ -1795,8 +1837,13 @@ yyexhaustedlab:
yyreturn:
if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
{
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = YYTRANSLATE (yychar);
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
}
/* Do not reclaim the symbols of the rule which action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
@ -1821,8 +1868,8 @@ yyreturn:
/* Line 1684 of yacc.c */
#line 230 "plural.y"
/* Line 2067 of yacc.c */
#line 229 "plural.y"
void

View File

@ -15,9 +15,8 @@
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. */
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* The bison generated parser uses alloca. AIX 3 forces us to put this
declaration at the beginning of the file. The declaration in bison's

View File

@ -71,8 +71,6 @@ tests := test-utime test-stat test-stat2 test-lfs tst-getcwd \
tst-mknodat tst-mkfifoat tst-ttyname_r bug-ftw5 \
tst-posix_fallocate
distribute := ftwtest-sh
include ../Rules
CFLAGS-fcntl.c = -fexceptions -fasynchronous-unwind-tables

View File

@ -1,3 +1,7 @@
2012-03-07 Ulrich Drepper <drepper@gmail.com>
* Makefile (distribute): Remove variable.
2011-12-03 Ulrich Drepper <drepper@gmail.com>
* idna.c (idna_to_unicode_4z4z): Remove variable rc.

View File

@ -1,4 +1,4 @@
# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 2003, 2004, 2005, 2006, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -19,8 +19,6 @@
subdir := libidn
distribute := punycode.h stringprep.h idna.h iconvme.h
routines = idn-stub
extra-libs = libcidn

View File

@ -1,4 +1,4 @@
# Copyright (C) 1995-2004,2006-2009,2011 Free Software Foundation, Inc.
# Copyright (C) 1995-2004,2006-2009,2011,2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -167,9 +167,6 @@ shared-only-routines = oldiofopen oldiofdopen oldiofclose oldfileops \
oldiofgetpos oldiofgetpos64 oldiofsetpos \
oldiofsetpos64
distribute := iolibio.h libioP.h strfile.h Banner test-freopen.sh \
fd_to_filename.h
include ../Rules
ifeq (no,$(cross-compiling))

View File

@ -623,7 +623,7 @@ extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
__wur;
#if !defined __USE_ISOC11 \
|| (defined __cplusplus && __cplusplus <= 201103L && !defined __USE_GNU)
|| (defined __cplusplus && __cplusplus <= 201103L)
/* Get a newline-terminated string from stdin, removing the newline.
DO NOT USE THIS FUNCTION!! There is no limit on how much it will read.

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991,1992,1995-2003,2005,2009,2011
# Copyright (C) 1991,1992,1995-2003,2005,2009,2011,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
@ -22,19 +22,6 @@
subdir := locale
headers = locale.h bits/locale.h langinfo.h xlocale.h
distribute = localeinfo.h categories.def iso-639.def iso-3166.def \
iso-4217.def weight.h weightwc.h strlen-hash.h elem-hash.h \
indigits.h indigitswc.h outdigits.h outdigitswc.h \
coll-lookup.h C-translit.h.in C-translit.h gen-translit.pl \
locarchive.h hashval.h \
$(addprefix programs/, \
locale.c localedef.c \
$(localedef-modules:=.c) $(locale-modules:=.c) \
$(lib-modules:=.c) config.h simple-hash.h \
charmap-kw.gperf charmap-kw.h locfile-token.h \
locfile-kw.gperf locfile-kw.h linereader.h \
locfile.h charmap.h repertoire.h localedef.h \
3level.h charmap-dir.h locarchive.c)
routines = setlocale findlocale loadlocale loadarchive \
localeconv nl_langinfo nl_langinfo_l mb_cur_max \
newlocale duplocale freelocale uselocale

View File

@ -14,8 +14,8 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
along with this program; if not, see
<http://www.gnu.org/licenses/>. */
#include <string.h>

View File

@ -1,4 +1,4 @@
/* ANSI-C code produced by gperf version 3.0.1 */
/* ANSI-C code produced by gperf version 3.0.4 */
/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N charmap_hash charmap-kw.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@ -45,13 +45,13 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
along with this program; if not, see
<http://www.gnu.org/licenses/>. */
#include <string.h>
#include "locfile-token.h"
#line 23 "charmap-kw.gperf"
#line 24 "charmap-kw.gperf"
struct keyword_t ;
#define TOTAL_KEYWORDS 17
@ -127,6 +127,9 @@ hash (register const char *str, register unsigned int len)
#ifdef __GNUC__
__inline
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
__attribute__ ((__gnu_inline__))
#endif
#endif
const struct keyword_t *
charmap_hash (register const char *str, register unsigned int len)
@ -134,45 +137,45 @@ charmap_hash (register const char *str, register unsigned int len)
static const struct keyword_t wordlist[] =
{
{""}, {""}, {""},
#line 38 "charmap-kw.gperf"
#line 39 "charmap-kw.gperf"
{"END", tok_end, 0},
{""},
#line 39 "charmap-kw.gperf"
#line 40 "charmap-kw.gperf"
{"WIDTH", tok_width, 0},
#line 34 "charmap-kw.gperf"
#line 35 "charmap-kw.gperf"
{"escseq", tok_escseq, 1},
#line 36 "charmap-kw.gperf"
#line 37 "charmap-kw.gperf"
{"include", tok_include, 1},
{""}, {""},
#line 27 "charmap-kw.gperf"
{"mb_cur_min", tok_mb_cur_min, 1},
#line 28 "charmap-kw.gperf"
{"escape_char", tok_escape_char, 1},
{"mb_cur_min", tok_mb_cur_min, 1},
#line 29 "charmap-kw.gperf"
{"escape_char", tok_escape_char, 1},
#line 30 "charmap-kw.gperf"
{"comment_char", tok_comment_char, 1},
#line 25 "charmap-kw.gperf"
{"code_set_name", tok_code_set_name, 1},
#line 40 "charmap-kw.gperf"
{"WIDTH_VARIABLE", tok_width_variable, 0},
#line 26 "charmap-kw.gperf"
{"mb_cur_max", tok_mb_cur_max, 1},
#line 35 "charmap-kw.gperf"
{"addset", tok_addset, 1},
#line 37 "charmap-kw.gperf"
{"CHARMAP", tok_charmap, 0},
{"code_set_name", tok_code_set_name, 1},
#line 41 "charmap-kw.gperf"
{"WIDTH_VARIABLE", tok_width_variable, 0},
#line 27 "charmap-kw.gperf"
{"mb_cur_max", tok_mb_cur_max, 1},
#line 36 "charmap-kw.gperf"
{"addset", tok_addset, 1},
#line 38 "charmap-kw.gperf"
{"CHARMAP", tok_charmap, 0},
#line 42 "charmap-kw.gperf"
{"WIDTH_DEFAULT", tok_width_default, 0},
{""},
#line 33 "charmap-kw.gperf"
#line 34 "charmap-kw.gperf"
{"g3esc", tok_g3esc, 1},
{""}, {""}, {""}, {""},
#line 32 "charmap-kw.gperf"
#line 33 "charmap-kw.gperf"
{"g2esc", tok_g2esc, 1},
{""}, {""}, {""}, {""},
#line 31 "charmap-kw.gperf"
#line 32 "charmap-kw.gperf"
{"g1esc", tok_g1esc, 1},
{""}, {""}, {""}, {""},
#line 30 "charmap-kw.gperf"
#line 31 "charmap-kw.gperf"
{"g0esc", tok_g0esc, 1}
};

View File

@ -14,8 +14,8 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
along with this program; if not, see
<http://www.gnu.org/licenses/>. */
#include <string.h>

View File

@ -1,4 +1,4 @@
/* ANSI-C code produced by gperf version 3.0.2 */
/* ANSI-C code produced by gperf version 3.0.4 */
/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@ -45,8 +45,8 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
along with this program; if not, see
<http://www.gnu.org/licenses/>. */
#include <string.h>
@ -127,6 +127,9 @@ hash (register const char *str, register unsigned int len)
#ifdef __GNUC__
__inline
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
__attribute__ ((__gnu_inline__))
#endif
#endif
const struct keyword_t *
locfile_hash (register const char *str, register unsigned int len)

View File

@ -1,3 +1,12 @@
2012-03-09 Paul Eggert <eggert@cs.ucla.edu>
[BZ #13673]
Replace FSF snail mail address with URLs, as per GNU coding standards.
2012-03-07 Ulrich Drepper <drepper@gmail.com>
* Makefile (distribute): Remove variable.
2012-02-10 Joseph Myers <joseph@codesourcery.com>
Revert changes to locales from previous commit.

View File

@ -1,4 +1,5 @@
# Copyright (C) 1996-2003,2005,2007,2008,2009,2011 Free Software Foundation, Inc.
# Copyright (C) 1996-2003,2005,2007-2009,2011,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -56,19 +57,6 @@ generated := $(test-input) $(test-output) sort-test.out tst-locale.out \
generated-dirs := $(ld-test-names) tt_TT de_DE.437 \
$(addprefix tstfmon_,$(fmon-tests)) \
distribute := CHECKSUMS README SUPPORTED ChangeLog \
$(charmaps) $(locales) \
tst-rpmatch.sh tst-locale.sh tst-fmon.sh sort-test.sh \
tst-fmon.data $(test-input-data) $(ld-test-srcs) \
th_TH.in cs_CZ.in tst-mbswcs.sh tst-trans.sh tst-ctype.sh \
tst-ctype-de_DE.ISO-8859-1.in \
tst-numeric.sh tst-numeric.data \
$(wildcard tests-mbwc/*.[ch]) \
$(addprefix tst-fmon-locales/tstfmon_,$(fmon-tests)) \
gen-locale.sh show-ucs-data.c tst-langinfo.sh \
tst-wctype.sh tst-wctype.input gen-unicode-ctype.c \
dump-ctype.c
# Get $(inst_i18ndir) defined.
include ../Makeconfig

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Breton locale for France with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
email "bug-glibc-locales@gnu.org"
tel ""
fax ""

View File

@ -16,7 +16,7 @@ escape_char /
LC_IDENTIFICATION
title "Catalan locale for Catalonia with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -107,7 +107,7 @@ comment_char %
LC_IDENTIFICATION
title "Czech locale for the Czech Republic"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "German locale for Belgium with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -6,7 +6,7 @@ comment_char %
LC_IDENTIFICATION
title "German locale for Germany"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -6,7 +6,7 @@ comment_char %
LC_IDENTIFICATION
title "German locale for Germany with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "German locale for Luxemburg with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -4,7 +4,7 @@ comment_char %
LC_IDENTIFICATION
title "Greek locale for Greece with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -6,7 +6,7 @@ comment_char %
LC_IDENTIFICATION
title "English language locale for Antigua and Barbuda"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ comment_char %
LC_IDENTIFICATION
title "English locale for Ireland with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -6,7 +6,7 @@ comment_char %
LC_IDENTIFICATION
title "English locale for the USA"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Spanish locale for Costa Rica"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -15,7 +15,7 @@ escape_char /
LC_IDENTIFICATION
title "Spanish locale for Spain with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Spanish locale for Nicaragua"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Spanish locale for Puerto Rico"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -15,7 +15,7 @@ escape_char /
LC_IDENTIFICATION
title "Basque language locale for Spain with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -15,7 +15,7 @@ comment_char %
LC_IDENTIFICATION
title "Finnish locale for Finland with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "French locale for Belgium with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "French locale for France with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
email "bug-glibc-locales@gnu.org"
tel ""
fax ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "French locale for Luxemburg with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -13,7 +13,7 @@ escape_char /
LC_IDENTIFICATION
title "Frisian locale for the Netherlands"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -13,7 +13,7 @@ comment_char %
LC_IDENTIFICATION
title "Irish locale for Ireland with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -15,7 +15,7 @@ escape_char /
LC_IDENTIFICATION
title "Galician locale for Spain with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Italian locale for Italy with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -6,7 +6,7 @@ comment_char %
LC_IDENTIFICATION
title "Dutch language locale for Aruba"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Dutch locale for Belgium with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Dutch locale for the Netherlands with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Portuguese locale for Portugal with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Swedish locale for Finland with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -16,7 +16,7 @@ escape_char /
LC_IDENTIFICATION
title "Turkish language locale for Cyprus"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -14,7 +14,7 @@ escape_char /
LC_IDENTIFICATION
title "Walloon locale for Belgium with Euro"
source "Free Software Foundation, Inc."
address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA"
address "http:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""

View File

@ -1,4 +1,5 @@
# Copyright (C) 1996-1998,2000-2003,2007, 2009 Free Software Foundation, Inc.
# Copyright (C) 1996-1998,2000-2003,2007,2009,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -32,8 +33,6 @@ others = utmpdump pt_chown
others-pie = pt_chown
install-others-programs = $(inst_libexecdir)/pt_chown
distribute := utmp-private.h utmp-equal.h pty-private.h
subdir-dirs = programs
vpath %.c programs

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991,92,93,94,95,96,97,98,2001,02
# Copyright (C) 1991,92,93,94,95,96,97,98,2001,02,12
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
@ -27,7 +27,6 @@ include ../Makeconfig
headers = mach_init.h mach.h mach_error.h mach-shortcuts.h mach/mach_traps.h \
$(interface-headers) mach/mach.h mach/mig_support.h mach/error.h \
$(lock-headers) machine-sp.h
distribute = thread_state.h
lock = spin-solid spin-lock mutex-init mutex-solid
lock-headers = lock-intern.h machine-lock.h spin-lock.h
routines = $(mach-syscalls) $(mach-shortcuts) \
@ -52,17 +51,11 @@ mach/memory_object_user.defs = mach/memory_object.defs
user-interfaces := $(addprefix mach/,$(mach-interface-list) \
mach_port mach_host exc \
)\
)\
$(addprefix device/,device device_request)
server-interfaces := mach/exc
# It is important that we do not use the wildcard function to expand
# `err_*.sub'. Leaving the wildcard allows Make-dist to find all matching
# files in all sysdep directories.
distribute += Machrules syscalls.awk shortcut.awk \
errorlib.h err_*.sub errsystems.awk
# Clear any environment value.
generated =

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991-1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2009, 2011
# Copyright (C) 1991-2003, 2005, 2006, 2007, 2009, 2011, 2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
@ -29,14 +29,7 @@ tests := mallocbug tst-malloc tst-valloc tst-calloc tst-obstack \
tst-mallocstate tst-mcheck tst-mallocfork tst-trim1
test-srcs = tst-mtrace
distribute = thread-m.h mtrace.pl mcheck-init.c stackinfo.h memusage.h \
memusage.sh memusagestat.c tst-mtrace.sh arena.c hooks.c
# Things which get pasted together into gmalloc.c.
gmalloc-routines := malloc morecore
# Things to include in the standalone distribution.
dist-routines = $(gmalloc-routines) mcheck mtrace
routines = $(dist-routines) obstack
routines = malloc morecore mcheck mtrace obstack
install-lib := libmcheck.a
non-lib.a := libmcheck.a

View File

@ -145,17 +145,8 @@ minimal-dist = summary.awk texis.awk tsort.awk libc-texinfo.sh libc.texinfo \
$(filter-out summary.texi, $(nonexamples)) \
$(patsubst %.c.texi,examples/%.c, $(examples))
doc-only-dist = Makefile COPYING.LIB
distribute = $(minimal-dist) $(examples) stdio-fp.c \
libc.info* libc.?? libc.??s texinfo.tex \
xtract-typefun.awk dir-add.texi dir libm-err-tab.pl
export distribute := $(distribute)
tar-it = tar chovf $@ $^
manual.tar: $(doc-only-dist) $(minimal-dist) ; $(tar-it)
mandist.tar: $(doc-only-dist) $(distribute) ; $(tar-it)
edition := $(shell sed -n 's/^@set EDITION \([0-9][0-9.]*\)[^0-9.]*.*$$/\1/p' \
libc.texinfo)

View File

@ -112,7 +112,7 @@ this type is capable of storing all elements of the basic character set.
Therefore it would be legitimate to define @code{wchar_t} as @code{char},
which might make sense for embedded systems.
But for GNU systems @code{wchar_t} is always 32 bits wide and, therefore,
But in @theglibc{} @code{wchar_t} is always 32 bits wide and, therefore,
capable of representing all UCS-4 values and, therefore, covering all of
@w{ISO 10646}. Some Unix systems define @code{wchar_t} as a 16-bit type
and thereby follow Unicode very strictly. This definition is perfectly
@ -393,7 +393,7 @@ We already said above that the currently selected locale for the
by the functions we are about to describe. Each locale uses its own
character set (given as an argument to @code{localedef}) and this is the
one assumed as the external multibyte encoding. The wide character
set is always UCS-4, at least on GNU systems.
set is always UCS-4 in @theglibc{}.
A characteristic of each multibyte character set is the maximum number
of bytes that can be necessary to represent one character. This
@ -537,8 +537,8 @@ Code using @code{mbsinit} often looks similar to this:
The code to emit the escape sequence to get back to the initial state is
interesting. The @code{wcsrtombs} function can be used to determine the
necessary output code (@pxref{Converting Strings}). Please note that on
GNU systems it is not necessary to perform this extra action for the
necessary output code (@pxref{Converting Strings}). Please note that with
@theglibc{} it is not necessary to perform this extra action for the
conversion from multibyte text to wide character text since the wide
character encoding is not stateful. But there is nothing mentioned in
any standard that prohibits making @code{wchar_t} using a stateful

View File

@ -1185,7 +1185,7 @@ represents the maximum length of a file name string. It is defined in
Unlike @code{PATH_MAX}, this macro is defined even if there is no actual
limit imposed. In such a case, its value is typically a very large
number. @strong{This is always the case on the GNU system.}
number. @strong{This is always the case on @gnuhurdsystems{}.}
@strong{Usage Note:} Don't use @code{FILENAME_MAX} as the size of an
array in which to store a file name! You can't possibly make an array
@ -1252,7 +1252,7 @@ particular file, call @code{pathconf} or @code{fpathconf}.
Here are the names for the POSIX minimum upper bounds for some of the
above parameters. The significance of these values is that you can
safely push to these limits without checking whether the particular
system you are using can go that far. In most cases GNU systems do not
system you are using can go that far. In most cases @gnusystems{} do not
have these strict limitations. The actual limit should be requested if
necessary.

View File

@ -66,8 +66,9 @@ function returns an error.
@strong{Portability Note:} @w{ISO C} specifies @code{errno} as a
``modifiable lvalue'' rather than as a variable, permitting it to be
implemented as a macro. For example, its expansion might involve a
function call, like @w{@code{*_errno ()}}. In fact, that is what it is
on the GNU system itself. @Theglibc{}, on non-GNU systems, does
function call, like @w{@code{*__errno_location ()}}. In fact, that is
what it is
on @gnulinuxhurdsystems{}. @Theglibc{}, on each system, does
whatever is right for the particular system.
There are a few library functions, like @code{sqrt} and @code{atan},
@ -96,10 +97,10 @@ codes of their own for other situations. The only values that are
guaranteed to be meaningful for a particular library function are the
ones that this manual lists for that function.
On non-GNU systems, almost any system call can return @code{EFAULT} if
Except on @gnuhurdsystems{}, almost any system call can return @code{EFAULT} if
it is given an invalid pointer as an argument. Since this could only
happen as a result of a bug in your program, and since it will not
happen on the GNU system, we have saved space by not mentioning
happen on @gnuhurdsystems{}, we have saved space by not mentioning
@code{EFAULT} in the descriptions of individual functions.
In some Unix systems, many system calls can also return @code{EFAULT} if
@ -114,7 +115,7 @@ allocated memory instead of stack memory on that system.
@pindex errno.h
The error code macros are defined in the header file @file{errno.h}.
All of them expand into integer constant values. Some of these error
codes can't occur on the GNU system, but they can occur using @theglibc{}
codes can't occur on @gnusystems{}, but they can occur using @theglibc{}
on other systems.
@comment errno.h
@ -178,8 +179,8 @@ computer.
@comment errno 7 @c DO NOT REMOVE
Argument list too long; used when the arguments passed to a new program
being executed with one of the @code{exec} functions (@pxref{Executing a
File}) occupy too much memory space. This condition never arises in the
GNU system.
File}) occupy too much memory space. This condition never arises on
@gnuhurdsystems{}.
@end deftypevr
@comment errno.h
@ -238,7 +239,7 @@ Permission denied; the file permissions do not allow the attempted operation.
@deftypevr Macro int EFAULT
@comment errno 14 @c DO NOT REMOVE
Bad address; an invalid pointer was detected.
In the GNU system, this error never happens; you get a signal instead.
On @gnuhurdsystems{}, this error never happens; you get a signal instead.
@end deftypevr
@comment errno.h
@ -326,7 +327,7 @@ want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
@comment errno 23 @c DO NOT REMOVE
There are too many distinct file openings in the entire system. Note
that any number of linked channels count as just one file opening; see
@ref{Linked Channels}. This error never occurs in the GNU system.
@ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}.
@end deftypevr
@comment errno.h
@ -345,7 +346,7 @@ An attempt to execute a file that is currently open for writing, or
write to a file that is currently being executed. Often using a
debugger to run a program is considered having it open for writing and
will cause this error. (The name stands for ``text file busy''.) This
is not an error in the GNU system; the text is copied as necessary.
is not an error on @gnuhurdsystems{}; the text is copied as necessary.
@end deftypevr
@comment errno.h
@ -533,7 +534,7 @@ The socket type is not supported.
@comment errno 45 @c DO NOT REMOVE
The operation you requested is not supported. Some socket functions
don't make sense for all types of sockets, and others may not be
implemented for all communications protocols. In the GNU system, this
implemented for all communications protocols. On @gnuhurdsystems{}, this
error can happen for many calls when the object does not support the
particular operation; it is a generic indication that the server knows
nothing to do for that call.
@ -754,7 +755,7 @@ the NFS file system on the local host.
An attempt was made to NFS-mount a remote file system with a file name that
already specifies an NFS-mounted file.
(This is an error on some operating systems, but we expect it to work
properly on the GNU system, making this error code impossible.)
properly on @gnuhurdsystems{}, making this error code impossible.)
@end deftypevr
@comment errno.h
@ -797,7 +798,7 @@ properly on the GNU system, making this error code impossible.)
@deftypevr Macro int ENOLCK
@comment errno 77 @c DO NOT REMOVE
No locks available. This is used by the file locking facilities; see
@ref{File Locks}. This error is never generated by the GNU system, but
@ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but
it can result from an operation to an NFS server running another
operating system.
@end deftypevr
@ -868,7 +869,7 @@ or an incomplete sequence of bytes or the given wide character is invalid.
@comment GNU: Inappropriate operation for background process
@deftypevr Macro int EBACKGROUND
@comment errno 100 @c DO NOT REMOVE
In the GNU system, servers supporting the @code{term} protocol return
On @gnuhurdsystems{}, servers supporting the @code{term} protocol return
this error for certain operations when the caller is not in the
foreground process group of the terminal. Users do not usually see this
error because functions such as @code{read} and @code{write} translate
@ -880,7 +881,7 @@ for information on process groups and these signals.
@comment GNU: Translator died
@deftypevr Macro int EDIED
@comment errno 101 @c DO NOT REMOVE
In the GNU system, opening a file returns this error when the file is
On @gnuhurdsystems{}, opening a file returns this error when the file is
translated by a program and the translator program dies while starting
up, before it has connected to the file.
@end deftypevr
@ -1346,8 +1347,8 @@ The function @code{perror} is declared in @file{stdio.h}.
@end deftypefun
@code{strerror} and @code{perror} produce the exact same message for any
given error code; the precise text varies from system to system. On the
GNU system, the messages are fairly short; there are no multi-line
given error code; the precise text varies from system to system. With
@theglibc{}, the messages are fairly short; there are no multi-line
messages or embedded newlines. Each error message begins with a capital
letter and does not include any terminating punctuation.

View File

@ -121,8 +121,8 @@ the buffer. @Theglibc{} provides @code{getwd} only
for backwards compatibility with BSD.
The @var{buffer} argument should be a pointer to an array at least
@code{PATH_MAX} bytes long (@pxref{Limits for Files}). In the GNU
system there is no limit to the size of a file name, so this is not
@code{PATH_MAX} bytes long (@pxref{Limits for Files}). On @gnuhurdsystems{}
there is no limit to the size of a file name, so this is not
necessarily enough space to contain the directory name. That is why
this function is deprecated.
@end deftypefn
@ -242,7 +242,7 @@ field you can count on in all POSIX systems.
@item ino_t d_fileno
This is the file serial number. For BSD compatibility, you can also
refer to this member as @code{d_ino}. In the GNU system and most POSIX
refer to this member as @code{d_ino}. On @gnulinuxhurdsystems{} and most POSIX
systems, for most files this the same as the @code{st_ino} member that
@code{stat} will return for the file. @xref{File Attributes}.
@ -354,7 +354,7 @@ The process has too many files open.
@item ENFILE
The entire system, or perhaps the file system which contains the
directory, cannot support any additional open files at the moment.
(This problem cannot happen on the GNU system.)
(This problem cannot happen on @gnuhurdsystems{}.)
@item ENOMEM
Not enough memory available.
@ -1075,7 +1075,8 @@ The directory or file system that would contain the new link is full
and cannot be extended.
@item EPERM
In the GNU system and some others, you cannot make links to directories.
On @gnulinuxhurdsystems{} and some others, you cannot make links to
directories.
Many systems allow only privileged users to do so. This error
is used to report the problem.
@ -1099,7 +1100,7 @@ A hardware error occurred while trying to read or write the to filesystem.
@cindex symbolic link
@cindex link, symbolic
The GNU system supports @dfn{soft links} or @dfn{symbolic links}. This
@gnusystems{} support @dfn{soft links} or @dfn{symbolic links}. This
is a kind of ``file'' that is essentially a pointer to another file
name. Unlike hard links, symbolic links can be made to directories or
across file systems with no restrictions. You can also make a symbolic
@ -1352,8 +1353,8 @@ The file name to be deleted doesn't exist.
@item EPERM
On some systems @code{unlink} cannot be used to delete the name of a
directory, or at least can only be used this way by a privileged user.
To avoid such problems, use @code{rmdir} to delete directories. (In the
GNU system @code{unlink} can never delete the name of a directory.)
To avoid such problems, use @code{rmdir} to delete directories. (On
@gnulinuxhurdsystems{} @code{unlink} can never delete the name of a directory.)
@item EROFS
The directory containing the file name to be deleted is on a read-only
@ -1381,7 +1382,7 @@ The directory to be deleted is not empty.
@end table
These two error codes are synonymous; some systems use one, and some use
the other. The GNU system always uses @code{ENOTEMPTY}.
the other. @gnulinuxhurdsystems{} always use @code{ENOTEMPTY}.
The prototype for this function is declared in the header file
@file{unistd.h}.
@ -1458,7 +1459,7 @@ that are the current working directories of processes.
@item ENOTEMPTY
@itemx EEXIST
The directory @var{newname} isn't empty. The GNU system always returns
The directory @var{newname} isn't empty. @gnulinuxhurdsystems{} always return
@code{ENOTEMPTY} for this, but some other systems return @code{EEXIST}.
@item EINVAL
@ -2480,16 +2481,16 @@ read_umask (void)
@end smallexample
@noindent
However, it is better to use @code{getumask} if you just want to read
the mask value, because it is reentrant (at least if you use the GNU
operating system).
However, on @gnuhurdsystems{} it is better to use @code{getumask} if
you just want to read the mask value, because it is reentrant.
@end deftypefun
@comment sys/stat.h
@comment GNU
@deftypefun mode_t getumask (void)
Return the current value of the file creation mask for the current
process. This function is a GNU extension.
process. This function is a GNU extension and is only available on
@gnuhurdsystems{}.
@end deftypefun
@comment sys/stat.h

View File

@ -58,8 +58,8 @@ directory, especially some files in the manual subdirectory.
mandatory is @samp{--prefix}. This option tells @code{configure}
where you want @theglibc{} installed. This defaults to @file{/usr/local},
but the normal setting to install as the standard system library is
@samp{--prefix=/usr} for GNU/Linux systems and @samp{--prefix=} (an
empty prefix) for GNU/Hurd systems.
@samp{--prefix=/usr} for @gnulinuxsystems{} and @samp{--prefix=} (an
empty prefix) for @gnuhurdsystems{}.
It may also be useful to set the @var{CC} and @var{CFLAGS} variables in
the environment when running @code{configure}. @var{CC} selects the C
@ -104,7 +104,7 @@ relative to the build directory (that is, the current working directory).
For example, @samp{--enable-add-ons=nptl,../glibc-libidn-@var{version}}.
@item --enable-kernel=@var{version}
This option is currently only useful on GNU/Linux systems. The
This option is currently only useful on @gnulinuxsystems{}. The
@var{version} parameter should have the form X.Y.Z and describes the
smallest version of the Linux kernel the generated library is expected
to support. The higher the @var{version} number is, the less
@ -386,10 +386,10 @@ You may also need these packages if you upgrade your source tree using
patches, although we try to avoid this.
@node Linux
@appendixsec Specific advice for GNU/Linux systems
@appendixsec Specific advice for @gnulinuxsystems{}
@cindex kernel header files
If you are installing @theglibc{} on a GNU/Linux system, you need to have
If you are installing @theglibc{} on @gnulinuxsystems{}, you need to have
the header files from a 2.6.19.1 or newer kernel around for reference.
These headers must be installed using @samp{make headers_install}; the
headers present in the kernel source directory are not suitable for
@ -421,7 +421,8 @@ are not required if not compiling programs using those interfaces.
You do not need to copy kernel headers if you did not specify an
alternate kernel header source using @samp{--with-headers}.
GNU/Linux expects some components of the @glibcadj{} installation to be in
The Filesystem Hierarchy Standard for @gnulinuxsystems{} expects some
components of the @glibcadj{} installation to be in
@file{/lib} and some in @file{/usr/lib}. This is handled automatically
if you configure @theglibc{} with @samp{--prefix=/usr}. If you set some other
prefix or allow it to default to @file{/usr/local}, then all the

View File

@ -12,7 +12,7 @@ programs.
@Theglibc{}, described in this document, defines all of the
library functions that are specified by the @w{ISO C} standard, as well as
additional features specific to POSIX and other derivatives of the Unix
operating system, and extensions specific to the GNU system.
operating system, and extensions specific to @gnusystems{}.
The purpose of this manual is to tell you how to use the facilities
of @theglibc{}. We have mentioned which features belong to which

View File

@ -121,7 +121,7 @@ and formatted output functions (@pxref{Formatted Output}).
If you are concerned about portability of your programs to systems other
than GNU, you should also be aware that file descriptors are not as
portable as streams. You can expect any system running @w{ISO C} to
support streams, but non-GNU systems may not support file descriptors at
support streams, but @nongnusystems{} may not support file descriptors at
all, or may only implement a subset of the GNU functions that operate on
file descriptors. Most of the file descriptor functions in @theglibc{}
are included in the POSIX.1 standard, however.
@ -131,7 +131,7 @@ are included in the POSIX.1 standard, however.
One of the attributes of an open file is its @dfn{file position} that
keeps track of where in the file the next character is to be read or
written. In the GNU system, and all POSIX.1 systems, the file position
written. On @gnusystems{}, and all POSIX.1 systems, the file position
is simply an integer representing the number of bytes from the beginning
of the file.
@ -304,7 +304,7 @@ but the empty string is not a meaningful file name. If you want to
refer to the current working directory, use a file name of @file{.} or
@file{./}.
Unlike some other operating systems, the GNU system doesn't have any
Unlike some other operating systems, @gnusystems{} don't have any
built-in support for file types (or extensions) or file versions as part
of its file name syntax. Many programs and utilities use conventions
for file names---for example, files containing C source code usually
@ -332,7 +332,7 @@ This error is used when either the total length of a file name is
greater than @code{PATH_MAX}, or when an individual file name component
has a length greater than @code{NAME_MAX}. @xref{Limits for Files}.
In the GNU system, there is no imposed limit on overall file name
On @gnuhurdsystems{}, there is no imposed limit on overall file name
length, but some file systems may place limits on the length of a
component.
@ -357,7 +357,7 @@ way to detect loops. @xref{Symbolic Links}.
@subsection Portability of File Names
The rules for the syntax of file names discussed in @ref{File Names},
are the rules normally used by the GNU system and by other POSIX
are the rules normally used by @gnusystems{} and by other POSIX
systems. However, other operating systems may use other conventions.
There are two reasons why it can be important for you to be aware of
@ -389,7 +389,7 @@ some operating systems and not by others.
The POSIX.1 standard allows implementations to put additional
restrictions on file name syntax, concerning what characters are
permitted in file names and on the length of file name and file name
component strings. However, in the GNU system, you do not need to worry
about these restrictions; any character except the null character is
permitted in a file name string, and there are no limits on the length
of file name strings.
component strings. However, on @gnusystems{}, any character except
the null character is permitted in a file name string, and
on @gnuhurdsystems{} there are no limits on the length of file name
strings.

View File

@ -106,7 +106,7 @@ controlling terminal,
@section Job Control is Optional
@cindex job control is optional
Not all operating systems support job control. The GNU system does
Not all operating systems support job control. @gnusystems{} do
support job control, but if you are using @theglibc{} on some other
system, that system may not support job control itself.

View File

@ -120,7 +120,7 @@ The maximum number of file descriptors is controlled by the
@item ENFILE
The entire system, or perhaps the file system which contains the
directory, cannot support any additional open files at the moment.
(This problem cannot happen on the GNU system.)
(This problem cannot happen on @gnuhurdsystems{}.)
@item ENOENT
The named file does not exist, and @code{O_CREAT} is not specified.
@ -341,8 +341,8 @@ file can also fail with @code{EAGAIN} if the kernel cannot find enough
physical memory to lock down the user's pages. This is limited to
devices that transfer with direct memory access into the user's memory,
which means it does not include terminals, since they always use
separate buffers inside the kernel. This problem never happens in the
GNU system.
separate buffers inside the kernel. This problem never happens on
@gnuhurdsystems{}.
Any condition that could result in @code{EAGAIN} can instead result in a
successful @code{read} which returns fewer bytes than requested.
@ -492,8 +492,8 @@ file can also fail with @code{EAGAIN} if the kernel cannot find enough
physical memory to lock down the user's pages. This is limited to
devices that transfer with direct memory access into the user's memory,
which means it does not include terminals, since they always use
separate buffers inside the kernel. This problem does not arise in the
GNU system.
separate buffers inside the kernel. This problem does not arise on
@gnuhurdsystems{}.
@item EBADF
The @var{filedes} argument is not a valid file descriptor,
@ -687,7 +687,7 @@ file offset is not valid. A file offset is invalid.
@item ESPIPE
The @var{filedes} corresponds to an object that cannot be positioned,
such as a pipe, FIFO or terminal device. (POSIX.1 specifies this error
only for pipes and FIFOs, but in the GNU system, you always get
only for pipes and FIFOs, but on @gnusystems{}, you always get
@code{ESPIPE} if the object is not seekable.)
@end table
@ -830,7 +830,7 @@ The @code{fdopen} function returns a new stream for the file descriptor
The @var{opentype} argument is interpreted in the same way as for the
@code{fopen} function (@pxref{Opening Streams}), except that
the @samp{b} option is not permitted; this is because GNU makes no
the @samp{b} option is not permitted; this is because @gnusystems{} make no
distinction between text and binary files. Also, @code{"w"} and
@code{"w+"} do not cause truncation of the file; these have an effect only
when opening a file, and in this case the file has already been opened.
@ -2154,7 +2154,7 @@ the moment. The error status for each element of @var{list} must be
checked to determine which request failed.
Another reason could be that the system wide limit of AIO requests is
exceeded. This cannot be the case for the implementation on GNU systems
exceeded. This cannot be the case for the implementation on @gnusystems{}
since no arbitrary limits exist.
@item EINVAL
The @var{mode} parameter is invalid or @var{nent} is larger than
@ -2895,7 +2895,7 @@ The symbols in this section are defined in the header file
@subsection File Access Modes
The file access modes allow a file descriptor to be used for reading,
writing, or both. (In the GNU system, they can also allow none of these,
writing, or both. (On @gnuhurdsystems{}, they can also allow none of these,
and allow execution of the file as a program.) The access modes are chosen
when the file is opened, and never change.
@ -2917,13 +2917,13 @@ Open the file for write access.
Open the file for both reading and writing.
@end deftypevr
In the GNU system (and not in other systems), @code{O_RDONLY} and
On @gnuhurdsystems{} (and not on other systems), @code{O_RDONLY} and
@code{O_WRONLY} are independent bits that can be bitwise-ORed together,
and it is valid for either bit to be set or clear. This means that
@code{O_RDWR} is the same as @code{O_RDONLY|O_WRONLY}. A file access
mode of zero is permissible; it allows no operations that do input or
output to the file, but does allow other operations such as
@code{fchmod}. On the GNU system, since ``read-only'' or ``write-only''
@code{fchmod}. On @gnuhurdsystems{}, since ``read-only'' or ``write-only''
is a misnomer, @file{fcntl.h} defines additional names for the file
access modes. These names are preferred when writing GNU-specific code.
But most programs will want to be portable to other POSIX.1 systems and
@ -2948,8 +2948,9 @@ Open the file for executing. Only defined on GNU.
@end deftypevr
To determine the file access mode with @code{fcntl}, you must extract
the access mode bits from the retrieved file status flags. In the GNU
system, you can just test the @code{O_READ} and @code{O_WRITE} bits in
the access mode bits from the retrieved file status flags. On
@gnuhurdsystems{},
you can just test the @code{O_READ} and @code{O_WRITE} bits in
the flags word. But in other POSIX.1 systems, reading and writing
access modes are not stored as distinct bit flags. The portable way to
extract the file access mode bits is with @code{O_ACCMODE}.
@ -2960,7 +2961,7 @@ extract the file access mode bits is with @code{O_ACCMODE}.
This macro stands for a mask that can be bitwise-ANDed with the file
status flag value to produce a value representing the file access mode.
The mode will be @code{O_RDONLY}, @code{O_WRONLY}, or @code{O_RDWR}.
(In the GNU system it could also be zero, and it never includes the
(On @gnuhurdsystems{} it could also be zero, and it never includes the
@code{O_EXEC} bit.)
@end deftypevr
@ -3033,15 +3034,16 @@ If the named file is a terminal device, don't make it the controlling
terminal for the process. @xref{Job Control}, for information about
what it means to be the controlling terminal.
In the GNU system and 4.4 BSD, opening a file never makes it the
controlling terminal and @code{O_NOCTTY} is zero. However, other
systems may use a nonzero value for @code{O_NOCTTY} and set the
On @gnuhurdsystems{} and 4.4 BSD, opening a file never makes it the
controlling terminal and @code{O_NOCTTY} is zero. However, @gnulinuxsystems{}
and some other systems use a nonzero value for @code{O_NOCTTY} and set the
controlling terminal when you open a file that is a terminal device; so
to be portable, use @code{O_NOCTTY} when it is important to avoid this.
@cindex controlling terminal, setting
@end deftypevr
The following three file name translation flags exist only in the GNU system.
The following three file name translation flags exist only on
@gnuhurdsystems{}.
@comment fcntl.h
@comment GNU
@ -3417,7 +3419,7 @@ function:
The lock cannot be set because it is blocked by an existing lock on the
file. Some systems use @code{EAGAIN} in this case, and other systems
use @code{EACCES}; your program should treat them alike, after
@code{F_SETLK}. (The GNU system always uses @code{EAGAIN}.)
@code{F_SETLK}. (@gnulinuxhurdsystems{} always use @code{EAGAIN}.)
@item EBADF
Either: the @var{filedes} argument is invalid; you requested a read lock
@ -3594,7 +3596,7 @@ There is no process or process group corresponding to @var{pid}.
@cindex generic i/o control operations
@cindex IOCTLs
The GNU system can handle most input/output operations on many different
@gnusystems{} can handle most input/output operations on many different
devices and objects in terms of a few file primitives - @code{read},
@code{write} and @code{lseek}. However, most devices also have a few
peculiar operations which do not fit into this model. Such as:

View File

@ -17,4 +17,34 @@ the GNU C Library
GNU C Library
@end macro
@c Description applying to all GNU systems; that is, used in
@c describing a property of a system such that no system without that
@c property would be considered a variant of the GNU system.
@macro gnusystems
GNU systems
@end macro
@c Systems that are not GNU systems.
@macro nongnusystems
non-GNU systems
@end macro
@c Description applying to GNU/Linux and GNU/Hurd systems, but not
@c necessarily to other variants of the GNU system.
@macro gnulinuxhurdsystems
GNU/Linux and GNU/Hurd systems
@end macro
@c Descrption applying to GNU/Hurd systems; that is, systems using the
@c GNU Hurd with the GNU C Library.
@macro gnuhurdsystems
GNU/Hurd systems
@end macro
@c Descrption applying to GNU/Linux systems; that is, systems using
@c the Linux kernel with the GNU C Library.
@macro gnulinuxsystems
GNU/Linux systems
@end macro
@end ifclear

View File

@ -399,7 +399,7 @@ This directory is for @code{socket} and related functions on Unix systems.
@item mach
This is the directory for things based on the Mach microkernel from CMU
(including the GNU operating system). Other basic operating systems
(including @gnuhurdsystems{}). Other basic operating systems
(VMS, for example) would have their own directories at the top level of
the @file{sysdeps} hierarchy, parallel to @file{unix} and @file{mach}.
@end table

View File

@ -379,7 +379,7 @@ savestring (const char *ptr, size_t len)
@end smallexample
The block that @code{malloc} gives you is guaranteed to be aligned so
that it can hold any type of data. In the GNU system, the address is
that it can hold any type of data. On @gnusystems{}, the address is
always a multiple of eight on most systems, and a multiple of 16 on
64-bit systems. Only rarely is any higher boundary (such as a page
boundary) necessary; for those cases, use @code{memalign},
@ -614,7 +614,7 @@ after calling @code{free} wastes memory. The size threshold for
@cindex alignment (with @code{malloc})
@pindex stdlib.h
The address of a block returned by @code{malloc} or @code{realloc} in
the GNU system is always a multiple of eight (or sixteen on 64-bit
@gnusystems{} is always a multiple of eight (or sixteen on 64-bit
systems). If you need a block whose address is a multiple of a higher
power of two than that, use @code{memalign}, @code{posix_memalign}, or
@code{valloc}. @code{memalign} is declared in @file{malloc.h} and
@ -2295,7 +2295,7 @@ the one you would get from an infinite recursion; probably a
segmentation violation (@pxref{Program Error Signals}).
@item
Some non-GNU systems fail to support @code{alloca}, so it is less
Some @nongnusystems{} fail to support @code{alloca}, so it is less
portable. However, a slower emulation of @code{alloca} written in C
is available for use on systems with this deficiency.
@end itemize

View File

@ -670,7 +670,7 @@ type @code{glob64_t} which were allocated by @code{glob64}.
@Theglibc{} supports two interfaces for matching regular
expressions. One is the standard POSIX.2 interface, and the other is
what the GNU system has had for many years.
what @theglibc{} has had for many years.
Both interfaces are declared in the header file @file{regex.h}.
If you define @w{@code{_POSIX_C_SOURCE}}, then only the POSIX.2

View File

@ -74,8 +74,8 @@ The process has too many files open.
@item ENFILE
There are too many open files in the entire system. @xref{Error Codes},
for more information about @code{ENFILE}. This error never occurs in
the GNU system.
for more information about @code{ENFILE}. This error never occurs on
@gnuhurdsystems{}.
@end table
@end deftypefun

View File

@ -350,8 +350,8 @@ file name searching as the @code{execvp} function.
@end deftypefun
The size of the argument list and environment list taken together must
not be greater than @code{ARG_MAX} bytes. @xref{General Limits}. In
the GNU system, the size (which compares against @code{ARG_MAX})
not be greater than @code{ARG_MAX} bytes. @xref{General Limits}. On
@gnuhurdsystems{}, the size (which compares against @code{ARG_MAX})
includes, for each string, the number of characters in the string, plus
the size of a @code{char *}, plus one, rounded up to a multiple of the
size of a @code{char *}. Other systems may have somewhat different
@ -366,7 +366,7 @@ usual file name errors (@pxref{File Name Errors}), the following
@table @code
@item E2BIG
The combined size of the new program's argument list and environment
list is larger than @code{ARG_MAX} bytes. The GNU system has no
list is larger than @code{ARG_MAX} bytes. @gnuhurdsystems{} have no
specific limit on the argument list size, so this error code cannot
result, but you may get @code{ENOMEM} instead if the arguments are too
big for available memory.
@ -406,7 +406,7 @@ Pending alarms. @xref{Setting an Alarm}.
@item
Current working directory and root directory. @xref{Working
Directory}. In the GNU system, the root directory is not copied when
Directory}. On @gnuhurdsystems{}, the root directory is not copied when
executing a setuid program; instead the system default root directory
is used for the new program.

View File

@ -42,9 +42,6 @@ Just the current process.
All child processes (direct and indirect) that have already terminated.
@end table
In the GNU system, you can also inquire about a particular child process
by specifying its process ID.
The return value of @code{getrusage} is zero for success, and @code{-1}
for failure.

View File

@ -182,7 +182,7 @@ behavior.
The behavior of @code{setjmp} and @code{longjmp} in @theglibc{} is
controlled by feature test macros; see @ref{Feature Test Macros}. The
default in the GNU system is the POSIX.1 behavior rather than the BSD
default in @theglibc{} is the POSIX.1 behavior rather than the BSD
behavior.
The facilities in this section are declared in the header file

View File

@ -274,7 +274,7 @@ When one of these program error signals terminates a process, it also
writes a @dfn{core dump file} which records the state of the process at
the time of termination. The core dump file is named @file{core} and is
written in whichever directory is current in the process at the time.
(On the GNU system, you can specify the file name for core dumps with
(On @gnuhurdsystems{}, you can specify the file name for core dumps with
the environment variable @code{COREFILE}.) The purpose of core dump
files is so that you can examine them with a debugger to investigate
what caused the error.
@ -309,7 +309,7 @@ this argument, you must define the handler to accept two arguments,
which means you must cast it to a one-argument function type in order to
establish the handler. @Theglibc{} does provide this extra
argument, but the value is meaningful only on operating systems that
provide the information (BSD systems and GNU systems).
provide the information (BSD systems and @gnusystems{}).
@table @code
@comment signal.h
@ -625,7 +625,7 @@ On most operating systems, terminals and sockets are the only kinds of
files that can generate @code{SIGIO}; other kinds, including ordinary
files, never generate @code{SIGIO} even if you ask them to.
In the GNU system @code{SIGIO} will always be generated properly
On @gnusystems{} @code{SIGIO} will always be generated properly
if you successfully set asynchronous mode with @code{fcntl}.
@end deftypevr
@ -759,14 +759,14 @@ process would probably not be very useful, since there is no shell
program that will notice it stop and allow the user to continue it.
What happens instead depends on the operating system you are using.
Some systems may do nothing; others may deliver another signal instead,
such as @code{SIGKILL} or @code{SIGHUP}. In the GNU system, the process
such as @code{SIGKILL} or @code{SIGHUP}. On @gnuhurdsystems{}, the process
dies with @code{SIGKILL}; this avoids the problem of many stopped,
orphaned processes lying around the system.
@ignore
On the GNU system, it is possible to reattach to the orphaned process
On @gnuhurdsystems{}, it is possible to reattach to the orphaned process
group and continue it, so stop signals do stop the process as usual on
a GNU system unless you have requested POSIX compatibility ``till it
@gnuhurdsystems{} unless you have requested POSIX compatibility ``till it
hurts.''
@end ignore
@ -805,7 +805,7 @@ that isn't connected. @xref{Sending Data}.
Resource lost. This signal is generated when you have an advisory lock
on an NFS file, and the NFS server reboots and forgets about your lock.
In the GNU system, @code{SIGLOST} is generated when any server program
On @gnuhurdsystems{}, @code{SIGLOST} is generated when any server program
dies unexpectedly. It is usually fine to ignore the signal; whatever
call was made to the server that died just returns an error.
@end deftypevr
@ -864,7 +864,7 @@ reformat its display accordingly.
@comment signal.h
@comment BSD
@deftypevr Macro int SIGINFO
Information request. In 4.4 BSD and the GNU system, this signal is sent
Information request. On 4.4 BSD and @gnuhurdsystems{}, this signal is sent
to all the processes in the foreground process group of the controlling
terminal when the user types the STATUS character in canonical mode;
@pxref{Signal Characters}.
@ -1223,7 +1223,7 @@ examine it with @code{sigaction}, the handler address that you get may
not be the same as what you specified with @code{signal}. It may not
even be suitable for use as an action argument with @code{signal}. But
you can rely on using it as an argument to @code{sigaction}. This
problem never happens on the GNU system.
problem never happens on @gnusystems{}.
So, you're better off using one or the other of the mechanisms
consistently within a single program.
@ -1894,7 +1894,7 @@ could ``lose'' one of the objects.
@ignore
!!! not true
On the GNU system, @code{malloc} and @code{free} are safe to use in
In @theglibc{}, @code{malloc} and @code{free} are safe to use in
signal handlers because they block signals. As a result, the library
functions that allocate space for a result are also safe in signal
handlers. The obstack allocation functions are safe as long as you

View File

@ -169,7 +169,7 @@ To specify an argument for a long option, write
@samp{--@var{name}=@var{value}}. This syntax enables a long option to
accept an argument that is itself optional.
Eventually, the GNU system will provide completion for long option names
Eventually, @gnusystems{} will provide completion for long option names
in the shell.
@node Parsing Program Arguments, , Argument Syntax, Program Arguments
@ -423,7 +423,7 @@ If you just want to get the value of an environment variable, use
@code{getenv}.
@end deftypevar
Unix systems, and the GNU system, pass the initial value of
Unix systems, and @gnusystems{}, pass the initial value of
@code{environ} as the third argument to @code{main}.
@xref{Program Arguments}.

View File

@ -110,7 +110,7 @@ diagnostics issued by the program.
@end deftypevar
@cindex standard error stream
In the GNU system, you can specify what files or processes correspond to
On @gnusystems{}, you can specify what files or processes correspond to
these streams using the pipe and redirection facilities provided by the
shell. (The primitives shells use to implement these facilities are
described in @ref{File System Interface}.) Most other operating systems
@ -206,7 +206,7 @@ Closing Files}).
The character @samp{b} in @var{opentype} has a standard meaning; it
requests a binary stream rather than a text stream. But this makes no
difference in POSIX systems (including the GNU system). If both
difference in POSIX systems (including @gnusystems{}). If both
@samp{+} and @samp{b} are specified, they can appear in either order.
@xref{Binary Streams}.
@ -2174,7 +2174,7 @@ The @samp{%p} conversion prints a pointer value. The corresponding
argument must be of type @code{void *}. In practice, you can use any
type of pointer.
In the GNU system, non-null pointers are printed as unsigned integers,
In @theglibc{}, non-null pointers are printed as unsigned integers,
as if a @samp{%#x} conversion were used. Null pointers print as
@samp{(nil)}. (Pointers might print differently in other systems.)
@ -4045,7 +4045,7 @@ descriptor is not usually advisable.
@node Binary Streams
@section Text and Binary Streams
The GNU system and other POSIX-compatible operating systems organize all
@gnusystems{} and other POSIX-compatible operating systems organize all
files as uniform sequences of characters. However, some other systems
make a distinction between files containing text and files containing
binary data, and the input and output facilities of @w{ISO C} provide for
@ -4108,7 +4108,7 @@ restrictions that text streams sometimes have.
The @dfn{file position} of a stream describes where in the file the
stream is currently reading or writing. I/O on the stream advances the
file position through the file. In the GNU system, the file position is
file position through the file. On @gnusystems{}, the file position is
represented as an integer, which counts the number of bytes from the
beginning of the file. @xref{File Position}.
@ -4301,7 +4301,7 @@ An alias for @code{SEEK_END}.
@node Portable Positioning
@section Portable File-Position Functions
On the GNU system, the file position is truly a character count. You
On @gnusystems{}, the file position is truly a character count. You
can specify any character count value as an argument to @code{fseek} or
@code{fseeko} and get reliable results for any random access file.
However, some @w{ISO C} systems do not represent file positions in this
@ -4361,7 +4361,7 @@ This is the type of an object that can encode information about the
file position of a stream, for use by the functions @code{fgetpos} and
@code{fsetpos}.
In the GNU system, @code{fpos_t} is an opaque data structure that
In @theglibc{}, @code{fpos_t} is an opaque data structure that
contains internal data to represent file offset and conversion state
information. In other systems, it might have a different internal
representation.
@ -4378,7 +4378,7 @@ This is the type of an object that can encode information about the
file position of a stream, for use by the functions @code{fgetpos64} and
@code{fsetpos64}.
In the GNU system, @code{fpos64_t} is an opaque data structure that
In @theglibc{}, @code{fpos64_t} is an opaque data structure that
contains internal data to represent file offset and conversion state
information. In other systems, it might have a different internal
representation.
@ -4578,7 +4578,7 @@ This function is declared in the @file{stdio_ext.h} header.
been known to be so thoroughly fixated on line-oriented input and output
that flushing a line buffered stream causes a newline to be written!
Fortunately, this ``feature'' seems to be becoming less common. You do
not need to worry about this in the GNU system.
not need to worry about this with @theglibc{}.
In some situations it might be useful to not flush the output pending
for a stream but instead simply forget it. If transmission is costly

View File

@ -319,7 +319,7 @@ This is like @code{TCSADRAIN}, but also discards any queued input.
This is a flag bit that you can add to any of the above alternatives.
Its meaning is to inhibit alteration of the state of the terminal
hardware. It is a BSD extension; it is only supported on BSD systems
and the GNU system.
and @gnuhurdsystems{}.
Using @code{TCSASOFT} is exactly the same as setting the @code{CIGNORE}
bit in the @code{c_cflag} member of the structure @var{termios-p} points
@ -574,7 +574,8 @@ If this bit is set, any input character restarts output when output has
been suspended with the STOP character. Otherwise, only the START
character restarts output.
This is a BSD extension; it exists only on BSD systems and the GNU system.
This is a BSD extension; it exists only on BSD systems and
@gnulinuxhurdsystems{}.
@end deftypevr
@comment termios.h
@ -611,12 +612,10 @@ carriage return and linefeed pairs.
If this bit isn't set, the characters are transmitted as-is.
@end deftypevr
The following three bits are BSD features, and they exist only BSD
systems and the GNU system. They are effective only if @code{OPOST} is
set.
The following three bits are effective only if @code{OPOST} is set.
@comment termios.h
@comment BSD
@comment POSIX.1
@deftypevr Macro tcflag_t ONLCR
If this bit is set, convert the newline character on output into a pair
of characters, carriage return followed by linefeed.
@ -626,7 +625,9 @@ of characters, carriage return followed by linefeed.
@comment BSD
@deftypevr Macro tcflag_t OXTABS
If this bit is set, convert tab characters on output into the appropriate
number of spaces to emulate a tab stop every eight columns.
number of spaces to emulate a tab stop every eight columns. This bit
exists only on BSD systems and @gnuhurdsystems{}; on
@gnulinuxsystems{} it is available as @code{XTABS}.
@end deftypevr
@comment termios.h
@ -634,6 +635,7 @@ number of spaces to emulate a tab stop every eight columns.
@deftypevr Macro tcflag_t ONOEOT
If this bit is set, discard @kbd{C-d} characters (code @code{004}) on
output. These characters cause many dial-up terminals to disconnect.
This bit exists only on BSD systems and @gnuhurdsystems{}.
@end deftypevr
@node Control Modes
@ -747,8 +749,8 @@ This specifies seven bits per byte.
This specifies eight bits per byte.
@end deftypevr
The following four bits are BSD extensions; this exist only on BSD
systems and the GNU system.
The following four bits are BSD extensions; these exist only on BSD
systems and @gnuhurdsystems{}.
@comment termios.h
@comment BSD
@ -839,8 +841,8 @@ character erased. Typing the ERASE character again just prints the next
character erased. Then, the next time you type a normal character, a
@samp{/} character is printed before the character echoes.
This is a BSD extension, and exists only in BSD systems and the
GNU system.
This is a BSD extension, and exists only in BSD systems and
@gnulinuxhurdsystems{}.
@end deftypevr
@comment termios.h
@ -865,8 +867,8 @@ input, without which @code{ECHOK} is simply irrelevant.
@deftypevr Macro tcflag_t ECHOKE
This bit is similar to @code{ECHOK}. It enables special display of the
KILL character by erasing on the screen the entire line that has been
killed. This is a BSD extension, and exists only in BSD systems and the
GNU system.
killed. This is a BSD extension, and exists only in BSD systems and
@gnulinuxhurdsystems{}.
@end deftypevr
@comment termios.h
@ -886,8 +888,8 @@ Thus, control-A echoes as @samp{^A}. This is usually the preferred mode
for interactive input, because echoing a control character back to the
terminal could have some undesired effect on the terminal.
This is a BSD extension, and exists only in BSD systems and the
GNU system.
This is a BSD extension, and exists only in BSD systems and
@gnulinuxhurdsystems{}.
@end deftypevr
@comment termios.h
@ -914,7 +916,8 @@ signals associated with these characters, or to escape from the program.
POSIX.1 gives @code{IEXTEN} implementation-defined meaning,
so you cannot rely on this interpretation on all systems.
On BSD systems and the GNU system, it enables the LNEXT and DISCARD characters.
On BSD systems and @gnulinuxhurdsystems{}, it enables the LNEXT and
DISCARD characters.
@xref{Other Special}.
@end deftypevr
@ -934,8 +937,8 @@ If this bit is set and the system supports job control, then
attempt to write to the terminal. @xref{Access to the Terminal}.
@end deftypevr
The following bits are BSD extensions; they exist only in BSD systems
and the GNU system.
The following bits are BSD extensions; they exist only on BSD systems
and @gnuhurdsystems{}.
@comment termios.h
@comment BSD
@ -1245,7 +1248,7 @@ terminate an input line, by setting EOL to one of them and EOL2 to the
other.
The EOL2 character is a BSD extension; it exists only on BSD systems
and the GNU system.
and @gnulinuxhurdsystems{}.
@end deftypevr
@comment termios.h
@ -1404,7 +1407,7 @@ The DSUSP (suspend) character is recognized only if the implementation
supports job control (@pxref{Job Control}). It sends a @code{SIGTSTP}
signal, like the SUSP character, but not right away---only when the
program tries to read it as input. Not all systems with job control
support DSUSP; only BSD-compatible systems (including the GNU system).
support DSUSP; only BSD-compatible systems (including @gnuhurdsystems{}).
@xref{Signal Handling}, for more information about signals.
@ -1461,8 +1464,6 @@ regardless of what you specify.
@node Other Special
@subsubsection Other Special Characters
These special characters exist only in BSD systems and the GNU system.
@comment termios.h
@comment BSD
@deftypevr Macro int VLNEXT
@ -1479,6 +1480,8 @@ signal, it is read as a plain character. This is the analogue of the
@kbd{C-q} command in Emacs. ``LNEXT'' stands for ``literal next.''
The LNEXT character is usually @kbd{C-v}.
This character is available on BSD systems and @gnulinuxhurdsystems{}.
@end deftypevr
@comment termios.h
@ -1494,6 +1497,8 @@ in both canonical and noncanonical mode. Its effect is to toggle the
discard-output flag. When this flag is set, all program output is
discarded. Setting the flag also discards all output currently in the
output buffer. Typing any other character resets the flag.
This character is available on BSD systems and @gnulinuxhurdsystems{}.
@end deftypevr
@comment termios.h
@ -1509,6 +1514,8 @@ the current process is running.
The STATUS character is recognized only in canonical mode, and only if
@code{NOKERNINFO} is not set.
This character is available only on BSD systems and @gnuhurdsystems{}.
@end deftypevr
@node Noncanonical Input

View File

@ -84,7 +84,7 @@ time between calendar time @var{time1} and calendar time @var{time0}, as
a value of type @code{double}. The difference ignores leap seconds
unless leap second support is enabled.
In the GNU system, you can simply subtract @code{time_t} values. But on
In @theglibc{}, you can simply subtract @code{time_t} values. But on
other systems, the @code{time_t} data type might use some other encoding
where subtraction doesn't work directly.
@end deftypefun
@ -163,7 +163,7 @@ you can get the information with the functions in this section.
CPU time (@pxref{Time Basics}) is represented by the data type
@code{clock_t}, which is a number of @dfn{clock ticks}. It gives the
total amount of time a process has actively used a CPU since some
arbitrary event. On the GNU system, that event is the creation of the
arbitrary event. On @gnusystems{}, that event is the creation of the
process. While arbitrary in general, the event is always the same event
for any particular process, so you can always measure how much time on
the CPU a particular computation takes by examining the process' CPU
@ -172,7 +172,7 @@ time before and after the computation.
@cindex clock ticks
@cindex ticks, clock
In the GNU system, @code{clock_t} is equivalent to @code{long int} and
On @gnulinuxhurdsystems{}, @code{clock_t} is equivalent to @code{long int} and
@code{CLOCKS_PER_SEC} is an integer value. But in other systems, both
@code{clock_t} and the macro @code{CLOCKS_PER_SEC} can be either integer
or floating-point types. Casting CPU time values to @code{double}, as
@ -319,7 +319,7 @@ indicate failure.
@strong{Portability Note:} The @code{clock} function described in
@ref{CPU Time} is specified by the @w{ISO C} standard. The
@code{times} function is a feature of POSIX.1. In the GNU system, the
@code{times} function is a feature of POSIX.1. On @gnusystems{}, the
CPU time is defined to be equivalent to the sum of the @code{tms_utime}
and @code{tms_stime} fields returned by @code{times}.
@ -487,7 +487,7 @@ following @code{errno} error condition is defined for this function:
@table @code
@item ENOSYS
The operating system does not support getting time zone information, and
@var{tzp} is not a null pointer. The GNU operating system does not
@var{tzp} is not a null pointer. @gnusystems{} do not
support using @w{@code{struct timezone}} to represent time zone
information; that is an obsolete feature of 4.3 BSD.
Instead, use the facilities described in @ref{Time Zone Functions}.
@ -2462,7 +2462,7 @@ handler. And, if @code{sleep} is interrupted by delivery of a signal
whose handler requests an alarm or alters the handling of @code{SIGALRM},
this handler and @code{sleep} will interfere.
On the GNU system, it is safe to use @code{sleep} and @code{SIGALRM} in
On @gnusystems{}, it is safe to use @code{sleep} and @code{SIGALRM} in
the same program, because @code{sleep} does not work by means of
@code{SIGALRM}.

View File

@ -884,7 +884,7 @@ The exit status of the process.
@deftp {Data Type} {struct utmp}
The @code{utmp} data structure is used to hold information about entries
in the user accounting database. On the GNU system it has the following
in the user accounting database. On @gnusystems{} it has the following
members:
@table @code
@ -1217,7 +1217,7 @@ database specified by @var{wtmp_file}. For possible values for the
subset of these functions, they are not standardized. There are often
subtle differences in the return types, and there are considerable
differences between the various definitions of @code{struct utmp}. When
programming for the GNU system, it is probably best to stick
programming for @theglibc{}, it is probably best to stick
with the functions described in this section. If however, you want your
program to be portable, consider using the XPG functions described in
@ref{XPG Functions}, or take a look at the BSD compatible functions in
@ -1257,14 +1257,14 @@ Time the entry was made. For entries of type @code{OLD_TIME} this is
the time when the system clock changed, and for entries of type
@code{NEW_TIME} this is the time the system clock was set to.
@end table
On the GNU system, @code{struct utmpx} is identical to @code{struct
In @theglibc{}, @code{struct utmpx} is identical to @code{struct
utmp} except for the fact that including @file{utmpx.h} does not make
visible the declaration of @code{struct exit_status}.
@end deftp
The following macros are defined for use as values for the
@code{ut_type} member of the @code{utmpx} structure. The values are
integer constants and are, on the GNU system, identical to the
integer constants and are, in @theglibc{}, identical to the
definitions in @file{utmp.h}.
@table @code
@ -1330,7 +1330,7 @@ can be found using the @code{sizeof} operator.
@comment utmpx.h
@comment XPG4.2
@deftypefun void setutxent (void)
This function is similar to @code{setutent}. On the GNU system it is
This function is similar to @code{setutent}. In @theglibc{} it is
simply an alias for @code{setutent}.
@end deftypefun
@ -1338,14 +1338,14 @@ simply an alias for @code{setutent}.
@comment XPG4.2
@deftypefun {struct utmpx *} getutxent (void)
The @code{getutxent} function is similar to @code{getutent}, but returns
a pointer to a @code{struct utmpx} instead of @code{struct utmp}. On
the GNU system it simply is an alias for @code{getutent}.
a pointer to a @code{struct utmpx} instead of @code{struct utmp}. In
@theglibc{} it simply is an alias for @code{getutent}.
@end deftypefun
@comment utmpx.h
@comment XPG4.2
@deftypefun void endutxent (void)
This function is similar to @code{endutent}. On the GNU system it is
This function is similar to @code{endutent}. In @theglibc{} it is
simply an alias for @code{endutent}.
@end deftypefun
@ -1353,7 +1353,7 @@ simply an alias for @code{endutent}.
@comment XPG4.2
@deftypefun {struct utmpx *} getutxid (const struct utmpx *@var{id})
This function is similar to @code{getutid}, but uses @code{struct utmpx}
instead of @code{struct utmp}. On the GNU system it is simply an alias
instead of @code{struct utmp}. In @theglibc{} it is simply an alias
for @code{getutid}.
@end deftypefun
@ -1361,7 +1361,7 @@ for @code{getutid}.
@comment XPG4.2
@deftypefun {struct utmpx *} getutxline (const struct utmpx *@var{line})
This function is similar to @code{getutid}, but uses @code{struct utmpx}
instead of @code{struct utmp}. On the GNU system it is simply an alias
instead of @code{struct utmp}. In @theglibc{} it is simply an alias
for @code{getutline}.
@end deftypefun
@ -1370,7 +1370,7 @@ for @code{getutline}.
@deftypefun {struct utmpx *} pututxline (const struct utmpx *@var{utmp})
The @code{pututxline} function is functionally identical to
@code{pututline}, but uses @code{struct utmpx} instead of @code{struct
utmp}. On the GNU system, @code{pututxline} is simply an alias for
utmp}. In @theglibc{}, @code{pututxline} is simply an alias for
@code{pututline}.
@end deftypefun
@ -1378,12 +1378,12 @@ utmp}. On the GNU system, @code{pututxline} is simply an alias for
@comment XPG4.2
@deftypefun int utmpxname (const char *@var{file})
The @code{utmpxname} function is functionally identical to
@code{utmpname}. On the GNU system, @code{utmpxname} is simply an
@code{utmpname}. In @theglibc{}, @code{utmpxname} is simply an
alias for @code{utmpname}.
@end deftypefun
You can translate between a traditional @code{struct utmp} and an XPG
@code{struct utmpx} with the following functions. On the GNU system,
@code{struct utmpx} with the following functions. In @theglibc{},
these functions are merely copies, since the two structures are
identical.

View File

@ -26,9 +26,6 @@ headers := math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.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
# FPU support code.
aux := setfpucw fpu_control
@ -84,7 +81,6 @@ calls = s_isinf s_isnan s_finite s_copysign s_modf s_scalbn s_frexp s_ldexp \
generated += $(foreach s,.c .S l.c l.S f.c f.S,$(calls:s_%=m_%$s))
routines = $(calls) $(calls:=f) $(long-c-$(long-double-fcts))
long-c-yes = $(calls:=l)
distribute += $(filter-out $(generated),$(long-m-yes:=.c) $(long-c-yes:=.c))
# Rules for the test suite.
tests = test-matherr test-fenv atest-exp atest-sincos atest-exp2 basic-test \
@ -94,7 +90,6 @@ tests = test-matherr test-fenv atest-exp atest-sincos atest-exp2 basic-test \
# We do the `long double' tests only if this data type is available and
# distinct from `double'.
test-longdouble-yes = test-ldouble test-ildoubl
distribute += $(test-longdouble-yes:=.c)
ifneq (no,$(PERL))
libm-tests = test-float test-double $(test-longdouble-$(long-double-fcts)) \
@ -139,15 +134,12 @@ CPPFLAGS-test-idouble.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ \
CPPFLAGS-test-ildoubl.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ \
-DTEST_FAST_MATH -fno-builtin
distribute += libm-test.inc gen-libm-test.pl README.libm-test
# The -lieee module sets the _LIB_VERSION_ switch to IEEE mode
# for error handling in the -lm functions.
install-lib += libieee.a
non-lib.a += libieee.a
extra-objs += libieee.a ieee-math.o
distribute += ieee-math.c
include ../Rules

View File

@ -1065,6 +1065,32 @@ cacos_test (void)
TEST_c_c (cacos, nan_value, nan_value, nan_value, nan_value);
TEST_c_c (cacos, plus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L);
TEST_c_c (cacos, minus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L);
TEST_c_c (cacos, plus_zero, -1.0L, M_PI_2l, 0.8813735870195430252326093249797923090282L);
TEST_c_c (cacos, minus_zero, -1.0L, M_PI_2l, 0.8813735870195430252326093249797923090282L);
TEST_c_c (cacos, plus_zero, -0.5L, M_PI_2l, 0.4812118250596034474977589134243684231352L);
TEST_c_c (cacos, minus_zero, -0.5L, M_PI_2l, 0.4812118250596034474977589134243684231352L);
TEST_c_c (cacos, plus_zero, 0.5L, M_PI_2l, -0.4812118250596034474977589134243684231352L);
TEST_c_c (cacos, minus_zero, 0.5L, M_PI_2l, -0.4812118250596034474977589134243684231352L);
TEST_c_c (cacos, plus_zero, 1.0L, M_PI_2l, -0.8813735870195430252326093249797923090282L);
TEST_c_c (cacos, minus_zero, 1.0L, M_PI_2l, -0.8813735870195430252326093249797923090282L);
TEST_c_c (cacos, plus_zero, 1.5L, M_PI_2l, -1.194763217287109304111930828519090523536L);
TEST_c_c (cacos, minus_zero, 1.5L, M_PI_2l, -1.194763217287109304111930828519090523536L);
TEST_c_c (cacos, -1.5L, plus_zero, M_PIl, -0.9624236501192068949955178268487368462704L);
TEST_c_c (cacos, -1.5L, minus_zero, M_PIl, 0.9624236501192068949955178268487368462704L);
TEST_c_c (cacos, -1.0L, plus_zero, M_PIl, minus_zero);
TEST_c_c (cacos, -1.0L, minus_zero, M_PIl, plus_zero);
TEST_c_c (cacos, -0.5L, plus_zero, 2.094395102393195492308428922186335256131L, minus_zero);
TEST_c_c (cacos, -0.5L, minus_zero, 2.094395102393195492308428922186335256131L, plus_zero);
TEST_c_c (cacos, 0.5L, plus_zero, 1.047197551196597746154214461093167628066L, minus_zero);
TEST_c_c (cacos, 0.5L, minus_zero, 1.047197551196597746154214461093167628066L, plus_zero);
TEST_c_c (cacos, 1.0L, plus_zero, plus_zero, minus_zero);
TEST_c_c (cacos, 1.0L, minus_zero, plus_zero, plus_zero);
TEST_c_c (cacos, 1.5L, plus_zero, plus_zero, -0.9624236501192068949955178268487368462704L);
TEST_c_c (cacos, 1.5L, minus_zero, plus_zero, 0.9624236501192068949955178268487368462704L);
TEST_c_c (cacos, 0.75L, 1.25L, 1.11752014915610270578240049553777969L, -1.13239363160530819522266333696834467L);
TEST_c_c (cacos, -2, -3, 2.1414491111159960199416055713254211L, 1.9833870299165354323470769028940395L);
@ -1127,6 +1153,32 @@ cacosh_test (void)
TEST_c_c (cacosh, nan_value, nan_value, nan_value, nan_value);
TEST_c_c (cacosh, plus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l);
TEST_c_c (cacosh, minus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l);
TEST_c_c (cacosh, plus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -M_PI_2l);
TEST_c_c (cacosh, minus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -M_PI_2l);
TEST_c_c (cacosh, plus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -M_PI_2l);
TEST_c_c (cacosh, minus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -M_PI_2l);
TEST_c_c (cacosh, plus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, M_PI_2l);
TEST_c_c (cacosh, minus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, M_PI_2l);
TEST_c_c (cacosh, plus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, M_PI_2l);
TEST_c_c (cacosh, minus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, M_PI_2l);
TEST_c_c (cacosh, plus_zero, 1.5L, 1.194763217287109304111930828519090523536L, M_PI_2l);
TEST_c_c (cacosh, minus_zero, 1.5L, 1.194763217287109304111930828519090523536L, M_PI_2l);
TEST_c_c (cacosh, -1.5L, plus_zero, 0.9624236501192068949955178268487368462704L, M_PIl);
TEST_c_c (cacosh, -1.5L, minus_zero, 0.9624236501192068949955178268487368462704L, -M_PIl);
TEST_c_c (cacosh, -1.0L, plus_zero, plus_zero, M_PIl);
TEST_c_c (cacosh, -1.0L, minus_zero, plus_zero, -M_PIl);
TEST_c_c (cacosh, -0.5L, plus_zero, plus_zero, 2.094395102393195492308428922186335256131L);
TEST_c_c (cacosh, -0.5L, minus_zero, plus_zero, -2.094395102393195492308428922186335256131L);
TEST_c_c (cacosh, 0.5L, plus_zero, plus_zero, 1.047197551196597746154214461093167628066L);
TEST_c_c (cacosh, 0.5L, minus_zero, plus_zero, -1.047197551196597746154214461093167628066L);
TEST_c_c (cacosh, 1.0L, plus_zero, plus_zero, plus_zero);
TEST_c_c (cacosh, 1.0L, minus_zero, plus_zero, minus_zero);
TEST_c_c (cacosh, 1.5L, plus_zero, 0.9624236501192068949955178268487368462704L, plus_zero);
TEST_c_c (cacosh, 1.5L, minus_zero, 0.9624236501192068949955178268487368462704L, minus_zero);
TEST_c_c (cacosh, 0.75L, 1.25L, 1.13239363160530819522266333696834467L, 1.11752014915610270578240049553777969L);
TEST_c_c (cacosh, -2, -3, 1.9833870299165354323470769028940395L, -2.1414491111159960199416055713254211L);
@ -1258,6 +1310,32 @@ casin_test (void)
TEST_c_c (casin, nan_value, nan_value, nan_value, nan_value);
TEST_c_c (casin, plus_zero, -1.5L, plus_zero, -1.194763217287109304111930828519090523536L);
TEST_c_c (casin, minus_zero, -1.5L, minus_zero, -1.194763217287109304111930828519090523536L);
TEST_c_c (casin, plus_zero, -1.0L, plus_zero, -0.8813735870195430252326093249797923090282L);
TEST_c_c (casin, minus_zero, -1.0L, minus_zero, -0.8813735870195430252326093249797923090282L);
TEST_c_c (casin, plus_zero, -0.5L, plus_zero, -0.4812118250596034474977589134243684231352L);
TEST_c_c (casin, minus_zero, -0.5L, minus_zero, -0.4812118250596034474977589134243684231352L);
TEST_c_c (casin, plus_zero, 0.5L, plus_zero, 0.4812118250596034474977589134243684231352L);
TEST_c_c (casin, minus_zero, 0.5L, minus_zero, 0.4812118250596034474977589134243684231352L);
TEST_c_c (casin, plus_zero, 1.0L, plus_zero, 0.8813735870195430252326093249797923090282L);
TEST_c_c (casin, minus_zero, 1.0L, minus_zero, 0.8813735870195430252326093249797923090282L);
TEST_c_c (casin, plus_zero, 1.5L, plus_zero, 1.194763217287109304111930828519090523536L);
TEST_c_c (casin, minus_zero, 1.5L, minus_zero, 1.194763217287109304111930828519090523536L);
TEST_c_c (casin, -1.5L, plus_zero, -M_PI_2l, 0.9624236501192068949955178268487368462704L);
TEST_c_c (casin, -1.5L, minus_zero, -M_PI_2l, -0.9624236501192068949955178268487368462704L);
TEST_c_c (casin, -1.0L, plus_zero, -M_PI_2l, plus_zero);
TEST_c_c (casin, -1.0L, minus_zero, -M_PI_2l, minus_zero);
TEST_c_c (casin, -0.5L, plus_zero, -0.5235987755982988730771072305465838140329L, plus_zero);
TEST_c_c (casin, -0.5L, minus_zero, -0.5235987755982988730771072305465838140329L, minus_zero);
TEST_c_c (casin, 0.5L, plus_zero, 0.5235987755982988730771072305465838140329L, plus_zero);
TEST_c_c (casin, 0.5L, minus_zero, 0.5235987755982988730771072305465838140329L, minus_zero);
TEST_c_c (casin, 1.0L, plus_zero, M_PI_2l, plus_zero);
TEST_c_c (casin, 1.0L, minus_zero, M_PI_2l, minus_zero);
TEST_c_c (casin, 1.5L, plus_zero, M_PI_2l, 0.9624236501192068949955178268487368462704L);
TEST_c_c (casin, 1.5L, minus_zero, M_PI_2l, -0.9624236501192068949955178268487368462704L);
TEST_c_c (casin, 0.75L, 1.25L, 0.453276177638793913448921196101971749L, 1.13239363160530819522266333696834467L);
TEST_c_c (casin, -2, -3, -0.57065278432109940071028387968566963L, -1.9833870299165354323470769028940395L);
@ -1322,6 +1400,32 @@ casinh_test (void)
TEST_c_c (casinh, nan_value, nan_value, nan_value, nan_value);
TEST_c_c (casinh, plus_zero, -1.5L, 0.9624236501192068949955178268487368462704L, -M_PI_2l);
TEST_c_c (casinh, minus_zero, -1.5L, -0.9624236501192068949955178268487368462704L, -M_PI_2l);
TEST_c_c (casinh, plus_zero, -1.0L, plus_zero, -M_PI_2l);
TEST_c_c (casinh, minus_zero, -1.0L, minus_zero, -M_PI_2l);
TEST_c_c (casinh, plus_zero, -0.5L, plus_zero, -0.5235987755982988730771072305465838140329L);
TEST_c_c (casinh, minus_zero, -0.5L, minus_zero, -0.5235987755982988730771072305465838140329L);
TEST_c_c (casinh, plus_zero, 0.5L, plus_zero, 0.5235987755982988730771072305465838140329L);
TEST_c_c (casinh, minus_zero, 0.5L, minus_zero, 0.5235987755982988730771072305465838140329L);
TEST_c_c (casinh, plus_zero, 1.0L, plus_zero, M_PI_2l);
TEST_c_c (casinh, minus_zero, 1.0L, minus_zero, M_PI_2l);
TEST_c_c (casinh, plus_zero, 1.5L, 0.9624236501192068949955178268487368462704L, M_PI_2l);
TEST_c_c (casinh, minus_zero, 1.5L, -0.9624236501192068949955178268487368462704L, M_PI_2l);
TEST_c_c (casinh, -1.5L, plus_zero, -1.194763217287109304111930828519090523536L, plus_zero);
TEST_c_c (casinh, -1.5L, minus_zero, -1.194763217287109304111930828519090523536L, minus_zero);
TEST_c_c (casinh, -1.0L, plus_zero, -0.8813735870195430252326093249797923090282L, plus_zero);
TEST_c_c (casinh, -1.0L, minus_zero, -0.8813735870195430252326093249797923090282L, minus_zero);
TEST_c_c (casinh, -0.5L, plus_zero, -0.4812118250596034474977589134243684231352L, plus_zero);
TEST_c_c (casinh, -0.5L, minus_zero, -0.4812118250596034474977589134243684231352L, minus_zero);
TEST_c_c (casinh, 0.5L, plus_zero, 0.4812118250596034474977589134243684231352L, plus_zero);
TEST_c_c (casinh, 0.5L, minus_zero, 0.4812118250596034474977589134243684231352L, minus_zero);
TEST_c_c (casinh, 1.0L, plus_zero, 0.8813735870195430252326093249797923090282L, plus_zero);
TEST_c_c (casinh, 1.0L, minus_zero, 0.8813735870195430252326093249797923090282L, minus_zero);
TEST_c_c (casinh, 1.5L, plus_zero, 1.194763217287109304111930828519090523536L, plus_zero);
TEST_c_c (casinh, 1.5L, minus_zero, 1.194763217287109304111930828519090523536L, minus_zero);
TEST_c_c (casinh, 0.75L, 1.25L, 1.03171853444778027336364058631006594L, 0.911738290968487636358489564316731207L);
TEST_c_c (casinh, -2, -3, -1.9686379257930962917886650952454982L, -0.96465850440760279204541105949953237L);
@ -2554,6 +2658,24 @@ csqrt_test (void)
part). */
TEST_c_c (csqrt, 0, -1, M_SQRT_2_2, -M_SQRT_2_2);
TEST_c_c (csqrt, 0x1.fffffep+127L, 0x1.fffffep+127L, 2.026714405498316804978751017492482558075e+19L, 8.394925938143272988211878516208015586281e+18L);
TEST_c_c (csqrt, 0x1.fffffep+127L, 1.0L, 1.844674352395372953599975585936590505260e+19L, 2.710505511993121390769065968615872097053e-20L);
TEST_c_c (csqrt, 0x1p-149L, 0x1p-149L, 4.112805464342778798097003462770175200803e-23L, 1.703579802732953750368659735601389709551e-23L);
TEST_c_c (csqrt, 0x1p-147L, 0x1p-147L, 8.225610928685557596194006925540350401606e-23L, 3.407159605465907500737319471202779419102e-23L);
#ifndef TEST_FLOAT
TEST_c_c (csqrt, 0x1.fffffffffffffp+1023L, 0x1.fffffffffffffp+1023L, 1.473094556905565378990473658199034571917e+154L, 6.101757441282702188537080005372547713595e+153L);
TEST_c_c (csqrt, 0x1.fffffffffffffp+1023L, 0x1p+1023L, 1.379778091031440685006200821918878702861e+154L, 3.257214233483129514781233066898042490248e+153L);
TEST_c_c (csqrt, 0x1p-1074L, 0x1p-1074L, 2.442109726130830256743814843868934877597e-162L, 1.011554969366634726113090867589031782487e-162L);
TEST_c_c (csqrt, 0x1p-1073L, 0x1p-1073L, 3.453664695497464982856905711457966660085e-162L, 1.430554756764195530630723976279903095110e-162L);
#endif
#if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384
TEST_c_c (csqrt, 0x1.fp+16383L, 0x1.fp+16383L, 1.179514222452201722651836720466795901016e+2466L, 4.885707879516577666702435054303191575148e+2465L);
TEST_c_c (csqrt, 0x1.fp+16383L, 0x1p+16383L, 1.106698967236475180613254276996359485630e+2466L, 2.687568007603946993388538156299100955642e+2465L);
TEST_c_c (csqrt, 0x1p-16440L, 0x1p-16441L, 3.514690655930285351254618340783294558136e-2475L, 8.297059146828716918029689466551384219370e-2476L);
#endif
END (csqrt, complex);
}
@ -3454,6 +3576,19 @@ hypot_test (void)
TEST_ff_f (hypot, 0.75L, 1.25L, 1.45773797371132511771853821938639577L);
#if !(defined TEST_FLOAT && defined TEST_INLINE)
TEST_ff_f (hypot, 0x3p125L, 0x4p125L, 0x5p125L);
TEST_ff_f (hypot, 0x1.234566p-126L, 0x1.234566p-126L, 1.891441686191081936598531534017449451173e-38L);
#endif
#ifndef TEST_FLOAT
TEST_ff_f (hypot, 0x3p1021L, 0x4p1021L, 0x5p1021L);
#endif
#if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384 && !defined TEST_INLINE
TEST_ff_f (hypot, 0x3p16381L, 0x4p16381L, 0x5p16381L);
#endif
END (hypot);
}

View File

@ -1,5 +1,5 @@
/* Return arc hyperbole cosine for double value.
Copyright (C) 1997, 2006, 2011 Free Software Foundation, Inc.
Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -66,9 +66,13 @@ __cacosh (__complex__ double x)
}
/* The factor 16 is just a guess. */
else if (16.0 * fabs (__imag__ x) < fabs (__real__ x))
/* Kahan's formula which avoid cancellation through subtraction in
some cases. */
res = 2.0 * __clog (__csqrt ((x + 1.0) / 2.0) + __csqrt ((x - 1.0) / 2.0));
{
/* Kahan's formula which avoid cancellation through subtraction in
some cases. */
res = 2.0 * __clog (__csqrt ((x + 1.0) / 2.0) + __csqrt ((x - 1.0) / 2.0));
if (signbit (__real__ res))
__real__ res = 0.0;
}
else
{
__complex__ double y;

Some files were not shown because too many files have changed in this diff Show More