mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 21:10:07 +00:00
Merge branch 'master' into bug13658-branch
This commit is contained in:
commit
356a10ee3e
702
ChangeLog
702
ChangeLog
@ -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
13
INSTALL
@ -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
|
||||
|
@ -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
10
NEWS
@ -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
14
aclocal.m4
vendored
@ -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*])
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
41
configure
vendored
@ -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
|
||||
|
25
configure.in
25
configure.in
@ -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 '
|
||||
|
@ -20,9 +20,6 @@
|
||||
#
|
||||
subdir := conform
|
||||
|
||||
distribute = conformtest.pl $(wildcard data/*.h-data) \
|
||||
$(wildcard data/*/*.h-data)
|
||||
|
||||
include ../Rules
|
||||
|
||||
ifneq (yes,$(fast-check))
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
85
elf/Makefile
85
elf/Makefile
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
||||
|
541
intl/plural.c
541
intl/plural.c
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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}
|
||||
};
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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 ""
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 =
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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}.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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}.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user