2005-01-12 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): We don't have to allow callers from libc anymore. * elf/dl-open.c (dl_open_worker): Pass __RTLD_AUDIT flag from caller to _dl_map_object_deps. * elf/dl-load.c (_dl_map_object_from_fd): Don't change memory protections when loading auditing modules. * dlfcn/dlopen.c (dlopen_doit): Catch invalid mode arguments and fail. * posix/getconf.c: Update copyright year. * nss/getent.c: Likewise. * nscd/nscd_nischeck.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c: Likewise. * elf/ldconfig.c: Likewise. * catgets/gencat.c: Likewise. * csu/version.c: Likewise. * elf/ldd.bash.in: Likewise. * elf/sprof.c (print_version): Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * nscd/nscd.c (print_version): Likewise. * debug/xtrace.sh: Likewise. * malloc/memusage.sh: Likewise. * malloc/mtrace.pl: Likewise. * debug/catchsegv.sh: Likewise. 2005-01-11 Thorsten Kukuk * sunrpc/svc_tcp.c (svctcp_create): Call listen with SOMAXCONN as backlog. * sunrpc/svc_unix.c (svcunix_create): Likewise. * grp/putgrent.c (putgrent): Don't write 0 as group ID if groupname starts with + or -. * pwd/putpwent.c (putpwent): Don't write 0 as user or group ID if user name starts with + or -. 2005-01-09 Kaz Kojima * sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add sh variants. * sysdeps/elf/tst-auditmod1.c: Add sh support. * sysdeps/sh/bits/link.h: New. * sysdeps/sh/dl-machine.h: Remove trampoline code here. Define ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT. Remove obsolete comments. (RTLD_START): Define __fpscr_values. * sysdeps/sh/dl-trampoline.S: New file. * sysdeps/sh/sh4/dl-trampoline.S: New file. * sysdeps/sh/sh4/Versions [ld]: Add __fpscr_values. * sysdeps/sh/sh4/dl-machine.h: Remove. 2005-01-10 Jakub Jelinek * time/tst-strptime.c (day_tests): Add 2 new tests. (test_tm, main): Issue an error instead of segfaulting if strptime returns NULL. 2005-01-10 H.J. Lu * sysdeps/alpha/libc-tls.c (__tls_get_addr): Updated for dtv_t union. * sysdeps/ia64/libc-tls.c (__tls_get_addr): Likewise. 2005-01-11 Ulrich Drepper * malloc/malloc.h: Remove no-glibc support. 2005-01-12 GOTO Masanori [BZ #650] * malloc/malloc.h: Always include features.h. 2005-01-10 Roland McGrath * sysdeps/ia64/fpu/e_logl.c: File removed. * dlfcn/dlfcn.c (init): Fix typo in attribute decl. 2005-01-10 Ulrich Drepper * sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Fix assertion and recognition of last entry. 2005-01-09 Ulrich Drepper * elf/dl-runtime.c: Include . * elf/Makefile (headers): Add bits/link.h. 2005-01-09 Andreas Schwab * elf/rtld.c (dl_main): Create main_map with __RTLD_OPENEXEC. 2005-01-09 Andreas Jaeger * time/strptime_l.c (__strptime_internal): Add braces to avoid warning. * sysdeps/x86_64/bits/link.h: Use vector_size for GCC 4.0. * elf/rtld.c (dl_main): Call _dl_add_to_slotinfo only if USE_TLS. 2005-01-08 Jakub Jelinek * elf/Makefile (generated): Add tst-pie1{,.out,.o}. 2005-01-09 Ulrich Drepper * elf/dl-fini.c (_dl_fini): Call destructors of audit DSOs after those of all the regular objects. * elf/dl-debug.c (_dl_debug_initialize): Take extra parameter and use it to select the r_debug structure for that namespace. * elf/dl-close.c (_dl_close): Adjust call to _dl_debug_initialize. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. * elf/dl-open.c (_dl_open): Likewise. * elf/rtld.c (dl_main): Likewise. * sysdeps/generic/ldsodefs.h (struct link_namespaces): Add _ns_debug member. (_dl_debug_initialize): Add new parameter in declaration. * elf/dl-close.c (_dl_close): Make sure auditing callbacks are not called for the auditing objects themselves. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. 2005-01-07 Ulrich Drepper * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup): If profile != 0 does not anymore mean GLRO(dl_profile) != NULL. * sysdeps/powerpc/powerpc64/bits/link.h (struct la_ppc64_regs): Add padding. * sysdeps/powerpc/powerpc64/dl-trampoline.S: (_dl_profile_resolve): Extend _dl_prof_resolve to add pass extra parameters to _dl_profile_fixup and set up structure with register content. * sysdeps/powerpc/powerpc32/dl-machine.c (__elf_machine_runtime_setup): If profile != 0 does not anymore mean GLRO(dl_profile) != NULL. * sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_prof_resolve): Extend _dl_prof_resolve to add pass extra parameters to _dl_profile_fixup and set up structure with register content. * sysdeps/powerpc/powerpc32/bits/link.h: Fix types of some fields in the register and result structures. * sysdeps/powerpc/powerpc64/bits/link.h: Fix types of some fields in the 32-bit register and result structures. * sysdeps/powerpc/powerpc64/dl-trampoline.S: Use register names. * sysdeps/powerpc/powerpc32/dl-trampoline.S: New file. * sysdeps/powerpc/powerpc32/dl-machine.h: Remove trampoline code here. Define ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT. * sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add ppc32 variants. * elf/tst-auditmod1.c: Add ppc32 support. * sysdeps/powerpc/powerpc32/bits/link.h: New file. * sysdeps/powerpc/powerpc64/bits/link.h: Add ppc32 definitions. * malloc/malloc.c (malloc_printerr): Print program name as part of error message. * misc/sys/cdefs.h (__attribute_warn_unused_result__): Define. * stdlib/stdlib.h: Make realloc with __attribute_warn_unused_result__ instead of __wur. * malloc/malloc.h: Add __wur and __attribute_warn_unused_result__ markers as in . * libio/stdio.h: Remove __wur from rename and remove. * posix/unistd.h: Remove __wur from dup2. 2005-01-03 Andreas Jaeger * elf/Makefile (tests): Revert patch from 2005-01-03. 2005-01-07 Ulrich Drepper * sysdeps/unix/sysv/linux/init-first.c (__libc_init_first): Don't make __libc_init_first hidden. * elf/rtld.c [!DONT_USE_BOOTSTRAP_MAP] (_dl_start_final): Initialize l_relocated of rtld map. * sysdeps/powerpc/powerpc64/dl-trampoline.S: New file. * sysdeps/powerpc/powerpc64/dl-machine.h: Remove trampoline code here. Define ARCH_LA_PLTENTER and ARCH_LA_PLTEXIT. * sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add ppc64 variants. * elf/tst-auditmod1.c: Add ppc64 support. * sysdeps/powerpc/powerpc64/bits/link.h: New file. 2005-01-06 Roland McGrath [BZ #633] * sysdeps/unix/sysv/linux/futimes.c (__futimes): Catch errno values indicating file-name lookup errors, and return ENOSYS or EBADF instead. 2005-01-06 Ulrich Drepper * csu/elf-init.c (__libc_csu_fini): Don't do anything here. * sysdeps/generic/libc-start.c: Don't register program destructor here. * dlfcn/Makefile: Add rules to build dlfcn.c. (LDFLAGS-dl.so): Removed. * dlfcn/dlclose.c: _dl_close is now in ld.so, use function pointer table. * dlfcn/dlmopen.c: Likewise for _dl_open. * dlfcn/dlopen.c: Likewise. * dlfcn/dlopenold.c: Likewise. * elf/dl-libc.c: Likewise for _dl_open and _dl_close. * elf/Makefile (routines): Remove dl-open and dl-close. (dl-routines): Add dl-open, dl-close, and dl-trampoline. Add rules to build and run tst-audit1. * elf/tst-audit1.c: New file. * elf/tst-auditmod1.c: New file. * elf/Versions [libc]: Remove _dl_open and _dl_close. * elf/dl-close.c: Change for use inside ld.so instead of libc.so. * elf/dl-open.c: Likewise. * elf/dl-debug.c (_dl_debug_initialize): Allow reinitialization, signaled by nonzero parameter. * elf/dl-init.c: Fix use of r_state. * elf/dl-load.c: Likewise. * elf/dl-close.c: Add auditing checkpoints. * elf/dl-open.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-sym.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * elf/dl-object.c: Allocate memory for auditing information. * elf/dl-reloc.c: Remove RESOLV. We now always need the map. Correctly initialize slotinfo. * elf/dynamic-link.h: Adjust after removal of RESOLV. * sysdeps/hppa/dl-lookupcfg.h: Likewise. * sysdeps/ia64/dl-lookupcfg.h: Likewise. * sysdeps/powerpc/powerpc64/dl-lookupcfg.h: Removed. * elf/dl-runtime.c (_dl_fixup): Little cleanup. (_dl_profile_fixup): New parameters to point to register struct and variable for frame size. Add auditing checkpoints. (_dl_call_pltexit): New function. Don't define trampoline code here. * elf/rtld.c: Recognize LD_AUDIT. Load modules on startup. Remove all the functions from _rtld_global_ro which only _dl_open and _dl_close needed. Add auditing checkpoints. * elf/link.h: Define symbols for auditing interfaces. * include/link.h: Likewise. * include/dlfcn.h: Define __RTLD_AUDIT. Remove prototypes for _dl_open and _dl_close. Adjust access to argc and argv in libdl. * dlfcn/dlfcn.c: New file. * sysdeps/generic/dl-lookupcfg.h: Remove all content now that RESOLVE is gone. * sysdeps/generic/ldsodefs.h: Add definitions for auditing interfaces. * sysdeps/generic/unsecvars.h: Add LD_AUDIT. * sysdeps/i386/dl-machine.h: Remove trampoline code here. Adjust for removal of RESOLVE. * sysdeps/x86_64/dl-machine.h: Likewise. * sysdeps/generic/dl-trampoline.c: New file. * sysdeps/i386/dl-trampoline.c: New file. * sysdeps/x86_64/dl-trampoline.c: New file. * sysdeps/generic/dl-tls.c: Cleanups. Fixup for dtv_t change. Fix updating of DTV. * sysdeps/generic/libc-tls.c: Likewise. * sysdeps/arm/bits/link.h: Renamed to ... * sysdeps/arm/buts/linkmap.h: ...this. * sysdeps/generic/bits/link.h: Renamed to... * sysdeps/generic/bits/linkmap.h: ...this. * sysdeps/hppa/bits/link.h: Renamed to... * sysdeps/hppa/bits/linkmap.h: ...this. * sysdeps/hppa/i386/link.h: Renamed to... * sysdeps/hppa/i386/linkmap.h: ...this. * sysdeps/hppa/ia64/link.h: Renamed to... * sysdeps/hppa/ia64/linkmap.h: ...this. * sysdeps/hppa/s390/link.h: Renamed to... * sysdeps/hppa/s390/linkmap.h: ...this. * sysdeps/hppa/sh/link.h: Renamed to... * sysdeps/hppa/sh/linkmap.h: ...this. * sysdeps/hppa/x86_64/link.h: Renamed to... * sysdeps/hppa/x86_64/linkmap.h: ...this. * posix/unistd.h: Declare ftruncate for POSIX 2003. [BZ #640] 2004-12-22 Steven Munroe * math/libm-test.inc (rint_test_tonearest): New test. (rint_test_towardzero): New test. (rint_test_downward): New test. (rint_test_upward): New test. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Fix -0.0 case. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Fix -0.0 case. Use float const. * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Fix -0.0 case. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Fix -0.0 case. Use float const. * sysdeps/powerpc/powerpc32/fpu/s_round.S: Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Use EALIGN for Quadword alignment. Fix -0.0 case. * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Use EALIGN for Quadword alignment. Fix -0.0 case. * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_round.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. Use float const. * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Use EALIGN for Quadword alignment. Fix -0.0 case. * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Use EALIGN for Quadword alignment. Fix -0.0 case. Remove redundant const values. Use float const. 2005-01-06 Ulrich Drepper * misc/sys/cdefs.h: Define __wur. * libio/stdio.h: Use __wur for a number of interfaces. * posix/unistd.h: Likewise. * stdlib/stdlib.h: Likewise. 2004-12-29 Jakub Jelinek * sysdeps/ia64/fpu/libm_support.h (__libm_error_support): Use libc_hidden_proto instead of HIDDEN_PROTO. * sysdeps/ia64/fpu/libm-symbols.h (HIDDEN_PROTO): Remove. (__libm_error_support): If ASSEMBLER and in libc, define to HIDDEN_JUMPTARGET(__libm_error_support). 2004-12-28 David Mosberger * sysdeps/ia64/fpu/Makefile (duplicated-routines): New macro. (sysdep_routines): Replace libm_ldexp{,f,l} and libm_scalbn{,f,l} with $(duplicated-routines). (libm-sysdep_routines): Likewise, but substitute "s_" prefix for "m_" prefix. 2004-12-27 David Mosberger * sysdeps/ia64/fpu/libm-symbols.h: Add include of and undefine "ret" macro. Add __libm_error_support hidden definitions. * sysdeps/ia64/fpu/e_lgamma_r.c: Remove CVS-id comment. Add missing portion of copyright statement. * sysdeps/ia64/fpu/e_lgammaf_r.c: Likewise. * sysdeps/ia64/fpu/e_lgammal_r.c: Likewise. * sysdeps/ia64/fpu/w_lgamma.c: Remove CVS-id comment. Add missing portion of copyright statement. (__ieee754_lgamma): Rename from lgamma(). Make lgamma() a weak alias. (__ieee754_gamma): Likewise. * sysdeps/ia64/fpu/w_lgammaf.c: Likewise. * sysdeps/ia64/fpu/w_lgammal.c: Likewise. 2004-12-09 H. J. Lu * sysdeps/ia64/fpu/s_nextafterl.c: Remove. * sysdeps/ia64/fpu/s_nexttoward.c: Likewise. * sysdeps/ia64/fpu/s_nexttowardf.c: Likewise. * sysdeps/ia64/fpu/e_atan2l.S: Remove (duplicate of e_atan2l.c). * sysdeps/ia64/fpu/e_expl.S: Likewise. * sysdeps/ia64/fpu/e_logl.c: Remove (conflicts with e_logl.S). 2004-11-18 David Mosberger * sysdeps/ia64/fpu/README: New file. * sysdeps/ia64/fpu/gen_import_file_list: New file. * sysdeps/ia64/fpu/import_check: Likewise. * sysdeps/ia64/fpu/import_diffs: Likewise. * sysdeps/ia64/fpu/import_file.awk: Likewise. * sysdeps/ia64/fpu/import_intel_libm: Likewise. * sysdeps/ia64/fpu/libm-symbols.h: Likewise. * sysdeps/ia64/fpu/e_acos.S: Update from Intel libm v2.1+. * sysdeps/ia64/fpu/e_acosf.S: Likewise. * sysdeps/ia64/fpu/e_acosl.S: Likewise. * sysdeps/ia64/fpu/e_asin.S: Likewise. * sysdeps/ia64/fpu/e_asinf.S: Likewise. * sysdeps/ia64/fpu/e_asinl.S: Likewise. * sysdeps/ia64/fpu/e_atan2.S: Likewise. * sysdeps/ia64/fpu/e_atan2f.S: Likewise. * sysdeps/ia64/fpu/e_cosh.S: Likewise. * sysdeps/ia64/fpu/e_coshf.S: Likewise. * sysdeps/ia64/fpu/e_coshl.S: Likewise. * sysdeps/ia64/fpu/e_exp.S: Likewise. * sysdeps/ia64/fpu/e_expf.S: Likewise. * sysdeps/ia64/fpu/e_fmod.S: Likewise. * sysdeps/ia64/fpu/e_fmodf.S: Likewise. * sysdeps/ia64/fpu/e_fmodl.S: Likewise. * sysdeps/ia64/fpu/e_hypot.S: Likewise. * sysdeps/ia64/fpu/e_hypotf.S: Likewise. * sysdeps/ia64/fpu/e_hypotl.S: Likewise. * sysdeps/ia64/fpu/e_log.S: Likewise. * sysdeps/ia64/fpu/e_log2.S: Likewise. * sysdeps/ia64/fpu/e_log2f.S: Likewise. * sysdeps/ia64/fpu/e_log2l.S: Likewise. * sysdeps/ia64/fpu/e_logf.S: Likewise. * sysdeps/ia64/fpu/e_pow.S: Likewise. * sysdeps/ia64/fpu/e_powf.S: Likewise. * sysdeps/ia64/fpu/e_powl.S: Likewise. * sysdeps/ia64/fpu/e_remainder.S: Likewise. * sysdeps/ia64/fpu/e_remainderf.S: Likewise. * sysdeps/ia64/fpu/e_remainderl.S: Likewise. * sysdeps/ia64/fpu/e_scalb.S: Likewise. * sysdeps/ia64/fpu/e_scalbf.S: Likewise. * sysdeps/ia64/fpu/e_scalbl.S: Likewise. * sysdeps/ia64/fpu/e_sinh.S: Likewise. * sysdeps/ia64/fpu/e_sinhf.S: Likewise. * sysdeps/ia64/fpu/e_sinhl.S: Likewise. * sysdeps/ia64/fpu/e_sqrt.S: Likewise. * sysdeps/ia64/fpu/e_sqrtf.S: Likewise. * sysdeps/ia64/fpu/e_sqrtl.S: Likewise. * sysdeps/ia64/fpu/libm_error.c: Likewise. * sysdeps/ia64/fpu/libm_reduce.c: Likewise. * sysdeps/ia64/fpu/libm_support.h: Likewise. * sysdeps/ia64/fpu/s_atan.S: Likewise. * sysdeps/ia64/fpu/s_atanf.S: Likewise. * sysdeps/ia64/fpu/s_atanl.S: Likewise. * sysdeps/ia64/fpu/s_cbrt.S: Likewise. * sysdeps/ia64/fpu/s_cbrtf.S: Likewise. * sysdeps/ia64/fpu/s_cbrtl.S: Likewise. * sysdeps/ia64/fpu/s_ceil.S: Likewise. * sysdeps/ia64/fpu/s_ceilf.S: Likewise. * sysdeps/ia64/fpu/s_ceill.S: Likewise. * sysdeps/ia64/fpu/s_cos.S: Likewise. * sysdeps/ia64/fpu/s_cosf.S: Likewise. * sysdeps/ia64/fpu/s_cosl.S: Likewise. * sysdeps/ia64/fpu/s_expm1.S: Likewise. * sysdeps/ia64/fpu/s_expm1f.S: Likewise. * sysdeps/ia64/fpu/s_expm1l.S: Likewise. * sysdeps/ia64/fpu/s_fabs.S: Likewise. * sysdeps/ia64/fpu/s_fabsf.S: Likewise. * sysdeps/ia64/fpu/s_fabsl.S: Likewise. * sysdeps/ia64/fpu/s_floor.S: Likewise. * sysdeps/ia64/fpu/s_floorf.S: Likewise. * sysdeps/ia64/fpu/s_floorl.S: Likewise. * sysdeps/ia64/fpu/s_frexp.c: Likewise. * sysdeps/ia64/fpu/s_frexpf.c: Likewise. * sysdeps/ia64/fpu/s_frexpl.c: Likewise. * sysdeps/ia64/fpu/s_ilogb.S: Likewise. * sysdeps/ia64/fpu/s_ilogbf.S: Likewise. * sysdeps/ia64/fpu/s_ilogbl.S: Likewise. * sysdeps/ia64/fpu/s_log1p.S: Likewise. * sysdeps/ia64/fpu/s_log1pf.S: Likewise. * sysdeps/ia64/fpu/s_log1pl.S: Likewise. * sysdeps/ia64/fpu/s_logb.S: Likewise. * sysdeps/ia64/fpu/s_logbf.S: Likewise. * sysdeps/ia64/fpu/s_logbl.S: Likewise. * sysdeps/ia64/fpu/s_modf.S: Likewise. * sysdeps/ia64/fpu/s_modff.S: Likewise. * sysdeps/ia64/fpu/s_modfl.S: Likewise. * sysdeps/ia64/fpu/s_nearbyint.S: Likewise. * sysdeps/ia64/fpu/s_nearbyintf.S: Likewise. * sysdeps/ia64/fpu/s_nearbyintl.S: Likewise. * sysdeps/ia64/fpu/s_rint.S: Likewise. * sysdeps/ia64/fpu/s_rintf.S: Likewise. * sysdeps/ia64/fpu/s_rintl.S: Likewise. * sysdeps/ia64/fpu/s_round.S: Likewise. * sysdeps/ia64/fpu/s_roundf.S: Likewise. * sysdeps/ia64/fpu/s_roundl.S: Likewise. * sysdeps/ia64/fpu/s_significand.S: Likewise. * sysdeps/ia64/fpu/s_significandf.S: Likewise. * sysdeps/ia64/fpu/s_significandl.S: Likewise. * sysdeps/ia64/fpu/s_tan.S: Likewise. * sysdeps/ia64/fpu/s_tanf.S: Likewise. * sysdeps/ia64/fpu/s_tanl.S: Likewise. * sysdeps/ia64/fpu/s_trunc.S: Likewise. * sysdeps/ia64/fpu/s_truncf.S: Likewise. * sysdeps/ia64/fpu/s_truncl.S: Likewise. * sysdeps/ia64/fpu/e_acosh.S: New file from Intel libm v2.1+. * sysdeps/ia64/fpu/e_acoshf.S: Likewise. * sysdeps/ia64/fpu/e_acoshl.S: Likewise. * sysdeps/ia64/fpu/e_atanh.S: Likewise. * sysdeps/ia64/fpu/e_atanhf.S: Likewise. * sysdeps/ia64/fpu/e_atanhl.S: Likewise. * sysdeps/ia64/fpu/e_exp10.S: Likewise. * sysdeps/ia64/fpu/e_exp10f.S: Likewise. * sysdeps/ia64/fpu/e_exp10l.S: Likewise. * sysdeps/ia64/fpu/e_exp2.S: Likewise. * sysdeps/ia64/fpu/e_exp2f.S: Likewise. * sysdeps/ia64/fpu/e_exp2l.S: Likewise. * sysdeps/ia64/fpu/e_lgamma_r.S: Likewise. * sysdeps/ia64/fpu/e_lgammaf_r.S: Likewise. * sysdeps/ia64/fpu/e_lgammal_r.S: Likewise. * sysdeps/ia64/fpu/e_logl.S: Likewise. * sysdeps/ia64/fpu/libm_frexp.S: Likewise. * sysdeps/ia64/fpu/libm_frexpf.S: Likewise. * sysdeps/ia64/fpu/libm_frexpl.S: Likewise. * sysdeps/ia64/fpu/s_libm_ldexp.S: Likewise. * sysdeps/ia64/fpu/s_libm_ldexpf.S: Likewise. * sysdeps/ia64/fpu/s_libm_ldexpl.S: Likewise. * sysdeps/ia64/fpu/s_libm_scalbn.S: Likewise. * sysdeps/ia64/fpu/s_libm_scalbnf.S: Likewise. * sysdeps/ia64/fpu/s_libm_scalbnl.S: Likewise. * sysdeps/ia64/fpu/libm_lgamma.S: Likewise. * sysdeps/ia64/fpu/libm_lgammaf.S: Likewise. * sysdeps/ia64/fpu/libm_lgammal.S: Likewise. * sysdeps/ia64/fpu/libm_sincos.S: Likewise. * sysdeps/ia64/fpu/libm_sincos_large.S: Likewise. * sysdeps/ia64/fpu/libm_sincosf.S: Likewise. * sysdeps/ia64/fpu/libm_sincosl.S: Likewise. * sysdeps/ia64/fpu/libm_scalblnf.S: Likewise. * sysdeps/ia64/fpu/s_asinh.S: Likewise. * sysdeps/ia64/fpu/s_asinhf.S: Likewise. * sysdeps/ia64/fpu/s_asinhl.S: Likewise. * sysdeps/ia64/fpu/s_erf.S: Likewise. * sysdeps/ia64/fpu/s_erfc.S: Likewise. * sysdeps/ia64/fpu/s_erfcf.S: Likewise. * sysdeps/ia64/fpu/s_erfcl.S: Likewise. * sysdeps/ia64/fpu/s_erff.S: Likewise. * sysdeps/ia64/fpu/s_erfl.S: Likewise. * sysdeps/ia64/fpu/s_fdim.S: Likewise. * sysdeps/ia64/fpu/s_fdimf.S: Likewise. * sysdeps/ia64/fpu/s_fdiml.S: Likewise. * sysdeps/ia64/fpu/s_fma.S: Likewise. * sysdeps/ia64/fpu/s_fmaf.S: Likewise. * sysdeps/ia64/fpu/s_fmal.S: Likewise. * sysdeps/ia64/fpu/s_fmax.S: Likewise. * sysdeps/ia64/fpu/s_fmaxf.S: Likewise. * sysdeps/ia64/fpu/s_fmaxl.S: Likewise. * sysdeps/ia64/fpu/s_ldexp.c: Likewise. * sysdeps/ia64/fpu/s_ldexpf.c: Likewise. * sysdeps/ia64/fpu/s_ldexpl.c: Likewise. * sysdeps/ia64/fpu/s_nextafter.S: Likewise. * sysdeps/ia64/fpu/s_nextafterf.S: Likewise. * sysdeps/ia64/fpu/s_nextafterl.S: Likewise. * sysdeps/ia64/fpu/s_nexttoward.S: Likewise. * sysdeps/ia64/fpu/s_nexttowardf.S: Likewise. * sysdeps/ia64/fpu/s_nexttowardl.S: Likewise. * sysdeps/ia64/fpu/s_tanh.S: Likewise. * sysdeps/ia64/fpu/s_tanhf.S: Likewise. * sysdeps/ia64/fpu/s_tanhl.S: Likewise. * sysdeps/ia64/fpu/s_scalblnf.c: Likewise. * sysdeps/ia64/fpu/w_lgamma.c: Likewise. * sysdeps/ia64/fpu/w_lgammaf.c: Likewise. * sysdeps/ia64/fpu/w_lgammal.c: Likewise. * sysdeps/ia64/fpu/w_tgamma.S: Likewise. * sysdeps/ia64/fpu/w_tgammaf.S: Likewise. * sysdeps/ia64/fpu/w_tgammal.S: Likewise. * sysdeps/ia64/fpu/e_gamma_r.c: New empty dummy-file. * sysdeps/ia64/fpu/e_gammaf_r.c: Likewise. * sysdeps/ia64/fpu/e_gammal_r.c: Likewise. * sysdeps/ia64/fpu/w_acosh.c: Likewise. * sysdeps/ia64/fpu/w_acoshf.c: Likewise. * sysdeps/ia64/fpu/w_acoshl.c: Likewise. * sysdeps/ia64/fpu/w_atanh.c: Likewise. * sysdeps/ia64/fpu/w_atanhf.c: Likewise. * sysdeps/ia64/fpu/w_atanhl.c: Likewise. * sysdeps/ia64/fpu/w_exp10.c: Likewise. * sysdeps/ia64/fpu/w_exp10f.c: Likewise. * sysdeps/ia64/fpu/w_exp10l.c: Likewise. * sysdeps/ia64/fpu/w_exp2.c: Likewise. * sysdeps/ia64/fpu/w_exp2f.c: Likewise. * sysdeps/ia64/fpu/w_exp2l.c: Likewise. * sysdeps/ia64/fpu/w_expl.c: Likewise. * sysdeps/ia64/fpu/e_expl.S: Likewise. * sysdeps/ia64/fpu/w_lgamma_r.c: Likewise. * sysdeps/ia64/fpu/w_lgammaf_r.c: Likewise. * sysdeps/ia64/fpu/w_lgammal_r.c: Likewise. * sysdeps/ia64/fpu/w_log2.c: Likewise. * sysdeps/ia64/fpu/w_log2f.c: Likewise. * sysdeps/ia64/fpu/w_log2l.c: Likewise. * sysdeps/ia64/fpu/w_sinh.c: Likewise. * sysdeps/ia64/fpu/w_sinhf.c: Likewise. * sysdeps/ia64/fpu/w_sinhl.c: Likewise. * sysdeps/ia64/fpu/libm_atan2_reg.S: Remove. * sysdeps/ia64/fpu/s_ldexp.S: Likewise. * sysdeps/ia64/fpu/s_ldexpf.S: Likewise. * sysdeps/ia64/fpu/s_ldexpl.S: Likewise. * sysdeps/ia64/fpu/s_scalbn.S: Likewise. * sysdeps/ia64/fpu/s_scalbnf.S: Likewise. * sysdeps/ia64/fpu/s_scalbnl.S: Likewise. * sysdeps/ia64/fpu/s_sincos.c: Make it an empty dummy-file. * sysdeps/ia64/fpu/s_sincosf.c: Likewise. * sysdeps/ia64/fpu/s_sincosl.c: Likewise. * sysdeps/ia64/fpu/e_atan2l.S: Add "Not needed" comment. * sysdeps/ia64/fpu/s_copysign.S: Add __libm_copysign{,f,l} alias for use by libm_error.c * sysdeps/ia64/fpu/Makefile (libm-sysdep_routines): Remove libm_atan2_reg, libm_tan, libm_frexp4{f,l}. Mention s_erfc{,f,l}, libm_frexp{,f,l}, libm_ldexp{,f,l}, libm_sincos{,f,l}, libm_sincos_large, libm_lgamma{,f,l}, libm_scalbn{,f,l}, libm_scalblnf. (sysdep_routines): Remove libm_frexp4{,f,l}. Mention libm_frexp{,f,l}, libm_ldexp{,f,l}, and libm_scalbn{,f,l}. (sysdep-CPPFLAGS): Add -include libm-symbols.h, -D__POSIX__, _D_LIB_VERSIONIMF=_LIB_VERSION, -DSIZE_LONG_INT_64, and -DSIZE_LONG_LONG_INT_64. 2005-01-05 Steven Munroe * elf/rtld.c (dl_main) [NEED_DL_SYSINFO_DSO]: Insure l_map_end and l_text_end are set for a VDSO with a single PT_LOAD entry. 2005-01-05 Ulrich Drepper * libio/iofopncook.c (_IO_cookie_seekoff): Define. Mark offset as invalid to disable optimizations in fileops which won't work here. (_IO_cookie_jumps): Use it. (_IO_old_cookie_jumps): Likewise. * libio/fmemopen.c (fmemopen_seek): Result must be returned in *P, not the return value. * stdio-common/Makefile (tests): Add tst-fmemopen2. * stdio-common/tst-fmemopen2.c: New file. * sysdeps/unix/sysv/linux/bits/waitflags.h: Define __WNOTHREAD. 2005-01-05 Roland McGrath * configure.in (libc_cv_cpp_asm_debuginfo): Checked moved ... * sysdeps/i386/configure.in: ... here. New file. 2005-01-03 Ulrich Drepper * sysdeps/generic/libc-start.c [SHARED] (__libc_start_main): Don't initialize __environ again. * stdlib/Makefile: Add rules to build and run tst-putenv. * stdlib/tst-putenv.c: New file. * stdlib/tst-putenvmod.c: New file. * sysdeps/unix/sysv/linux/init-first.c: Clean file up. Don't define unnecessary wrappers or aliases of static functions. 2005-01-03 Andreas Jaeger * csu/Makefile (generated): Add start.os and start.ob. * elf/Makefile (tests): Change rule for tst-pie1 so that make clean works. 2004-12-29 Roland McGrath [BZ #626] * sysdeps/unix/alarm.c (alarm): Round return value to nearest rather than always up; when nearest is zero, round up to one. 2004-12-28 Ulrich Drepper * po/es.po: Update from translation team. * sysdeps/generic/dl-tls.c (__tls_get_addr): Fix typo. 2004-12-27 Ulrich Drepper * include/signal.h: Define __sigemptyset. 2004-04-27 Paolo Bonzini * posix/regex_internal.h (struct re_dfastate_t): Make word_trtable a pointer to the 512-item transition table. * posix/regexec.c (build_trtable): Fill in either state->trtable or state->word_trtable. Return a boolean indicating success. (transit_state): Expect state->trtable to be a 256-item transition table. Reorganize code to have less tests in the common case, and to save an indentation level. * posix/regex_internal.c (free_state): Free word_trtable. 2004-12-21 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/clone.S (__clone): Make sure %esp when calling fn is 16 byte aligned. * sysdeps/i386/tst-stack-align.h: New file. * misc/efgcvt_r.c (FLOAT_MIN_10_EXP, FLOAT_MIN_10_NORM): Define. (ecvt_r): Special case denormals. * misc/qefgcvt_r.c (FLOAT_MIN_10_EXP, FLOAT_MIN_10_NORM): Define. * misc/tst-efgcvt.c: Include float.h. (ecvt_tests): Add 2 new tests. 2004-12-20 Roland McGrath * version.h (RELEASE, VERSION): development, 2.3.90 * include/features.h (__GLIBC_MINOR__): Now 4. 2004-12-20 Jakub Jelinek , Jim Gifford [BZ #562] * sysdeps/mips/Makefile (librt-sysdep_routines): Add. * sysdeps/unix/mips/rt-sysdep.S: New file. 2004-12-19 Roland McGrath * iconv/Makefile (test-iconvconfig): New target. [$(cross-compiling) != yes] (xtests): Depend on it. * iconv/iconvconfig.c (nostdlib, output_file, output_file_len): New variables. (options, parse_opt, main): Take new options --nostdlib and --output/-o to set them. Under --nostdlib, skip GCONV_PATH dirs. (write_output): If output_file is set, write the output there. 2004-12-19 Andreas Jaeger [BZ #560] * inet/netinet/in.h: Use __interface_addr instead of __interface. [BZ #573] * sunrpc/xcrypt.c (passwd2des_internal): Make it hidden instead of internal linkage. 2004-12-19 Roland McGrath * version.h (VERSION): 2.3.4. * README.template: Various updates. * README: Regenerated. * NEWS: Mention ports. * README-alpha: File removed. [BZ #416] * locale/langinfo.h: Comment fixes. 2004-12-17 Ulrich Drepper * po/ja.po: Update from translation team. 2004-12-17 Richard Henderson * sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Add support for NPTL where the PID is stored at userlevel and needs to be reset when CLONE_THREAD is not used. 2004-12-17 Jakub Jelinek * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. 2004-12-17 Andreas Jaeger * math/libm-test.inc (atan2_test): Compute value with 36 digits. * sysdeps/alpha/fpu/libm-test-ulps: Adjust for changed result. * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. * sysdeps/s390/fpu/libm-test-ulps: Likewise. * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Likewise. * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. 2004-12-16 Ulrich Drepper * stdlib/tst-setcontext.c: Enlarge st1 and st2 arrays. 2004-09-02 Steven Munroe [BZ #610] * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S (__novec_getcontext): Fix typo in store of fp29. (__getcontext): Fix typo in store of fp29. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S (__novec_swapcontext): Fix typo in store of fp29. (__swapcontext): Fix typo in store of fp29. 2004-12-17 GOTO Masanori * sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Fix vague message. 2004-12-16 Roland McGrath * nscd/Makefile ($(objpfx)nscd): Don't depend on $(selinux-LIBS), which is usually a -lselinux that make will resolve wrongly. 2004-12-16 Andreas Jaeger * math/math.h: Use #if defined to not receive warnings about undefined symbols. 2004-12-16 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Add support for NPTL where the PID is stored at userlevel and needs to be reset when CLONE_THREAD is not used. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (SYSCALL_ERROR_HANDLER): If RTLD_PRIVATE_ERRNO, use rtld_errno instead of errno. * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Include sysdep-cancel.h instead of sysdep.h. Handle cancellation. * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerate. * sysdeps/ieee754/ldbl-128/e_expl.c: Include stdlib.h. 2004-12-15 Jakub Jelinek * sysdeps/unix/sysv/linux/gethostid.c: Make bi-arch safe. 2004-12-15 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Correct stack alignment. Clean up flag bit tests. * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Correct stack alignment. Clean up flag bit tests. Remove redundent SP assignment. Add TOC register save/restore around function call. * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Make no_vmx symbol local. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Make no_vmx symbol local. * sysdeps/powerpc/powerpc64/__longjmp-common.S: Make no_vmx symbol local. * sysdeps/powerpc/powerpc64/setjmp-common.S: Make no_vmx and aligned_save_vmx symbol local. 2004-12-15 Ulrich Drepper * sysdeps/i386/i486/bits/string.h (__strncat_g): Fix i686 implementation. 2004-09-08 H.J. Lu * Makeconfig (libunwind): New. (libgcc_eh): Add $(libunwind). (gnulib): Always set to -lgcc $(libgcc_eh). (static-gnulib): Always set to -lgcc -lgcc_eh $(libunwind). (libc.so-gnulib): New. * Makerules (LDLIBS-c.so): Use $(libc.so-gnulib) instead of $(static-gnulib). * configure.in (libc_cv_cc_with_libunwind): Set to yes if gcc uses -lunwind for static binaries. 2004-06-05 Joseph S. Myers * malloc/Makefile (install-bin): Remove memusage. (install-bin-script): Add memusage. 2004-12-15 Jakub Jelinek * nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def, not libnsl_hidden_proto. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support for NPTL where the PID is stored at userlevel and needs to be reset when CLONE_THREAD is not used. * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save and restore r2 around call to fn. 2004-12-15 Andreas Jaeger * sysdeps/ia64/dl-machine.h (elf_machine_rela): Mark auto instead of static, add always_inline attribute. (elf_machine_rela_relative): Likewise. (elf_machine_lazy_rel): Likewise. 2004-12-15 Ulrich Drepper * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Add support for pid caching in nptl. 2004-12-14 Ulrich Drepper * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Add support for pid caching in nptl. 2004-10-18 Maciej W. Rozycki * sysdeps/unix/sysv/linux/mips/bits/socket.h (__cmsg_nxthdr): Use __NTH instead of __THROW in the inline definition. * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise. * sysdeps/mips/bits/dlfcn.h (RTLD_DEEPBIND): New macro. * sysdeps/unix/sysv/linux/mips/bits/mman.h (PROT_GROWSDOWN, PROT_GROWSUP): New macros. 2004-10-06 Alan Modra * sysdeps/powerpc/powerpc64/ppc-mcount.S (PROF): Don't undef. * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S: Invoke CALL_MOUNT. * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Likewise. 2004-10-19 Wolfram Gloger * malloc/hooks.c (mem2chunk_check, top_check): Handle non-contiguous arena. Reported by Michael Dalton [BZ #457]. Add further checks for top chunk. 2004-12-14 Jakub Jelinek * sysdeps/posix/sysconf.c (__sysconf_check_spec): Remove leading underscore from GETCONF_DIR filenames. 2004-12-13 Ulrich Drepper * po/de.po: Update from translation team. * nss/getnssent.c (__nss_getent): Double buffer size each round to avoid problems with delays for some people's huge entries. * nss/getXXbyYY.c (FUNCTION_NAME): Likewise. 2004-12-13 Jakub Jelinek * posix/getconf.c (main): Prepend just $GETCONF_DIR/ instead of $GETCONF_DIR/_ to spec. * posix/confstr.c (confstr): Remove leading underscores for _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS. 2004-12-12 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): Fix computation of mapping start. It must take the actual pagesize into account, not the alignment in the file. 2004-12-11 Ulrich Drepper * malloc/malloc.c (_int_realloc): Add checks for corrupted memory. (_int_free): Make clear message are result of free() calls. * malloc/malloc.c (_int_realloc): Remove unnecessary tests for oldmem and size == 0. 2004-12-10 Ulrich Drepper * malloc/arena.c (arena_get2): Prevent endless loop if arenas and list lock are taken. 2004-12-08 Thorsten Kukuk * nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_getnetgrent_r): Add check if the value is not an empty string. [BZ #597] 2004-11-29 Jakub Jelinek * stdlib/strtod_l.c (INTERNAL (__STRTOF)): If densize > 2 and numsize < densize, always shift num up by empty + 1 limbs. 2004-12-07 Paolo Bonzini * posix/regexec.c (proceed_next_node): Simplify treatment of epsilon nodes. Pass the pushed node to push_fail_stack. (push_fail_stack): Accept a single node rather than an array of two epsilon destinations. (build_sifted_states): Only walk non-epsilon nodes. (check_arrival): Don't pass epsilon nodes to check_arrival_add_next_nodes. (check_arrival_add_next_nodes) [DEBUG]: Abort if an epsilon node is found. (check_node_accept): Do expensive checks later. (add_epsilon_src_nodes): Cache result of merging the inveclosures. * posix/regex_internal.h (re_dfastate_t): Add non_eps_nodes and inveclosure. (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at, re_string_context_at, re_string_peek_byte_case, re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains): Declare as pure. * posix/regex_internal.c (create_newstate_common): Remove. (register_state): Move part of it here. Initialize non_eps_nodes. (free_state): Free inveclosure and non_eps_nodes. (create_cd_newstate, create_ci_newstate): Allocate the new re_dfastate_t here. 2004-12-09 Ulrich Drepper * malloc/malloc.c (public_rEALLOc): Add parameter checks. (_int_free): Provide better error message for invalid pointers. 2004-12-01 Jakub Jelinek * posix/tst-regex.c: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0 conditionals instead of defined _POSIX_CPUTIME. (main): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME option is available. * posix/tst-regex.c2: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0 conditionals instead of defined _POSIX_CPUTIME. (do_test): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME option is available. * sysdeps/posix/sysconf.c (__sysconf): If _POSIX_CPUTIME resp. _POSIX_THREAD_CPUTIME is defined to 0, return -1 for the corresponding _SC_ argument. 2004-12-08 Jakub Jelinek * elf/ldd.bash.in: When set -o pipefail is available, use that for piping to cat; when not, don't use the pipe at all. Pipe to cat in all cases of running the executable. When direct running exits with code 5, retry running via ${RTLD}. * elf/rtld.c (process_envvars): If __libc_enable_secure and mode != normal, exit with exitcode 5. 2004-12-07 Jakub Jelinek * sysdeps/posix/sysconf.c (__sysconf_check_spec): Only define if it will be actually used. 2004-12-07 Roland McGrath * rt/tst-timer5.c (setup_test): New function. (TEST_CLOCK_MISSING): Use it to punt test if timer_create does not support CLOCK_MONOTONIC. 2004-12-07 Jakub Jelinek * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Add support for NPTL where the PID is stored at userlevel and needs to be reset when CLONE_THREAD is not used. Restore gp before calling _exit. 2004-12-07 Kaz Kojima * sysdeps/unix/sysv/linux/sh/clone.S: Clear the frame pointer when starting a new thread. Add support for NPTL where the PID is stored at userlevel and needs to be reset when CLONE_THREAD is not used. 2004-12-01 Jakub Jelinek * elf/rtld.c (process_envvars): Don't consider LD_SHOW_AUXV and LD_DYNAMIC_WEAK if __libc_enable_secure. If __libc_enable_secure, /etc/suid-debug doesn't exist and program will be actually run, turn off all debugging. * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add LD_DEBUG, LD_DYNAMIC_WEAK and LD_SHOW_AUXV. 2004-12-06 Jakub Jelinek * time/tzset.c (tzset_internal): If + or - is seen, but no offset after it, reset offset to 0. [BZ #601] 2004-12-06 Ulrich Drepper * libio/ioseekpos.c (_IO_seekpos_unlocked): Call _IO_SEEKOFF not _IO_SEEKPOS, saving one indirect jump. * libio/fileops.c (_IO_new_file_seekoff): Fix optimization of in-buffer seek. Remove dead code. 2004-12-02 Jakub Jelinek * libio/Makefile (tests): Add bug-ungetc4. * libio/bug-ungetc4.c: New test. 2004-12-06 Roland McGrath * sysdeps/unix/clock_nanosleep.c (clock_nanosleep): Diagnose EINVAL for CLOCK_THREAD_CPUTIME_ID, not ENOTSUP. Use SYSDEP_NANOSLEEP handler before validating CLOCK_ID value. * rt/tst-timer4.c (TEST_CLOCK, TEST_CLOCK_NANOSLEEP): New macros. Use them throughout in place of CLOCK_REALTIME and nanosleep. (do_test) [TEST_CLOCK_MISSING]: Call this macro and if it returns non-null, punt the test with a message using the string returned. * rt/tst-timer5.c: New file. * rt/Makefile (tests): Add it. 2004-12-01 Paolo Bonzini * posix/regcomp.c (free_dfa_content, init_dfa): Remove references to re_dfa_t's subexps field. (parse_sub_exp, parse_expression): Do not use it. Use completed_bkref_map instead. (create_initial_state, peek_token): Store a backreference \N with opr.idx = N-1. * posix/regexec.c (proceed_next_node, check_dst_limits, get_subexp): Likewise. (check_subexp_limits): Remove useless condition. * posix/regex_internal.h (re_subexp_t): Remove. (re_dfa_t): Remove subexps and subexps_alloc field, add completed_bkref_map. 2004-12-05 Roland McGrath * Makeconfig: Comment typo fix. 2004-11-30 Andreas Schwab * nis/ypclnt.c (ypprot_err): Remove unused entries. 2004-11-30 Paolo Bonzini * posix/regexec.c (check_dst_limits_calc_pos_1): Check for bkref_idx == -1, and don't recurse in that case. 2004-11-30 GOTO Masanori * posix/confstr.c: Enclose #error message with double quote for gcc-3.3 and lower. 2004-12-04 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/clone.S: Add support for NPTL where the PID is stored at userlevel and needs to be reset when CLONE_THREAD is not used. * sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise. 2004-11-18 Daniel Jacobowitz * sysdeps/arm/sysdep.h: Define __USE_BX__ if bx is available. Use it instead of __THUMB_INTERWORK__. Make RETINSTR take only a condition and a register. * sysdeps/arm/dl-machine.h: Use __USE_BX__ instead of __THUMB_INTERWORK__. (_dl_start_user): Use BX. * sysdeps/arm/strlen.S: Use DO_RET. * sysdeps/unix/arm/brk.S: Likewise. * sysdeps/unix/arm/fork.S: Likewise. * sysdeps/unix/arm/sysdep.S: Likewise. * sysdeps/unix/arm/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/arm/clone.S: Update uses of RETINSTR. * sysdeps/unix/sysv/linux/arm/mmap.S: Likewise. * sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/arm/socket.S: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/arm/vfork.S: Likewise. 2004-12-02 Roland McGrath * extra-lib.mk (object-suffixes-$(lib)): Add .oS when $(lib)-static-only-routines is nonempty. (extra-objs, o-iterator.mk rule): Filter out .oS from generators. Add a special rule for .oS objects -> _nonshared.a library. 2004-12-01 Jakub Jelinek * time/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC, convert T2, not T. * time/Makefile (tests): Add tst-mktime3. * time/tst-mktime3.c: New test. 2004-12-01 Jakub Jelinek * stdlib/stdlib.h (realpath): Remove nonnull attribute. * posix/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after normal_bracket label. * time/tst-mktime2.c (bigtime_test): Initialize tm.tm_isdst to -1. 2004-12-01 Roland McGrath * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c): Do $(make-target-directory). 2004-11-29 Roland McGrath * posix/confstr.c: Avoid punctuation in #error text. 2004-11-27 Ulrich Drepper * posix/Makefile (tests): Add tst-sysconf. * posix/tst-sysconf.c: New file. * posix/getconf.c (vars): Add support for _SC_IPV6 and _SC_RAW_SOCKETS. * sysdeps/posix/sysconf.c (__sysconf): Add support for _SC_IPV6 and _SC_RAW_SOCKETS. * sysdeps/generic/bits/confname.h: Define _SC_IPV6 and _SC_RAW_SOCKETS. 2004-11-26 Jakub Jelinek * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR. 2004-11-26 Kaz Kojima * sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if NO_SGIDEFS_H isn't defined. Don't include sgidefs.h twice. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. 2004-11-27 Ulrich Drepper * include/dlfcn.h (__libc_dlopen): Add __RTLD_DLOPEN to the mode parameter. Reported by VY Newsum . 2004-11-10 Daniel Jacobowitz * libio/iolibio.h (_IO_fclose, _IO_new_fclose, _IO_old_fclose, _IO_fflush, _IO_fgetpos, _IO_fgetpos64, _IO_fgets, _IO_fopen, _IO_old_fopen, _IO_new_fopen, _IO_fopen64, __fopen_internal, _IO_fprintf, _IO_fputs, _IO_fsetpos, _IO_fsetpos64, _IO_ftell, _IO_fread, _IO_fwrite, _IO_gets, _IO_printf, _IO_puts, _IO_scanf, _IO_fflush_internal, _IO_ftell_internal, _IO_fputs_internal) _IO_fwrite_internal): Remove incorrect __THROW. * libio/libioP.h (_IO_default_xsputn, _IO_wdefault_xsputn, _IO_default_xsgetn, _IO_wdefault_xsgetn, _IO_default_write, _IO_default_read, _IO_getline, _IO_getline_info, _IO_getwline, _IO_getwline_info, _IO_file_read_internal, _IO_sgetn_internal, _IO_wdo_write_internal, _IO_do_write_internal, _IO_getline_info_internal, _IO_getline_internal, _IO_vfprintf_internal, _IO_putc_internal, _IO_read, _IO_write, _IO_close): Likewise. 2004-11-26 Jakub Jelinek * posix/Makefile (install-others): Add $(inst_libexecdir)/getconf. (CFLAGS-sysconf.c): Add -D_GETCONF_DIR. (CFLAGS-getconf.c): New. ($(inst_libexecdir)/getconf): New. * posix/confstr.c (confstr): Use __sysconf to query specifications that don't have _POSIX_V6_* macros defined. Use __*_{C,LD}FLAGS macros defined in bits/environments.h. * sysdeps/posix/sysconf.c: Include stdlib.h, string.h and sys/stat.h. (__sysconf_check_spec): New routine. (__sysconf): Use it. * posix/getconf.c (specs): Change into structure array. (main): If -v is not given, try to get default from $(libexecdir)/getconf/default. If specification is not supported by this getconf, try to execute $(libexecdir)/getconf/$(specification). * sysdeps/unix/bsd/bsd4.4/freebsd/bits/environments.h: New file. * sysdeps/unix/sysv/linux/s390/bits/environments.h: New file. * sysdeps/unix/sysv/linux/powerpc/bits/environments.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/environments.h: New file. * sysdeps/unix/sysv/linux/i386/bits/environments.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/environments.h: New file. * sysdeps/generic/bits/environments.h (__ILP32_OFFBIG_CFLAGS): Define. * stdlib/stdlib.h (setenv): Use nonnull only for second argument. (unsetenv): Remove. 2004-11-23 Paolo Bonzini * posix/regcomp.c (analyze_tree): Always call calc_epsdest. (calc_inveclosure): Use re_node_set_insert_last. (parse_dup_op): Lower X{1,5} to (X(X(X(XX?)?)?)?)? rather than X?X?X?X?X?. * posix/regex_internal.h (re_node_set_insert_last): New declaration. * posix/regex_internal.c (re_node_set_insert_last): New function. * posix/PCRE.tests: Add testcases. 2004-11-25 Ulrich Drepper * dlfcn/dlfcn.h: Remove nonnull attribute from dlopen. * posix/confstr.c (confstr): Return appropriate strings for _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, and _CS_LFS64_LINTFLAGS. 2004-11-05 Maciej W. Rozycki * sysdeps/mips/dl-machine.h: Include . Use _ABIO32, _ABIN32 and _ABI64 for ABI selection throughout. * sysdeps/mips/elf/start.S: Likewise. * sysdeps/mips/mips64/__longjmp.c: Likewise. * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise. * sysdeps/mips/mips64/bsd-setjmp.S: Likewise. * sysdeps/mips/mips64/setjmp.S: Likewise. * sysdeps/mips/mips64/setjmp_aux.c: Likewise. * sysdeps/mips/sys/regdef.h: Likewise. * sysdeps/mips/sys/ucontext.h: Likewise. * sysdeps/unix/mips/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h: Likewise. * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise. * sysdeps/mips/atomicity.h: Use _ABIO32, _ABIN32 and _ABI64 for ABI selection throughout. * sysdeps/mips/bits/setjmp.h: Likewise. * sysdeps/mips/fpu/bits/mathdef.h: Likewise. * sysdeps/mips/machine-gmon.h: Likewise. * sysdeps/mips/sys/asm.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise. * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise. * sysdeps/mips/sgidefs.h: Prevent from being included by kernel headers and undo its settings if already included. Define _ABIO32, _ABIN32 and _ABI64 if missing and use them to define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32 and _MIPS_SIM_ABI64 for compatibility. * sysdeps/unix/sysv/linux/mips/Makefile: Use _ABIO32, _ABIN32 and _ABI64 for ABI selection in generated syscall-list.h * sysdeps/unix/sysv/linux/mips/configure.in: Use _ABIO32, _ABIN32 and _ABI64 for ABI selection in generated asm-unistd.h. * sysdeps/unix/sysv/linux/mips/configure: Regenerate. * sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Correct an inverted _MIPS_SIM conditional. 2004-11-23 Alexandre Oliva * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Use free range even if it doesn't match exactly. 2004-11-23 Jakub Jelinek * nss/nss_files/files-XXX.c (internal_getent): If parse_line returned -1, also do H_ERRNO_SET (NETDB_INTERNAL). 2004-11-22 Ulrich Drepper * sysdeps/i386/fpu_control.h: Add volatile to the asms. Patch by Alexander Stohr. 2004-11-22 Jakub Jelinek * nscd/nscd_getai (__nscd_getai): Avoid memory and file descriptor leaks. * sysdeps/posix/getaddrinfo.c (gaih_inet): Free air. 2004-11-15 Maciej W. Rozycki * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (__SI_MAX_SIZE): Define appropriately based on __WORDSIZE. [struct siginfo] (__pad0): Add for explicit padding. * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Formatting fixes throughout. 2004-11-22 Ulrich Drepper * dirent/dirent.h: Add nonnull attributes. * dlfcn/dlfcn.h: Likewise. 2004-11-20 Jakub Jelinek * sysdeps/ieee754/k_standard.c: Document code 50. (__kernel_standard) : Avoid raising div-by-zero exception again. 2004-11-19 H.J. Lu [BZ #552] * math/libm-test.inc (tgamma_test): Update tgamma (0) and tgamma (-0). * sysdeps/generic/w_tgamma.c (__tgamma): Properly handle |x| == 0. * sysdeps/generic/w_tgammaf.c (__tgammaf): Likewise. * sysdeps/generic/w_tgammal.c (__tgammal): Likewise. * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Likewise. * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise. * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise. * sysdeps/ieee754/k_standard.c (__kernel_standard): Handle tgamma (0) and tgamma (-0). 2004-11-20 Ulrich Drepper * time/tzfile.c (__tzfile_read): Avoid open for checking whether the file we already use changed. * misc/syslog.c: Remove !USE_IN_LIBIO code. 2004-11-20 Jakub Jelinek * signal/signal.h (__sysv_signal, sysv_signal, signal, bsd_signal, ssignal): Remove __nonnull attribute. 2004-11-20 Kaz Kojima * sysdeps/unix/sysv/linux/sh/sys/procfs.h: New file. 2004-11-20 Ulrich Drepper * signal/signal.h: Add nonnull attributes. * signal/signal.h: Add deprecated attributes to sigstack, sigpause, sigblock, sigsetmask, siggetmask. 2004-11-20 Jakub Jelinek * sysdeps/unix/sysv/linux/bits/socket.h (SCM_RIGHTS): Avoid comma at the end of enum if __USE_BSD is not defined. 2004-11-19 Ulrich Drepper * malloc/malloc.c (_int_malloc): Check for corruption of chunk which is about to be returned. * malloc/malloc.c (_int_free): Add a few more cheap tests for corruption. 2004-11-17 Randolph Chung * sysdeps/hppa/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind annotations. 2004-11-18 Jakub Jelinek [BZ #544] * posix/regex.h (RE_NO_SUB): New define. * posix/regex_internal.h (OP_DELETED_SUBEXP): New. (re_dfa_t): Add subexp_map. * posix/regcomp.c (struct subexp_optimize): New type. (optimize_subexps): New routine. (re_compile_internal): Call it. (re_compile_pattern): Set preg->no_sub to 1 if RE_NO_SUB. (free_dfa_content): Free subexp_map. (calc_inveclosure, calc_eclosure): Skip OP_DELETED_SUBEXP nodes. * posix/regexec.c (re_search_internal): If subexp_map is not NULL, duplicate registers as needed. * posix/Makefile: Add rules to build and run tst-regex2. * posix/tst-regex2.c: New test. * posix/rxspencer/tests: Fix last two tests (\0 -> \1). Add some new tests for nested subexpressions. 2004-11-18 Ulrich Drepper * libio/libio.h (_IO_FLAGS2_FORTIFY): Renamed from _IO_FLAGS2_CHECK_PERCENT_N. * debug/fprintf_chk.c: Adjust all users. * debug/printf_chk.c: Likewise. * debug/vfprintf_chk.c: Likewise. * debug/vprintf_chk.c: Likewise. * debug/vsnprintf_chk.c: Likewise. * debug/vsprintf_chk.c: Likewise. * stdio-common/vfprintf.c: Likewise. Detect missing %N$ formats. * debug/tst-chk1.c: Test detection of missing %N$ formats. 2004-11-15 Jakub Jelinek * posix/bug-regex24.c: Include string.h. * nis/nis_clone_obj.c (nis_clone_object): Rename out3 label to out2 and out2 to out. Remove out label. Formatting. 2004-11-15 Ulrich Drepper * include/stdio.h: Do not mark __libc_message as noreturn. * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Add loop to fool gcc. Include . * sysdeps/posix/libc_fatal.c (__libc_fatal): Add loop to fool gcc. (__libc_message): Fix typo. 2004-11-13 Ulrich Drepper * malloc/malloc.c (malloc_state): stat_lock_* elements need only be defined if THREAD_STATS is defined. Remove pad0_ since it does not align with cache line sizes in general anyway. 2004-11-13 Jakub Jelinek * elf/rtld.c (print_statistics): Avoid segfaults if not all namespaces are used. Fix computation of num_relative_relocations on RELA architectures other than IA-64 and Alpha. 2004-11-13 Ulrich Drepper * malloc/malloc.c (_int_free): Use munmap_chunk for handling mmaped memory. 2004-11-12 Ulrich Drepper * malloc/malloc.c (_int_free): Remove test for NULL parameter. (_int_realloc): Call _int_free only if memory parameter is not NULL. * sysdeps/unix/sysv/linux/libc_fatal.c: Add new function __libc_message which performs the printing and simple format string handling. The string is written to tty, stderr, syslog in this order, stopping after the first successful output. (__libc_fatal): Call __libc_message. * include/stdio.h: Declare __libc_message. * malloc/malloc.c (malloc_printerr): Use __libc_message. * debug/chk_fail.c: Also print message with __libc_message. * debug/test-strcpy_chk.c: Ensure that debug messages are not printed to the terminal or stderr. * debug/tst-chk1.c: Likewise. * posix/Makefile: Remove gpl2lgpl variable. 2004-11-12 Martin Schwidefsky * elf/elf.h: Add 20 bit relocations R_390_*20. 2004-11-12 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/setuid.c: Include linux/posix_types.h. * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. 2004-11-12 Andreas Schwab * nis/ypclnt.c (ypprot_err): Fix "minor optimizations". 2004-11-12 Ulrich Drepper * posix/Makefile (tests): Add bug-regex24. * posix/bug-regex24.c: New file. 2004-11-12 Paolo Bonzini * posix/regexec.c (check_dst_limits_calc_pos_1): Use the map to cut recursive paths. Make exit condition more precise. (match_ctx_add_entry): Initialize the map. * posix/regex_internal.h (struct re_backref_cache_entry): Add a map of reachable subexpression nodes from each backreference cache entry. 2004-11-10 Jakub Jelinek * sysdeps/unix/sysv/linux/setreuid.c: Remove sys/syscall.h, sys/types.h, linux/posix_types.h, sysdep.h and pthread-functions.h includes. Include setxid.h. Use INLINE_SETXID_SYSCALL macro instead of INLINE_SYSCALL, kill the HAVE_PTR__NPTL_SETXID guarded snippets. * sysdeps/unix/sysv/linux/setegid.c: Likewise. * sysdeps/unix/sysv/linux/setuid.c: Likewise. * sysdeps/unix/sysv/linux/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/setgid.c: Likewise. * sysdeps/unix/sysv/linux/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/setresgid.c: Likewise. * sysdeps/unix/sysv/linux/setregid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise. * sysdeps/unix/sysv/linux/alpha/setreuid.c: Likewise. Formatting. Change signed int into int. * sysdeps/unix/sysv/linux/alpha/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/alpha/setresgid.c: Likewise. * sysdeps/unix/sysv/linux/alpha/setregid.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid): Remove. * sysdeps/unix/setxid.h: New file. * Rules (binaries-static): Add xtests-static. * Makeconfig (run-program-prefix): Filter also xtests-static. 2004-11-09 Paul Eggert since it is marked as an obsolescent interface. Include , , and instead. (TYPE_BITS, TYPE_FLOATING, TYPE_SIGNED): New macros. (subtract): New static function, that works correctly without double-rounding, even on hosts with 64-bit time_t. Also cater to hosts with padding bits. (__difftime): Use it. Use DBL_MANT_DIG and LDBL_MANT_DIG to determine whether floating types are wide enough: the old test (which used sizeof) could in theory report the wrong results on hosts with padding bits in floating-point values. 2004-11-11 Simon Josefsson [BZ #542] * sysdeps/generic/strtok_r.c [HAVE_CONFIG_H]: Include config.h. [!_LIBC]: Include strtok_r.h (in gnulib), map __strtok_r to strtok_r and __rawmemchr to strch. (__strtok_r): Use C89 prototype. [weak_alias]: Move calls to libc_hidden_def and weak_alias into this #ifdef. 2004-11-10 Paul Eggert [BZ #541] * time/mktime.c (SHR): New macro, which is a portable substitute for >> that should work even on Crays. (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it. Problem reported by Mark D. Baushke in . 2004-11-09 Paolo Bonzini * posix/regexec.c (match_ctx_free_subtops): Remove, merge into... (match_ctx_clean): ... this function. (match_ctx_free): Call match_ctx_clean. * posix/regexec.c (transit_state): Remove the check for out-of-bounds buffers. (check_matching): Check here for out-of-bounds buffers. (re_search_internal): Store into match_kind a set of bits indicating which incantation of fastmap scanning must be used. Use a switch statement instead of multiple ifs. Exit the final "for (;;)" with goto free_return unless the match succeeded, thus simplifying some conditionals. * posix/regex_internal.c (re_string_reconstruct, re_string_context_at): Add several branch predictions for case-sensitive matching and no transition table being used. 2004-11-10 Ulrich Drepper * posix/tst-waitid.c: Don't use error to print error message, they won't end up in the .out file. 2004-11-09 Ulrich Drepper * nscd/nscd-client.h (libc_locked_map_ptr): Add new first parameter, used as class for definition. * nscd/nscd_getpw_r.c: Adjust for libc_locked_map_ptr change. (pw_map_free): Ensure no crash after memory is freed. * nscd/nscd_getgr_r.c: Likewise. Make map externally visible. * nscd/nscd_gethst_r.c: Likewise. * nscd/nscd_getai.c: Use map from nscd_gethost.c. * nscd/nscd_initgroups.c: Use map from nscd_getgr.c. * nscd/nscd_getai.c: Add some checks to detect corrupt databases. * nscd/nscd_getgr_r.c: Likewise * nscd/nscd_gethst_r.c: Likewise. * nscd/nscd_getpw_r.c: Likewise 2004-11-09 Jakub Jelinek * posix/regcomp.c (calc_eclosure_iter): Don't access dfa->edests[node].elems[0] if dfa->edests[node].nelem == 0. * posix/rxspencer/tests: Add 5 new tests. 2004-11-09 Ulrich Drepper * sysdeps/unix/sysv/linux/ifaddrs.c: Determine sin6_scope_id field value correctly. Patch by Mitsuru Kanda . 2004-11-04 Jakub Jelinek * libio/fileops.c (_IO_new_file_seekoff): If mode is 0 and fp->_offset == _IO_pos_BAD, just call _IO_SYSSEEK (fp, 0, dir) and if successful set fp->_offset. * libio/Makefile (tests): Add bug-ungetc3. * libio/bug-ungetc3.c: New test. 2004-11-03 Marcus Brinkmann * sysdeps/gnu/_G_config.h (_G_HAVE_MREMAP): Define symbol. * sysdeps/mach/hurd/_G_config.h: New file. * libio/fileops.c (mmap_remap_check) [__linux__]: Replaced with [_G_HAVE_MREMAP]. 2004-11-08 Ulrich Drepper * posix/regcomp.c (utf8_sb_map): Define. (free_dfa_content): Don't free dfa->sb_char if it's a pointer to utf8_sb_map. (init_dfa): Use utf8_sb_map instead of initializing memory when the encoding is UTF-8. 2004-11-03 Paolo Bonzini * posix/regcomp.c (init_dfa): Get the codeset name outside glibc as well. Check if it is spelled UTF8 as well as UTF-8, and check case-insensitively. Set dfa->map_notascii manually when outside glibc. * posix/regex_internal.c (build_wcs_upper_buffer) [!_LIBC]: Enable optimizations based on map_notascii. * posix/regex_internal.h [HAVE_LANGINFO_H || HAVE_LANGINFO_CODESET || _LIBC]: Include langinfo.h. * posix/regex_internal.h (struct re_backref_cache_entry): Add "more" field. * posix/regexec.c (check_dst_limits): Hoist computation of the source and destination bkref_idx out of the loop. Pass it to check_dst_limits_calc_pos. (check_dst_limits_calc_pos_1): New function, containing the recursive loop of check_dst_limits_calc_pos; uses the "more" field of struct re_backref_cache to control the loop. (check_dst_limits_calc_pos): Store into "boundaries" the position relative to lim's start and end positions. Do not accept eclosures, accept bkref_idx instead. Call check_dst_limits_calc_pos_1 to do the work. (sift_states_bkref): Use the "more" field of struct re_backref_cache to control the loop. A big "if" was turned into a continue and the function was reindented. (get_subexp): Use the "more" field of struct re_backref_cache to control the loop. (match_ctx_add_entry): Initialize the bkref_ents' "more" field. (search_cur_bkref_entry): Return -1 if out of bounds. * posix/regexec.c (empty_set): Remove. (sift_states_backward): Remove cur_src variable. Move inner loop to build_sifted_states. (build_sifted_states): Extract from sift_states_backward. Do not use empty_set. (update_cur_sifted_state): Do not use empty_set. Special case dest_nodes->nelem == 0. * posix/regex_internal.h (struct re_backref_cache_entry): Remove flag field. (struct re_sift_context_t): Remove cur_bkref, cls_subexp_idx, check_subexp fields. Move limits last. * posix/regexec.c (match_ctx_clear_flag): Remove. (sift_ctx_init): Remove check_subexp parameter. Do not set removed fields. Callers adjusted. (expand_bkref_cache): Remove last_str parameter. Callers adjusted. (re_search_internal): Remove fast_translate variable. (update_cur_sifted_state): Pass candidates as the final parameter to sift_states_bkref. (sift_states_bkref): Change last unused parameter to be "candidates", do not fetch candidates into a local variable. Remove dead test for "node == sctx->bkref", and the cur_bkref_idx variable. Remove loops that set/reset the flag field of backref cache entries. (check_arrival_add_next_nodes): Use a signed int to hold the return value of re_node_set_insert. (group_nodes_into_DFAstates): Likewise. (match_ctx_add_entry): Do not set the flag field of the new entry. 2004-11-05 Roland McGrath * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Define _dl_sysinfo_dso under [NEED_DL_SYSINFO_DSO] as well. * elf/rtld.c (dl_main): Set up GLRO(dl_sysinfo_dso) under [NEED_DL_SYSINFO_DSO] as well. * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Always include AT_SYSINFO and AT_SYSINFO_EHDR in name table. (_dl_sysdep_start) [NEED_DL_SYSINFO_DSO]: Match AT_SYSINFO_EHDR. * elf/dl-support.c (_dl_sysinfo_dso): Define also under [NEED_DL_SYSINFO_DSO]. (_dl_aux_init) [NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO]: Match AT_SYSINFO_EHDR and set GL(dl_sysinfo_dso). 2004-11-05 Roland McGrath * manual/errno.texi (Error Codes): Revert last change for now. * sysdeps/gnu/errlist.c: Regenerated. 2004-11-04 Roland McGrath * Makeconfig (link-libc, rpath-dirs): Remove AIX cruft definitions. (LDFLAGS-rpath-ORIGIN, LDFLAGS-soname-fname): Likewise. (LDFLAGS-rdynamic, LDFLAGS-Bsymbolic): Likewise. ($(common-objpfx)gnu/lib-names.stmp): Likewise. 2004-11-01 Jakub Jelinek * sysdeps/unix/sysv/linux/x86_64/sys/procfs.h [__WORDSIZE == 32] (elf_fpxregset_t): New type. (struct elf_prpsinfo): If __WORDSIZE == 32, change pr_[ug]id type to unsigned short int. * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct user_fpregs_struct): Fix comment. * sysdeps/i386/fpu/bits/mathdef.h (float_t, double_t): If __FLOAT_EVAL_METHOD__ is defined and 0, typedef to float resp. double. * sysdeps/x86_64/fpu/bits/mathdef.h: Include bits/wordsize.h. (float_t, double_t): If -m32 and not -mfpmath=sse, typedef to long double. * sysdeps/x86_64/fpu/bits/fenv.h: Include bits/wordsize.h. (fenv_t): Remove __mxcsr field for -m32. 2004-11-04 Jakub Jelinek * libio/ftello.c (ftello): Don't subtract save_end - save_base if pos is _IO_pos_BAD. * libio/ftello64.c (ftello64): Likewise. * libio/iofgetpos.c (_IO_new_fgetpos): Likewise. * libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise. * libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise. * libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise. * libio/ioftell.c (_IO_ftell): Likewise. Cast to long int instead of off_t when checking for overflow. 2004-11-04 Richard Henderson * sysdeps/unix/sysv/linux/alpha/register-dump.h (regnames): Align. (linefeed): Remove. (register_dump): Rewrite to generate into a flat buffer instead of into iovecs. 2004-11-02 Jakub Jelinek * debug/tst-chk1.c (ret): New volatile variable. (CHK_FAIL_END): Remove redundant ret setting. (do_test): Remote ret variable. 2004-01-03 Paolo Bonzini * posix/regex_internal.h (__regfree) [!_LIBC]: Define to regfree. 2004-11-03 Marcus Brinkmann * sysdeps/generic/utime.c: Include . * sysdeps/generic/sysconf.c: Include and . * sysdeps/generic/tempname.c (__path_search): Add missing argument TRY_TMPDIR. 2004-10-31 Mariusz Mazur * sysdeps/unix/sysv/linux/alpha/setregid.c: New file. * sysdeps/unix/sysv/linux/alpha/setresgid.c: New file. * sysdeps/unix/sysv/linux/alpha/setresuid.c: New file. * sysdeps/unix/sysv/linux/alpha/setreuid.c: New file. 2004-10-27 Derek R. Price [BZ #487] This change is imported from gnulib. * time/mktime.c (not_equal_tm) [DEBUG]: Remove redundant check. 2004-10-24 Paul Eggert [BZ #473] * time/tst-mktime.c (main): Don't assume that mktime fails when given time stamps before 1970. It returns negative time_t values instead, for compatibility with BSD. * time/tst-mktime2.c: New file. * time/Makefile (tests): Add it. [BZ #473] Import from gnulib. Revamp to avoid several problems near time_t extrema, and on hosts with 64-bit time_t and 32-bit int. This fixes Debian bug 177940. * time/mktime.c (TIME_T_MIDPOINT): New macro. (ydhms_diff): Renamed from ydhms_tm_diff, with a new signature, which avoids overflow problems on hosts with 64-bit time_t and 32-bit int. All callers changed. Now an inline function. Verify at compile-time that long int is wide enough to avoid these overflow problems. (guess_time_tm): New function. (__mktime_internal): Use it. Avoid overflow when computing yday on hosts with 64-bit long and 32-bit int. Remove tests for 69; no longer needed. Use if rather than #ifdef for LEAP_SECONDS_POSSIBLE so that the code is checked by more compilers. Do not rely on floating point to probe: stick to integer arithmetic, to avoid potential porting problems. Repair potential overflow correctly in the Southern Hemisphere. (localtime_offset): Add a FIXME for the case where time_t is unsigned. 2004-10-30 Andreas Schwab * sysdeps/m68k/dl-machine.h (elf_machine_rela) (elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto instead of static. 2004-10-30 Andreas Schwab * sysdeps/unix/sysv/linux/waitid.c: Include for NULL. 2004-10-30 Ulrich Drepper * malloc/malloc.c (_int_free): Use unique comments for the error cases. 2004-10-28 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_fork): Use i386_thread_state instead of machine_thread_state. 2004-10-28 Roland McGrath * sysdeps/unix/sysv/linux/syscalls.list: Remove setaltroot. 2004-10-28 Ulrich Drepper * elf/dl-open.c (dl_open_worker): Remove reference to glibcbug script. 2004-10-27 Ulrich Drepper * elf/dl-load.c (_dl_map_object): Use cache_rpath to check for existing rpath in main executable, not explicit test. 2004-10-27 Jakub Jelinek * include/resolv.h (_res_opcodes): New extern. Add libresolv_hidden_proto. * resolv/res_debug.c (_res_opcodes): Remove. (__p_class_syms, __p_type_syms): Add libresolv_hidden_proto and libresolv_hidden_data_def. Remove attribute_hidden. * resolv/res_mkquery (_res_opcodes): Remove. * resolv/res_data.c (_res_opcodes): Remove attribute_hidden. Add libresolv_hidden_data_def. 2004-10-27 Ulrich Drepper * elf/dl-open.c (_dl_open): Don't allow explicitly opening a DSO into an empty namespace. * elf/dl-fini.c (_dl_fini): Fix search for map in maps array. Reverse order of namespaces. * elf/Makefile: Add rules to build and run tst-dlmopen3. * elf/tst-dlmopen3.c: New file. * elf/tst-dlmopen1mod.c: Add check whether constructor runs. 2004-10-27 Jakub Jelinek * sysdeps/generic/glob.c (globfree): Clear gl_pathv after freeing it. * posix/Makefile: Add rules to build and run bug-glob2 test. * posix/bug-glob2.c: New test. 2004-10-27 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (HURD_TLS_DESC_DECL): New macro. (_hurd_tls_init): Use it. (_hurd_tls_fork): New function. * sysdeps/mach/hurd/fork.c (__fork) [USE_TLS]: Call it. 2004-10-26 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb. 2004-10-26 Jakub Jelinek * sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t type instead of uint16_t. Formatting. 2004-10-25 Roland McGrath * login/openpty.c (openpty): Add libutil_hidden_def. * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define to either libc_hidden_def or libnss_files_hidden_def, not hidden_def. This file is also compiled into libnss_hesiod by #include. 2004-10-25 Roland McGrath * sysdeps/unix/bsd/hp: Directory and all files removed. These are now in the ports repository. * sysdeps/unix/bsd/osf: Likewise. * sysdeps/unix/bsd/sequent: Likewise. * sysdeps/unix/bsd/sony: Likewise. * sysdeps/unix/bsd/ultrix4: Likewise. * sysdeps/unix/sysv/aix: Likewise. * sysdeps/unix/sysv/hpux: Likewise. * sysdeps/unix/sysv/irix4: Likewise. * sysdeps/unix/sysv/isc2.2: Likewise. * sysdeps/unix/sysv/minix: Likewise. * sysdeps/unix/sysv/sco3.2.4: Likewise. * sysdeps/unix/sysv/sco3.2: Likewise. * sysdeps/unix/sysv/sysv4: Likewise. * configure.in (ASM_LINE_SEP): Move this setting to ... * sysdeps/hppa/configure.in: ... here, new file. * sysdeps/hppa/configure: New generated file. * configure: Regenerated. 2004-10-25 Kaz Kojima * sysdeps/sh/dl-machine.h: Include sysdep.h. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add CFI directives. (elf_machine_runtime_setup): Add always_inline attribute. (_dl_start_user): Pass the correct environ. (elf_machine_rela): Replace static inline by auto inline, add always_inline attribute. (elf_machine_rela_relative): Likewise. (elf_machine_lazy_rel): Likewise. 2004-10-24 Ulrich Drepper * nis/nis_call.c: Pretty printing. Minor cleanups. * nis/nis_addmember.c (nis_addmember): Add assert to check buffer bounds. * resolv/nss_dns/dns-host.c: Avoid using PLTs. * include/libc-symbols.h: Define hidden attribute macros for libnss_nisplus and libutil. * include/utmp.h: Add libutil_hidden_proto for login_tty. * login/login_tty.c: Add libutil_hidden_def. * nis/nisplus-parser.h: Add libnss_nisplus_hidden_proto for parsers. * nis/nss_nisplus/nisplus-parser.c: Add libnss_nisplus_hidden_def. * include/pty.h: New file. * include/rpcsvc/yp.h: New file. * include/rpcsvc/ypclnt.h: New file. * include/rpcsvc/ypupd.h: New file. * include/libc-symbols.h: Define hidden attribute macros for libnsl. * include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various functions. * nis/nis_add.c: Add libnsl_hidden_def. Minor optimizations. * nis/nis_call.c: Likewise. * nis/nis_clone_obj.c: Likewise. * nis/nis_defaults.c: Likewise. * nis/nis_domain_of_r.c: Likewise. * nis/nis_error.c: Likewise. * nis/nis_file.c: Likewise. * nis/nis_free.c: Likewise. * nis/nis_local_names.c: Likewise. * nis/nis_lookup.c: Likewise. * nis/nis_modify.c: Likewise. * nis/nis_print.c: Likewise. * nis/nis_remove.c: Likewise. * nis/nis_subr.c: Likewise. * nis/nis_table.c: Likewise. * nis/nis_util.c: Likewise. * nis/yp_xdr.c: Likewise. * nis/ypclnt.c: Likewise. * nis/ypupdate_xdr.c: Likewise. * resolv/res_send.c (send_dg): Cope with failures. * include/libc-symbols.h: Define hidden attribute macros for libnss_files. * include/netdb.h: Use libnss_files_hidden_proto for the parsers defined in libnss_files, not libc_hidden_proto. * include/netinet/ether.h: Likewise. * include/rpc/netdb.h: Likewise. * nss/nss_files/files-parse.c: Use hidden_def in parser definitions instead of libc_hidden_def. * nss/nss_files/files-netgrp.c: Add libnss_files_hidden_def to _nss_netgroup_parseline definition. 2004-10-23 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early after an RPC succeeds. * sysdeps/vax, sysdeps/unix/bsd/vax: Directories and all files removed. These are now in the ports repository. * sysdeps/tahoe, sysdeps/unix/bsd/tahoe: Likewise. * sysdeps/cris, sysdeps/unix/sysv/linux/cris: Likewise. * sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k: Likewise. * sysdeps/standalone, sysdeps/z8000: Likewise. 2004-10-23 Ulrich Drepper * resolv/res_send.c (send_dg): Combine write and read to socket into one loop. 2004-10-22 Roland McGrath * Makefile (%.bz2, %.gz): Move these pattern rules ... * Makerules: ... to here. 2001-10-31 Alexandre Oliva * elf/elf.h: Add R_MN10300_* relocation numbers. 2004-10-22 Paul Eggert [BZ #471] Fix imported from gnulib. * time/mktime.c (leapyear, ydms_tm_diff): Year is of type long int, not int, to avoid problems when tm_year == INT_MAX and tm_mon > 12. (__mktime_intenral): Compute year using long int arithmetic, not int arithmetic, to avoid problems on hosts where time_t and long are 64 bits but int is 32. [BZ #468] Import a fix from gnulib. * time/mktime.c [! DEBUG]: Do not include . It's needed only if DEBUG is nonzero. [BZ #470] Import fix from gnulib. * time/mktime.c [!_LIBC] (__mktime_internal): Define to mktime_internal, to avoid clashes with any __mktime_internal function defined in the standard library. [BZ #469] Imported from gnulib. * time/mktime.c (__isleap): Remove; all uses replaced by: (leapyear): New function, which avoids overflow by not adding 1900 to year before testing whether it is a leap year. [BZ #472] Imported from gnulib. * time/mktime.c (Local Variables): Remove -DHAVE_TIME_R_POSIX; no longer used. 2004-10-22 Ulrich Drepper * resolv/res_send.c: Remove compatibility code which is unused in glibc and probably bitrotten. * debug/execinfo.h: Remove __THROW from backtrace prototype. 2004-10-22 Jakub Jelinek * sysdeps/i386/Makefile (CFLAGS-backtrace.c): Add -fexceptions. * sysdeps/i386/backtrace.c: Include , , and . Remove include. (struct trace_arg): New type. (unwind_backtrace, unwind_getip, unwind_getcfa, unwind_getgr): New fn pointers resp. macros. (init, backtrace_helper): New functions. (__backtrace): Rewritten to use _Unwind_Backtrace first and fall back to frame pointer walking. 2004-10-22 Ulrich Drepper * sysdeps/unix/sysv/linux/Versions: Things are still in flux, it seems. Undo last additions. 2004-10-21 Ulrich Drepper * posix/execvp.c (execvp): Also ignore ENODEV and ETIMEDOUT errno values. 2004-10-20 Roland McGrath * Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also $(config-sysdirs) for shlib-versions files. * Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with use of ... * scripts/soversions.awk: ... this new file. Collect lib info and match any DEFAULT line before emitting anything, so DEFAULT can come later in the concatenation of shlib-versions files. * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED, EKEYREVOKED, EKEYREJECTED. * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist. * sysdeps/gnu/errlist.c: Regenerated * sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count higher than ERR_MAX reports. Instead, emit a #define ERR_MAX. * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target. (generated): Add errlist-compat.h. * sysdeps/gnu/errlist.awk: Make output #include to define ERR_MAX and use that for table size. 2004-10-20 Ulrich Drepper * sysdeps/unix/sysv/linux/syscalls.list: Add entries for setaltroot, key_add, key_request, and keyctl syscalls. * sysdeps/unix/sysv/linux/Versions: Export them. 2004-10-19 Roland McGrath * sysdeps/mach/readonly-area.c: New file. 2004-10-19 Ulrich Drepper * elf/Versions [ld, GLIBC_PRIVATE]: Add _dl_debug_state. * elf/dl-debug.c (_dl_debug_state): Add rtld_hidden_def. * sysdeps/generic/ldsodefs.h (_dl_debug_state): Don't mark as hidden but use rtld_hidden_proto. 2004-10-19 Alfred M. Szmidt * sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ... (__readonly_area): ... this. 2004-10-18 Jakub Jelinek * sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking destlen only every 4 bytes. 2004-10-19 Ulrich Drepper * nss/getent.c (hosts_keys): Let inet_pton decide whether the string is an address or not. 2004-10-19 Jakub Jelinek * elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols. Use DL_SYMBOL_ADDRESS to set dli_saddr. * debug/Makefile (catchsegv): Prefix $LIB with a backslash. 2004-10-19 Ulrich Drepper * debug/Makefile ($(objpfx)catchsegv): To support multilib platforms, use $LIB in path to slibdir. 2004-10-19 Jakub Jelinek * debug/catchsegv.sh: Update copyright year. Use mktemp to create segv_output file. 2004-10-18 Jakub Jelinek * elf/dl-libc.c (__libc_dlsym_private, __libc_register_dl_open_hook): New functions. (__libc_dlopen_mode): Call __libc_register_dl_open_hook and __libc_register_dlfcn_hook. * dlfcn/Makefile (routines, elide-routines.os): Set. Add rules to build and test tststatic2. * dlfcn/tststatic2.c: New test. * dlfcn/modstatic2.c: New test module. * dlfcn/dladdr.c: Call _dlfcn_hook from libdl.so if not NULL. Define __ prefixed routine in libc.a and in libdl.a just call it. * dlfcn/dladdr1.c: Likewise. * dlfcn/dlclose.c: Likewise. * dlfcn/dlerror.c: Likewise. * dlfcn/dlinfo.c: Likewise. * dlfcn/dlmopen.c: Likewise. * dlfcn/dlopen.c: Likewise. * dlfcn/dlopenold.c: Likewise. * dlfcn/dlsym.c: Likewise. * dlfcn/dlvsym.c: Likewise. * dlfcn/sdladdr.c: New file. * dlfcn/sdladdr1.c: New file. * dlfcn/sdlclose.c: New file. * dlfcn/sdlerror.c: New file. * dlfcn/sdlinfo.c: New file. * dlfcn/sdlopen.c: New file. * dlfcn/sdlsym.c: New file. * dlfcn/sdlvsym.c: New file. * dlfcn/Versions (libdl): Export _dlfcn_hook@GLIBC_PRIVATE. * include/dlfcn.h (DL_CALLER_DECL, DL_CALLER RETURN_ADDRESS): Define. (struct dlfcn_hook): New type. (_dlfcn_hook): New extern decl. (__dlopen, __dlclose, __dlsym, __dlerror, __dladdr, __dladdr1, __dlinfo, __dlmopen, __libc_dlsym_private, __libc_register_dl_open_hook, __libc_register_dlfcn_hook): New prototypes. (__dlvsym): Use DL_CALLER_DECL. * include/libc-symbols.h: Define libdl_hidden_proto and friends. * malloc/arena.c (_dl_open_hook): Extern decl. (ptmalloc_init): Don't call _dl_addr when dlopened from statically linked programs but don't use brk for them either. 2004-10-18 Roland McGrath * dlfcn/bug-dlsym1.c (main): Remove bogus setenv call. 2004-10-18 Ulrich Drepper * elf/dl-open.c (dl_open_worker): Avoid dereferencing map in statically linked code if there might none be found. 2004-10-06 Maciej W. Rozycki * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (__SYSCALL_CLOBBERS): Add "memory". * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h (__SYSCALL_CLOBBERS): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h (__SYSCALL_CLOBBERS): Likewise. 2004-10-17 Ulrich Drepper * include/libc-symbols.h: Define libresolv_hidden_proto and friends. * include/resolv.h: Add libresolv_hidden_proto for symbols defined, used, and exported in libresolv. * resolv/base64.c: Add libresolv_hidden_def. * resolv/gethnamaddr.c: Likewise. * resolv/ns_name.c: Likewise. * resolv/ns_netint.c: Likewise. * resolv/res_comp.c: Likewise. * resolv/res_data.c: Likewise. * resolv/res_debug.c: Likewise. * resolv/res_mkquery.c: Likewise. * resolv/res_query.c: Likewise. * resolv/res_send.c: Likewise. 2004-10-15 Jakub Jelinek * elf/dl-minimal.c (__chk_fail): New. Add rtld_hidden_def. * sysdeps/unix/sysv/linux/readonly-area.c: New file. * sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking routine. * sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise. * sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise. * sysdeps/i386/i686/memset.S (__memset_chk): Likewise. * sysdeps/i386/i686/memmove-chk.S: New file. * sysdeps/i386/i686/memcpy-chk.S: Likewise. * sysdeps/i386/i686/mempcpy-chk.S: Likewise. * sysdeps/i386/i686/memset-chk.S: Likewise. * sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail if exactly fitting into buffer. * sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise. * sysdeps/generic/readonly-area.c: New file. * sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test destlen once. * sysdeps/x86_64/memset.S (__memset_chk): Add checking routine. * sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise. * sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk. * sysdeps/x86_64/memcpy-chk.S: New file. * sysdeps/x86_64/mempcpy-chk.S: Likewise. * sysdeps/x86_64/memset-chk.S: Likewise. * sysdeps/x86_64/strcpy-chk.S: Likewise. * sysdeps/x86_64/stpcpy-chk.S: Likewise. * argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing. * argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise. * debug/tst-chk1.c: New test. * debug/tst-chk2.c: Likewise. * debug/tst-chk3.c: Likewise. * debug/test-strcpy_chk.c: Likewise. * debug/test-stpcpy_chk.c: Likewise. * debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request _IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def. * debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk, vfprintf_chk, gets_chk and readonly-area. (CFLAGS-*_chk.c): Set. (tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and test-stpcpy_chk. * debug/vprintf_chk.c: New file. * debug/printf_chk.c: Likewise. * debug/vfprintf_chk.c: Likewise. * debug/fprintf_chk.c: Likewise. * debug/gets_chk.c: Likewise. * debug/chk_fail.c (__chk_fail): Add libc_hidden_def. * debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments passed to __vsnprintf_chk. * debug/Versions (libc): Export __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4. * debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call __vsnprintf, instead create a temporary file with _IO_strn_jumps jumptable. If flags > 0, request _IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def. * libio/Makefile (headers): Add bits/stdio2.h. * libio/stdio.h: Include if __USE_FORTIFY_LEVEL. (sprintf, snprintf, vsprintf, vsnprintf): Remove defines. * libio/strfile.h (_IO_strnfile): New type. (_IO_strn_jumps): New extern. * libio/vsnprintf.c (_IO_strnfile): Remove. (_IO_strn_jumps): Remove static. * libio/bits/stdio2.h: New file. * libio/vswprintf.c (_IO_strnfile): Rename type to... (_IO_wstrnfile): ...this. Adjust all uses. * libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define. * stdio-common/vfprintf.c (STR_LEN): Define. (vfprintf): Add readonly_format variable. Handle _IO_FLAGS2_CHECK_PERCENT_N. (buffered_vfprintf): Copy _flags2. * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk, __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk): New prototypes. (__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto. * include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk, __memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk, __strncat_chk): New prototypes. * include/bits/string3.h: New file. * include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto and rtld_hidden_proto. * string/Makefile (headers): Add bits/string3.h. * string/bits/string3.h (bcopy, bzero): New defines. (memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change macros so that inlines are used only if unknown destination size or side-effects in destination argument. (mempcpy, stpcpy): Likewise. Protect with #ifdef __USE_GNU. 2004-09-16 Ulrich Drepper * debug/Makefile (routines): Add *_chk. * debug/Versions (libc): Export __chk_fail, __memcpy_chk, __memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk, __strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk, __sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk @GLIBC_2.3.4. * debug/chk_fail.c: New file. * debug/snprintf_chk.c: Likewise. * debug/sprintf_chk.c: Likewise. * debug/vsnprintf_chk.c: Likewise. * debug/vsprintf_chk.c: Likewise. * include/features.h (_FORTIFY_SOURCE): Document, handle. (__USE_FORTIFY_LEVEL): Define. (__GNUC_PREREQ): Move to earlier location. * include/sys/cdefs.h (__chk_fail): New prototype. * libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf): Define if __USE_FORTIFY_LEVEL. * misc/sys/cdefs.h (__bos, __bos0): Define. * string/string.h: Include if __USE_FORTIFY_LEVEL. * bits/string/string3.h: New header. * sysdeps/generic/memcpy_chk.c: New file. * sysdeps/generic/memmove_chk.c: Likewise. * sysdeps/generic/mempcpy_chk.c: Likewise. * sysdeps/generic/memset_chk.c: Likewise. * sysdeps/generic/stpcpy_chk.c: Likewise. * sysdeps/generic/strcat_chk.c: Likewise. * sysdeps/generic/strcpy_chk.c: Likewise. * sysdeps/generic/strncat_chk.c: Likewise. * sysdeps/generic/strncpy_chk.c: Likewise. 2004-10-17 Roland McGrath * manual/memory.texi (Page Lock Functions): Typo fix. Reported by Carlos Maziero 2004-10-16 Alfred M. Szmidt * sysdeps/mach/hurd/Makefile (link-libc-static): Use `$(static-gnulib') instead of `$(gnulib)'. 2004-10-17 Ulrich Drepper * sunrpc/rpc_clntout.c: Avoid including rcsid into binary. * sunrpc/rpc_cout.c: Likewise. * sunrpc/rpc_hout.c: Likewise. * sunrpc/rpc_main.c: Likewise. * sunrpc/rpc_parse.c: Likewise. * sunrpc/rpc_sample.c: Likewise. * sunrpc/rpc_scan.c: Likewise. * sunrpc/rpc_svcout.c: Likewise. * sunrpc/rpc_tblout.c: Likewise. * sunrpc/rpc_util.c: Likewise. 2004-10-15 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6, POPARGS_6, _PUSHARGS_6, _DOARGS_6, _POPARGS_6): Define. * sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument syscalls. 2004-10-15 Ulrich Drepper * nscd/nscd.h (_PATH_NSCD_PASSWD_DB): Move to /var/db. (_PATH_NSCD_GROUP_DB): Likewise. (_PATH_NSCD_HOSTS_DB): Likewise. (_PATH_NSCD_XYZ_DB_TMP): New #define, point to /var/run. * nscd/connections.c (nscd_init): Non-persistent database files are created with the _PATH_NSCD_XYZ_DB_TMP path. * nscd/nscd.init: Create /var/db/nscd if necessary. 2004-10-15 Richard Henderson * sysdeps/unix/sysv/linux/alpha/register-dump.h: New file. * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h (SIGCONTEXT): Add _code argument, pass sigcontext by pointer. (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_PC, GET_FRAME, GET_STACK): Expect ctx as pointer. 2004-10-14 Richard Henderson * sysdeps/alpha/dl-machine.h (elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto instead of static. * sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use prototype style definition. * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): If __ASSUME_TIMEVAL64, define __adjtime directly rather than via strong_alias. 2004-10-14 Ulrich Drepper * nscd/Makefile: When using compilers without -fpie support, also link with -lselinux if necessary. Patch by Arkadiusz Miskiewicz . * nscd/connections.c (nscd_init): Remove file if not persistent and not shared. Patch by Jerome Borsboom . 2004-10-14 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/setresuid.c: Handle defined __NR_setresuid32 && !defined __NR_setresuid. * sysdeps/unix/sysv/linux/i386/setresgid.c: Handle defined __NR_setresgid32 && !defined __NR_setresgid. * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit, __signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro. * sysdeps/generic/errno-loc.c: Don't undef #errno if RTLD_PRIVATE_ERRNO. * include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO, add attribute_hidden. * dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded) chain with iteration over all namespaces' _ns_loaded chains. * sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address): Likewise. * sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise. * elf/rtld.c (_dl_start): Fix one last dl_loaded. * elf/dl-load.c (_dl_map_object_from_fd): Avoid definition of label when it is not needed. * elf/dl-close.c (_dl_close): Typo: & -> &&. 2004-10-12 Jakub Jelinek * sysdeps/generic/segfault.c: Include alloca.h and stdint.h. Don't include frame.h. (CURRENT_STACK_FRAME, INNER_THAN, ADVANCE_STACK_FRAME): Remove. (catch_segfault): Use backtrace function. * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Fix comment. * sysdeps/unix/sysv/linux/ia64/register-dump.h: New file. * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h (GET_PC): Return sc_ip field. 2004-10-13 Ulrich Drepper Add support for namespaces in the dynamic linker. * dlfcn/Makefile (libdl-routines): Add dlmopen. * dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen. * dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM. Declare dlmopen. Document RTLD_DI_LMID. * dlfcn/dlinfo.c: Handle RTLD_DI_LMID. * dlfcn/dlmopen.c: New file. * dlfcn/dlopen.c: Pass new parameter to _dl_open. * dlfcn/dlopenold.c: Likewise. * elf/dl-addr.c: Adjust for removal of GL(dl_loaded). * elf/dl-caller.c: Likewise. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * elf/dl-depsc: Likewise. Add new parameter to _dl_map_object. * elf/dl-fini.c: Call destructors in all namespaces. * elf/dl-iteratephdr.c: Compute total nloaded. Adjust for removal of GL(dl_loaded). * elf/dl-libc.c: Pass new parameter to _dl_open. Adjust for removal of GL(dl_loaded). * elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second time. Reuse the one from the main namespace in all others. Pass new parameter to _dl_new_object. Adjust for removal of GL(dl_loaded). * elf/dl-object.c: Take new parameter. Use it to initialize l_ns. Adjust for removal of GL(dl_loaded). * elf/dl-open.c (_dl_open): Take new parameter. Adjust for removal of GL(dl_loaded). * elf/dl-support.c: Replace global _dl_loaded etc variables with _dl_ns variable. * include/dlfcn.h: Adjust prototype of _dl_open. Define __LM_ID_CALLER. * include/link.h: Add l_real, l_ns, and l_direct_opencount elements. * sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS. Since libc is using TLS we need memory appropriate to the number of namespaces. * sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded, _dl_nloaded, _dl_global_scope, _dl_main_searchlist, and _dl_global_scope_alloc with _dl_ns element. Define DL_NNS. Adjust prototypes of _dl_map_object and member in rtld_global_ro. * malloc/malloc.c: Include . * malloc/arena.c (ptmalloc_init): If libc is not in primary namespace, never use brk. * elf/Makefile: Add rules to build and run tst-dlmopen1 and tst-dlmopen2. * elf/tst-dlmopen1.c: New file. * elf/tst-dlmopen1mod.c: New file. * elf/tst-dlmopen2.c: New file. * elf/dl-close.c: Improve reference counting by tracking direct loads. * elf/dl-lookup.c (add_dependency): Likewise. * elf/dl-open.c (dl_open_worker): Likewise. * elf/rtld.c (dl_main): Likewise. 2004-09-09 GOTO Masanori [BZ #77] * elf/dl-close.c: Count down l_opencount to check not only for l_reldeps, but also l_initfini. 2004-10-13 Ulrich Drepper * elf/dl-close.c (_dl_close): Update bug reporting instructions. 2004-10-11 Ulrich Drepper * timezone/asia: Update from tzdata2004e. * timezone/southamerica: Likewise. * timezone/private.h: Update from tzcode2004e. * timezone/zdump.c: Likewise. * stdio-common/vfscanf.c: Add support for reading localized digits. Patch mainly by Hamed Malek . * resolv/res_init.c (res_thread_freeres): Reset _res.options. [BZ #434] * resolv/res_send.c (send_dg): Use nonblocking sockets. Add appropriate poll/select calls and restart operation if necessary. Also handle EINTR. * elf/tst-dlopenrpath.c (do_test): Enable code which was disabled for debugging. * elf/dl-sym.c (do_sym): Avoid using global variable. * elf/dl-addr.c (_dl_addr): Really use match everywhere. 2004-10-09 Andreas Schwab * sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Remove use of cast as lvalue. * sysdeps/m68k/fpu/bits/mathinline.h: Remove __THROW from inline definitions. 2004-10-07 Andreas Schwab * misc/sys/uio.h: Change __vector to __iovec to avoid clash with altivec. 2004-10-06 Alan Modra * gmon/Makefile (CFLAGS-mcount.c): Move before inclusion of "Rules". * sysdeps/powerpc/powerpc64/Makefile (CFLAGS-mcount.c): Add -msoft-float. * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): New macros. (CALL_MCOUNT): Replace with a gas macro implementation. (EALIGN): Delete PROF version. * sysdeps/powerpc/powerpc64/__longjmp-common.S: Invoke CALL_MCOUNT. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Likewise. * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/memcpy.S: Likewise. * sysdeps/powerpc/powerpc64/memset.S: Likewise. * sysdeps/powerpc/powerpc64/stpcpy.S: Likewise. * sysdeps/powerpc/powerpc64/strchr.S: Likewise. * sysdeps/powerpc/powerpc64/strcmp.S: Likewise. * sysdeps/powerpc/powerpc64/strcpy.S: Likewise. * sysdeps/powerpc/powerpc64/strlen.S: Likewise. * sysdeps/powerpc/powerpc64/strncmp.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Add extra entry point past _mcount call. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Use it. * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise. 2004-10-06 Ulrich Drepper * resolv/res_mkquery.c (res_nmkquery): Reject randombits value if low 16 bits are zero. 2004-10-06 Jakub Jelinek * posix/tst-getaddrinfo2.c: Include stdlib.h and string.h. (do_test): Use %p instead of 0x%08X to print a pointer. * malloc/malloc.c: Include stdio-common/_itoa.h. 2004-10-05 Ulrich Drepper * elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf for prelink message. 2004-10-05 Jakub Jelinek * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. 2004-10-05 Ulrich Drepper * grp/initgroups.c: Remove duplicate group IDs. * grp/compat-initgroups.c: Likewise. * nscd/initgrcache.c: Likewise. 2004-10-05 Jakub Jelinek * sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L for _SC_CPUTIME or _SC_THREAD_CPUTIME. * nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus -fpie if building PIE. (CFLAGS-*.c): Use it. * nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro. ($(objpfx)nscd): Add $(relro-LDFLAGS). * sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h. (__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if !HP_TIMING_AVAIL. 2004-10-05 Ulrich Drepper * nscd/Makefile (distribute): Remove TODO. * nscd/TODO: Removed. 2004-10-04 Ulrich Drepper * nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is defined and __ASSUME_NETLINK_SUPPORT is zero. * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add -DNEED_NETLINK. * malloc/mtrace.pl: Avoid calling location unless it is needed for output. Patch by Edward Bishop . * nscd/Makefile (CFLAGS-gai.c): Add -fpie. 2004-10-04 H.J. Lu * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c (clock_getcpuclockid): Add missing retval. * sysdeps/unix/sysv/linux/ia64/sysconf.c (linux_sysconf): Fix a typo. 2004-10-04 Roland McGrath * include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol to rtld_errno. * sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it, and don't define any other errno names. * sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in place of errno. * sysdeps/unix/i386/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise. * sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon' attribute instead of `section'. 2004-10-04 Ulrich Drepper * sysdeps/unix/sysv/linux/ia64/sysconf.c: New file. * sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c. * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual testing code to... * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: ...here. New file. * sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for _SC_CPUTIME and _SC_THREAD_CPUTIME. * nscd/connections.c (start_threads): Use sysconf in case _POSIX_CLOCK_SELECTION or _POSIX_MONOTONIC_CLOCK is not greater zero. * nscd/Makefile (nscd-modules): Add gai. * nscd/gai.c: New file. * nscd/nscd.c: Remove getaddrinfo stub definition. * assert/assert.h: Give up on using __builtin_expect. * elf/rtld.c (dl_main): Only skip => output in ldd mode if both strings are identical. 2004-03-18 Jakub Jelinek * malloc/arena.c (aligned_heap_area): New variable. (new_heap): If aligned_heap_area != NULL, attempt to use that first. If HEAP_MAX_SIZE << 1 area is already HEAP_MAX_SIZE bytes aligned, remember the second half in aligned_heap_area. (delete_heap): Clear aligned_heap_area if deleting the area right before aligned_heap_area. 2004-10-03 Juerg Billeter * nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd can't be used. [BZ #424] 2004-10-03 Ulrich Drepper Dynamically create new threads if necessary. * nscd/connections.c (fd_ready): If no thread available for processing the request, create a new one unless the limit is reached. (start_threads): Check errors from pthread_create. * nscd/nscd.h: Declare max_nthreads. * nscd/nscd_conf.c: Parse max-nthreads entry. * nscd/nscd.conf: Add max-threads entry. * nscd/nscd_stat.c: Print current and maximum number of threads. Implement paranoia mode. * nscd/connections.c (nscd_init): Mark database and socket descriptors as close on exec. (restart): New function. (restart_p): New function. (nscd_run): Add missing descrement of nready in case readylist is empty. (main_loop_poll): Call restart_p and restart. (main_loop_epoll): Likewise. (begin_drop_privileges): Save original UID and GID. * nscd/nscd.c: Define new variables paranoia, restart_time, restart_interval, oldcwd, old_gid, old_uid. (main): Disable paranoia mode if we are not forking. (check_pid): When re-execing, the PID file contains the same PID as the current process. Do not fail in this case. * nscd/nscd.conf: Add paranoia and restart-interval entries. * nscd/nscd.h: Define RESTART_INTERVAL. Declare new variables. * nscd/nscd_conf.c: Parse paranoia and restart-internal configurations. * nscd/nscd_stat.c: Print paranoia and restart-internal values. * nscd/connections.c: Implement alternative loop for main thread which uses epoll. * sysdeps/unix/sysv/linux/Makefile [subdir=nscd] (CFLAGS-connections.c): Add -DHAVE_EPOLL. 2004-10-02 Ulrich Drepper * nscd/Makefile (CFLAGS-initgrcache.c): Add to CFLAGS-* variables, don't replace old content. * nscd/connections.c: Rewrite handling of incoming connections. All are handled by one thread which then hands off the descriptors for the real work to the worker threads. * nscd/Makefile: Link nscd with librt. * nscd/selinux.c: Pretty printing. * nscd/dbg_log.c (dbg_log): Don't add unnecessary newline to output. Let syslog do the formatting if debug_level == 0. * nscd/nscd_helper.c (get_mapping): No need to check timestamp if nscd_certainly_running is nonzero. 2004-10-02 Simon Josefsson [BZ #420] * sysdeps/generic/memmem.c [!_LIBC]: Define __builtin_expect, to make the file usable inside gnulib. 2004-10-01 Ulrich Drepper * malloc/malloc.c (public_vALLOc): Add missing use of hooks. (public_pVALLOc): Likewise. * nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the group the caller provided unless there is a real problem. * posix/bug-glob1.c (prepare): Fix creation of symlink. 2004-09-30 Ulrich Drepper * posix/Makefile: Add rules to build and run bug-glob1. * posix/bug-glob1.c: New file. * iconv/iconv_prog.c (main): Print progress information to stderr. * nscd/nscd.c (termination_handler): Reset timestamp so that clients immediately stop using the database. * nscd/nscd-client.h (__nscd_get_map_ref): Drop volatile from last parameter. (__nscd_drop_map_ref): Change second parameter to be a reference to a variable. Update variable when cycle count changed. * nscd/nscd_helper.c (__nscd_get_map_ref): Remove volatile here, too. * nscd/nscd_getai.c: Correctly use __nscd_drop_map_ref. Reinitialize all variables and avoid memory leak in case of retries. * nscd/nscd_getgr_r.c: Likewise. * nscd/nscd_gethst_r.c: Likewise. * nscd/nscd_getpw_r.c: Likewise. * nscd/nscd_initgroups.c: Likewise. * nscd/nscd.h: Add declaration of addinitgroups and readdinitgroups. 2004-09-30 Andreas Jaeger * nscd/Makefile (CFLAGS-nscd_initgroups.c): Set to -fpie. (CFLAGS-initgrcache.c): Set to -fexceptions. 2004-09-29 Ulrich Drepper * sysdeps/generic/glob.c (glob_in_dir): Don't blindly trust readdir results; for symlinks or files of unknown type check using stat whether the file exists. * posix/tst-gnuglob.c (find_file): Handle leading "./". Fix recognition of files. 2004-09-29 Jakub Jelinek * time/tzfile.c (tzfile_mtime): New variable. (__tzfile_read): Reread the file if mtime is different. 2004-09-28 Jakub Jelinek * sysdeps/alpha/fpu/bits/mathinline.h (__fdimf, __fdim, fdimf, fdim): Handle +inf/+inf. * sysdeps/powerpc/fpu/bits/mathinline.h (fdim, fdimf): Likewise. * sysdeps/sparc/fpu/bits/mathinline.h (fdim, fdimf): Likewise. 2004-09-29 Ulrich Drepper * nscd/nscd_gethst_r.c (nscd_gethst_r): Use correct constant for testing result of __nscd_get_map_ref. 2004-09-29 Jakub Jelinek * sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf. * sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise. * sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise. 004-09-29 Ulrich Drepper * grp/initgroups.c: Move compat_call implementation... * grp/compat-initgroups.c: ...to here. New file. * grp/Makefile (distribute): Add compat-initgroups.c. (CFLAGS-initgroups.c): Add -DUSE_NSCD=1. * mscd/initgrcache.c: New file. * nscd/nscd_initgroups.c: New file. * nscd/Makefile (routines): Add nscd_initgroups. (nscd-modules): Add initgrcache. * nscd/cache.c (prune_cache): Add support for INITGROUPS entries. * nscd/connections.c: Handle INITGROUPS requests. * nscd/nscd-client.h: Define INITGROUPS, initgr_response_header. Add initgrdata element to struct datahead. Fix typo in comment. * nscd/nscd_proto.h: Declare __nscd_getgrouplist. Fix parameter type in __nscd_getgrgrid_r. * nscd/selinux.c (perms): Add INITGROUPS entry. * nscd/nscd_getai.c: No need to include . * sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without assigned addresses. * sunrpc/pmap_clnt.c (__get_myaddress): Likewise. * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. * sunrpc/clnt_udp.c (is_network_up): Likewise. * nscd/nscd.c: Define getaddrinfo hidden so that it is never found outside. * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_segvflags): Renamed from si_flags due to conflict with si_flags from . 2004-09-28 Ulrich Drepper * nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test of failing __nscd_get_map_ref. Fix a few typos. * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Make sure SIGSETXID is not blocked. * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Likewise. * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise. * sysdeps/generic/sigfillset.c (sigfillset): Don't set SIGSETXID. * sunrpc/get_myaddr.c (get_myaddress): Fix test for failing getifaddrs call. * sunrpc/pmap_clnt.c (__get_myaddress): Likewise. * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. * sunrpc/Makefile (xtests): Add tst-getmyaddr. * sunrpc/tst-getmyaddr.c: New file. * malloc/arena.c (ptmalloc_init): Allow MALLOC_CHECK_==0 to disable all checking. * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_flags): Add support to get this value. 2004-09-28 Jakub Jelinek * io/utime.h (utime): Allow second argument to be NULL. 2004-09-28 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): If NAME is a numerical IP address and AI_CANONNAME is set, return copy of NAME as ai_canonname. 2004-09-27 Andreas Jaeger * sysdeps/i386/dl-machine.h (elf_machine_rela_relative): Replace static inline by auto inline, add always_inline attribute. (elf_machine_rel): Likewise. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. (elf_machine_lazy_rela): Likewise. (elf_machine_rel_relative): Likewise. 2004-09-27 Ulrich Drepper * sunrpc/xdr_intXX_t.c: Add xdr_quad_t and xdr_u_quad_t aliases. * sunrpc/rpc/xdr.h: Declare xdr_quad_t and xdr_u_quad_t. * sunrpc/rpc_parse.c (get_type): Use "quad_t" for TOK_HYPER. Otherwise isvectordef will loop infinitely if typedef hyper int64_t is seen. (unsigned_dec): Use "u_quad_t" for similar reasons. * sunrpc/Versions: Export xdr_quad_t and xdr_u_quad_t. 2004-09-27 Roland McGrath * sysdeps/generic/bits/waitstatus.h (__WIFSIGNALED): Simplify bit twiddling in last change. * posix/tst-waitid.c (do_test): Add tests for waitpid with WCONTINUED. [BZ #409] * posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro. * stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro. * sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro. [WCONTINUED] (__WIFCONTINUED): New macro. (__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no branches. * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Add fifth argument to all three syscall uses, not just one! 2004-09-26 Richard Henderson * sysdeps/alpha/alphaev6/memcpy.S: Mark .prologue. * sysdeps/unix/alpha/sysdep.h (LEAF, ENTRY): Align entry points to 16 byte boundaries. 2004-09-26 Ulrich Drepper * elf/readlib.c (process_file): Before complaining about too-short file, check that it potentially be an ELF file. Also complain about empty files. [BZ #151]. * scripts/test-installation.pl: Fix ld.so recognition for new LD_TRACE_LOADED_OBJECTS output format. Patch by [BZ #407]. * elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of environment. [BZ #384] * sunrpc/clnt_udp.c (is_network_up): Use getifaddrs instead of ioctl. * sunrpc/get_myaddr.c (get_myaddress): Likewise. * sunrpc/pmap_clnt.c (__get_myaddress): Likewise. * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. Change interface to avoid buffer overrun and remove now useless parameters. (clnt_broadcast): Adjust caller. [BZ #381]. * sysdeps/generic/s_fdim.c: Handle +inf/+inf * sysdeps/generic/s_fdimf.c: Likewise. * sysdeps/generic/s_fdiml.c: Likewise. * sysdeps/i386/i686/fpu/s_fdim.S: Likewise. * sysdeps/i386/i686/fpu/s_fdimf.S: Likewise. * sysdeps/i386/i686/fpu/s_fdiml.S: Likewise. * sysdeps/powerpc/fpu/s_fdim.c: Likewise. * sysdeps/powerpc/fpu/s_fdimf.c: Likewise. * sysdeps/x86_64/fpu/s_fdiml.S: Likewise. * math/libm-test.inc (fdim_test): Add test case. [BZ #376]. * sysdeps/generic/bits/types.h: Fix __SQUAD_TYPE and __UQUAD_TYPE for compilers without __GLIBC_HAVE_LONG_LONG. [BZ #362] * sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect requirement on socktype and protocol. (gaih_inet): If numeric port number is given, return records for all possible socket types. * posix/tst-getaddrinfo2.c: New file. * posix/Makefile (tests): Add tst-getaddrinfo2. [BZ #358] 2004-09-25 Ulrich Drepper * locale/loadlocale.c (_nl_intern_locale_data): Recognize LC_CTYPE data where _nl_value_type_LC_CTYPE does not contain the type information. Add range checks. Reported by John Lumby [BZ #356]. * libio/vasprintf.c (_IO_vasprintf): Fix condition to decide whether to realloc or not. Reported by Pavel Kankovsky [BZ #346]. * intl/dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls. * intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if decided < 0. * intl/finddomain.c (_nl_find_domain): Likewise. * intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we are done. First set to -1 to signal initialization is ongoing. Protect against concurrent callers with recursive lock. * intl/finddomain.c (_nl_find_domain): Protect calls to _nl_make_l10nflist. [BZ #322] * sysdeps/posix/getaddrinfo.c (getaddrinfo): If determinination of source address fails, initialized source_addr_len field so that duplicate address recognition does not copy junk. 2004-09-25 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Remove second result declaration. 2004-09-22 Andreas Schwab * sysdeps/unix/sysv/linux/ia64/sysdep.h: Adjust whitespace. 2004-09-24 Ulrich Drepper * misc/daemon.c (daemon): Don't succeed if /dev/null cannot be opened. * nis/ypclnt.c (do_ypcall): Add one missing unlock. Simplify the code a bit. * misc/daemon.c (daemon): Define errno in case /dev/null is not the correct device. * nis/ypclnt.c (yp_bind_file): Optimize a bit. Minimal cleanups. 2004-09-23 Andreas Jaeger * locale/weight.h (findidx): Remove static, it's not supported anymore with GCC 4.0 in a block scope. * locale/weightwc.h (findidx): Likewise. * posix/regcomp.c (seek_collating_symbol_entry): Likewise. (lookup_collation_sequence_value): Likewise. (build_range_exp): Likewise. (build_collating_symbol): Likewise. * iconv/iconvconfig.c (write_output): Likewise. * elf/do-rel.h (elf_dynamic_do_rel): Likewise. * sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Remove static, add always_inline attribute. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Make static dependend on !RESOLVE so that it's not defined in local scope. 2004-09-23 Kaz Kojima * sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL_NCS): Define. 2004-09-23 Thorsten Kukuk * sysdeps/unix/sysv/linux/sys/mount.h: Sync MS_RMT_MASK flag and BLK* ioctls with linux kernel headers. 2004-09-23 Ulrich Drepper * sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND. * elf/dl-object.c (_dl_new_object): Add new parameter mode. If mode has RTLD_DEEPBIND set add local searchlist before global scope. * sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype. * elf/rtld.c: Adjust callers of _dl_new_object. * elf/dl-load.c: Likewise. (_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything for DF_SYMBOLIC. * elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to _dl_map_object_deps. * elf/tst-deep1.c: New file. * elf/tst-deep1mod1.c: New file. * elf/tst-deep1mod2.c: New file. * elf/tst-deep1mod3.c: New file. * elf/Makefile: Add rules to build and run new tests. * elf/dl-deps.c: Pretty printing. 2004-09-23 Jakub Jelinek * sysdeps/unix/alpha/sysdep.h (inline_syscall[0-6]): Change name argument to numbers from syscall names. (INLINE_SYSCALL1): Pass __NR_##name to inline_syscall##nr. (INTERNAL_SYSCALL_NCS): Renamed from... (INTERNAL_SYSCALL_1): ... this. Use INTERNAL_SYSCALL_NCS. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL_NCS): Define. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL_NCS): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall[0-6]): Change name argument to numbers from syscall names. (INLINE_SYSCALL, INTERNAL_SYSCALL): Adjust. (INTERNAL_SYSCALL_NCS): Define. 2004-09-22 Ulrich Drepper * malloc/malloc.c (malloc_printerr): Use syslog if writev failed. * string/string.h: Add __nonnull annotations. * stdlib/stdlib.h: Likewise. 2004-09-20 H.J. Lu * sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL): Renamed to ... (DO_INLINE_SYSCALL_NCS): This. (DO_INLINE_SYSCALL): New. (INLINE_SYSCALL): Updated. (INTERNAL_SYSCALL_NCS): Updated. 2004-09-21 Ulrich Drepper * elf/sprof.c (load_shobj): Add support for reading symbol table from debuginfo file. * elf/ldd.bash.in: Fix syntax errors. 2004-09-20 Ulrich Drepper * sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable): Remove some duplication. * nscd/nscd.c (options): Mark S option as hidden. (parse_opt): When S option is used, print warning message. * nscd/grpcache.c (adgrptbyX): Don't handle secure mode. * nscd/hstcache.c (addhstbyX): Don't handle secure mode. * nscd/aicache.c (addhstaiX): Don't handle secure mode. * nscd/pwdcache.c (addpwbyX): Don't handle secure mode. 2004-09-20 Roland McGrath * elf/dl-load.c (__stack_prot): Only use PROT_GROWSUP/PROT_GROWSDOWN in initializer #if defined. 2004-09-18 Paul Eggert [BZ #391] * stdlib/getsubopt.c: Merge fixes from gnulib. (__strchrnul) [!_LIBC]: Define and include "strchrnul.c". (getsubopt): Use prototypes, not K&R style. Fix bug: memcmp(A,B,N) was being invoked on a memory block B whose size might be smaller than N. Use strncmp to avoid the bug. 2004-09-20 Ulrich Drepper * configure.in: If selinux has not explictly been requested, don't comment on it missing. * elf/dl-load.c: Define __stack_prot. * sysdeps/unix/sysv/linux/dl-execstack.c: Don't define __stack_prot here, just declare it. 2004-09-20 Jakub Jelinek * configure.in (libc_cv_z_relro): Only set to yes if linker script contains DATA_SEGMENT_RELRO_END. 2004-09-20 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): Add some error checking. Reorder code slightly. * elf/rtld.c (dl_main): No need to check whether l_info[DT_HASH] is non-null, _dl_setup_hash will do that. 2004-09-19 Ulrich Drepper * sysdeps/unix/sysv/linux/setegid.c [HAVE_PTR__NPTL_SETXID]: Call callback to set IDs in all other threads as well. * sysdeps/unix/sysv/linux/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/setuid.c: New file. * sysdeps/unix/sysv/linux/setgid.c: New file. * sysdeps/unix/sysv/linux/setreuid.c: New file. * sysdeps/unix/sysv/linux/setregid.c: New file. * sysdeps/unix/sysv/linux/setresuid.c: New file. * sysdeps/unix/sysv/linux/setresgid.c: New file. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NCS. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Use x86 version. * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove setresgid and setresuid. * nscd/aicache.c: Use pthread_seteuid_np instead of seteuid. * nscd/grpcache.c: Likewise. * nscd/hstcache.c: Likewise. * nscd/pwdcache.c: Likewise. * resolv/res_mkquery.c (res_nmkquery): Fix typo. 2004-09-18 Ulrich Drepper * sysdeps/unisx/sysv/linux/dl-execstack.c: Get protection flag from memory. * elf/dl-load.c (_dl_map_object_from_fd): Add PROT_EXEC flag to __stack_flags. * sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use gethostbyname3_r if we are not looking for the canonical name. * resolv/res_mkquery.c (res_nmkquery): Randomize request ID every time. 2004-09-18 Roland McGrath * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Pass fifth argument to system call. 2004-09-17 Ulrich Drepper * include/link.h (struct link_map): Add l_used element. * sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED. * elf/rtld.c (process_dl_debug): Recognize unused. (dl_main): When unused debug flag is set check for unused direct dependencies. When printing dependencies and SONAME starts with /, omit the SONAME => part. * elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the symbol has been found as used. * elf/ldd.bash.in: Add -u option. 2004-09-18 Jakub Jelinek * sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread): Do nothing if __NR_set_tid_address is not defined. [BZ #390] 2004-09-17 Ulrich Drepper * sysdeps/posix/getaddrinfo.c: Use gethostbyname3_r NSS function in case it is available. 2004-09-17 Jakub Jelinek * nscd/nscd.c (parse_opt): Write arg string instead of (void *) key to the socket. 2004-09-17 Ulrich Drepper * misc/sys/cdefs.h: Define __nonnull using nonnull function attribute for gcc 3.3 and higher. * io/fcntl.h: Add __nonnull where appropriate. * io/ftw.h: Likewise. * io/utime.h: Likewise. * io/sys/poll.h: Likewise. * io/sys/sendfile.h: Likewise. * io/sys/stat.h: Likewise. * io/sys/statfs.h: Likewise. * io/sys/statvfs.h: Likewise. * posix/unistd.h: Likewise. * catgets/nl_types.h: Likewise. * crypt/crypt.h: Likewise. * debug/execinfo.h: Likewise. 2004-09-16 Ulrich Drepper * posix/glob.h: Remove cruft to make header usable outside glibc. The maintenance headache is too big. * configure.in: Add test for required SELinux features. * config.make.in: Add have-selinux entry. * config.h.in: Add HAVE_SELINUX entry. * nscd/Makefile (nscd-modules): Add selinux. (CFLAGS-selinux.c): Add -fpie. Define selinux-LIBS and use in link line. * nscd/connections.c (handle_request): Check access SELinux permissions before processing request. * nscd/nscd.c (main): Initialize selinux_enabled and stop avc thread. * nscd/nscd_stat.c: Transmit and print AVC statistics. * nscd/selinux.c: New file. * nscd/selinux.h: New file. Patch mostly by Matthew Rickard . 2004-09-16 Jakub Jelinek * nscd/nscd_helper.c (__nscd_unmap, get_mapping): Use __munmap instead of munmap. * nscd/Makefile (CFLAGS-aicache.c): Set to -fpie. 2004-09-16 Thorsten Kukuk * sysdeps/posix/getaddrinfo.c (gaih_inet): Check __nss_not_use_nscd_hosts variable if nscd should be used or not. 2004-09-16 Ulrich Drepper * nscd/nscd_proto.h: Define NSS_NSCD_RETRY. Add __nscd_getai prototype. * nss/getXXbyYY_r.c: Remode definition of NSS_NSCD_RETRY. * nscd/nscd-client.h: Remove __nscd_getai prototype. * nscd/nscd_getai.c: Include nscd_proto.h. * elf/ldd.bash.in: Add support for SELinux environments. Patch by Stephen Smalley . 2004-09-16 Roland McGrath * configure.in (--with-headers): Let argument contain a : separated list of directories to use, not just one. * configure: Regenerated. 2004-09-15 Richard Henderson * sysdeps/alpha/fpu/libm-test-ulps: Update. * scripts/data/c++-types-alpha-linux-gnu.data: New file. 2004-09-15 Ulrich Drepper * nscd/aicache.c: Prefer using gethostbyname3_r NSS callback to also get ttl and canonical name. Use these two values. * resolv/Versions: Export _nss_dns_gethostbyname3_r from libnss_dns. * resolv/nss_dns/dns-host.c (getanswer_r): Take two new parameters. If nonnull fill with TTL and pointer to canonical name respectively. (_nss_dns_gethostbyaddr_r): Pass NULL in new parameters of getanswer_r. (_nss_dns_gethostbyname2_r): Just wrapper around _nss_dns_gethostbyname3_r. (_nss_dns_gethostbyname3_r): Renamed from _nss_dns_gethostbyname2_r. Take two new parameters which as passed to getanswer_r. * nscd/Makefile (rountines): Add nscd_getai. (nscd-modules): Add aicache. * nscd/aicache.c: New file. * nscd/nscd_getai.c: New file. * nscd/cache.c (prune_cache): Handle GETAI request type. * nscd/connections.c: Add GETAI support in request handling. * nscd/nscd-client.h (request_type): Add GETAI. Define ai_response_header and struct nscd_ai_result types. (struct datahead): Add aidata field. Declare __nscd_getai. * nscd/nscd.c: Add getaddrinfo definition to catch problems. * nscd/nscd.h: Declare addhstai and readdhstai. * sysdeps/posix/getaddrinfo.c: Add support for using cached results. * posix/Makefile (CFLAGS-getaddrinfo.c): Add -DUSE_NSCD. * nscd/nscd-client.h (struct datahead): Use uint8_t instead of bool. 2004-09-14 Ulrich Drepper * misc/sys/cdefs.h: Remove debugging text from __P and __PMT. 2004-09-13 Ulrich Drepper * misc/sys/cdefs.h: Restore old definition of __P. * csu/munch.awk: Remove uses of __P and __PMT. * gmon/gmon.c: Likewise. * hesiod/hesiod.h: Likewise. * include/stdio.h: Likewise. * io/fts.c: Likewise. * libio/genops.c: Likewise. * libio/libioP.h: Likewise. * libio/fileops.c: Likewise. * libio/iolibio.h: Likewise. * libio/libio.h: Likewise. * libio/memstream.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldstdfiles.c: Likewise. * libio/iopopen.c: Likewise. * libio/vsnprintf.c: Likewise. * libio/vswprintf.c: Likewise. * libio/wgenops.c: Likewise. * libio/oldiopopen.c: Likewise. * locale/programs/xmalloc.c: Likewise. * locale/programs/xstrdup.c: Likewise. * malloc/mtrace.c: Likewise. * misc/getttyent.c: Likewise. * misc/getusershell.c: Likewise. * nis/rpcsvc/ypupd.h: Likewise. * posix/fnmatch.h: Likewise. * posix/glob.h: Likewise. * resolv/arpa/nameser.h: Likewise. * resolv/gethnamaddr.c: Likewise. * resolv/resolv.h: Likewise. * resolv/inet_net_ntop.c: Likewise. * resolv/inet_net_pton.c: Likewise. * resolv/res_init.c: Likewise. * resolv/nss_dns/dns-network.c: Likewise. * stdio-common/vfprintf.c: Likewise. * stdio-common/reg-printf.c: Likewise. * sysdeps/generic/chflags.c: Likewise. * sysdeps/generic/fchflags.c: Likewise. * sysdeps/generic/glob.c: Likewise. * sysdeps/generic/printf_fphex.c: Likewise. * sysdeps/generic/memcmp.c: Likewise. * sysdeps/generic/memcopy.h: Likewise. * sysdeps/generic/morecore.c: Likewise. * sysdeps/generic/sstk.c: Likewise. * sysdeps/posix/sigvec.c: Likewise. * sysdeps/posix/ttyname_r.c: Likewise. * sysdeps/standalone/arm/bits/errno.h: Likewise. * sysdeps/standalone/standalone.h: Likewise. * sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise. * sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise. * sysdeps/unix/arm/start.c: Likewise. * sysdeps/unix/bsd/sigaction.c: Likewise. * sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise. * sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise. * sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise. * sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise. * sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise. * sysdeps/unix/sparc/start.c: Likewise. * sysdeps/unix/sysv/getdents.c: Likewise. * sysdeps/unix/sysv/irix4/fpathconf.c: Likewise. * sysdeps/unix/sysv/irix4/getgroups.c: Likewise. * sysdeps/unix/sysv/irix4/getpriority.c: Likewise. * sysdeps/unix/sysv/irix4/getrusage.c: Likewise. * sysdeps/unix/sysv/irix4/pathconf.c: Likewise. * sysdeps/unix/sysv/irix4/setgroups.c: Likewise. * sysdeps/unix/sysv/irix4/sigtramp.c: Likewise. * sysdeps/unix/sysv/irix4/start.c: Likewise. * sysdeps/unix/sysv/irix4/sysconf.c: Likewise. * sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise. * sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise. * sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/setpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/sethostname.c: Likewise. * sysdeps/unix/sysv/sysv4/setsid.c: Likewise. * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise. * sysdeps/unix/sysv/sysv4/waitpid.c: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise. * time/tzset.c: Likewise. * time/strftime_l.c: Likewise. * time/strptime_l.c: Likewise. * crypt/md5.h: Likewise. 2004-09-13 Andreas Jaeger * configure.in: Support GCC 4.x. * configure: Regenerated. 2004-09-13 Thorsten Kukuk * nscd/nscd_stat.c: Don't access dbs[cnt].head for disabled services. * nscd/nscd.init: Fix path to socket. 2004-09-12 Ulrich Drepper * nscd/nscd_helper.c (get_mapping): Correctly check cmsg length. Avoid file descriptor leak in case of size mismatch. * nscd/nscd-client.h: Fix database structure layout for biarch. * nscd/mem.c (gc): Add casts to avoid warnings. * nss/getent.c: Don't preconstruct help message. Do it only when needed. * locale/programs/locale.c: Simplify help message printing. 2004-09-12 Roland McGrath * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Add decls missing in last change. 2004-09-11 Thorsten Kukuk * nis/nss_compat/compat-grp.c: Check that buflen is greater zero before writing data into the buffer with negative offset. * nis/nss_compat/compat-initgroups.c: Likewise. * nis/nss_compat/compat-pwd.c: Likewise. * nis/nss_compat/compat-spwd.c Likewise. 2004-09-12 Ulrich Drepper * misc/syslog.c (vsyslog): Fix copying of PID in case of out-of-memory situation. [BZ #365]. * sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of __THROW in inline function definitions. * posix/spawn.h [__USE_GNU]: Define POSIX_SPAWN_USEVFORK. * posix/spawnattr_setflags.c: Check whether any unknown bit is set in FLAGS parameter and fail if this is the case. * sysdeps/posix/spawni.c: Use vfork if POSIX_SPAWN_USEVFORK flag is set. * nscd/pwdcache.c (cache_addpw): Sync also negative results to disk. * nscd/grpcache.c (cache_addgr): Likewise. * nscd/hstcache.c (cache_addhst): Likewise. 2004-09-11 Roland McGrath * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Set _dl_phdr and _dl_phnum. (init1): When bootstrap task, bail early and never examine *D. 2004-09-11 Alfred M. Szmidt * sysdeps/mach/hurd/i386/tls.h (__i386_set_gdt) [!HAVE_I386_SET_GDT]: Cast THR, SEL and DESC to `void'. 2004-09-11 Ulrich Drepper * nscd/connections.c (nscd_run): Call setup_thread only for enabled databases. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Use __NTH for __cmsg_nxthdr. 2004-09-10 Ulrich Drepper * nscd/nscd.c (pagesize_m1): New variable. (main): Initialize it. * nscd/nscd.h: Declare pagesize_m1. * nscd/hstcache.c: Pass correctly aligned address to msync. * nscd/grpcache.c: Likewise. * nscd/pwdcache.c: Likewise. 2004-09-10 Kaz Kojima * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Decrement __nwaiters. If pthread_cond_destroy has been called and this is the last waiter, signal pthread_cond_destroy caller and avoid using the pthread_cond_t structure after unlock. * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise. 2004-09-10 Ulrich Drepper * sysdeps/unix/sysv/linux/kernel-features.h: Don't define __ASSUME_CLONE_STOPPED. 2004-09-10 Jakub Jelinek * misc/sys/cdefs.h (__REDIRECT_NTH): Change order of __THROW and __asm__ for C++. [BZ #377] 2004-09-10 Ulrich Drepper * nscd/nscd_stat.c: Improve output by also printing .shared and .persistent. * nscd/connections.c: Allow cache sharing to be really disabled. 2004-09-10 Jakub Jelinek * malloc/malloc.c (_int_free): Only do arena boundary check for contiguous arenas. 2004-09-10 Kazuhiro Inaoka * stdlib/longlong.h [__M32R__] (add_ssaaaa, sub_ddmmss): Fix broken instruct operands. * elf/elf.h: Add R_M32R_* relocs. 2004-09-09 Ulrich Drepper * misc/sys/cdefs.h: Despite what the gcc manual says, gcc 3.2 seems not to support the nothrow attribute. Use it only for gcc 3.3 and higher. * malloc/hooks.c (top_check): Print top chunk corruption as normal error message. * malloc/malloc.c (malloc_printerr): Don't make informational message look like error message. 2004-09-09 Andreas Jaeger * nscd/Makefile (CFLAGS-nscd_setup_thread.c): Set to -fpie. 2004-09-08 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/socket.h (__SCM_CONNECT): Removed. * malloc/malloc.c (_int_free): Add inexpensive double free and memory corruption tests. (malloc_printf_nc): Renamed to malloc_printerr. Second parameter is no format string anymore. Don't use stdio. Adjust all callers. * malloc/hooks.c: Adjust malloc_printf_nc callers. 2004-09-08 Roland McGrath * malloc/mcheck.c: Don't use __P. Use prototypes definitions for static functions. 2004-09-08 Ulrich Drepper * sysdeps/ia64/fpu/bits/mathinline.h: Use __NTH instead of __THROW. 2004-09-08 Ulrich Drepper Jakub Jelinek * nscd/nscd-client.h: Add a few #includes. * nscd/Makefile (nscd-modules): Add nscd_setup_thread. * nscd/connections.c (nscd_run): Call setup_thread for maintenance threads. * nscd/nscd-client.h (struct database_pers_head): Add nscd_certainly_running field. * nscd/nscd.h: Declare setup_thread. * nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if nscd_certainly_running is nonzero. * sysdeps/generic/nscd_setup_thread.c: New file. * sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file. 2004-09-08 Ulrich Drepper * nscd/connections.c: Implement r/o sharing of nscd's cache with client processes via shared memory. * nscd/nscd-client.h: Likewise. * nscd/nscd.h: Likewise. * nscd/nscd_conf.c: Likewise. * nscd/nscd_getgr_r.c: Likewise. * nscd/nscd_getpw_r.c: Likewise. * nscd/nscd_gethst_r.c: Likewise. * nscd/nscd.conf: Add new config parameters. * nscd/Makefile (aux): Add nscd_helper. * nscd/nscd_helper.c: New file. * nscd/mem.c (gc): Indicate beginning and end of the gc cycle. * nscd/hstcache.c: Simplify a lot. We cache only the request itself, no derived information. * connections.c (nscd_init): Fix bug in testing size of the persistent. * nis/Makefile (aux): Add nis_hash. * nis/nis_hash.c: New file. Split out from nis_util.c. * nis/nis_util.c: Move __nis_hash code in separate file. * csu/tst-atomic.c: Improve atomic_increment_val test which would not have found a ppc bug. * sysdeps/s390/fpu/bits/mathinline.h: Remove unnecessary includes. * malloc/arena.c: Remove __MALLOC_P uses. * malloc/malloc.c: Likewise. * malloc/mtrace.c: Remove __P uses. * malloc/mcheck-init.c: Likewise. 2004-09-07 Jakub Jelinek * sysdeps/powerpc/powerpc64/configure.in: New file. * config.h.in (USE_PPC64_OVERLAPPING_OPD): Add. * configure.in (HAVE_ASM_GLOBAL_DOT_NAME): Remove. * sysdeps/powerpc/powerpc64/sysdep.h: Formatting. (OPD_ENT, BODY_LABEL, ENTRY_1, ENTRY_2, END_2, DOT_PREFIX, BODY_PREFIX): Define. (ENTRY, DOT_LABEL, END, TRACEBACK, END_GEN_TB, EALIGN): Support HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols, USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries. * sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h. (TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros. 2004-09-07 Ulrich Drepper * malloc/malloc.h: Don't define __THROW if it is already defined. * sysdeps/powerpc/bits/atomic.h (atomic_increment): Define. (atomic_decrement): Define. * sysdeps/powerpc/bits/atomic.h: Implement atomic_increment_val and atomic_decrement_val. * sysdeps/powerpc/powerpc32/bits/atomic.h: Likewise. * sysdeps/powerpc/powerpc64/bits/atomic.h: Likewise. * csu/tst-atomic.c (do_test): Add tests of atomic_increment_val and atomic_decrement_val. * include/atomic.h: Define atomic_increment_val, atomic_decrement_val, and atomic_delay is not already defined. * sysdeps/i386/i486/bits/atomic.h: Define atomic_delay. * sysdeps/x86_64/bits/atomic.h: Likewise. * miscd/sys/cdefs.h (__NTH): New macro. (__THROW): Define using nothrow attribute for C code and gcc >= 3.2. (__REDIRECT_NTH): New macro. * argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary. * ctype/ctype.h: Likewise. * dirent/dirent.h: Likewise. * io/fcntl.h: Likewise. * io/sys/sendfile.h: Likewise. * io/sys/stat.h: Likewise. * io/sys/statfs.h: Likewise. * io/sys/statvfs.h: Likewise. * libio/bits/stdio.h: Likewise. * misc/sys/mman.h: Likewise. * posix/unistd.h: Likewise. * resource/sys/resource.h: Likewise. * rt/aio.h: Likewise. * signal/signal.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * string/string.h: Likewise. * sysdeps/generic/inttypes.h: Likewise. * sysdeps/i386/fpu/bits/mathinline.h: Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. * sysdeps/s390/fpu/bits/mathinline.h: Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise. * wcsmbs/wchar.h: Likewise. * sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate. * resolv/gethnamaddr.c (getanswer): Remove __P use in variable definition. * io/sys/poll.h: Remove __THROW from poll prototype, it's a cancellation point. * io/fts.c (fts_open): Remove uses of __P. * include/stdlib.h: No need to use __THROW in this header. 2004-09-06 Roland McGrath * sysdeps/mach/hurd/dl-sysdep.c (__writev): Does use assert on FD validity, since __assert_fail gets to here anyway. Just fail. 2004-09-06 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix problem with AF_UNSPEC lookup with AI_CANONNAME of name which has only IPv6 addresses. 2004-09-05 Richard Henderson * sysdeps/alpha/fpu/fraiseexcpt.c: Remove file. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_IEEE_RAISE_EXCEPTION): New. * sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: New file. * sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h: New file. * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use it. * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. 2004-09-05 Richard Henderson * sysdeps/alpha/div.S: Save and restore FPCR around fp operations. * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S, sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Likewise. * sysdeps/alpha/div_libc.h (FRAME): Increase to 64. 2004-09-05 Ulrich Drepper * nscd/cache.c (cache_add): Correctly log GETHOSTBYADDR and GETHOSTBYADDRv6 requests. 2004-09-04 Ulrich Drepper * nscd/pwdcache.c (cache_addpw): Use correct key length in cache_add calls. * nscd/grpcache.c (cache_addgr): Likewise. 2004-09-03 Alfred M. Szmidt * sysdeps/mach/hurd/i386/tls.h (THREAD_DTV): Changed type of _DTV to `dtv_t *'. 2004-09-03 Ulrich Drepper * nscd/nscd.c (parse_opt): Use writev instead of two write for invalidate command. 2004-09-02 Ulrich Drepper * nscd/connections.c (nscd_run): Check early for invalid request types. 2004-09-02 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro. (INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word. (THREAD_SELF): New macro. 2004-09-02 Steven Munroe [BZ #357] * stdlib/tst-setcontext.c (test_stack): Added test for stack clobber. (main): Call test_stack. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S (__getcontext): Push stack frame then save parms in local frame. Improve instruction scheduling. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S (__swapcontext): Likewise. 2004-09-01 Andreas Schwab * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h [g++ >= 3.5]: Use __builtin_offsetof. 2004-09-01 Jakub Jelinek [BZ #361] * posix/fnmatch_loop.c (FCT): For backslash between brackets, branch to normal_bracket after fetching the next character. * posix/tst-fnmatch.input: Add 25 new tests. Reported by Markus Oberhumer . 2004-09-01 Ulrich Drepper * elf/rtld.c (dl_main): First check existence of ld.so.preload with access. 2004-09-01 Roland McGrath * sysdeps/unix/sysv/linux/bits/waitflags.h (WSTOPPED, WEXITED, WCONTINUED, WNOWAIT): New macros. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL): New macro. * sysdeps/unix/sysv/linux/waitid.c: New file. Use new syscall when available, or fall back to the waitpid-based generic code. 2004-08-14 Alfred M. Szmidt * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Let gcc clobber the `ebp' register. * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed. Reverts change from 2004-05-07 by Jeroen Dekkers. * sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of NEWSP from `void *' to `int *'. Changed all casts accordingly. 2004-08-31 Jakub Jelinek * wcsmbs/wcsmbsload.c (__wcsmbs_getfct): Move attribute_hidden before return type. * locale/localename.c (__current_locale_name): Likewise. 2004-08-30 Roland McGrath * scripts/extract-abilist.awk: If `lastversion' variable defined, omit later sets from output. * Makerules (check-abi): Pass option to set that with value of LIB-abi-frozen variable if one is set. * abilist/libcidn.abilist: New file (empty). 2004-08-30 Jakub Jelinek * posix/bits/posix1_lim.h (_POSIX_CHILD_MAX, _POSIX_OPEN_MAX): If not __USE_XOPEN2K, use the Unix98 mandated values. 2004-08-27 Roland McGrath * configure.in (usetls): Default to yes. * configure: Regenerated. 2004-08-26 Roland McGrath * configure.in (add_ons_automatic): New variable, set to yes or no indicating --enable-add-ons with no explicit list. (running add-on fragments): Allow a fragment to modify $libc_add_on and have that affect its place in the list of add-ons to use. * configure: Regenerated. 2004-08-26 Ulrich Drepper * nscd/cache.c: Major rewrite. The data is now optionally kept in a mmaped memory region which is automatically mirrored on disk. This implements persistent data storage. The Memory handled needed to be completely revamped, it now uses a garbage collection mechanism instead of malloc. * nscd/connections.c: Likewise. * nscd/nscd.c: Likewise. * nscd/nscd.h: Likewise. * nscd/nscd_conf.c: Likewise. * nscd/nscd_stat.c: Likewise. * nscd/grpcache.c: Likewise. * nscd/hstcache.c:: Likewise. * nscd/pwdcache.c:: Likewise. * nscd/Makefile: Add rules to build mem.c. * nscd/mem.c: New file. * nscd/nscd.conf: Describe new configuration options. 2004-08-26 Kaz Kojima * sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if NO_SGIDEFS_H isn't defined. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/sh/pread.c: Define NO_SGIDEFS_H and _MIPS_SIM. * sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/sh/pread64.c: Likewise. * sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise. 2004-08-26 Ulrich Drepper * nscd/connections.c (nscd_run): atomic_increment was not missing. * sysdeps/gnu/Makefile (libdl-sysdep_routines): Don't add eval. Patch by Greg Schafer. 2004-08-25 Richard Henderson * sysdeps/alpha/elf/start.S (_start): Use $15 as frame unwind instead of $31. Zero $15. * sysdeps/unix/sysv/linux/alpha/clone.S (thread_start): Likewise. 2004-08-25 Ulrich Drepper * sysdeps/powerpc/powerpc64/bits/atomic.h (__arch_compare_and_exchange_bool_32_acq): Fix case where oldval is negative. (__arch_compare_and_exchange_bool_32_rel): Likewise. * nscd/connections.c: Make socket nonblocking so that threads don't get stuck on accept. Fix locking. * nscd/grpcache.c (cache_addgr): Use copy of original key in hash entry with alternative key. * nscd/pwdcache.c (cache_addpw): Likewise. 2004-08-25 Richard Sandiford * sysdeps/mips/dl-machine.h (_dl_start_user): Don't set __libc_stack_end. 2004-08-23 Ulrich Drepper * sysdeps/gnu/netinet/udp.h: Cosmetic changes. Remove unnecessary __BEGIN_DECLS/__END_DECLS. 2004-08-23 Andreas Jaeger [BZ #341] * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOATIME): Define. * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (O_NOATIME): Likewise. 2004-08-21 Ulrich Drepper * malloc/hooks.c (DEFAULT_CHECK_ACTION): Moved to malloc.c. (check_action): Likewise. When printing error messages, use malloc_printf_nc now instead of fiddling with the streams cancellation flag in every place. * malloc/malloc.c (DEFAULT_CHECK_ACTION): New definition. Change default to 3. (check_action): New variable. (unlink): Print error message and eventually terminate in case list is corrupted. (malloc_printf_nc): New function. Use it in _int_free. Change proposed by Arjan van de Ven. * dlfcn/Makefile: Don't build eval.c anymore. 2004-08-20 Roland McGrath * csu/Makefile ($(objpfx)version-info.h): Use printf in place of echo -e for POSIX.2 portability. Reported by Paul Jarc . 2004-08-19 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Minor optimizations in list generation. * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use getcanonname_r function if AI_CANONNAME flag is not set in request. * nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Initialize mysize with limits only if latter is >= 0. Use mysize in malloc call. 2004-08-19 Jakub Jelinek * sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *) to avoid warning. * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize status to NSS_STATUS_UNAVAIL. 2004-08-19 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the cannoname lookup since it has the FQDN even if the original NAME value has not. 2004-08-18 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter pointer in new variable ORIG_NAME and use this pointer when determination of canonical name failed, not the possibly IDN translated value of NAME. 2004-08-17 Ulrich Drepper * resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT. * resolv/res_init.c (res_setoptions): Recognize ip6-dotint option. Reset RES_NOIP6DOTINT flag in this case.. * sysdeps/posix/getaddrinfo.c: Fix memory handling of ai_canonname. 2004-08-16 Ulrich Drepper * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Don't use CNAME records, we better follow the chain of CNAME records which can be accomplished with A/AAAA lookups. 2004-08-15 Roland McGrath * sysdeps/unix/sysv/linux/bits/resource.h (enum __rusage_who): Remove __RUSAGE_BOTH constant and RUSAGE_BOTH macro. * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. 2004-08-15 Roland McGrath * sysdeps/i386/i686/Makefile (elide-routines.os): Append hp-timing to this, not ... (static-only-routines): ... this. * sysdeps/ia64/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise. * sysdeps/sparc/sparc64/Makefile: Likewise. * sysdeps/x86_64/Makefile: Likewise. * sysdeps/i386/i686/hp-timing.c: Revert copyright terms change. * sysdeps/ia64/hp-timing.c: Likewise. * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise. * sysdeps/sparc/sparc64/hp-timing.c: Likewise. * csu/elf-init.c: Update copyright terms including special exception for these trivial files, which are statically linked into executables that use dynamic linking for the significant library code. * io/fstat.c: Likewise. * io/fstat64.c: Likewise. * io/lstat.c: Likewise. * io/lstat64.c: Likewise. * io/stat.c: Likewise. * io/stat64.c: Likewise. * stdlib/atexit.c: Likewise. * sysdeps/alpha/elf/initfini.c: Likewise. * sysdeps/alpha/elf/start.S: Likewise. * sysdeps/arm/elf/start.S: Likewise. * sysdeps/cris/elf/start.S: Likewise. * sysdeps/generic/initfini.c: Likewise. * sysdeps/generic/mknod.c: Likewise. * sysdeps/hppa/elf/initfini.c: Likewise. * sysdeps/hppa/elf/start.S: Likewise. * sysdeps/i386/elf/start.S: Likewise. * sysdeps/i386/i686/hp-timing.c: Likewise. * sysdeps/ia64/elf/initfini.c: Likewise. * sysdeps/ia64/elf/start.S: Likewise. * sysdeps/ia64/hp-timing.c: Likewise. * sysdeps/m68k/elf/start.S: Likewise. * sysdeps/mach/start.c: Likewise. * sysdeps/mips/elf/start.S: Likewise. * sysdeps/powerpc/powerpc32/elf/start.S: Likewise. * sysdeps/powerpc/powerpc64/elf/start.S: Likewise. * sysdeps/s390/s390-32/elf/start.S: Likewise. * sysdeps/s390/s390-32/initfini.c: Likewise. * sysdeps/s390/s390-64/elf/start.S: Likewise. * sysdeps/s390/s390-64/initfini.c: Likewise. * sysdeps/sh/elf/initfini.c: Likewise. * sysdeps/sh/elf/start.S: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/sparc/sparc64/hp-timing.c: Likewise. * sysdeps/standalone/i386/start.S: Likewise. * sysdeps/standalone/i960/start.S: Likewise. * sysdeps/standalone/m68k/m68020/start.S: Likewise. * sysdeps/unix/arm/start.c: Likewise. * sysdeps/unix/bsd/osf/alpha/start.S: Likewise. * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise. * sysdeps/unix/sparc/start.c: Likewise. * sysdeps/unix/start.c: Likewise. * sysdeps/unix/sysv/aix/start.s: Likewise. * sysdeps/unix/sysv/irix4/start.c: Likewise. * sysdeps/x86_64/elf/initfini.c: Likewise. * sysdeps/x86_64/elf/start.S: Likewise. 2004-08-15 Roland McGrath [BZ #227] * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_BRK_PAGE_ROUNDED): New macro. * sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk) [! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within the partial page after the dynamic linker's own data segment. 2004-08-15 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Optimize generation of v4-mapped addresses a bit. (gethosts): Move alloca out of macro, so that it is done only once. * sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of addr to avoid casts. (gethosts): Removed. (gethosts2): Renamed to gethosts. Make it usable for family != AF_UNSPEC. Fix AI_V4MAPPED. (gaih_inet): Remove use of old gethosts. Always use what used to be gethosts2. If entry is found, try to use the same NSS module's getcanonname_r function. Use gethostbyaddr for AI_CANONNAME only if getcanonname_r was not available. Fix filtering of AI_V4MAPPED addresses. Numerous cleanups. * resolv/nss_dns/dns-canon.c: New file. * resolv/Makefile (libnss_dns-routines): Add dns-canon. * resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r. * elf/Makefile: Add rules to build and run tst-dlopenrpath. * elf/tst-dlopenrpath.c: New file. * elf/tst-dlopenrpathmod.c: New file. * intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8. * intl/tst-gettext.c: Likewise. * nss/getent.c (ahosts_keys_int): Correctly print IPv6 addresses. * nss/getent.c: Allow queries for getaddrinfo with AF_INET and AF_INET6. 2004-08-14 Ulrich Drepper * po/de.po: Update from translation team. 2004-08-14 Roland McGrath * sysdeps/mach/configure: Regenerated. * sysdeps/mach/hurd/configure: Regenerated. 2004-08-14 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (getaddrinfo): If RFC3484 sorting is performed, make sure it is still the first entry after sorting that has the ai_canonname information. * sysdeps/posix/getaddrinfo.c (gaih_inet): Really set ai_canonname only in one entry. 2004-08-13 Daniel Jacobowitz * scripts/output-format.sed: Handle default case of three-argument OUTPUT_FORMAT. * sysdeps/arm/machine-gmon.h (mcount_internal): Mark as __attribute_used__. 2004-08-13 Ulrich Drepper * nss/getent.c (ahosts_keys): ai_canonname is NULL for all but the first returned entry. Print name only if not NULL. * nis/nss_nis/nis-netgrp.c: Remove locking by using data in struct __netgrent object passed in instead of global variables. Optimize. * nis/nss_nisplus/nisplus-netgrp.c: Remove locking by using data in struct __netgrent object passed in instead of global variables. * inet/netgroup.h (struct __netgrent): Add service_user field. Move cursor in anonymous union, add new field location to that union. * inet/getnetgrent_r.c: Extensive rewrite to really enable concurrent uset of set/get/endnetgrent and innetgr. Reported by Chuck Simmons. * inet/netgroup.h (struct name_list): Replace name pointer with zero-sized array. * inet/getnetgrent_r.c: Adjust code for change in name_list layout. Numerous strdup and free calls removed. * elf/sprof.c (read_symbols): When comparing aliases, prefer non-hidden over hidden symbols and strong over weak symbols if both don't start with '_'. * malloc/malloc.c: Use strong_alias instead of weak_alias wherever possible. 2004-08-12 Jakub Jelinek * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard RUSAGE_ enums as __RUSAGE_ and adjust macros accordingly. * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise. Define non-standard RLIMIT_ enums as __RLIMIT_ and adjust macros accordingly. 2004-08-11 Andreas Schwab * resolv/res_libc.c: Move definition of __res_initstamp ... * resolv/res_init.c: ... here. 2004-08-10 GOTO Masanori * locale/C-time.c: Change default ERA value from NULL to "". * locale/tst-C-locale.c: Add test case for ERA keywords. 2004-08-12 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard RLIMIT__ enums as __RLIMIT_ and adjust macros accordingly. * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. 2004-08-12 Jakub Jelinek * sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_SIGPENDING, RLIMIT_MSGQUEUE): Add. (RLIMIT_NLIMITS, RLIM_NLIMITS): Adjust. * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_SIGPENDING, RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add. (RLIM_NLIMITS): Adjust. * sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIMIT_SIGPENDING, RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add. (RLIM_NLIMITS): Adjust. * sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_SIGPENDING, RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add. (RLIM_NLIMITS): Adjust. 2004-08-12 Jakub Jelinek * resolv/res_query.c (__libc_res_nsearch): Protect the debugging printf with #ifdef DEBUG and RES_DEBUG check. * sysdeps/unix/sysv/linux/bits/shm.h: Move __END_DECLS after __USE_MISC #endif. * sysdeps/generic/bits/shm.h: Add __BEGIN_DECLS for __getpagesize declaration. * sysdeps/gnu/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise. 2004-08-12 Ulrich Drepper * po/ca.po: Update from translation team. 2004-08-11 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/shm.h: Add __BEGIN_DECLS for __getpagesize declaration. 2004-08-11 Roland McGrath * configure.in (libc_cv_cpp_asm_debuginfo): Add missing braces around commands inside &&. Reported by Andreas Schwab . * configure: Regenerated. * posix/tst-waitid.c (do_test): Ignore SIGCHLD before cleanup SIGKILL. 2004-08-11 Ulrich Drepper * time/tzset.c (tzset_internal): Add new parameter which is nonzero if called through tzset. Use TZDEFAULT name including name comparison if the new parameter is zero. This means implicit tzset calls will not cause files to be opened and read by tzfile.c all the time. 2004-08-11 Jakub Jelinek * rt/tst-timer2.c (do_test): If timer_create fails, just continue. * rt/tst-timer4.c (do_test): If one of the timer_create calls fails, return 1 immediately. * time/tzfile.c (__tzfile_read): Free transitions only if it will not be reused. * sysdeps/ieee754/dbl-64/mpa.c: Include . * sysdeps/ieee754/dbl-64/mpa.h (MAX, MIN): Macros removed. * stdio-common/tst-popen.c: Include . * resolv/res_send.c (__libc_res_nsend): Only define TMPBUF #if DEBUG. * sysdeps/pthread/aio_misc.c (handle_fildes_io): Remove noreturn attribute. Return NULL instead of calling pthread_exit at the end. 2004-08-11 Roland McGrath * iconvdata/testdata/ISO-2022-JP-3: Regenerated. 2004-08-10 Alfred M. Szmidt * sysdeps/generic/bits/in.h (struct ip_mreq): Remove definition. 2004-08-10 Jakub Jelinek * libio/bits/stdio.h (fread_unlocked): Cast 0 to (size_t). (fwrite_unlocked): When checking if size * n is <= 8, cast each argument to size_t individually. Cast n to (void) instead of (size_t), surround with (), return (size_t) 0 if one of n or size is 0. [BZ #316] * stdio-common/Makefile (tests): Add tst-unlockedio. * stdio-common/tst-unlockedio.c: New test. 2004-08-09 Roland McGrath * manual/install.texi (Supported Configurations): Replace bug-glibc mention with web URL. * INSTALL: Regenerated. * locale/iso-3166.def: Likewise, in comment. * locale/iso-4217.def: Likewise. * locale/iso-639.def: Likewise. * posix/cpio.h: Remove bug reporting comment. 2004-08-09 Ulrich Drepper * libio/bits/stdio.h (fread_unlocked): Add a couple of (size_t) casts to handle funny calls with floating point argument values and signed values correctly and without warning. (fwrite_unlocked): Likewise. [BZ #309] * malloc/memusage.c (me): Use creat64, not creat. * malloc/memusagestat.c: Fix handling of very large sizes. [BZ #285] Patch by Guy Maor . * elf/ldconfig.c (options): Mark parameter option names as translatable. [BZ #253] Patch by Jakub Bogusz . * iconv/gconv_charset.h (strip): Also allow comma which is what is used to separate options. [BZ #194] 2004-08-09 Roland McGrath * FAQ.in: Refer to web pages instead of bug-glibc. * FAQ: Regenerated. * time/strptime_l.c: #include , `bool' used in last change. 2004-08-09 Ulrich Drepper * time/tzset.c (tzset_internal): If TZ is not set do not compare old and new tz value since it might be /etc/localtime in both cases although the file changed. [BZ #154] Patch by Christian Franke . * time/tzfile.c (__tzfile_read): Determine dev/ino of file. Compare with values of previously opened file. Don't do anything is they match. 2004-08-08 Ulrich Drepper * elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set, reset loader before the actual loading. * elf/dl-open.c (dl_open_worker): If file name contains no path element determine map of caller. Pass caller map in this case to _dl_map_object. Set __RTLD_CALLMAP in mode. * include/dlfcn.h (__RTLD_CALLMAP): Define. [BZ #116] Patch by Greg Wolodkin . * misc/syslog.c (openlog_internal): Always try both UDP and TCP. [BZ #108] Patch mainly by Bjorn Andersson . * configure.in: Also recognize i786. [BZ #106] Patch by . * resolv/res_query.c (__libc_res_nsearch): Correctly test whether name contains any dots. [BZ #95] * resolv/res_send.c: Compiling with DEBUG defined works again. * resolv/gethnamaddr.c (dprintf): Renamed to Dprintf. Adjust all callers. * resolv/tst-leaks.c (TIMEOUT): Define so that if no server is available the process is not killed. [BZ #41] * intl/tst-gettext.c (main): Improve some messages. [BZ #33] * time/strptime_l.c (__strptime_internal): Fix handling of %Ey. [BZ #28] * po/sv.po: Update from translation team. 2004-08-07 Ulrich Drepper * inet/netinet/in.h: Add more const to the setipv4soucefilter, getsourcefilter, and setsourcefilter parameter list. * sysdeps/generic/setipv4sourcefilter.c: Likewise. * sysdeps/generic/getsourcefilter.c: Likewise. * sysdeps/generic/setsourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/getsourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/setsourcefilter.c: Likewise. * po/tr.po: Update from translation team. 2004-08-06 Ulrich Drepper * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): Fix typo. Reported by Paolo Bonzini. 2004-08-06 Jakub Jelinek * sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add always_inline. * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup, elf_machine_fixup_plt, elf_machine_plt_conflict): Likewise. * sysdeps/unix/sysv/linux/netatalk/at.h: Include bits/sockaddr.h before including linux/atalk.h. * resolv/res_libc.c: Include atomic.h. * intl/finddomain.c (free_mem): Rename to... (_nl_finddomain_subfreeres): ... this. Add __libc_freeres_fn_section. * intl/loadmsgcat.c (_nl_unload_domain): Add __libc_freeres_fn_section. * intl/gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC. Add attribute_hidden. (_nl_findomain_subfreeres): New prototype. * iconv/gconv_db.c (free_mem): Call _nl_findomain_subfreeres. 2004-07-30 Guido Guenther * nss/getent.c (passwd_keys): Use strtoul instead of isdigit to test if the key is numeric or not. (group_keys): Likewise. 2004-08-05 Ulrich Drepper * inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE, struct group_filter, and GROUP_FILTER_SIZE. * include/sys/socket.h: Declare __getsockopt. * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file. * sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file. * sysdeps/unix/sysv/linux/setsourcefilter.c: New file. * sysdeps/unix/sysv/linux/getsourcefilter.c: New file. [BZ #211] * po/ko.po: Update from translation team. 2004-08-04 Jakub Jelinek * hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc + memset. (__hesiod_res_set): Free nsaddrs. * include/resolv.h (__res_maybe_init): Add prototype. * resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field. * resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE. * resolv/res_libc.c (__res_initstamp, lock): New variables. (res_init): Increase __res_initstamp. (__res_maybe_init): New function. * resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp. * hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead of RES_INIT check and {res_ninit,__res_ninit,res_init} call. * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r, _nss_dns_gethostbyaddr_r): Likewise. * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r, _nss_dns_getnetbyaddr_r): Likewise. * resolv/gethnamaddr.c (gethostbyname, gethostbyname2, gethostbyaddr): Likewise. * resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate, res_isourserver, res_sendsigned, res_update, res_search, res_querydomain): Likewise. * nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise. * nss/digits_dots.c (__nss_hostname_digits_dots): Likewise. * nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r): Likewise. 2004-08-05 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for V4-mapped IPv6 addresses and req->ai_family==AF_INET. Reported by A. Guru . * po/sv.po: Update from translation team. * po/sk.po: Likewise. * po/pl.po: Likewise. 2004-08-04 Jakub Jelinek Ulrich Drepper * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Don't read more input characters than necessary. 2004-08-05 Ulrich Drepper * wcsmbs/Makefile (tests): Add tst-mbsrtowcs. * wcsmbs/tst-mbsrtowcs.c: New file. * po/fr.po: Update from translation team. 2004-08-04 Jakub Jelinek * resolv/inet_pton.c (inet_pton4): Disallow octal numbers. Reported by A. Guru . [BZ #295] 2004-08-05 Ulrich Drepper * po/nl.po: Update from translation team. * sysdeps/posix/getaddrinfo.c (gaih_inet): Recognize all the IPv4 numeric address formats inet_addr knows. (getaddrinfo): Allow AI_NUMERICSERV flag. If neither IPv4 nor IPv6 interface is present we cannot make any decision for AI_ADDRCONFIG. Fail if AI_NUMERICSERV is set and the string is not just a number. Remove useless freeaddrinfo call. * resolv/netdb.h (AI_NUMERICSERV): Define. Based on a patch by a.guru@sympatico.ca. 2004-08-04 Jakub Jelinek * stdlib/strfmon_l.c (__vstrfmon_l): Memset whole info structure instead of trying to initialize some, but not all, fields one by one. * stdio-common/printf_size.c (printf_size): Initialize fb_info structure with *info instead of trying to initialize some, but not all, fields from it. * nscd/connections.c (handle_request): Check if req->type is in LASTDBREQ .. LASTREQ range instead of req. * locale/programs/linereader.c (lr_create): Initialize lr->return_widestr to 0. * elf/dl-close.c (free_slotinfo): Add __libc_freeres_fn_section. (free_mem): Call free_slotinfo just once. * stdio-common/tst-fmemopen.c (main): Check for MAP_FAILED instead of NULL. * locale/localeinfo.h (_nl_locale_subfreeres): New prototype. * locale/setlocale.c (free_category): Add __libc_freeres_fn_section. (free_mem): Rename to _nl_locale_subfreeres. * iconv/gconv_db.c: Include locale/localeinfo.h. (free_derivation, free_modules_db): Add __libc_freeres_fn_section. (free_mem): Call _nl_locale_subfreeres. * iconv/gconv_dl.c (do_release_all): Add __libc_freeres_fn_section. 2004-08-04 Roland McGrath * Makeconfig ($(common-objpfx)config.status): Fix typo: $(add_ons) -> $(add-ons). (Makeconfig-add-on): New variable. When doing $(sysdep-makeconfigs) include, use black magic to get it set to an add-on's name during the include of the add-on's Makeconfig. * configure.in: Use variable name `libc_add_on' when sourcing add-on configure fragments, so they can refer to this. * configure: Regenerated. 2004-08-04 Roland McGrath * posix/tst-waitid.c (test_child): Sleep a second before stopping. (do_test): Bump sleep to three seconds. (sigchld, check_sigchld): New functions. (do_test): Handle SIGCHLD and check for getting the right details. * posix/tst-waitid.c (do_test): Kill the child process when bailing out early on some failure. [WCONTINUED]: Test WCONTINUED functionality. 2004-08-03 Ulrich Drepper * nscd/connections.c (handle_request): Print more descriptive message for invalid request types. 2004-08-02 Jakub Jelinek * iconvdata/ibm932.c (BODY): Avoid binary search for ch >= 0xffff. Always treat high as highest number in range + 1. * iconvdata/ibm943.c (BODY): Likewise. 2004-07-31 Bruno Haible * iconvdata/JISX0213.TXT: Updated to JISX0213 plane 1 version 2004. * iconvdata/jisx0213.c (__jisx0213_to_ucs_main, __jisx0213_to_ucs_pagestart, __jisx0213_from_ucs_level1, __jisx0213_from_ucs_level2): Regenerated. * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): New function. * iconvdata/iso-2022-jp-3.c (JISX0213_1_2000_set): Renamed from JISX0213_1_set. (JISX0213_1_2004_set): New enum value. (BODY for FROM_LOOP): Treat ESC $ ( Q like ESC $ ( O. (BODY for TO_LOOP): For JISX 0213 plane 1 characters, emit ESC $ ( O when possible, ESC $ ( Q when needed. * iconvdata/testdata/EUC-JISX0213: Add the 10 new characters. * iconvdata/testdata/EUC-JISX0213..UTF8: Update. * iconvdata/testdata/SHIFT_JISX0213: Add the 10 new characters. * iconvdata/testdata/SHIFT_JISX0213..UTF8: Update. * iconvdata/testdata/ISO-2022-JP-3: Add the 10 new JISX0213 characters. * iconvdata/testdata/ISO-2022-JP-3..UTF8: Update. 2004-07-22 Bruno Haible * iconvdata/gconv-modules (ISO-8859-7): Add alias ISO_8859-7:2003. 2004-07-29 David S. Miller * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy): Optimize better for smaller than 256 byte copies. Also, use only one unrolled loop instead of two for the large copy case. 2004-07-30 Richard Henderson * sysdeps/alpha/divq.S: Save t3 before it gets clobbered. * sysdeps/alpha/remq.S: Likewise. * sysdeps/alpha/div.S, sysdeps/alpha/ldiv.S: Rewrite with the new division algorithms in divl.S and divq.S respectively. 2004-07-28 GOTO Masanori * timezone/asia: Update from tzdata2004b. * timezone/backward: Likewise. * timezone/europe: Likewise. * timezone/iso3166.tab: Likewise. * timezone/leapseconds: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * timezone/zone.tab: Likewise. * timezone/private.h: Update from tzcode2004b. * timezone/zic.c: Likewise. 2004-07-27 Ulrich Drepper * nscd/grpcache.c (cache_addgr): If necessary, add entry also under the name the user provided. * nscd/pwdcache.c (cache_addpw): Likewise. 2004-07-26 Roland McGrath * sysdeps/posix/waitid.c [WEXITED]: Clear WEXITED bit in OPTIONS for call to __waitpid. 2004-07-26 Ulrich Drepper * nscd/hstcache.c (cache_addhst): Fix two scenarios which lead to memory leaks. * sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Assign pointer for new buffer at the right time. Reported by Jakub Bogusz . 2004-07-25 Ulrich Drepper * inet/Versions [libc, GLIBC_2.3.4]: Add getipv4sourcefilter, getsourcefilter, setipv4sourcefilter, and setsourcefilter. * inet/Makefile (routines): Likewise. * inet/netinet/in.h: Add prototypes for getipv4sourcefilter, getsourcefilter, setipv4sourcefilter, and setsourcefilter. * sysdeps/generic/getipv4sourcefilter.c: New file. * sysdeps/generic/setipv4sourcefilter.c: New file. * sysdeps/generic/getsourcefilter.c: New file. * sysdeps/generic/setsourcefilter.c: New file. 2004-07-17 Steven Munroe * sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling for POWER4 machines. 2004-07-21 Jakub Jelinek [BZ #274] * stdlib/strtod_l.c (INTERNAL (__STRTOF)): Fix used >= BITS_PER_MP_LIMB shifting up. * stdlib/tst-strtod.c (main): Add new tests. 2004-07-23 Jakub Jelinek [BZ #282] * libio/iopopen.c (_IO_new_popen): Use _IO_init instead of _IO_no_init. Remove wd from struct locked_FILE. (_IO_wproc_jumps): Remove. Reported by Andrew Josey . * stdio-common/Makefile (tests): Add tst-popen. * stdio-common/tst-popen.c: New test. 2004-07-23 Ulrich Drepper * posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and _POSIX_OPEN_MAX. Add _POSIX_HOST_NAME_MAX, _POSIX_SYMLINK_MAX, _POSIX_SYMLOOP_MAX, and _POSIX_RE_DUP_MAX. Reported by Andrew Josey. * include/features.h: Document _POSIX_C_SOURCE == 200112L. * grp/grp.h: Define gid_t if __USE_XOPEN2K is defined. * pwd/pwd.h: Define uid_t and gid_t if __USE_XOPEN2K is defined. * io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t, off_t, time_t, and uid_t if __USE_XOPEN2K is defined. * signal/signal.h: Define pid_t if __USE_XOPEN2K is defined. * posix/unistd.h: Define gid_t, off_t, pid_t, uid_t, and useconds_t if __USE_XOPEN2K is defined. * io/utime.h: Define time_t if __USE_XOPEN2K is defined. * libio/stdio.h: Declare fseeko and ftello if __USE_XOPEN2K is defined. 2004-07-19 Thorsten Kukuk * nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't allocate memory for large temporary variables with alloca. 2004-07-22 Ulrich Drepper * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Compatibility code must have version GLIBC_2.0. Patch by Dwayne McConnell. * nscd/nscd_getgr_r.c (nscd_getgr_r): Avoid read call with NULL pointer and zero length. 2004-07-21 Ulrich Drepper * nscd/cache.c (prune_cache): Print correct list when debugging. 2004-07-21 Jakub Jelinek * resolv/res_libc.c (res_init): If RES_INIT is set and _res.nscount > 0, call __res_nclose and free nsaddrs. * resolv/Makefile: Add rules to build and run tst-leaks2. * resolv/tst-leaks2.c: New test. 2004-07-21 Ulrich Drepper * intl/libintl.h: Don't define macros for C++. Patch by Goto Masanori. 2004-07-22 GOTO Masanori [BZ #276] * include/arpa/inet.h: Change inet_aton type from in_addr_t to int. * inet/arpa/inet.h: Likewise. * resolv/inet_addr.c: Likewise. 2004-07-21 Alexandre Oliva * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Add semtimedop. 2004-07-20 Roland McGrath * configure.in (add_ons): Substitute this. Move $add_ons handling after AC_CANONICAL_HOST and default setting of $machine et al. Don't set $subdirs from $add_ons. Instead, source add-on/configure fragments early on. (base_machine): If it's already set, don't set it based on $machine. (libc_config_ok): New variable, set to no. If an add-on fragment sets it to yes, skip the tuple sanity check as if --enable-hacker-mode. (sysnames): Try appending add-on names after machine as well. * config.make.in (add-ons): Set from @add_ons@ instead of @subdirs@. * Makeconfig ($(common-objpfx)config.status): Also depend on configure files in $(add_ons) dirs. * sysdeps/unix/sysv/linux/bits/in.h (struct ip_mreq): Remove definition, now in netinet/in.h proper. 2004-07-20 Alexandre Oliva * sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h): Sort by syscalls. Make sure we get headers such as sgidefs.h from the build tree before just-installed ones. * sysdeps/mips/atomicity.h: Use standard names for ABI macros, include sgidefs.h where appropriate. * sysdeps/mips/dl-machine.h: Likewise. * sysdeps/mips/machine-gmon.h: Likewise. * sysdeps/mips/bits/setjmp.h: Likewise. * sysdeps/mips/fpu/bits/mathdef.h: Likewise. * sysdeps/mips/mips64/__longjmp.c: Likewise. * sysdeps/mips/mips64/setjmp_aux.c: Likewise. * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise. * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise. * sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h): Likewise. * sysdeps/unix/sysv/linux/mips/configure.in (asm-unistd.h): Likewise. * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Update to use _dl_lookup_symbol_x. (elf_machine_runtime_link_map): Don't INTUSE _dl_signal_error. 2004-07-20 Ulrich Drepper * inet/netinet/in.h: Define struct ip_mreq and struct ip_mreq_source. Define struct group_req and struct group_source_req. * sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE, IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP, IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP, MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP, MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and MCAST_MSFILTER. Define MCAST_INCLUDE and MCAST_EXCLUDE. * iconvdata/gconv-modules: Add alias for IBM874 [BZ #244]. 2004-07-19 Jakub Jelinek [BZ #258] * math/libm-test.inc (max_value, min_value): New variables. (initialize): Initialize them. (pow_test): Add a couple of new tests. * sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Don't generate invalid exception if |y| >= 1U<<31. * sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Don't generate invalid exception if |y| >= 1L<<63. * sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise. If y*log2(x) overflows to +-inf, return still +inf/+0 instead of NaN. * sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise. 2004-07-18 Ulrich Drepper * nscd/pwdcache.c (cache_addpw): Optimize case of unsuccessful lookup a bit. * nscd/grpcache.c (cache_addgr): Likewise. * nscd/hstcache.c (cache_addhst): Likewise. 2004-07-10 GOTO Masanori * sysdeps/s390/s390-32/elf/start.S: Remove symbol _fp_hw. * sysdeps/s390/s390-64/elf/start.S: Likewise. 2004-04-16 Andreas Schwab * sysdeps/ia64/bits/atomic.h: Cast first argument of __sync_bool_compare_and_swap_si correct to void*. 2004-07-17 Ulrich Drepper * iconv/iconv_prog.c (print_known_names): Make machine-readable output even less cluttered. 2004-07-16 Steven Munroe [BZ #269] * setjmp/Makefile (tests): Add bug269-setjmp. * setjmp/bug269-setjmp.c: New file. * sysdeps/powerpc/powerpc64/__longjmp-common.S [SHARED && !IS_IN_rtld]: Store R2 from jmpbuf in callers TOC save area. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [SHARED && !IS_IN_rtld]: Store R2 in TOC save area. * sysdeps/powerpc/powerpc64/setjmp-common.S [SHARED && !IS_IN_rtld]: Copy TOC save area from previous frame as R2 (TOC) in jmpbuf. 2004-07-16 Jakub Jelinek * locale/newlocale.c: Include bits/libc-lock.h. (__libc_setlocale_lock): Extern decl. (__newlocale): Use it. Reported by Ulrich Weigand . 2004-07-15 Jakub Jelinek * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Remove static inline __attribute ((always_inline)). Don't define if NO_CANCELLATION. (__libc_fcntl): Use INLINE_SYSCALL directly instead of __fcntl_nocancel. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c (__fcntl_nocancel): Remove static inline __attribute ((always_inline)). Don't define if NO_CANCELLATION. (__libc_fcntl): Use INLINE_SYSCALL directly instead of __fcntl_nocancel. * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Define to __libc_fcntl if NO_CANCELLATION and __ASSUME_FCNTL64 == 0. Don't define at all if NO_CANCELLATION and __ASSUME_FCNTL64 > 0. (__libc_fcntl): Don't define if __fcntl_nocancel is a macro. [BZ #262] * sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF for main. * elf/Makefile: Add rules to build and run tst-pie1. * elf/tst-pie1.c: New test. * elf/tst-piemod1.c: New file. 2004-07-14 Jakub Jelinek [BZ #266] * manual/string.texi (l64a): Note that the static buffer is 7 bytes long. Rewrite example code so that it takes into account l64a output shorter than 6 characters. Reported by Julian Graham . 2004-07-14 Kaz Kojima * sysdeps/sh/dl-machine.h: Don't reset _dl_starting_up here. (elf_machine_rela_relative): Remove unused valiable. 2004-07-12 Paul Eggert [BZ #263] * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Don't store outside the buffer if the read returns 0. __strtod_l can't set endp to NULL, so remove a test for that case. 2004-07-12 Roland McGrath * manual/signal.texi (Interrupted Primitives): Make clear that TEMP_FAILURE_RETRY evaluates its expression as long int and compares it to -1 to define "failure". 2004-07-10 Ulrich Drepper * elf/ldconfig.c: Define PROCINFO_CLASS as static before including ldsodefs.h. * sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not already defined. * sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not already defined. * elf/rtld.c (print_statistics): Mark with noinline attribute. * sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline attribute. (elf_machine_rel_relative): Likewise. * include/string.h: Add libc_hidden_proto for __strtok_r and __strsep_g. * sysdeps/generic/strsep.c: Add libc_hidden_def. * sysdeps/generic/strtok_r.c: Likewise. * sysdeps/i386/strtok_r.S: Add alias for internal symbol. * sysdeps/i386/i686/strtok_r.S: Likewise. * sysdeps/x86_64/strtok_r.S: Likewise. 2004-07-09 Alexandre Oliva * inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden instead of internal-linkage, such that we can alias to it. (internal_endnetgrent, internal_getnetgrent_r): Likewise. 2004-07-09 Ulrich Drepper * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Move attribute to the front for gcc 3.5+. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise. * include/fcntl.h: Don't declare __fcntl_nocancel here if NO_CANCELLATION is defined. 2004-07-07 Jakub Jelinek * elf/dl-fini.c (_dl_fini): Add nloaded variable, load GL(dl_nloaded) into it while still in critical section. 2004-07-06 Thorsten Kukuk * nss/getent.c (print_group, print_passwd): Use %lu format for `unsigned long int' values. * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Fix syntax error typos in goto statements. 2004-07-07 Roland McGrath * Makefile (dist-separate): New variable. (glibc-%.tar rule): Make separate tar files for add-ons listed there. Depend on their configure files. (dist-do-separate-dirs): New canned sequence to do that. (dist-separate-libidn, dist-separate-linuxthreads): New variables. (dist): Depend on add-on tar files based on $(dist-separate). (dist-version): New variable, default to $(version). (tag-for-dist, dist): Use that in place of $(version) in deps. 2004-07-07 Ulrich Drepper * elf/dl-fini.c (_dl_fini): Move the unlock of the ld.so lock before the loop running the destructors. 2004-05-18 Andreas Schwab * elf/dl-load.c (_dl_map_object_from_fd): Use the end address of the first segment for mprotect, not l_text_end. 2004-07-05 Ulrich Drepper * elf/dl-profile.c (_dl_start_profile): Compact error handling. Remove hashfraction variable. Make kcount and kcountsize local variables. * elf/dl-init.c: Don't define and use _dl_starting_up if HAVE_INLINED_SYSCALLS is defined and the variable is not used. * elf/dl-support.c: Likewise. * elf/rtld.c: Likewise. * elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly if HAVE_INLINED_SYSCALLS is defined. * sysdeps/powerpc/powerpc64/dl-machine.h: Don't reset _dl_starting_up here. * sysdeps/powerpc/powerpc32/dl-start.S: Likewise. * sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS. * config.h.in: Add entry for HAVE_INLINED_SYSCALLS. * sysdeps/posix/profil.c: If compiled for ld.so, omit code which is needed to stop profiling. * elf/dl-open.c (dl_open_worker): If a newly opened object is to be profile make sure it cannot be unloaded. * sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall. * sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation support, make sure the helper function is inlined. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise. 2004-07-05 Jakub Jelinek * include/string.h (ffs): Add libc_hidden_builtin_proto. * sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def. * sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise. * sysdeps/alpha/ffs.S (ffs): Likewise. * sysdeps/s390/ffs.c (ffs): Likewise. * sysdeps/powerpc/ffs.c (ffs): Likewise. * sysdeps/i386/ffs.c (ffs): Likewise. * sysdeps/i386/i686/ffs.c (ffs): Likewise. * sysdeps/m68k/ffs.c (ffs): Likewise. * sysdeps/generic/ffs.c (ffs): Likewise. * sysdeps/m88k/ffs.c (ffs): Likewise. * sysdeps/am29k/ffs.c (ffs): Likewise. * sysdeps/i960/ffs.c (ffs): Likewise. * sysdeps/x86_64/ffs.c (ffs): Likewise. * Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0. * sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp, __libc_siglongjmp): Remove symbol_version. * sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp): Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4. * sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias unconditionally. * sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove. * sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use strong_alias instead of default_symbol_version, remove symbol_version. * sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise. * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change into strong_alias to __novmxsetjmp. (__vmx__setjmp): Similarly with __vmxsetjmp. (__setjmp): Make it strong_alias to __vmx__setjmp, remove default_symbol_version and symbol_version. * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change into strong_alias to __novmxsetjmp. (__vmx__setjmp): Similarly with __vmxsetjmp. (__setjmp): Make it strong_alias to __vmx__setjmp, remove default_symbol_version and symbol_version. * nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h. 2004-07-05 Ulrich Drepper * elf/rtld.c (dl_main): Mark dyn_temp with attribute_relro. 2004-07-04 Matthew Reppert * sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Use libc_hidden_ver instead of libc_hidden_def. 2004-07-01 Roland McGrath * aclocal.m4: Add provide for AC_CONFIG_AUX_DIR_DEFAULT. * Makeconfig ($(common-objpfx)shlib-versions.v.i): Move top-level $(..)shlib-versions file to last in deps list. This lets add-ons give more-specific matches that override defaults in the top-level file. * sysdeps/unix/sysv/linux/configure.in: If arch_minimum_kernel was already set, don't set it or libc_cv_gcc_unwind_find_fde. * sysdeps/unix/sysv/linux/configure: Regenerated. 2004-07-01 Martin Schwidefsky * sysdeps/s390/fpu/bits/mathinline.h [__LIBC_INTERNAL_MATH_INLINES] (__ieee754_sqrt): Define as __MATH_INLINE using sqdbr instruction. (__ieee754_sqrtf): Define as __MATH_INLINE using sqebr instruction. * sysdeps/s390/fpu/e_sqrt.c: New file. * sysdeps/s390/fpu/e_sqrtf.c: New file. * sysdeps/s390/Implies: New file. * sysdeps/s390/s390-32/Implies: Remove ieee754, move ieee754/dbl-64 and ieee754/flt-32 to s390/Implies. * sysdeps/s390/s390-64/Implies: Likewise. 2004-06-30 Jakub Jelinek * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Include tls.h. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (thread_start): DO_CALL (exit, 1) instead of branching to _exit. * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (thread_start): Likewise. * sysdeps/s390/fpu/bits/mathinline.h: New file. * include/glob.h (glob64): Add libc_hidden_proto. * sysdeps/generic/glob64.c (glob64): Add libc_hidden_def. * sysdeps/gnu/glob64.c (glob64): Likewise. * sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Likewise. 2004-06-11 Jakub Jelinek * sysdeps/i386/fpu/libm-test-ulps: Update for GCC 3.4. * sysdeps/s390/fpu/libm-test-ulps: Likewise. 2004-06-11 Dwayne Grant McConnell * sysdeps/powerpc/fpu/s_lround.c: Removed. * sysdeps/powerpc/fpu/s_lroundf.c: Removed. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_floor.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: Removed. * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lround.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_rint.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_round.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: New file. 2004-06-30 Ulrich Drepper * include/net/if.h: Handle if_nameindex and if_freenameindex with libc_proto_hidden. * sysdeps/unix/sysv/linux/netlinkaccess.h: New file. * sysdeps/unix/sysv/linux/ifaddrs.c: Export netlink handling functions. * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Implement using netlink if possible. Fall back on ioctl method if necessary. * sysdeps/unix/sysv/linux/Dist: Add netlinkaccess.h. * include/unistd.h: Declare __truncate. * sysdeps/generic/truncate.c: Also define __truncate. * sysdeps/mach/hurd/truncate.c: Likewise. * sysdeps/unix/common/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/truncate64.c: Use __truncate, not truncate. 2004-06-29 Ulrich Drepper * stdio-common/printf-parsemb.c (__parse_one_specmb): Initialize info.extra. Patch by Marcus Meissner. 2004-06-29 Kaz Kojima * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER): Fix branch offset for a PLT entry. 2004-06-20 Jim Meyering * malloc/obstack.h (obstack_base): Cast to `void *', to align with documentation. 2004-06-28 Ulrich Drepper * inet/bug-if1.c (do_test): Simply use 0 as invalid index. Workaround for [BZ #232]. * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Use extend_alloca. 2004-06-28 GOTO Masanori * iconv/gconv_simple.c: Use get16/put16 for user given buffer in ucs2/ucs2reverse when unaligned memory access is attempted. * iconv/tst-iconv5.c: New file. * iconv/Makefile (tests): Add tst-iconv5. 2004-06-28 Jakub Jelinek * inet/bug-if1.c: Include . 2004-06-19 Roland McGrath * sysdeps/posix/waitid.c (do_waitid) [DO_WAITID]: Define function under this macro name instead. [NO_DO_WAITID]: Don't define it at all. (do_waitid) [WNOWAIT, WEXITED]: If these POSIX.1 waitid flag bits are defined, then return ENOTSUP for combinations of selection bits other than WEXITED and WEXITED|WSTOPPED, which this version cannot support. * posix/tst-waitid.c: New file. * posix/Makefile (tests): Add it. 2004-06-28 Jakub Jelinek * sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo. [BZ #231] * sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp relocation in librt.so. [BZ #230] * sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load _dl_skip_args. Patch by Jakub Bogusz . 2004-06-27 Ulrich Drepper * elf/ldconfig.c (add_dir): Take chroot into account. Based on changes by HJ Lu and Hideki Iwamoto. * nscd/connections.c (invalidate_cache): If the host cache has to be invalidated, re-read resolv.conf. * resolv/resolv.h (RES_NOIP6DOTINT): Define. * resolv/res_init.c (res_setoptions): Handle no-ip6-dotint option. * resolv/gethnamaddr.c (gethostbyaddr): Don't lookup with .ip6.int if RES_NOIP6DOTINT flag is set. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. 2004-06-25 Jakub Jelinek * sysdeps/unix/sysv/linux/powerpc/fcntl.c: Move to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c: ... here. * sysdeps/unix/sysv/linux/powerpc/lockf64.c: Move to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c: ... here. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: New file. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_GETLK, F_SETLK, F_SETLKW): Fix values for -m32 -D_FILE_OFFSET_BITS=64. 2004-06-21 Jakub Jelinek [BZ #231] * sysdeps/unix/alpha/Makefile: New file. * sysdeps/unix/alpha/rt-sysdep.S: New file. Reported by Jakub Bogusz . 2004-06-18 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): For AI_CANONNAME, determine the canonical name only for the first returned entry. * inet/bug-if1.c: New file. * inet/Makefile (tests): Add bug-if1. 2004-06-18 Roland McGrath * Makerules (compile-mkdep-flags): Add -MT $@. * Makefile (dist, tag-for-dist): New targets. (files-for-dist, tag-of-stem): New variables. (glibc-%.tar glibc-linuxthreads-%.tar): New pattern rule. Make tar files using cvs export. (%.bz2, %.gz, tag-%): New pattern rules. (distribute): Variable removed. (+subdir_targets): Remove distinfo targets. (echo_subdirs, echo-distinfo, parent_echo-distinfo): Targets removed. (rpm/%): Pattern rule removed. * rpm/Makefile, rpm/rpmrc, rpm/template: Ancient cruft files removed. * Rules (subdir_echo-headers, subdir_echo-distinfo, subdir_dist): Targets removed. * Makerules (dist, subdir_distinfo): Targets removed. ($(objpfx)distinfo): Depend on $(distribute). * Make-dist: File removed. * NEWS: Fix a typo. Update bug-reporting instructions. 2004-06-17 Thorsten Kukuk * sysdeps/unix/sysv/linux/sched_setaffinity.c (__sched_setaffinity_new): Set errno to EINVAL and return -1 if cpuset is wrongly set. 2004-06-15 Steven Munroe * sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling for POWER4 machines. 2004-06-14 Jakub Jelinek [BZ #218] * sunrpc/pmap_prot2.c (xdr_pmaplist): When freeing, remember pml_next in a local variable, point rp to that local variable afterwards. 2004-06-11 Jakub Jelinek * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Handle special cases properly. 2004-06-17 Ulrich Drepper * sysdeps/unix/sysv/linux/if_index.c (if_indextoname): Correct error value for unknown interface. [BZ #198] 2004-06-13 Jakub Jelinek * sysdeps/i386/bits/string.h (memcpy): Add () around arguments. (memchr, __memrchr, strlen, strcmp, strncmp, __strchr_g, __strchr_c, __strchrnul_g, __strchrnul_c, strspn, strcspn, strpbrk): Add memory the asm uses as its input, either of size __n where __n is known or 0xfffffff. (strstr): Add "memory" clobber. 2004-06-14 Jakub Jelinek [BZ #219] * nss/nsswitch.c (free_mem): Don't try to close a library handle if the handle is invalid. Patch by David Kimdon . 2004-06-11 Dmitry V. Levin [BZ #217] * debug/xtrace.sh: Fix typo in error diagnostics. 2004-06-14 Andreas Schwab * stdio-common/psignal.c (psignal): Don't use BUF when asprintf failed. 2004-06-15 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Fix pasto that clobbers r19. Fix pasto that overflowed sigcontext.v_reserve. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Fix pasto that clobbers r19. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Fix pasto that clobbers r19. Fix pasto that overflowed sigcontext.v_reserve. * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Fix setting of sigcontext.v_regs. Fix pasto that clobbers r19. Fix pasto that overflowed sigcontext.v_reserve. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Fix pasto that clobbers r19. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Fix setting of sigcontext.v_regs. Fix pasto that clobbers r19. Fix pasto that overflowed sigcontext.v_reserve. 2004-05-04 H.J. Lu [BZ #150] * sysdeps/generic/strtol_l.c (DEF): Use ".gnu.linkonce.r." instead of ".gnu.linkonce.ro." as the prefix for linkonce read-only section name. 2004-06-14 Richard Henderson * sysdeps/alpha/div_libc.h (_ITOFS): Use "sp" not "$sp". (_ITOFT, _FTOIT, _ITOFT2): Likewise. 2004-06-08 Jakub Jelinek * sysdeps/s390/s390-32/backtrace.c (init): Guard with #ifdef SHARED. (unwind_backtrace, unwind_getip): Define #ifndef SHARED. (__backtrace): Don't call init #ifndef SHARED. * sysdeps/s390/s390-64/backtrace.c (init): Guard with #ifdef SHARED. (unwind_backtrace, unwind_getip): Define #ifndef SHARED. (__backtrace): Don't call init #ifndef SHARED. * sysdeps/ia64/backtrace.c (init): Guard with #ifdef SHARED. (unwind_backtrace, unwind_getip): Define #ifndef SHARED. (__backtrace): Don't call init #ifndef SHARED. 2004-06-11 Roland McGrath * sysdeps/arm/strlen.S [__ARMEB__]: Compute correctly for big-endian. From Krzysztof Halasa . 2004-06-10 Jakub Jelinek * elf/tls-macros.h [__s390x__] (TLS_LD, TLS_GD): Clobber also r14. 2004-06-08 Jakub Jelinek [BZ #199] * crypt/md5-crypt.c (__md5_crypt): Only update buflen if realloc succeeds. Reported by Miles Ohlrich . * elf/chroot_canon.c (chroot_canon): Avoid segfault if first malloc fails. Avoid memory leak if realloc fails. 2004-06-09 Jakub Jelinek * sysdeps/generic/setenv.c (setenv): Return -1/EINVAL if name is NULL, "" or contains '=' character in it. Reported by Michael T Kerrisk . * stdlib/tst-environ.c: Include errno.h. (main): Add tests for these arguments to setenv/unsetenv. 2004-06-07 Roland McGrath * NEWS: Update bug reporting instructions. Fix some typos. 2004-06-05 Ulrich Drepper * stdio-common/_itoa.h: Don't expand _itoa inline for libc. * stdio-common/_itoa.c: Add _itoa implementation. * nscd/nscd_gethst_r.c (__nscd_open_socket): Change implementation to also send request. Add parameter to allow this. Change callers. * nscd/nscd_getgr_r.c: Change __nscd_open_socket caller. * nscd/nscd_getpw_r.c: Likewise. * nscd/nscd-client.h: Change __nscd_open_socket prototype. 2004-06-05 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext): Handle more than 6 args correctly. Based on a patch by Masahide Washizawa . 2004-06-04 Ulrich Drepper * nscd/nscd_gethst_r.c (nscd_gethst_r): Use __nss_not_use_nscd_hosts in all places, not __nss_not_use_nscd_group. Reported by Philippe Gregoire. 2004-06-03 Ulrich Drepper * sysdeps/i386/i486/bits/atomic.h: Optimize a bit. 2004-05-07 Dmitry V. Levin * argp/argp-help.c (__argp_error, __argp_failure): Check result of __asprintf call and don't use string if it failed. * stdio-common/psignal.c (psignal): Likewise. * locale/programs/localedef.c (more_help): Likewise. * resolv/res_hconf.c (arg_service_list, arg_trimdomain_list, arg_bool, parse_line): Check result of __asprintf calls and don't use string if they failed. * sunrpc/svc_simple.c (registerrpc, universal): Likewise. * elf/ldconfig.c (parse_conf_include): Check result of __asprintf call and exit if it failed. 2004-05-10 Jakub Jelinek * sysdeps/posix/sysconf.c (__sysconf) : Return _POSIX_* value instead of 1. * sysdeps/unix/sysv/linux/sysconf.c (__sysconf) : Return _POSIX_VERSION instead of 1. 2004-05-07 Jeroen Dekkers * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Add -momit-leaf-frame-pointer. * inet/test-ifaddrs.c (addr_string): Surround AF_PACKET case with #ifdef AF_PACKET. * sysdeps/mach/hurd/getcwd.c (_hurd_canonicalize_directory_name_intern): Only realloc when size is <= 0. * sysdeps/mach/hurd/mmap.c (__mmap): Fail when addr or offset isn't page aligned. * sysdeps/mach/hurd/spawni.c (EXPAND_DTABLE): Set dtablesize to new size. * sysdeps/mach/hurd/Versions (GLIBC_PRIVATE): Add __libc_read, __libc_write and __libc_lseek64. 2004-05-29 Roland McGrath * elf/Makefile (shared-only-routines): Add dl-caller. 2004-05-28 Ulrich Drepper * sysdeps/powerpc/configure.in: New file. 2004-05-28 Steven Munroe * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Add .machine "altivec" to enable VMX instructions. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. 2004-05-27 Jakub Jelinek * sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Define using __builtin_expm1l for GCC 3.5+. (__expl): Define using __builtin_expl for GCC 3.4+. (exp, expf, expl): Don't define for GCC 3.4+. (tan, tanf, tanl): Don't define for GCC 3.5+. (__atan2l): Define using __builtin_atan2l for GCC 3.4+. (atan2, atan2f, atan2l): Don't define for GCC 3.4+ or !__FAST_MATH__. (fmod, fmodf, fmodl): Don't define for GCC 3.5+ or !__FAST_MATH__. (fabsf, fabsl): Only provide if __USE_MISC or __USE_ISOC99. (sin, sinf, sinl, cos, cosf, cosl, log, logf, logl): Don't define for GCC 3.4+. (log10, log10f, log10l, asin, asinf, asinl, acos, acosf, acosl): Don't define for GCC 3.5+. (atan, atanf, atanl): Don't define for GCC 3.4+ or !__FAST_MATH__. (log1p, log1pf, log1pl, logb, logbf, logbl, log2, log2f, log2l): Don't define for GCC 3.5+. (drem, dremf, dreml): Don't define for GCC 3.5+ or !__FAST_MATH__. * sysdeps/sparc/fpu/bits/mathinline.h (sqrt, sqrtf, sqrtl): Don't define for GCC 3.2+. 2004-05-27 Jakub Jelinek * string/bits/string2.h (__bzero): Define even for GCC 3.0+. * sysdeps/alpha/stpcpy.S (stpcpy): Add libc_hidden_builtin_def. * sysdeps/alpha/alphaev67/stpcpy.S (stpcpy): Likewise. * sysdeps/powerpc/powerpc32/stpcpy.S (stpcpy): Likewise. * sysdeps/powerpc/powerpc64/stpcpy.S (stpcpy): Likewise. * sysdeps/sparc/sparc32/stpcpy.S (stpcpy): Likewise. * sysdeps/sparc/sparc64/stpcpy.S (stpcpy): Likewise. * sysdeps/i386/stpcpy.S (stpcpy): Likewise. * sysdeps/i386/i586/stpcpy.S (stpcpy): Likewise. * sysdeps/generic/stpcpy.c (stpcpy): Likewise. * sysdeps/x86_64/stpcpy.S (stpcpy): Likewise. * sysdeps/i386/i586/memcpy.S (memcpy): Remove libc_hidden_builtin_def if MEMPCPY_P. * sysdeps/x86_64/memcpy.S (memcpy): Likewise. * sysdeps/i386/i686/mempcpy.S (mempcpy): Add libc_hidden_builtin_def. * sysdeps/i386/i586/mempcpy.S (mempcpy): Likewise. * sysdeps/generic/mempcpy.c (mempcpy): Likewise. * sysdeps/x86_64/mempcpy.S (mempcpy): Likewise. 2004-05-26 Roland McGrath * sysdeps/generic/bits/in.h (IMPLINK_IP, IMPLINK_LOWEXPER, IMPLINK_HIGHEXPER): Macros removed. These are long obsolete in BSD systems where they originated. * conform/data/netinet/in.h-data: Remove `allow IMPLINK_*' 2004-05-26 Jakub Jelinek * include/string.h (mempcpy, stpcpy): Add libc_hidden_builtin_proto. * string/bits/string2.h (memset): Disable macro for GCC 3.0+. (__mempcpy): Use __builtin_mempcpy for GCC 3.4+. (strchr): For GCC 3.2+, only use __rawmemchr if second argument is constant '\0' and first argument is not constant. (__stpcpy): Use __builtin_stpcpy for GCC 3.4+. (strncpy): Remove #ifdef _USE_STRING_ARCH_mempcpy variant. For GCC 3.2+ use __builtin_strncpy. (strncat): For GCC 3.2+ use __builtin_strncat. (strcmp): For GCC 3.2+ use __builtin_strcmp if both arguments are constant. (strcspn, strspn, strpbrk): For GCC 3.2+, use builtin function if both arguments are constant. 2004-05-26 Ulrich Drepper * nss/nss_files/files-hosts.c: Fix condition for looking up IPv4 mapped addresses in gethostbyaddr. 2004-05-25 Ulrich Drepper * nss/digits_dots.c (__nss_hostname_digits_dots): Remove typep and flags parameter, convert afp to simple int parameter. Adjust code. typep was never != NULL and flags therefore also unused. *afp is never modified. * nss/nsswitch.h: Adjust __nss_hostname_digits_dots prototype. * nss/getXXbyYY.c: Remove HAVE_TYPE handling. Adjust af parameter handling for __nss_hostname_digits_dots calls. * nss/getXXbyYY_r.c: Likewise. * elf/dl-load.c (_dl_map_object_from_fd): Map DSOs with MAP_DENYWRITE. 2004-05-25 Steven Munroe * sysdeps/powerpc/fpu/Makefile: Make ld.so a dependency of libm.so. * sysdeps/powerpc/fpu/bits/mathinline.h [__LIBC_INERNAL_MATH_INLINES] (__ieee754_sqrt): Define as __MATH_INLINE using fsqrt instruction. (__ieee754_sqrtf): Define as __MATH_INLINE using fsqrts instruction. * sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Moved implementation from w_sqrt.c. * sysdeps/powerpc/fpu/e_sqrtf.c (__slow_ieee754_sqrtf): Moved implementation from w_sqrtf.c. * sysdeps/powerpc/fpu/w_sqrt.c (__sqrt): Wrapper implementation using inline __ieee754_sqrt(). * sysdeps/powerpc/fpu/w_sqrtf.c (__sqrtf): Wrapper implementation using inline __ieee754_sqrtf(). * sysdeps/powerpc/powerpc32/sysdep.h [__ASSEMBLER__]: Include independent of __ASSEMBLER__. * sysdeps/powerpc/sysdep.h [__ASSEMBLER__] (PPC_FEATURE_*): Define PPC_FEATURE_* independent of __ASSEMBLER__. 2004-05-25 Jakub Jelinek * sysdeps/pthread/aio_notify.c: Use <> instead of "" for aio_misc.h include. (aio_start_notify_thread): Define if not defined. (notify_func_wrapper): Use it. * sysdeps/pthread/aio_misc.c: Use <> instead of "" for aio_misc.h include. (aio_create_helper_thread): Define if not defined. (__aio_create_helper_thread): New function. (__aio_enqueue_request): Use aio_create_helper_thread. * nis/ypclnt.c (ypall_data, ypall_foreach): Remove. (struct ypresp_all_data): New type. (__xdr_ypresp_all): Change second argument to struct ypresp_all_data *. Replace ypall_foreach and ypall_data with objp->foreach and objp->data. (yp_all): Remove status variable, add data. Replace all uses of status with data.status. Initialize data.foreach and data.data instead of ypall_foreach and ypall_data. 2004-05-24 Jakub Jelinek * elf/dl-lookup.c (add_dependency): Set DF_1_NODELETE bit in l_flags_1, not in l_flags. 2004-04-10 Robert Millan * sysdeps/unix/sysv/linux/bits/in.h: Cosmetic fixes to get in sync with sysdeps/generic/bits/in.h. 2004-05-25 Roland McGrath * sysdeps/generic/unwind-dw2-fde-glibc.c: Change copyright terms from GCC GPL to standard glibc LGPL. 2004-05-24 Ulrich Drepper * manual/string.texi (Copying and Concatenation): Fixed second concat example. Reported by Fabian Pietsch . 2004-05-23 Ulrich Drepper * malloc/obstack.c: Don't allow linking with _obstack. 2004-05-23 Andreas Schwab * sysdeps/m68k/m68020/bits/atomic.h: Use "+m" constraint instead of separate "m" constraints. 2004-05-15 Chris Demetriou * sysdeps/mips/dl-machine.h (ELF_DL_FRAME_SIZE) (ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS): For the N32 and 64 ABIs, save and restore regs $10 and $11 (a6 and a7). 2004-05-20 Paul Eggert * malloc/obstack.c (_obstack) [!defined _LIBC]: Remove; not used. Add comment explaining why libc still defines it. 2004-05-19 Paul Eggert * malloc/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast, obstack_alignment_mask, obstack_alloc, obstack_base, obstack_blank, obstack_blank_fast, obstack_chunk_size, obstack_copy, obstack_copy0, obstack_finish, obstack_grow, obstack_grow0, obstack_init, obstack_int_grow, obstack_int_grow_fast, obstack_make_room, obstack_memory_used, obstack_next_free, obstack_object_size, obstack_ptr_grow, obstack_ptr_grow_fast, obstack_room): Remove declarations of nonexistent functions. 2004-05-18 Steven Munroe * sysdeps/powerpc/powerpc64/sysdep.h [__ASSEMBLER__]: Include independent of __ASSEMBLER__. [PIC]: Redundent for powerpc64, removed. (ENTRY): Generate size and alignment for opd entry. (EALIGN): Generate size and alignment for opd entry. (END): Use DOT_LABEL in ASM_SIZE_DIRECTIVE. (END_GEN_TB): Use DOT_LABEL in ASM_SIZE_DIRECTIVE. 2004-05-19 Ulrich Drepper * misc/regexp.h: Say the functions have been withdrawn. * wcsmbs/tst-wcpncpy.c: Add more tests. 2004-05-18 Roland McGrath * sysdeps/generic/unwind.h: Change copyright terms from GCC GPL to standard glibc LGPL. * sysdeps/generic/unwind-dw2.c: Likewise. * sysdeps/generic/unwind-dw2-fde.c: Likewise. * sysdeps/generic/unwind-dw2-fde.h: Likewise. * sysdeps/generic/unwind-pe.h: Likewise. 2004-05-15 Petter Reinholdtsen * locale/iso-3166.def: Remove YUGOSLAVIA and insert "SERBIA AND MONTENEGRO" which have taken over the code 819. Patch from Danilo Segan. [BZ #40] 2004-05-15 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (SYSCALL_ERROR_HANDLER): Rename __sparc.get_pic.l7 to __sparc_get_pic_l7. 2004-05-15 Joseph S. Myers * catgets/gencat.c: Update bug reporting instructions. * csu/version.c: Likewise. * debug/catchsegv.sh: Likewise. * debug/pcprofiledump.c: Likewise. * debug/xtrace.sh: Likewise. * elf/ldd.bash.in: Likewise. * iconv/iconv_prog.c: Likewise. * iconv/iconvconfig.c: Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * login/programs/pt_chown.c: Likewise. * malloc/memusage.sh: Likewise. * malloc/memusagestat.c: Likewise. * malloc/mtrace.pl: Likewise. * manual/crypt.texi: Likewise. * manual/install.texi: Likewise. * nss/makedb.c: Likewise. 2004-05-14 Jakub Jelinek * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Only CHECK_STATIC_TLS if sym != NULL. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise. 2004-05-12 Andreas Schwab * posix/regex_internal.c (build_wcs_buffer): Also set pstr->mbs when translating. 2004-05-13 H.J. Lu * Rules (xtests): Depend on tests. 2004-05-13 Jakub Jelinek * libio/genops.c (_IO_default_xsputn): Avoid one overflow per char if count is negative, yet write_ptr < write_end. (_IO_default_xsgetn): Avoid one underflow per char if count is negative, yet read_ptr < read_end. 2004-05-12 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (XTABS): Define XTABS equal to TAB3. 2004-05-12 Ulrich Drepper * elf/dl-lookup.c (_dl_lookup_symbol_x): Correct _dl_signal_cerror call. 2004-05-10 Roland McGrath * hurd/hurdlookup.c (__hurd_file_name_split): Return ENOENT for "". (__hurd_directory_name_split): Likewise. 2004-05-10 Ulrich Drepper * po/fr.po: Update from translation team. 2004-05-10 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext): Correctly compute alignment. Patch by Michael Matz . 2004-05-09 Ulrich Drepper * sysdeps/generic/sigpause.c: Prevent sigpause prototype. * sysdeps/posix/sigpause.c: Likewise. * signal/signal.h: Don't define sigpause macro unless needed. 2004-05-08 Jakub Jelinek * configure.in (libc_cv_libgcc_s_suffix): New check. (libc_cv_as_needed): Use -lgcc_s$libc_cv_libgcc_s_suffix. * config.make.in (libgcc_s_suffix): Set. * Makeconfig (libgcc_eh): Use -lgcc_s$(libgcc_s_suffix). 2004-05-08 Ulrich Drepper * signal/signal.h: Use BSD sigpause only if BSD behavior is preferred. 2004-04-29 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, LOADARGS_6): Load argument values into temporary variables. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, LOADARGS_6): Likewise. 2004-05-07 Ulrich Drepper * sysdeps/unix/sysv/linux/Makefile: mq_send.c and mq_receive.c need to be compiled with exceptions. 2004-05-06 Ulrich Drepper * sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Fix memory handling. * sysdeps/generic/ifreq.c (__ifreq): Fix memory handling. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Make clear that realloc cannot fail. * nss/nss_files/files-netgrp.c (EXPAND): Free buffer which cannot be expanded. * nis/nis_table.c: Clean up memory handling. * nis/nis_subr.c (nis_getnames): Clean up memory handling. * nis/nis_removemember.c (nis_removemember): Add comment explaining use of realloc. * math/tgmath.h (fabs): Use __TGMATH_UNARY_REAL_IMAG_RET_REAL. (carg): Likewise. Patch by Lev S Bishop . * math/bug-tgmath1.c (main): Test fabs and carg as well. 2004-05-06 Richard Henderson * elf/elf.h (AT_L1I_CACHESHAPE, AT_L1D_CACHESHAPE, AT_L2_CACHESHAPE, AT_L3_CACHESHAPE): New. * sysdeps/unix/sysv/linux/alpha/Versions: Export __libc_alpha_cache_shape as a private symbol. * sysdeps/unix/sysv/linux/alpha/dl-sysdep.c: New file. * sysdeps/unix/sysv/linux/alpha/sysconf.c: New file. 2004-05-06 Richard Henderson * sysdeps/alpha/div_libc.h (_ITOFS, _ITOFT, _FTOIT, _ITOFT2): New. * sysdeps/alpha/divl.S: Use them. * sysdeps/alpha/divq.S: Likewise. * sysdeps/alpha/divqu.S: Likewise. * sysdeps/alpha/reml.S: Likewise. * sysdeps/alpha/remq.S: Likewise. * sysdeps/alpha/remqu.S: Likewise. 2004-05-06 Ulrich Drepper * math/tgmath.h (__TGMATH_UNARY_REAL_IMAG_RET_REAL):Define. (cimag): Use it. (creal): Likewise. * math/Makefile (tests): Add bug-tgmath1. * math/bug-tgmath1.c: New file. 2004-05-05 Jakub Jelinek * sysdeps/alpha/atomicity.h: Remove. * sysdeps/generic/atomicity.h: Remove. 2004-05-05 H.J. Lu * sysdeps/i386/i486/bits/string.h (strpbrk): Cast return to char *. 2004-04-22 David Mosberger * sysdeps/unix/sysv/linux/ia64/Makefile (librt-routines): Mention rt-sysdep. * sysdeps/unix/sysv/linux/ia64/rt-sysdep.S: New file. * sysdeps/ia64/strcat.c: New file. * sysdeps/ia64/strcat.S: Delete. 2004-05-04 Jakub Jelinek * sysdeps/unix/sysv/linux/ia64/sysdep.S (USE___THREAD): Remove defined. 2004-04-23 Jakub Jelinek * sysdeps/ia64/fpu/libm_support.h (__libm_error_support): Add libc_hidden_proto. Define to __GI___libm_error_support for assembly going into libc.so. * sysdeps/ia64/fpu/libc_libm_error.c (__libm_error_support): Add libc_hidden_def. * include/libc-symbols.h (HIDDEN_BUILTIN_JUMPTARGET): Define. * sysdeps/ia64/bcopy.S (bcopy): Use it for jump to memmove. * sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Access gprel errno if RTLD_PRIVATE_ERRNO or __thread __libc_errno/errno if USE___THREAD. 2004-05-03 Jakub Jelinek * sysdeps/unix/bsd/bits/fcntl.h (F_SETOWN, F_GETOWN): Define if __USE_BSD or __USE_UNIX98. * sysdeps/unix/bsd/ultrix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/bsd/bsd4.4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/common/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/aix/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/irix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/generic/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/mach/hurd/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * io/sys/stat.h (S_ISSOCK, S_IFSOCK): Likewise. 2004-05-01 Jakub Jelinek * posix/Versions (libc): Remove __libc_wait, __libc_waitpid, __libc_pause, __libc_nanosleep, __libc_pread, __libc_pread64, __libc_pwrite64, __waitid and __pselect @@GLIBC_PRIVATE. * stdlib/Versions (libc): Remove __on_exit@@GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/Versions (libc): Remove __libc_sigaction@@GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/x86_64/Versions (libc): Remove __modify_ldt@@GLIBC_PRIVATE. * socket/Versions (libc): Remove __libc_accept, __libc_send, __libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto and __libc_connect @@GLIBC_PRIVATE. * stdio-common/Versions (libc): Remove _itoa_upper_digits@@GLIBC_PRIVATE. * resolv/Versions (libresolv): Remove __ns_samename@@GLIBC_PRIVATE. * misc/Versions (libc): Remove __libc_fsync, __libc_msync, __libc_readv and __libc_writev @@GLIBC_PRIVATE. * termios/Versions (libc): Remove __libc_tcdrain@@GLIBC_PRIVATE. * io/Versions (libc): Remove __libc_open, __libc_close, __libc_read, __libc_write, __libc_lseek, __libc_fcntl, __libc_open64 and __libc_lseek64 @@GLIBC_PRIVATE. 2004-04-30 Jakub Jelinek * elf/dl-load.c (open_verify): Move e_phentsize check after e_type check. 2004-04-29 Steven Munroe * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_floor.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: Removed. * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Removed. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llround.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_lround.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_rint.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_round.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: New file. * math/test-misc.c [LDBL_MANT_DIG == 106](main): Correct LDBL_MAX mantissa for AIX long double format. * misc/qefgcvt.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Define for AIX long double format. * misc/qefgcvt_r.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Likewise. * stdlib/fpioconst.c [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024] (_fpioconst_pow10): AIX long double format has same exponent range as double. * stdlib/fpioconst.h [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024] (LDBL_MAX_10_EXP_LOG): AIX long double format has same exponent range as double. 2004-04-23 Art Haas * sysdeps/unix/sysv/linux/kernel-features.h: Add 'defined'. 2004-04-28 Carlos O'Donell * sysdeps/unix/sysv/linux/mq_getattr.c: Include . * sysdeps/unix/sysv/linux/mq_notify.c: Likewise. * sysdeps/unix/sysv/linux/mq_open.c: Likewise. * sysdeps/unix/sysv/linux/mq_receive.c: Likewise. * sysdeps/unix/sysv/linux/mq_send.c: Likewise. 2004-04-29 Philip Blundell * sysdeps/arm/dl-machine.h (RTLD_START): Avoid unnecessary GOT entries. 2004-04-29 Jakub Jelinek * manual/resource.texi (sched_setaffinity, sched_getaffinity): Fix prototypes and description [BZ #131]. * string/bits/string2.h (strpbrk): Cast NULL to char * [BZ #130]. Patch by Ed Catmur . * string/tst-inlcall.c (main): Add test for strpbrk. [BZ #140] * sysdeps/unix/sysv/linux/sys/sysctl.h: Remove linux/compiler.h include. (_LINUX_KERNEL_H, _LINUX_TYPES_H, _LINUX_LIST_H): Only define if not yet defined, #undef back after including linux/sysctl.h if defined here. (__LINUX_COMPILER_H, __user): Define if not yet defined, #undef back after including linux/sysctl.h if defined here. * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31 for single precision register, add it to __asm clobbers [BZ #139]. * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31 for single precision register, add it to __asm clobbers. * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox instead of fqtoi in QP_HANDLE_EXCEPTIONS. * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise. Reported by M. H. VanLeeuwen . 2004-04-23 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/register-dump.h: Use __attribute_used__. 2004-04-22 Philip Blundell * sysdeps/arm/dl-machine.h (elf_machine_rela): Don't use INTUSE when calling _dl_signal_error. (elf_machine_rel): Likewise. 2004-04-21 Ulrich Drepper * sysdeps/unix/sysv/linux/ia64/setjmp.S: Define _GI___sigsetjmp and use it internally instead of __sigsetjmp. * sysdeps/ia64/fpu/s_frexpf.c (frexpf): Use _GI___libm_frexp_4f. * sysdeps/ia64/fpu/s_frexpl.c (frexpl): Use _GI___libm_frexp_4l. * sysdeps/ia64/fpu/libm_frexp4.S: Define _GI___libm_frexp_4. * sysdeps/ia64/fpu/libm_frexp4f.S: Define _GI___libm_frexp_4f. * sysdeps/ia64/fpu/libm_frexp4l.S: Define _GI___libm_frexp_4l. * sysdeps/ia64/fpu/s_frexp.c (frexp): Use _GI___libm_frexp_4. * sysdeps/ia64/fpu/libm_support.h: Declare _GI___libm_frexp_4, _GI___libm_frexp_4f, _GI___libm_frexp_4l. * sysdeps/ia64/fpu/bits/mathinline.h: New file. * sysdeps/unix/sysv/linux/ia64/__start_context.S: Use HIDDEN_JUMPTARGET for exit call. * sysdeps/unix/sysv/linux/ia64/clone2.S: Use HIDDEN_JUMPTARGET for _exit call. * sysdeps/ia64/bcopy.S: Use HIDDEN_JUMPTARGET for memmove call. * sysdeps/ia64/strcat.S: Use HIDDEN_JUMPTARGET for strlen and strcpy calls. 2004-04-21 Jakub Jelinek * posix/tst-chmod.c (do_test): Fix a typo. * elf/lateglobal.c (main): Fix error checks. Patch by Stephen Clarke . * manual/ctype.texi (isblank, iswblank): Mark as ISO functions, mention they have been added in ISO C99. Reported by Ben Pfaff . 2004-03-31 H.J. Lu * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: Fix typo. 2004-04-20 Jakub Jelinek * sysdeps/unix/sysv/linux/shm_open.c (shm_unlink): Change EPERM into EACCES. 2004-04-20 Jakub Jelinek * stdio-common/vfscanf.c (_IO_vfscanf): Revert last %% whitespace handling change. * stdio-common/tst-sscanf.c (int_tests): Adjust. * nis/nss-nis.c: Include stdlib.h. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Shut up a warning. * sysdeps/sparc/sparc64/memcmp.S (memcmp): Remove BP_SYM () from libc_hidden_builtin_def. 2004-04-20 Jim Meyering * misc/error.c (error_tail): Don't leak upon realloc failure. 2004-04-20 Martin Schwidefsky * sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable): Use RETURN_ADDRESS instead of __builtin_return_address. 2004-04-19 Ulrich Drepper * sysdeps/unix/sysv/linux/mq_unlink.c: Rewrite to produce more compact code. 2004-04-20 Jakub Jelinek * stdio-common/vfscanf.c (_IO_vfscanf): When skipping whitespace, do input_error () instead of conv_error () and don't look at errno. Don't eat any whitespace before %% if skip_space == 0. * stdio-common/tst-sscanf.c (int_tests): New array. (main): Run int_tests. See ChangeLog.14 for earlier changes.