From 0ecb606cb6cf65de1d9fc8a919bceb4be476c602 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 12 Jul 2007 18:26:36 +0000 Subject: 2.5-18.1 --- ChangeLog.15 | 5525 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 5525 insertions(+) create mode 100644 ChangeLog.15 (limited to 'ChangeLog.15') diff --git a/ChangeLog.15 b/ChangeLog.15 new file mode 100644 index 0000000000..300989ab4c --- /dev/null +++ b/ChangeLog.15 @@ -0,0 +1,5525 @@ +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 + + * posix/Makefile (generated: Add getconf.speclist. + ($(inst_libexecdir)/getconf): Use getconf.speclist instead of + getconf output. + ($(objpfx)getconf.speclist): New rule. + * posix/getconf.speclist.h: New file. + +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-11-02 Jakub Jelinek + + * include/features.h (__USE_FORTIFY_LEVEL): Also set for Red Hat + GCC 3.4.x-RH >= 3.4.2-8. + * libio/bits/features.h (printf, fprintf, vprintf, vfprintf): For + GCC 3.4.x-RH use __builtin___{,v}{,f}printf_chk instead of + __{,v}{,f}printf_chk. + * debug/tst-chk1.c (do_test): Deal with GCC 3.4.x-RH not + being able to recognize subobjects. + +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 Jakub Jelinek + + * sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): If /proc + is not mounted, return 1. + +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-19 Jakub Jelinek + + * include/features.h (__USE_FORTIFY_LEVEL): Enable even with + Red Hat gcc4 4.0.0 and above. + +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-31 Jakub Jelinek + + * elf/ldconfig.c (parse_conf): Add prefix argument, prepend it + before arguments to add_dir and pass to parse_conf_include. + (parse_conf_include): Add prefix argument, pass it down to + parse_conf. + (main): Call arch_startup. Adjust parse_conf caller. + Call add_arch_dirs. + * sysdeps/generic/dl-cache.h (arch_startup, add_arch_dirs): Define. + * sysdeps/unix/sysv/linux/i386/dl-cache.h: New file. + * sysdeps/unix/sysv/linux/ia64/dl-cache.h (EMUL_HACK, arch_startup, + add_arch_dirs): Define. + * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Prepend + /emul/ia32-linux before the 32-bit ld.so pathname. + * sysdeps/unix/sysv/linux/ia64/dl-procinfo.c: New file. + * sysdeps/unix/sysv/linux/ia64/dl-procinfo.h: New file. + +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. -- cgit v1.2.3-65-gdbad