2002-12-31 Ulrich Drepper * libio/libioP.h: Add libc_hidden_proto for _IO_iter_begin, _IO_iter_end, _IO_iter_next, and _IO_iter_file. * libio/genops.c: Add libc_hidden_def for _IO_iter_begin, _IO_iter_end, _IO_iter_next, and _IO_iter_file. * include/setjmp.h: Add libc_hidden_proto for __libc_longjmp. * sysdeps/generic/longjmp.c: Add libc_hidden_def for __longjmp. * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add __GI___longjmp alias. * include/setjmp.h: Add libc_hidden_proto for _setjmp. * sysdeps/alpha/setjmp.S: Add __GI__setjmp alias. * sysdeps/arm/bsd-_setjmp.S: Likewise. * sysdeps/generic/bsd-_setjmp.c: Likewise. * sysdeps/hppa/bsd-_setjmp.S: Likewise. * sysdeps/i386/bsd-_setjmp.S: Likewise. * sysdeps/m68k/bsd-_setjmp.c: Likewise. * sysdeps/mips/bsd-_setjmp.S: Likewise. * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp.S: Likewise. * sysdeps/s390/s390-32/bsd-_setjmp.S: Likewise. * sysdeps/s390/s390-32/elf/setjmp.S: Likewise. * sysdeps/s390/s390-64/bsd-_setjmp.S: Likewise. * sysdeps/s390/s390-64/elf/setjmp.S: Likewise. * sysdeps/sh/bsd-_setjmp.S: Likewise. * sysdeps/sparc/sparc32/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise. * sysdeps/vax/bsd-_setjmp.S: Likewise. * sysdeps/x86_64/bsd-_setjmp.S: Likewise. 2002-12-30 Ulrich Drepper * malloc/thread-m.h (thread_atfork): Define using __register_atfork. 2002-12-30 Roland McGrath * Rules (generated): Target removed. * mach/Makefile (generated): Define it here instead. * math/Makefile (generated): Add m_*l and m_*f variants too. 2002-12-30 Ulrich Drepper * elf/dl-close.c (_dl_close): Handle relocation dependencies among the to-be-deleted objects right away instead of later separately. The latter fails because the scope data structures of the DSO might already be gone. * elf/Makefile: Add rules to build and run reldep8 test. * elf/reldep8.c: New file. * elf/reldep8mod1.c: New file. * elf/reldep8mod2.c: New file. * elf/reldep8mod3.c: New file. Contributed by Jakub Jelinek. 2002-12-24 GOTO Masanori * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition checking of return value ENOSYS from getdents64. 2002-12-28 Andreas Schwab * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-cancel.d. ($(common-objpfx)s-%.d): Generalized from $(common-objpfx)s-proto.d rule. (common-generated): Add s-proto-cancel.d. * sysdeps/unix/make-syscalls.sh: Use s-proto-cancel.d for cancellable syscalls. * sysdeps/unix/s-proto-cancel.S: New file. 2002-12-29 Roland McGrath * resolv/res_libc.c: Move _res defn magic after res_init defn so _res macro is in effect for that code. * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sed pattern for prepending $(..) so it doesn't affect $(foo). * math/Makefile (generated): Add $(addsuffix .c .S,$(calls:s_%=m_%)). 2002-12-29 Jakub Jelinek * elf/cache.c (add_to_cache): Don't loop forever with 1ULL << 63 set in hwcap. 2002-12-28 Ulrich Drepper * misc/sys/cdefs.h (__attribute_deprecated__): New #define. 2002-12-28 Andreas Jaeger * sysdeps/generic/readelflib.c (process_elf_file): Cast value to avoid warning. * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise. 2002-12-27 Jakub Jelinek * inet/herrno.c (__h_errno_location): Remove. * inet/Makefile (routines): Add herrno-loc. * resolv/res_libc.c (__res_state): Remove. * resolv/Makefile (routines): Add res-state. * sysdeps/generic/herrno-loc.c: New file. * sysdeps/generic/res-state.c: New file. 2002-12-27 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER): Only define if USE_DL_SYSINFO is defined. 2002-12-22 Jakub Jelinek * sysdeps/unix/sysv/linux/ia64/sysdep.h (INLINE_SYSCALL, INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERROR): Define. Patch by Richard Henderson and Jes Sorensen. (PSEUDO): Remove unnecessary ;;. * elf/rtld.c (dl_main): Initialize TLS even if no PT_TLS segments are found unless TLS_INIT_TP_EXPENSIVE. Use NONTLS_INIT_TP. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Use NONTLS_INIT_TP if not initializing thread pointer. [!USE_TLS && NONTLS_INIT_TP] (__pthread_initialize_minimal): New. * sysdeps/generic/libc-start.c (__pthread_initialize_minimal): Don't make it weak also if NONTLS_INIT_TP. * sysdeps/unix/common/pause.c: Handle cancellation. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h [DONT_LOAD_G1] (LOADSYSCALL): Remove. (SYSCALL_ERROR_HANDLER_ENTRY): Define. (SYSCALL_ERROR_HANDLER): Use it. (PSEUDO): Don't jump around error handler. * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__libc_pipe): Don't jump around error handler. * sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S (syscall): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Branch to __syscall_error_handler on failure. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [DONT_LOAD_G1] (LOADSYSCALL): Remove. (SYSCALL_ERROR_HANDLER_ENTRY): Define. (SYSCALL_ERROR_HANDLER): Use it. (PSEUDO): Don't jump around error handler. * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__libc_pipe): Don't jump around error handler. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S (syscall): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S (__socket): Branch to __syscall_error_handler on failure. 2002-12-27 Roland McGrath * scripts/gen-as-const.awk: New file. * Makefile (distribute): Add it. * Makerules ($(common-objpfx)%.h %.h.d: %.sym): New pattern rule. (before-compile): Add $(gen-as-const-headers:%.sym=$(common-objpfx)%.h) to the list. (+depfiles): Add $(addprefix $(common-objpfx),$(gen-as-const-headers)). 2002-12-27 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/socket.S: Add cancellation support. 2002-12-27 Jakub Jelinek * malloc/arena.c (ptmalloc_init): Don't call next_env_entry if _environ is NULL. 2002-12-27 Andreas Schwab * Makerules ($(common-objpfx)%.make): Filter through $(sed-remove-objpfx). 2002-12-23 Roland McGrath * scripts/abilist.awk: Produce a more compact format, divided into stanzas for each version set, the set name listed only once. * scripts/extract-abilist.awk: New file. * scripts/merge-abilist.awk: New file. * Makerules (check-abi-%, update-abi-%): New pattern rules. (update-abi, check-abi): New targets. * Makefile (+subdir_targets): Add subdir_{check,update}-abi. 2002-12-19 Roland McGrath * Makerules (%.symlist): Use LC_ALL=C when running awk script. * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Cast result of INTERNAL_SYSCALL. 2002-12-21 Andreas Schwab * elf/check-textrel.c (handle_file): Swap p_type. 2002-12-21 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Define. (INLINE_SYSCALL): Use it. (INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define. (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant. * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Use INTERNAL_SYSCALL. * sysdeps/unix/sysv/linux/m68k/brk.c: Likewise. 2002-12-20 Art Haas * sysdeps/gnu/siglist.c: Convert GCC extension initializer syntax to C99. 2002-12-21 Philip Blundell * sysdeps/arm/elf/start.S (_start): Optimise a little. Push stack top as seventh arg to __libc_start_main. Reported by paulnash@wildseed.com. * sysdeps/unix/sysv/linux/arm/clone.S: Small optimisation. * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Elide compatibility cruft when new enough kernel is assumed. 2002-12-20 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Use INTERNAL_SYSCALL instead of INLINE_SYSCALL. 2002-12-20 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Fix typo. * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Define SHM_HUGETLB. * sysdeps/unix/sysv/linux/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/mips/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. Patch by William Lee Irwin . 2002-12-20 Andreas Schwab * locale/programs/ld-measurement.c (measurement_output): Fix index calculation. 2002-12-20 Ulrich Drepper * include/libio.h [_IO_MTSAFE_IO && _IO_lock_inexpensive]: Redefine _IO_flockifle and _IO_funlockfile as inlines. * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): For TLS builds add "tls" in the search path. * elf/ldconfig.c (is_hwcap_platform): Also recognize "tls". (path_hwcap): Recognize "tls". 2002-12-19 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Use __waitpid instead of waitpid. * sysdeps/unix/sysv/linux/i386/_exit.S: Use ENTER_KERNEL instead of int $0x80. * sysdeps/unix/sysv/linux/i386/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/i386/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Add support to use AT_SYSINFO information for system calls. * sysdeps/generic/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO to 1 only for ld.so. * elf/rtld.c (_dl_start) [USE___THREAD]: Define initdtv. 2002-12-19 Roland McGrath * iconvdata/ibm856.h: Convert GCC extension initializer syntax to C99. * iconvdata/ibm922.h: Likewise. * iconvdata/ibm930.h: Likewise. * iconvdata/ibm932.h: Likewise. * iconvdata/ibm933.h: Likewise. * iconvdata/ibm935.h: Likewise. * iconvdata/ibm937.h: Likewise. * iconvdata/ibm939.h: Likewise. * iconvdata/ibm943.h: Likewise. * iconvdata/isiri-3342.h: Likewise. 2002-12-19 Ulrich Drepper * test-skeleton.c (main): Make sure correct value is seen as argv[0] after adjustment of argv, and argc. * elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if RTLD_CORRECT_DYNAMIC_WEAK is defined. 2002-12-19 Jakub Jelinek * nscd/connections.c (nscd_run): Shut up warning. * tst-ungetc.c (assert): Undefined before redefining. 2002-12-19 Ulrich Drepper * posix/regex.c: Use __builtin_expect even outside glibc if gcc 3 is used. 2002-12-17 Art Haas * iconvdata/cp737.h: Convert GCC extension initializer syntax to C99. * iconvdata/cp775.h: Likewise. * iconvdata/ibm1046.h: Likewise. * iconvdata/ibm1124.h: Likewise. * iconvdata/ibm1129.h: Likewise. * iconvdata/ibm1132.h: Likewise. * iconvdata/ibm1133.h: Likewise. * iconvdata/ibm1160.h: Likewise. * iconvdata/ibm1161.h: Likewise. * iconvdata/ibm1162.h: Likewise. * iconvdata/ibm1163.h: Likewise. * iconvdata/ibm1164.h: Likewise. 2002-12-19 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/system.c: Define FORK only if __ASSUME_CLONE_THREAD_FLAGS is defined. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_CLONE_THREAD_FLAGS): Define for x86 and kernel >= 2.5.50. 2002-12-18 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/brk.c: Use INTERNAL_SYSCALL instead of asm. * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. * elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize _dl_sysinfo. [DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed code. * elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of _rtld_global. [DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed code. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]: Check for AT_SYSINFO and set _dl_sysinfo appropriately. * sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]: Add _dl_sysinfo. 2002-12-18 Jakub Jelinek * misc/Versions [libc: GLIBC_2.3.1]: Move __libc_readv and __libc_writev to... [libc: GLIBC_PRIVATE]: ...here. * sysvipc/Versions [libc: GLIBC_2.3.1]: Move __libc_msgrcv and __libc_msgsnd to... [libc: GLIBC_PRIVATE]: ...here. 2002-12-18 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/sysdep.h: Define ENTER_KERNEL macro. Use it instead of directly int $0x80. * sysdeps/unix/sysv/linux/i386/brk.c: Use ENTER_KERNEL. * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/i386/socket.S: Likewise. * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise. 2002-12-17 Ulrich Drepper * malloc/malloc.c (mALLOPt): Make sure malloc is initialized. * elf/elf.h (AT_SYSINFO): New define. * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Add support for AT_SYSINFO. 2002-12-17 Jakub Jelinek * sysdeps/unix/sysv/linux/alpha/syscalls.list (msgrcv, msgsnd): Make cancelable. * sysdeps/unix/sysv/linux/hppa/syscalls.list (msgrcv, msgsnd): Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (msgrcv, msgsnd): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (msgrcv, msgsnd): Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (msgrcv, msgsnd): Likewise. * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend): Likewise. * malloc/thread-m.h (mutex_init, mutex_lock, mutex_trylock, mutex_unlock): If not building NPTL, use __libc_maybe_call2 if available, otherwise __libc_maybe_call. * sysdeps/unix/sysv/linux/x86_64/recv.c: Add support for cancellation handling. * sysdeps/unix/sysv/linux/x86_64/send.c: Likewise. 2002-12-17 Isamu Hasegawa * posix/regcomp.c (free_workarea_compile): Free the new member ORG_INDICES. (analyze): Initialize ORG_INDICES. (duplicate_node_closure): Search for a existing node, which is duplicated from the node ORG_DEST and satisfies the constraint CONSTRAINT. And use it to avoid inifimite loop. (search_duplicated_node): New function. (duplicate_node): Store the index of the original node. * posix/regex_internal.c (re_dfa_add_node): Realloc ORG_INDICES if needed. * posix/regex_internal.h (re_dfa_t): Add new members. 2002-12-17 Ulrich Drepper * stdio-common/tst-fdopen.c: Undefine assert before redefining it. 2002-12-16 Ulrich Drepper * sysdeps/posix/system.c (do_system): Add support for installation of cancellation handlers. * sysdeps/unix/sysv/linux/i386/system.c: New file. * stdlib/Makefile (tests): Add tst-system. * stdlib/tst-system.c: New file. * sysdeps/unix/sysv/linux/i386/socket.S [NEED_CANCELLATION && CENABLE]: Don't lose content of %ebx. 2002-12-17 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/socket.S: Use SINGLE_THREAD_P macro instead of comparing %gs:MULTIPLE_THREADS_OFFSET directly. 2002-12-16 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): If __nss_lookup_function fails to return a function pointer don't use it. 2002-12-16 Art Haas * io/ftw.c: Convert GCC extension initializer syntax to C99. * iconvdata/iso-ir-165.c: Likewise. * iconvdata/jis0208.c: Likewise. * iconvdata/jis0212.c: Likewise. 2002-12-16 Ulrich Drepper * sysdeps/unix/sysv/linux/syscalls.list: Add epoll_create, epoll_ctl, and epoll_wait. * sysdeps/unix/sysv/linux/Versions [libc: GLIBC_2.3.2]: Add epoll_create, epoll_ctl, and epoll_wait. * sysdeps/unix/sysv/linux/sys/epoll.h: New file. Written by Davide Libenzi . * sysdeps/unix/sysv/linux/Dist: Add sys/epoll.h. * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add sys/epoll.h. 2002-12-16 Art Haas * sysdeps/generic/bp-semctl.h: Convert GCC extension initializer syntax to C99 * sysdeps/unix/sysv/aix/settimer.c: Likewise. * sysdeps/unix/sysv/aix/sleep.c: Likewise. * sysdeps/unix/sysv/aix/usleep.c: Likewise. 2002-12-16 Ulrich Drepper * stdio-common/Makefile (routines): Remove lockfile. Add flockfile, ftrylockfile, and funlockfile. * sysdeps/generic/lockfile.c: Removed. Each function has its own file. * sysdeps/generic/flockfile.c: New file. * sysdeps/generic/ftrylockfile.c: New file. * sysdeps/generic/funlockfile.c: New file. 2002-12-16 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE macros instead of doing the calls directly. * sysdeps/unix/make-syscalls.sh: Add ptw-*.$o target name to rules. * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for ptw-% targets. 2002-12-16 Jakub Jelinek * sysdeps/i386/fpu/bits/mathinline.h: Backout last change. * sysdeps/ieee754/bits/nan.h: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (__syscall_open, __syscall_wait4, __syscall_ioctl, __syscall_write): Add. 2002-12-16 Roland McGrath * sunrpc/xdr_mem.c (xdrmem_inline): Fix argument type. * sunrpc/xdr_rec.c (xdrrec_inline): Likewise. * sunrpc/xdr_stdio.c (xdrstdio_inline): Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add getpmsg, putpmsg. * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove s_getpmsg, s_putpmsg. * sysdeps/unix/sysv/linux/i386/getpmsg.c: File removed. * sysdeps/unix/sysv/linux/i386/putpmsg.c: File removed. * sysdeps/unix/sysv/linux/m68k/getpmsg.c: File removed. * sysdeps/unix/sysv/linux/m68k/putpmsg.c: File removed. * sysdeps/unix/sysv/linux/mips/getpmsg.c: File removed. * sysdeps/unix/sysv/linux/mips/putpmsg.c: File removed. * sysdeps/unix/sysv/linux/powerpc/getpmsg.c: File removed. * sysdeps/unix/sysv/linux/powerpc/putpmsg.c: File removed. 2002-12-13 Paul Eggert * sunrpc/rpc/xdr.h (struct XDR.xdr_ops.x_inline): 2nd arg is now u_int, not int. (struct XDR.x_handy): Now u_int, not int. * sunrpc/xdr_mem.c: Include . (xdrmem_getlong, xdrmem_putlong, xdrmem_getbytes, xdrmem_putbytes, xdrmem_inline, xdrmem_getint32, xdrmem_putint32): x_handy is now unsigned, not signed. Do not decrement x_handy if no change is made. (xdrmem_setpos): Check for int overflow. * sunrpc/xdr_sizeof.c (x_inline): 2nd arg is now unsigned. (xdr_sizeof): Remove cast that is now unnecessary, now that x_handy is unsigned. 2002-12-15 Art Haas * iconv/gconv_conf.c: Convert GCC extension initializer syntax to C99. * iconvdata/gap.awk: Likewise. * iconvdata/gen-8bit-gap-1.sh: Likewise. * iconvdata/gen-8bit-gap.sh: Likewise. * locale/C-address.c: Likewise. * locale/C-collate.c: Likewise. * locale/C-ctype.c: Likewise. * locale/C-identification.c: Likewise. * locale/C-measurement.c: Likewise. * locale/C-messages.c: Likewise. * locale/C-monetary.c: Likewise. * locale/C-name.c: Likewise. * locale/C-numeric.c: Likewise. * locale/C-paper.c: Likewise. * locale/C-telephone.c: Likewise. * locale/C-time.c: Likewise. * nscd/connections.c: Likewise. * nscd/grpcache.c: Likewise. * nscd/hstcache.c: Likewise. * nscd/pwdcache.c: Likewise. * stdio-common/vfprintf.c: Likewise. * stdlib/random.c: Likewise. * sysdeps/generic/siglist.c: Likewise. * sysdeps/i386/fpu/bits/mathinline.h: Likewise. * sysdeps/ieee754/bits/nan.h: Likewise. * sysdeps/posix/sprofil.c: Likewise. * sysdeps/unix/sysv/linux/sleep.c: Likewise. * sysdeps/unix/sysv/linux/sysctl.c: Likewise. * sysdeps/unix/sysv/linux/usleep.c: Likewise. 2002-12-15 Roland McGrath * sysdeps/unix/sysv/linux/readv.c (do_readv): Use prototype defn. * sysdeps/unix/sysv/linux/wait.c: Don't include or here, no need for it. * sysdeps/unix/sysv/linux/waitpid.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): Take ARG as void * parameter, not varargs parameter. * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_RESET): Evaluate the argument so it's not an unused variable. * resolv/resolv.h (__p_key_syms, __p_cert_syms, __p_class_syms, __p_type_syms, __p_rcode_syms): Remove decls, never really intended for users. * resolv/Versions (libresolv: GLIBC_2.3.2): New set, add __p_rcode. 2002-12-15 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): This is the original __libc_fcntl code. Just renamed. 2002-12-15 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/clone.S: Make inline syscall to _exit. 2002-12-14 Olaf Hering * sysdeps/powerpc/bits/setjmp.h: Include . * sysdeps/powerpc/powerpc64/setjmp.S: Fix typo in r18 load. 2002-12-15 Ulrich Drepper * sysdeps/unix/sysv/linux/libc_fatal.c: New file. * sysdeps/generic/sysdep-cancel.h: Add dummy definitions for SINGLE_THREAD_P, LIBC_CANCEL_ASYNC, and LIBC_CANCEL_RESET. * sysdeps/unix/sysv/linux/open64.c: New file. * sysdeps/generic/pselect.c: Add support for cancellation handling. * sysdeps/posix/open64.c: Likewise. * sysdeps/posix/sigpause.c: Likewise. * sysdeps/posix/sigwait.c: Likewise. * sysdeps/posix/system.c: Likewise. * sysdeps/posix/waitid.c: Likewise. * sysdeps/unix/sysv/linux/accept.S: Likewise. * sysdeps/unix/sysv/linux/connect.S: Likewise. * sysdeps/unix/sysv/linux/llseek.c: Likewise. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. * sysdeps/unix/sysv/linux/poll.c: Likewise. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pread64.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/readv.c: Likewise. * sysdeps/unix/sysv/linux/recv.S: Likewise. * sysdeps/unix/sysv/linux/recvfrom.S: Likewise. * sysdeps/unix/sysv/linux/recvmsg.S: Likewise. * sysdeps/unix/sysv/linux/send.S: Likewise. * sysdeps/unix/sysv/linux/sendmsg.S: Likewise. * sysdeps/unix/sysv/linux/sendto.S: Likewise. * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. * sysdeps/unix/sysv/linux/sigwait.c: Likewise. * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. * sysdeps/unix/sysv/linux/tcdrain.c: Likewise. * sysdeps/unix/sysv/linux/wait.c: Likewise. * sysdeps/unix/sysv/linux/waitpid.c: Likewise. * sysdeps/unix/sysv/linux/writev.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/socket.S: Likewise. 2002-12-14 Jakub Jelinek * sysdeps/generic/sysdep-cancel.h: New file. * sysdeps/unix/make-syscalls.sh: Handle C at start of args as cancelable syscall. * sysdeps/unix/inet/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Make cancelable. * sysdeps/unix/mman/syscalls.list (msync): Likewise. * sysdeps/unix/sysv/linux/alpha/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto, osf_select): Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/mips/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto, select): Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (llseek, pread, pwrite, accept, connect, recvfrom, recvmsg, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/syscalls.list (creat, nanosleep, pause, select, fcntl): Likewise. * sysdeps/unix/sysv/syscalls.list (pause, poll): Likewise. * sysdeps/unix/syscalls.list (close, fcntl, fsync, lseek, open, read, readv, select, sigsuspend, write, writev): Likewise. 2002-12-14 Jakub Jelinek * dirent/bug-readdir1.c: Include unistd.h. 2002-12-13 Jakub Jelinek * locale/programs/locale.c: Include locarchive.h. (ARCHIVE_NAME): Define. (write_archive_locales): New function. (write_locales): Use it. Ensure the same locale is not printed multiple times in verbose mode. Mode LC_IDENTIFICATION and LC_CTYPE printing into... (print_LC_IDENTIFICATION, print_LC_CTYPE): ... these helper functions. (struct nameent): New type. (nameentcmp): New function. 2002-12-14 Jakub Jelinek * posix/regex_internal.c (re_string_context_at): Guard wide char code with #ifdef RE_ENABLE_I18N. 2002-11-22 Paolo Bonzini * posix/regcomp.c (regcomp): __re_compile_fastmap -> re_compile_fastmap 2002-12-13 Roland McGrath * posix/bug-regex15.c: New file. * posix/Makefile (tests): Add it. * test-skeleton.c (TEST_DATA_LIMIT): New macro, default to 64MB. (main): Set RLIMIT_DATA limit to TEST_DATA_LIMIT (or lower if need be). 2002-12-13 Ulrich Drepper * elf/dl-misc.c (_dl_debug_vdprintf): Don't depend on 5-digit PIDs. * misc/syslog.c (log_cleanup): Don't use parameter in __libc_lock_unlock call, use syslog_lock directly. Adjust callers to pass NULL instead of a pointer to syslog_lock. 2002-12-12 Ulrich Drepper * iconvdata/Makefile: iconv-rules: Add definition to use gconv.map linker map for all iconv modules. (distribute): Add gconv.map. * iconvdata/gconv.map: New file. * elf/Makefile: Also check all iconv modules for text relocations. * stdlib/Makefile: Remove code to automatically import GMP. * elf/Makefile (tests): Add rules to build and run check-textrel. * elf/check-textrel.c: New file. * sysdeps/unix/sysv/linux/i386/sysdep.h (SETUP_PIC_REG): Add .size directive. 2002-12-11 Jakub Jelinek * io/test-utime (main): If stnow.st[am]time is wrong, print it and not st.st[am]time. 2002-04-30 Bruno Haible * intl/loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to the encoding if it already has slashes. Reported by Perry Rapp . 2002-12-11 Roland McGrath * csu/Makefile ($(objpfx)elf-init.oS): Remove target, braino. (CPPFLAGS-elf-init.oS, CFLAGS-elf-init.oS): New variables. Turn off PIC for compiling this file. 2002-12-11 Ulrich Drepper * malloc/thread-m.h: Remove thread_id type and MUTEX_INITIALIZER definitions. Not needed. [_LIBC]: Use definitions from libc-lock.h instead of referencing pthread routines directly. * malloc/arena.c (ptmalloc_unlock_all2): Don't add (void) to mutex_init calls. (arena_get2): Don't look at return value of mutex_lock. 2002-12-11 Roland McGrath * csu/Makefile ($(objpfx)elf-init.oS): New target, just clone elf-init.o instead of compiling a PIC version. 2002-12-11 Bruno Haible * intl/gettext.h: Renamed to ... * intl/gmo.h: ... here. * intl/Makefile (distribute): Add gmo.h, remove gettext.h. * intl/gettextP.h: Update. * intl/loadmsgcat.c: Update. * intl/gettextP.h (PARAMS): Make more portable. (attribute_hidden): Define as empty macro if not already defined. * intl/hash-string.h (PARAMS): Make more portable. * intl/loadinfo.h (PARAMS): Likewise. * intl/plural-exp.h (PARAMS): Likewise. (attribute_hidden): Move definition near the definition of internal_function. * intl/gettextP.h (_nl_locale_name) [!_LIBC]: New declaration. * intl/plural-exp.h (plural_eval) [!_LIBC]: New declaration. 2002-07-13 Bruno Haible * intl/dcigettext.c (freea): New macro. (FREE_BLOCKS): Free also the registered blocks. (DCIGETTEXT): Free the 'search' variable. Reported by Andreas Fischer . 2002-04-27 Bruno Haible * intl/gettextP.h [! _LIBC]: Use prefix libintl_ instead of suffix __. * intl/dcigettext.c: Likewise. * intl/dcgettext.c: Likewise. * intl/dgettext.c: Likewise. * intl/gettext.c: Likewise. * intl/dcngettext.c: Likewise. * intl/dngettext.c: Likewise. * intl/ngettext.c: Likewise. * intl/textdomain.c: Likewise. * intl/bindtextdom.c: Likewise. * intl/plural-exp.h: Likewise. 2002-01-02 Bruno Haible * intl/loadmsgcat.c (_nl_init_domain_conv): Use PARAMS in extern decl. 2001-04-30 Bruno Haible * intl/dcigettext.c (getuid, getgid, geteuid, getegid): Provide default macro definitions. Needed for mingw32. 2002-12-10 Ulrich Drepper * sysdeps/i386/bits/byteswap.h (__bswap_64): Apply __builtin_constant_p to macro parameter. * sysdeps/generic/sigpause.c: Define all functions as weak. * sysdeps/posix/sigpause.c: Likewise. * elf/tst-tls7.c (do_test): Adjustments for l_tls_modid being of type size_t. 2002-12-10 Jakub Jelinek * elf/tst-array1.c (preinit_array, init_array, fini_array): Explicitly align the array to sizeof (void *). * elf/tst-array2dep.c (init_array, fini_array): Likewise. * include/libc-symbols.h: Fix a comment typo. * sysdeps/unix/sysv/linux/alpha/select.S (__libc_select): New alias. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__libc_sigsuspend): Likewise. * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__libc_sigsuspend): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__libc_sigsuspend): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__libc_sigsuspend): Likewise. * sysdeps/generic/creat.c (__libc_creat): Renamed from creat. (creat): New weak alias. 2002-12-10 Roland McGrath * manual/libc-texinfo.sh: Emit @set ADD-ON for each ADD-ON that contributes a manual chapter. * manual/signal.texi (Process Signal Mask): Use @ifset linuxthreads around xref to it. * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Refer to and move contents to ... (EXTRA_LD_ENVVARS_LINUX): ... this new macro. Add break for nonmatch. * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Use it instead of duplicating its contents. (EXTRA_LD_ENVVARS): Likewise. Add break for nonmatch. 2002-12-09 Jakub Jelinek * elf/dl-support.c (_dl_non_dynamic_init): Add DL_OSVERSION_INIT if defined. * sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init): New function. (EXTRA_LD_ENVVARS): Use it. (DL_OSVERSION_INIT): Define. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Include linux dl-librecon.h. (EXTRA_LD_ENVVARS): Undef before defining. Use _dl_osversion_init. 2002-12-10 Ulrich Drepper * Versions.def: No new symbols in 2.3.1, but some new ones in 2.3.2. * sysdeps/unix/closedir.c (__closedir): Remove __libc_lock_lock call. It is not allowed to destroy pthread mutexes which are still in use even though it is safe for our implementations. If somebody still uses the descriptor it is a bug. 2002-12-09 Richard Henderson * csu/abi-note.S: Use .p2align, not .align. 2002-12-09 Ulrich Drepper * sysdeps/unix/sysv/linux/syscalls.list: Add __libc_creat and __libc_select aliases. * sysdeps/unix/sysv/linux/sigwaitinfo.c: Define __libc_sigwaitinfo alias. * sysdeps/unix/sysv/linux/sigwait.c: Define __libc_sigwait alias. * sysdeps/unix/sysv/linux/sigsuspend.c: Define __libc_sigsuspend alias. * sysdeps/unix/sysv/linux/poll.c: Define __libc_poll alias. * sysdeps/unix/syscalls.list: Define __libc_select alias. * sysdeps/posix/waitid.c: Define __libc_waitid alias. * sysdeps/posix/sigpause.c: Define __libc_sigpause and __libc___xpg_sigpause aliases. * sysdeps/generic/pselect.c: Define __libc_pselect alias. * misc/error.c: Remove use of USE_IN_LIBIO. 2002-12-08 Roland McGrath * elf/Makefile (tests): Uncomment tst-array[123]. * Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1. * csu/elf-init.c: New file. * csu/Makefile (routines, static-only-routines): Add elf-init. * sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init and __libc_csu_fini in place of _fini. * sysdeps/arm/elf/start.S: Likewise. * sysdeps/cris/elf/start.S: Likewise. * sysdeps/hppa/elf/start.S: Likewise. * sysdeps/i386/elf/start.S: Likewise. * sysdeps/ia64/elf/start.S: Likewise. * sysdeps/m68k/elf/start.S: Likewise. * sysdeps/mach/hurd/powerpc/static-start.S: 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-64/elf/start.S: Likewise. * sysdeps/sh/elf/start.S: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/x86_64/elf/start.S: Likewise. * sysdeps/pthread/aio_notify.c (notify_func_wrapper): Take a malloc'd struct containing function ptr and value, free it. (__aio_notify_only): Allocate that and copy values from SIGEV into it. It's not safe to let the new thread use the SIGEV pointer. 2001-10-20 Paul Eggert * misc/error.c (strerror_r): Do not declare unless [!_LIBC]. Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P. Use strerror_r that is only a macro, even if it is not a function. (strerror): Check for HAVE_DECL_STRERROR before declaring. (private_strerror): Use prototypes, not old-style function definition. (print_errno_message): New function. Support the POSIX 'int'-flavored strerror_r, as well as the traditional char*-flavored one. (error_tail, error, error_at_line): Use it. 2002-12-07 Carlos O'Donell * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Added SHMLBA #define. 2002-12-08 Ulrich Drepper * scripts/output-format.sed: Fix bug in one of the s expressions which used / for one too many things. * include/unistd.h: Declare __libc_close. 2002-12-07 Ulrich Drepper * sysdeps/generic/bits/stdio-lock.h (_IO_lock_trylock): New define. 2002-12-07 Roland McGrath * sysdeps/generic/libc-tls.c (__libc_setup_tls): Reintroduce changes from 2002-12-06, but remove unnecessary memset call without removing necessary copy of initialization image. * Makerules ($(common-objpfx)format.lds): New target. (common-generated): Add it. ($(inst_libdir)/libc.so): Depend on that, and cat it into the result. * scripts/output-format.sed: New file. * Makefile (distribute): Add it. 2002-12-07 Ulrich Drepper * sysdeps/generic/libc-tls.c: Include . Reported by Art Haas . 2002-12-07 Kenneth W. Chen * sysdeps/ia64/strncpy.S (strncpy): Clear ar.ec. Fix .recovery4. 2002-12-07 Jakub Jelinek * string/test-strncpy.c (do_random_tests): Improve test coverage. 2002-12-06 Ulrich Drepper * test-skeleton.c (timeout_handler): Allow expected signal to be SIGALRM. * wctype/wcfuncs.c: Add libc_hidden_def for iswalnum. * sysdeps/posix/raise.c: Add libc_hidden_def for raise. 2002-12-07 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Fix a pasto. Reported by Jeff Bailey . 2002-12-06 Ulrich Drepper * sysdeps/generic/libc-tls.c: Undo last patch. * include/wctype.h: Define iswalnum with libc_hidden_proto. * include/signal.h: Define raise with libc_hidden_proto. * sysdeps/unix/sysv/linux/fexecve.c (fexecve): Use __snprintf and __execve instead of snprintf and execve. * sysdeps/x86_64/fpu/libm-test-ulps: Relax errors for float and double again a bit. 2002-12-06 Jakub Jelinek * posix/Makefile (annexc.out): Add -I../dir for all sorted-dirs. * posix/annexc.c (fmt, testfmt): Remove -D_LIBC. 2002-12-06 Ulrich Drepper * misc/syslog.c (log_cleanup): New function. (openlog): Use log_cleanup instead of __libc_mutex_unlock. (closelog): Likewise. * elf/dl-close.c: Use __rtld_lock_* macros instead of __libc_lock_*. * elf/dl-iteratephdr.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-misc.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-support.c: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/bits/libc-lock.h: Define __rtld_lock_* macros. * sysdeps/mach/bits/libc-lock.h: Likewise. * sysdeps/mach/hurd/bits/libc-lock.h: Likewise. 2002-12-06 Roland McGrath * sysdeps/generic/libc-tls.c (__libc_setup_tls): Cope with zero ALIGN. * malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))] (malloc_starter, memalign_starter, free_starter): Don't define these. * malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]: Don't declare them either. * malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call __pthread_initialize, so no need to set hooks to *_starter. (ptmalloc_init_minimal): New function, broken out of ptmalloc_init. [_LIBC && SHARED && USE_TLS && !USE___THREAD] (__libc_malloc_pthread_startup): New function. * malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function. * malloc/hooks.c (memalign_starter): New function. * malloc/malloc.c: Declare it. * malloc/arena.c (save_memalign_hook): New variable. (ptmalloc_init): Set __memalign_hook to memalign_starter. * elf/dl-minimal.c (free): Clear the memory. (calloc): Just call malloc, knowing all memory it returns is cleared. * sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of malloc and memset; calloc can avoid the zeroing when redundant. (_dl_tls_setup): Likewise. * elf/dl-load.c (decompose_rpath): Likewise. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset call, since memory from sbrk at startup is already zero. * elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an error string for failure, null for success. Update callers. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. 2002-12-05 Jakub Jelinek * sysdeps/unix/sysv/linux/x86_64/syscalls.list (sendfile): Change args to i:iipi. (readahead): Change args to i:iii. * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list (readahead): Change args to i:iii. * sysdeps/unix/sysv/linux/mips/syscalls.list (readahead): Change args to i:iiii. 2002-12-05 Roland McGrath * stdlib/cxa_finalize.c (__cxa_finalize): When given a null argument, call all functions rather than none. Reported by Mark P. Mitchell . 2002-12-04 Roland McGrath * locale/localeinfo.h [NL_CURRENT_INDIRECT]: Use attribute_tls_model_ie on _nl_current_LC_* variables. 2002-12-05 Ulrich Drepper * dirent/bug-readdir1.c (main): Don't call closedir, just close the file descriptor. This is testing what the bug report was about. 2002-12-04 Ulrich Drepper * po/be.po: New file. * argp/Makefile (tests): Add tst-argp1. * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: (struct sigevent): Change type of _attribute to void*. * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise. 2002-12-04 Roland McGrath * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS] members to the end, so a libpthread compiled with !USE_TLS will still find other members properly. * sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output operand for DEST memory. Fix dummy input operand to use SRC. Reported by Davin McCall . * sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB alignment when initializing the DTV entry. * elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment when TLS has not been set up, try to set it up if we can. * elf/tst-tls4.c: Revert last change. * elf/tst-tls5.c: Likewise. * elf/tst-tls6.c: Likewise. * elf/tst-tls7.c: Likewise. * elf/tst-tls8.c: Likewise. * elf/tst-tls9.c: Likewise. * sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function. * sysdeps/generic/ldsodefs.h: Declare it. * elf/Versions (ld: GLIBC_PRIVATE): Add it. * sysdeps/generic/libc-tls.c (init_slotinfo): New static inline function, broken out of __libc_setup_tls. (init_static_tls): Likewise. (__libc_setup_tls): Call them. (_dl_tls_setup): New function, uses new subroutines. * elf/dl-close.c (free_slotinfo): Make argument pointer to pointer. Clear the pointer when returning true. (libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the first element of the slotinfo list too. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if [SHARED]. * sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden. (_dl_determine_tlsoffset): Likewise. * elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from startup_error_tsd, made global. (dl_main): Update initialization. * elf/dl-tsd.c: Likewise. * sysdeps/generic/ldsodefs.h: Declare it. 2002-12-03 Ulrich Drepper * manual/texinfo.tex: Update from latest upstream version. 2002-12-03 Roland McGrath * sysdeps/generic/libc-tls.c (__libc_setup_tls): Include static TLS area surplus in calculation for sbrk call. * iconvdata/cp1125.c: New file. * iconvdata/Makefile (distribute): Add it. (modules): Add CP1125. (gen-8bit-gap-modules): Add cp1125. * iconvdata/gconv-modules: Add CP1125, alias RUSCII. * iconvdata/tst-tables.sh: Add CP1125 to the list to test. 2002-12-03 Andreas Jaeger * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated. 2002-12-03 Ulrich Drepper * sysdeps/posix/system.c (do_system): Make signal handler installation thread safe. 2002-12-02 Roland McGrath * sysdeps/unix/sysv/linux/alpha/syscalls.list (readahead): Change caller from EXTRA to -. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. 2002-12-02 Carlos O'Donell * sysdeps/hppa/fpu/fesetround.c (fesetround): Use ~FE_DOWNWARD so both bits of RM are cleared. 2002-12-02 Roland McGrath * elf/tst-tls4.c: Define an unused TLS variable here, so that no lazy TLS setup is required. * elf/tst-tls5.c: Likewise. * elf/tst-tls6.c: Likewise. * elf/tst-tls7.c: Likewise. * elf/tst-tls8.c: Likewise. * elf/tst-tls9.c: Likewise. * elf/rtld.c (dl_main): Remove [! SHARED] conditional from `if (GL(dl_tls_max_dtv_idx) > 0)' tests for doing TLS setup. * elf/dl-close.c (libc_freeres_fn): Check GL(dl_tls_dtv_slotinfo_list) for being null before calling free_slotinfo. * elf/dl-load.c (_dl_map_object_from_fd) [SHARED]: For PT_TLS in dynamic loading, bail with error if GL(dl_tls_max_dtv_idx) is zero. 2002-11-30 Bruno Haible * iconv/gconv.h (__gconv_btowc_fct): New typedef. (struct __gconv_step): New field __btowc_fct. * wcsmbs/btowc.c (__btowc): Use the __btowc_fct shortcut if possible. * iconv/gconv_int.h (__BUILTIN_TRANSFORM): Renamed from __BUILTIN_TRANS. (__gconv_btwoc_ascii): New declaration. * iconv/gconv_simple.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument. (__gconv_btwoc_ascii): New function. * iconv/gconv_builtin.h: Add BtowcFct argument to all BUILTIN_TRANSFORMATION invocations. * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument. * iconv/iconvconfig.c (BUILTIN_TRANSFORMATION): Likewise. * iconv/gconv_builtin.c (map): New field btowc_fct. (BUILTIN_TRANSFORMATION): Add BtowcFct argument. Use it to initialize btowc_fct field. (__gconv_get_builtin_trans): Initialize __btowc_fct field. * iconv/gconv_cache.c (find_module): Initialize __btowc_fct field. * iconv/gconv_db.c (gen_steps, increment_counter): Likewise. * wcsmbs/wcsmbsload.c (to_wc, to_mb): Likewise. * iconv/skeleton.c: Document STORE_REST and FROM_ONEBYTE. (gconv_init): Initialize __btowc_fct field. Undefine EXTRA_LOOP_ARGS and FROM_ONEBYTE at the end. * iconv/loop.c: Document ONEBYTE_BODY. (gconv_btowc, FROM_ONEBYTE): Define if ONEBYTE_BODY is defined. Undefine ONEBYTE_BODY at the end. * iconvdata/8bit-generic.c (ONEBYTE_BODY): New macro. * iconvdata/8bit-gap.c (NONNUL): New macro. (BODY for FROM_LOOP): Use it. (ONEBYTE_BODY): New macro. * iconvdata/isiri-3342.c (HAS_HOLES): Set to 1. (NONNUL): New macro. * iconvdata/ansi_x3.110.c (ONEBYTE_BODY): New macro. * iconvdata/armscii-8.c (ONEBYTE_BODY): New macro. * iconvdata/cp1255.c (ONEBYTE_BODY): New macro. * iconvdata/cp1258.c (ONEBYTE_BODY): New macro. * iconvdata/tcvn5712-1.c (ONEBYTE_BODY): New macro. * iconvdata/big5.c (ONEBYTE_BODY): New macro. * iconvdata/big5hkscs.c (ONEBYTE_BODY): New macro. * iconvdata/euc-cn.c (ONEBYTE_BODY): New macro. * iconvdata/euc-jp.c (ONEBYTE_BODY): New macro. * iconvdata/euc-jisx0213.c (ONEBYTE_BODY): New macro. * iconvdata/euc-kr.c (ONEBYTE_BODY): New macro. * iconvdata/euc-tw.c (ONEBYTE_BODY): New macro. * iconvdata/gbk.c (ONEBYTE_BODY): New macro. * iconvdata/gb18030.c (ONEBYTE_BODY): New macro. * iconvdata/ibm932.c: Include . (TRUE, FALSE): Remove macros. (BODY for FROM_LOOP): Remove unused variable rp1. (ONEBYTE_BODY): New macro. (BODY for TO_LOOP): Use bool. * iconvdata/ibm932.h (__ibm932sb_to_ucs4_idx): Remove array. * iconvdata/ibm943.c: Include . (TRUE, FALSE): Remove macros. (BODY for FROM_LOOP): Remove unused variable rp1. (ONEBYTE_BODY): New macro. (BODY for TO_LOOP): Use bool. * iconvdata/ibm943.h (__ibm943sb_to_ucs4_idx): Remove array. * iconvdata/iso8859-1.c (ONEBYTE_BODY): New macro. * iconvdata/iso_6937-2.c (ONEBYTE_BODY): New macro. * iconvdata/iso_6937.c (ONEBYTE_BODY): New macro. * iconvdata/johab.c (ONEBYTE_BODY): New macro. * iconvdata/sjis.c (ONEBYTE_BODY): New macro. * iconvdata/shift_jisx0213.c (ONEBYTE_BODY): New macro. * iconvdata/t.61.c (ONEBYTE_BODY): New macro. * iconvdata/uhc.c (ONEBYTE_BODY): New macro. * iconvdata/gbbig5.c: Tweak comment. 2002-12-02 Ulrich Drepper * po/fi.po: Update from translation team. 2002-12-01 Roland McGrath * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition testing getdents64 return value. * scripts/versions.awk: Don't pass -n flag to sort command. * posix/bug-regex13.c: Include . * sysdeps/generic/libc-start.c (__libc_start_main): Do DL_SYSDEP_OSCHECK here. * sysdeps/unix/sysv/linux/init-first.c (init): Not here. * sysdeps/unix/sysv/linux/dl-osinfo.h: Include . * sysdeps/generic/libc-tls.c (__libc_setup_tls): Bail if argument TCBSIZE <= TLS_INIT_TCB_SIZE, not just if it's zero. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Check l_tls_offset instead of l_type to decide whether to use TLS_DTV_UNALLOCATED. * include/link.h: Comment typo fix. 2002-12-01 Roland McGrath * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_FSYNC): Set to 200112L. (_POSIX_SPAWN, _POSIX_MAPPED_FILES, _POSIX_MEMLOCK_RANGE, _POSIX_MEMORY_PROTECTION): Likewise. (_POSIX_POLL, _POSIX_SELECT): Removed. 2002-11-28 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which require it to 200112L. Remove _POSIX_POLL and _POSIX_SELECT. 2002-11-28 Jakub Jelinek * sysdeps/unix/alpha/sysdep.S: Change defined(USE___THREAD) to USE___THREAD. * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall*): Avoid "=v" constraints. 2002-11-28 Ulrich Drepper * sysdeps/unix/sysv/linux/x86_64/vfork.S: Don't trash the CPU's branch prediction buffers by using unpaired call/ret. 2002-11-27 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Fix typo in first parameters constraint string. (ASMFMT_3): Likewise. Patch by stefan.lauterbach@mincom.de. 2002-11-27 Isamu Hasegawa * posix/regcomp.c (parse_expression): Set the bit since the back reference is used in the regular expression. * posix/regex_internal.c (re_node_set_init_1): Make it clean in case of malloc failure. (re_node_set_init_copy): Likewise. * posix/regex_internal.h (state_array_t): New structure. (re_sub_match_last_t): Likewise. (re_sub_match_top_t): Likewise. (re_match_context_t): Add new members. (re_dfa_t): Likewise. * posix/regexec.c (re_search_internal): Invoke prune_impossible_nodes to check the matching is really correct, and retry if failed. Move the routin pruning the impossible nodes from here, ... (prune_impossible_nodes): To this function. (check_matching): Invoke check_subexp_matching_top, and replace redundant checking with transit_state_bkref invocation. (proceed_next_node): Replace strncmp with memcmp. Reported by Paolo Bonzini . (update_cur_sifted_state): Remove search_subexp invocation. (search_subexp): Remove this function. (check_dst_limits_calc_pos): Use search_cur_bkref_entry for optimization. (sift_states_bkref): Use search_cur_bkref_entry for optimization. Remove unused invocation of match_ctx_add_entry. (transit_state): Invoke check_subexp_matching_top. (check_subexp_matching_top): New function. (transit_state_bkref): Remove unused array. Merge transit_state_bkref_loop. (transit_state_bkref_loop): Use get_subexp instead of sift_states_backward. Use search_cur_bkref_entry for optimization. Merge this function to transit_state_bkref. (get_subexp): New function. (get_subexp_sub): Likewise. (find_subexp_node): Likewise. (check_arrival): Likewise. (check_arrival_expand_ecl): Likewise. (check_arrival_expand_ecl_sub): Likewise. (expand_bkref_cache): Likewise. (match_ctx_init): Initialize new members. (match_ctx_clean): New function. (match_ctx_free): Release new members. (match_ctx_free_subtops): New function. (match_ctx_add_entry): Fix indent. (search_cur_bkref_entry): New function. (match_ctx_add_subtop): Likewise. (match_ctx_add_sublast): Likewise. 2002-11-25 Ulrich Drepper * iconv/Makefile (tests): Remove tst-iconv4.c * iconv/tst-iconv4.c: Moved to... * iconvdata/tst-iconv4.c: ...here. New file. * iconvdata/Makefile (tests): Add tst-iconv4. Add dependencies. 2002-11-25 Roland McGrath * inet/test-ifaddrs.c (main: addr_string): Handle null SA. Grok AF_LINK if defined. From Momchil Velikov . * sysdeps/gnu/ifaddrs.c (getifaddrs): If ioctl fails for netmask, brdaddr, or dstaddr, just set those pointers to null and don't fail. Reported by Momchil Velikov . * sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: If sa_len is > sizeof IFR->ifa_addr, advance past the whole longer length. (__ifreq): Count up NIFS that way too. Reported by Momchil Velikov . * sysdeps/mach/hurd/lchmod.c: Include . * sysdeps/mach/hurd/i386/init-first.c: Include and . 2002-11-24 Ulrich Drepper * elf/elf.h (EM_ST19): Fix typo. 2002-11-25 Jakub Jelinek * include/errno.h (__set_errno): Define as errno = val unconditionally. 2002-11-24 Roland McGrath * sysdeps/posix/readv.c: Include , use __set_errno macro. * sysdeps/posix/writev.c: Likewise. From Momchil Velikov . * elf/dl-error.c [! _LIBC_REENTRANT]: Use a static variable instead of calling *GL(dl_error_catch_tsd) for a thread-local location. * elf/rtld.c (startup_error_tsd): Conditionalize on [_LIBC_REENTRANT]. (dl_main): Same for GL(dl_error_catch_tsd) initialization. * elf/dl-tsd.c: Conditionalize contents on [_LIBC_REENTRANT]. * libio/iofflush.c: Add libc_hidden_def. * libio/iofwrite.c: Likewise. * sysdeps/generic/sigtimedwait.c: Likewise. * sysdeps/generic/sigwaitinfo.c: Likewise. * sysdeps/posix/sigwait.c: Likewise. Reported by Momchil Velikov . * inet/inet_lnaof.c (inet_lnaof): Change return type to in_addr_t to match declaration. * inet/inet_netof.c (inet_netof): Likewise. * inet/inet_mkadr.c (inet_makeaddr): Likewise for argument types. Reported by Momchil Velikov . * configure.in: Skip AUTOCONF check under --without-cvs. * configure: Regenerated. * posix/Makefile (headers): Add bits/pthreadtypes.h. * sysdeps/unix/sysv/linux/Makefile (sysdep_heaers): Don't add it here. * sysdeps/unix/sysv/linux/Dist: Remove it from the list. 2002-11-24 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/sysdep.h: Support inline syscall with six arguments. 2002-11-19 Jim Meyering * time/mktime.c (__mon_yday, __mktime_internal) [!_LIBC]: Declare as `static'. * time/strptime.c (__mon_yday) [!_LIBC]: Declare as `static'. 2002-11-23 Roland McGrath * scripts/abilist.awk: Avoid strtonum function, not there in mawk. Just produce hex output for datum sizes. * elf/Makefile ($(objpfx)librtld.mk): Tighten up regexp. Reported by Luca Barbieri . 2002-11-20 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/bits/msq.h (msqid_ds) [__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2, and __unused3 fields. * sysdeps/unix/sysv/linux/powerpc/bits/sem.h (semid_ds) [__WORDSIZE == 32]: Only PPC32 requires __unused1 and __unused2 fields. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h (shmid_ds) [__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2, __unused3, and __unused4 fields. * csu/gmon-start.c (__gmon_start__): Always use TEXT_START macro to obtain lowest address for profiling in __monstartup call. 2002-11-21 Roland McGrath * sysdeps/ia64/fpu/Makefile (libm-sysdep_routines): Remove redunant $(calls) $(calls:=f) $(long-c-$(long-double-fcts)). * locale/localeinfo.h (struct locale_data): Revert last change. * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_exit_group): Add it. From Ian Wienand . * sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_pread): Define to __NR_pread64 if not defined. (__NR_pwrite): Define to __NR_pwrite64 if not defined. From Ian Wienand . 2002-11-21 Roland McGrath * sysdeps/mach/hurd/i386/init-first.c (posixland_init): Set __libc_multiple_libcs here. Call __setfpucw. 2002-11-21 Ulrich Drepper * elf/Makefile (tests): Don't run test-arrayX tests for now. * sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags. * sysdeps/unix/sysv/linux/i386/clone.S: Add support for CLONE_CHILD_*TID flags. 2002-11-20 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): We pass struct ucontext on x86-64. (GET_PC): Adjust. (GET_FRAME): Adjust. (GET_STACK): Adjust. 2002-11-20 Roland McGrath * sysdeps/powerpc/powerpc32/dl-machine.c [! SHARED]: Further conditionalize [! DO_VERSIONING] #error. * scripts/abilist.awk: Grok function descriptor symbols. * intl/tst-gettext.c (main): Check return values from setlocale. Add necessary unsetenv's to make LANG=existing-locale check work. * intl/tst-gettext.sh: Use mkdir -p. Copy test files unconditionally, so aborted prior runs don't confuse things. * locale/localeinfo.h (struct locale_data: union locale_data_value): Use uintptr_t instead of unsigned int for `word' member. (_NL_CURRENT_WORD): Cast to uint32_t. * posix/bug-regex5.c (main): Use union to extract _NL_COLLATE_NRULES value. 2002-11-20 Ulrich Drepper * elf/tls-macros.h: Add IA-64 definitions. Patch by Ian Wienand . * iconv/Makefile (tests): Add tst-iconv4. * iconv/tst-iconv4.c: New file. * iconv/gconv_simple.c (internal_ucs4le_loop_unaligned): Return __GCONV_EMPTY_INPUT only if input is really empty. Otherwise __GCONV_INCOMPLETE_INPUT. (ucs4le_internal_loop): Likewise. (ucs4le_internal_loop_unaligned): Likewise. * iconvdata/unicode.c (PREPARE_LOOP): Likewise. * iconvdata/utf-16.c (PREPARE_LOOP): Likewise. * iconvdata/utf-32.c (PREPARE_LOOP): Likewise. * iconv/loop.c (LOOPFCT): First test for empty input then for full output buffer. * inet/getnameinfo.c: Use extend_alloca where appropriate. * sysdeps/posix/getaddrinfo.c: Likewise. * include/alloca.h (extend_alloca): New define. Based on stack direction it'll try to append to the previouls allocated buffer. 2002-11-07 Thorsten Kukuk * sysdeps/posix/getaddrinfo.c (gaih_inet): If AF_UNSPEC is set, use the same service for AF_INET and AF_INET6. 2002-11-19 Ulrich Drepper * intl/localealias.c (read_alias_file): Use only about 400 bytes of stack space instead of 16k. 2002-11-18 Wolfram Gloger * malloc/arena.c (ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_unlock_all2): Do nothing if not initialized. Bug report from Marcus Brinkmann . 2002-11-19 Roland McGrath * posix/Versions (libc: GLIBC_2.3.2): Add sched_getaffinity and sched_setaffinity. * configure.in (libc_cv_gcc_dwarf2_unwind_info check): Use libraries `-lgcc -lgcc_eh -lgcc', not just `-lgcc -lgcc_eh' in link commands for test leading to libc_cv_gcc_dwarf2_unwind_info=no_registry_needed. * configure: Regenerated. 2002-11-19 Ulrich Drepper * include/dlfcn.h: __libc_dlopen is now a macro calling __libc_dlopen_mode with the extra parameter RTLD_LAZY. (__libc_dlopen_mode): New prototype. * elf/dl-libc.c (__libc_dlopen_mode): Renamed from __libc_dlopen. Add new parameter. Store new parameter in mode field of structure passed to do_dlopen. (struct do_dlopen_args): Add new field mode. (do_dlopen): Pass mode from parameter structure to _dl_open. 2002-11-11 Randolf Chung * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h [__USE_FILE_OFFSET64] (F_GETLK, F_SETLK, F_SETLKW): Define to F_*64 versions. * sysdeps/unix/sysv/linux/hppa/fcntl.c: New file. * sysdeps/hppa/fpu/libm-test-ulps: New file (generated). * sysdeps/hppa/Makefile (CFLAGS-rtld.c): New variable. Set -mdisable-fpregs for this file. 2002-11-11 Carlos O'Donell * sysdeps/unix/sysv/linux/configure.in: Make 2.4.19 minimum linux kernel for hppa, and add unwind symbols from gcc-3.0 era for backwards compatibility. * sysdeps/unix/sysv/linux/configure: Regenerate. * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Define mcontext_t as a sigcontext. 2002-11-18 Roland McGrath * dlfcn/dlerror.c (fini): New function, __attribute__ ((destructor)). Free memory in `last_result' if it was used. * resolv/nss_dns/dns-network.c (getanswer_r): In BYNAME case, search all aliases for one that matches the ".IN-ADDR.ARPA" form. Do the parsing inline instead of copying strings and calling inet_network, and properly skip all alias names not matching the form. * manual/pattern.texi (Variable Substitution): Fix # and ## examples. 2002-11-17 Ulrich Drepper * manual/pattern.texi (Wordexp Example): Fix sample code. * sysdeps/unix/sysv/linux/i386/clone.S: Initialize word in the childs stack which will be loaded into the %esi register. 2002-11-14 Paul Eggert * resolv/nss_dns/dns-network.c (getanswer_r): Check for buffer overflow when skipping the question part and when unpacking aliases. 2002-11-15 Roland McGrath * math/Makefile (libm-calls): Remove s_copysign, s_isinf, s_isnan, s_finite, s_modf, s_scalbn, s_frexp, m_ldexp, s_signbit. Instead add $(calls:s_%=m_%) to get m_* versions of them all. 2002-11-15 Jakub Jelinek * sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY. * sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY. 2002-11-15 Roland McGrath * math/Makefile (libm-calls): Change s_ldexp to m_ldexp. * Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc] from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep). (+make-include-of-dep): New canned sequence. * stdlib/canonicalize.c (__realpath): Check for malloc failure. From Dmitry V. Levin . 2002-11-14 Roland McGrath * sysdeps/generic/errno.c (__libc_errno): Remove alias. * inet/herrno.c (__libc_h_errno): Likewise. * resolv/res_libc.c (__libc_res): Likewise. [USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD]. (__res_state) [! USE___THREAD]: Don't define as weak. * csu/Versions: Revert last change. * resolv/Versions: Revert last change. * Makerules ($(common-objpfx)%.make): New pattern rule. * tls.make.c: New file. * Makefile (distribute): Add it. * sysdeps/generic/errno.c [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these with compat_symbol so they are not link-time visible. [! USE___THREAD] (__libc_errno): New alias for errno. * csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE): Add __libc_errno here. * inet/herrno.c [USE___THREAD]: Use this conditional in place of [USE_TLS && HAVE___THREAD]. [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING] (h_errno, _h_errno): Declare these with compat_symbol so they are not link-time visible. [! USE___THREAD] (__libc_h_errno): New alias for h_errno. * resolv/res_libc.c [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise. (_res): Use __attribute__ ((section (".bss"))) so we can have an alias. (__libc_res): Define as alias for _res. * resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE): Add __libc_h_errno and __libc_res here. 2002-11-14 Jakub Jelinek * csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now. * resolv/Versions (h_errno, _res): Likewise. 2002-11-14 Roland McGrath * Makerules (%.dynsym): Remove $(objpfx) from target and dep. (%.symlist): Likewise. 2002-11-13 Roland McGrath * scripts/abilist.awk: New file. * Makefile (distribute): Add it. * Makerules ($(objpfx)%.dynsym, $(objpfx)%.symlist): New rules. (tests): Depend on .symlist file for each $(install-lib.so-versioned). [$(subdir) = elf] (tests): Depend on libc.symlist. (generated, common-generated): Add those files. * aclocal.m4 (LIBC_PROG_BINUTILS): Check for objdump, set OBJDUMP. * configure: Regenerated. * config.make.in (OBJDUMP): New variable, substituted by configure. * malloc/mcheck.c (struct hdr): New members `block' and `magic2'. (mallochook, reallochook): Set them up. (checkhdr): Check HDR->magic2 value. (freehook): Reset HDR->magic2. (memalignhook): New static function. (old_memalign_hook): New static variable. (mcheck, reallochook): Set __memalign_hook to memalignhook. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Zero the space for the new TCB. 2002-11-13 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Check for visibility attribute. * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. 2002-11-11 Paul Eggert * manual/crypt.texi (Cryptographic Functions): Mention that the MD5 one-way algorithm is compatible with BSD's. 2002-11-11 Isamu Hasegawa * posix/regex_internal.c (re_string_skip_chars): Also return the last wide character. (re_string_reconstruct): Calculate the context by itself when the offset points out of the valid range. (re_string_context_at): Use wide character when MB_CUR_MAX > 1. * posix/regex_internal.h (WIDE_NEWLINE_CHAR): New macro. (IS_WIDE_WORD_CHAR): New macro. (IS_WIDE_NEWLINE): New macro. 2002-11-12 Andreas Jaeger * sysdeps/x86_64/strchr.S: Don't use one register for two purposes, this fixes a bug noticed by test-strchr.c. * sysdeps/x86_64/strcat.S: Fix algorithm to align source pointer correctly. 2002-11-12 Roland McGrath * libio/libioP.h [_LIBC && !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)] (_G_IO_NO_BACKWARD_COMPAT): Define it. * sysdeps/ia64/dl-fptr.c [_LIBC_REENTRANT]: Include instead of . [_LIBC_REENTRANT] (lock, unlock): Use __sync_lock_* macros instead of testandset. From Ian Wienand . 2002-11-10 Roland McGrath * libio/bug-wfflush.c (do_test): Call rewind instead of fsetpos. Call fputs instead of fwprintf (simpler to follow in debugger). * crypt/md5-crypt.c: Doc fix. * sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) at the beginning of generated target commands. * csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit dependencies for these in case implicit rule search skipped the nonexistent source directory. * sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the files with $(object-suffixes) as targets too. * Makerules [no_deps && objpfx] (before-compile): Add $(objpfx). and a target for it using $(make-target-directory). * Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h. 2002-11-10 Roland McGrath * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ... * sysdeps/generic/bits/pthreadtypes.h: ... here. * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Treat a struct flock with l_start == 0 and l_len == 1 as we do l_len == 0. 2002-11-10 Ulrich Drepper * po/da.po: Update from translation team. 2002-11-10 Roland McGrath * config.make.in (includedir): New variable, substituted by configure. Reported missing by Jocelyn Fournier . * Makeconfig (includedir): Use $(prefix), not $(exec_prefix). 2002-11-10 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h (enum): Add REG_OLDMASK and REG_CR2 to synch with kernel header. (NGREG): Increase. * nss/getXXent.c (GETFUNC_NAME): Use union type to avoid strict aliasing problem. * nss/getXXbyYY_r.c (INTERNAL): Likewise. * nss/getnssent_r.c (__nss_getent_r): Likewise. (__nss_setent): Likewise. (__nss_getent_r): Likewise. * inet/getnetgrent_r.c (innetgr): Likewise. (__internal_setnetgrent_reuse): Likewise. (internal_getnetgrent_r): Likewise. * inet/ether_hton.c (ether_hostton): Likewise. * inet/ether_ntoh.c (ether_ntohost): Likewise. * sunrpc/netname.c (netname2user): Likewise. * sunrpc/publickey.c (getpublickey): Likewise. (getsecretkey): Likewise. 2002-11-09 Marcus Brinkmann * sysdeps/mach/hurd/i386/ioperm.c (ioperm): Correct off by one error in range calculation. 2002-10-09 Jakub Jelinek * string/test-strspn.c (do_test): Ensure zero termination. * string/test-strpbrk.c (do_test): Likewise. * string/test-strncmp.c (stupid_strncmp): Use strnlen, not strlen. * string/test-strncpy.c (stupid_strncpy): Likewise. * string/test-stpncpy.c (stupid_stpncpy): Likewise. 2002-10-08 Roland McGrath * string/test-string.h (test_init): Fill BUF1 and BUF2 with nonzero characters. 2002-09-22 H.J. Lu * sysdeps/unix/sysv/linux/mmap64.c (MMAP2_PAGE_SHIFT): Renamed from PAGE_SHIFT. Define if not defined. Check MMAP2_PAGE_SHIFT only if __NR_mmap2 is defined. * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Moved to ... * sysdeps/unix/sysv/linux/mmap64.c: ... here. * sysdeps/unix/sysv/linux/hppa/mmap64.c: File removed. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: FIle removed, 2002-11-08 Jakub Jelinek * posix/bug-regex13.c (tests): Add new test. * string/test-strchr.c (stupid_strchr): New function. (do_random_tests): Make sure the string is zero terminated. * string/test-strpbrk.c (stupid_strpbrk): New function. (do_random_tests): Make sure the string is zero terminated. * string/test-strcmp.c (stupid_strcmp): New function. (do_random_tests): Make sure the strings are zero terminated. * string/test-strspn.c (stupid_strspn): New function. (simple_strspn): Rename rej argument to acc. (do_random_tests): Make sure the string is zero terminated. * string/test-strcspn.c (stupid_strcspn): New function. * string/test-strncpy.c (stupid_strncpy): New function. * string/test-stpncpy.c (stupid_stpncpy): New function. * string/test-strncmp.c (stupid_strncmp): New function. (do_random_tests): Make sure the strings are zero terminated. * string/test-string.h (impl_t): Change test into long. (IMPL): Add __attribute__((aligned (sizeof (void *)))). 2002-11-08 Roland McGrath * sysdeps/ia64/elf/configure.in: Add TLS check. From Ian Wienand . * sysdeps/ia64/elf/configure: Regenerated. 2002-11-07 Roland McGrath * libio/fileops.c (_IO_new_file_overflow): Use INTUSE(_IO_do_write) in place of _IO_new_do_write. [_LIBC] (_IO_do_write): Define as macro for _IO_new_do_write and #undef before versioned_symbol use. 2002-11-07 Richard Henderson * configure.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove test. * configure: Regenerated. * config.h.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove #undef. * sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Use !samegp. (RTLD_START): Likewise. Access _dl_skip_args, _rtld_local, and _dl_fini via gp-relative relocations. * sysdeps/alpha/fpu/e_sqrt.c: Use !samegp. * elf/tls-macros.h: Add alpha versions. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Handle TLS relocs. * sysdeps/unix/alpha/sysdep.S: Support USE___THREAD. * sysdeps/unix/alpha/sysdep.h: Likewise. Add SYSCALL_ERROR_HANDLER. * sysdeps/unix/sysv/linux/alpha/brk.S: Use it. * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. * sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise. * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Likewise. * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise. * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise. * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep.h: Re-include protect. Kill argument registers across the inline syscall. * sysdeps/unix/sysv/linux/alpha/clone.S: Add user_tid and tls args. * linuxthreads/sysdeps/alpha/tls.h: New file. * sysdeps/alpha/dl-tls.h: New file. 2002-10-29 David Mosberger * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] (gmon_initializer): New function. (.init prologue): If HAVE_INITFINI_ARRAY is true, don't call __gmon_start__ here. Call it from gmon_initializer() instead. 2002-03-12 H.J. Lu * elf/Makefile [$(have-initfini-array) = yes] (tests): Add tst-array1, tst-array2, and tst-array3. [$(have-initfini-array) = yes] (tests-static): Add tst-array3. [$(have-initfini-array) = yes] (modules-names): Add tst-array2dep. ($(objpfx)tst-array1.out): New target. ($(objpfx)tst-array2): Likewise. ($(objpfx)tst-array2.out): Likewise. ($(objpfx)tst-array3.out): Likewise. * elf/tst-array1.c: New file. * elf/tst-array1.exp: Likewise. * elf/tst-array2.c: Likewise. * elf/tst-array2dep.c: Likewise. * elf/tst-array2.exp: Likewise. * elf/tst-array3.c: Likewise. 2002-10-28 David Mosberger * elf/dl-fini.c (_dl_fini): Invoke fini_array in _reverse_ order. Don't add L->l_addr to array entry values. 2002-11-07 Jakub Jelinek * string/test-string.h: New file. * string/test-strlen.c: New file. * string/test-string.h: New file. * string/test-strcmp.c: New file. * string/test-strchr.c: New file. * string/test-strrchr.c: New file. * string/test-strcpy.c: New file. * string/test-stpcpy.c: New file. * string/test-strncpy.c: New file. * string/test-stpncpy.c: New file. * string/test-strpbrk.c: New file. * string/test-strcspn.c: New file. * string/test-strspn.c: New file. * string/test-strcat.c: New file. * string/test-strncmp.c: New file. * string/test-memchr.c: New file. * string/test-memcmp.c: New file. * string/test-memset.c: New file. * string/test-memcpy.c: New file. * string/test-mempcpy.c: New file. * string/test-memmove.c: New file. * string/Makefile (strop-tests): New variable. (tests): Add strop-tests. (distribute): Add test-string.h. 2002-11-06 Ulrich Drepper * posix/regcomp.c: Use tabs instead of spaces. * posix/regexec.c: Likewise. * posix/regex_internal.h: Likewise. * posix/regcomp.c (re_compile_fastmap_iter): Use __wcrtomb not wctomb. 2002-11-06 Jakub Jelinek * posix/regcomp.c (re_compile_pattern): Don't set regs_allocated here. (regcomp): Don't set can_be_null here. (re_comp): Clear whole re_comp_buf with the exception of fastmap. (re_compile_internal): Clear can_be_null, set regs_allocated. * posix/regcomp.c (re_set_fastmap): New function. (re_compile_fastmap_iter): Use it. Remove redundant type == COMPLEX_BRACKET check. * posix/regexec.c (re_search_internal): Optimize searching with fastmap. Call re_string_reconstruct even if match_first is smaller than raw_mbs_idx. 2002-11-06 Isamu Hasegawa * posix/regcomp (free_dfa_content): Use free_state. * posix/regex_internal.c (re_string_realloc_buffers): Don't edit pointers in case that realloc failed. (re_node_set_merge): Likewise. (register_state): Likewise. (create_newstate_common): Invoke memory release functions in case of error conditions. (create_ci_newstate): Likewise. (create_cd_newstate): Likewise. (free_state): New function. * posix/regexec.c (re_search_internal): Invoke memory release functions in case of error conditions. (sift_states_backward): Likewise. (merge_state_array): Likewise. (add_epsilon_src_nodes): Likewise. (sub_epsilon_src_nodes): Likewise. (search_subexp): Likewise. (sift_states_bkref): Likewise. (transit_state_sb): Likewise. (transit_state_mb): Likewise. (transit_state_bkref_loop): Likewise. (group_nodes_into_DFAstates): Likewise. (push_fail_stack): Don't edit pointers in case that realloc failed. (extend_buffers): Likewise. (match_ctx_add_entry): Likewise. 2002-11-06 Roland McGrath * sysdeps/unix/sysv/linux/mips/configure.in: File removed. * sysdeps/unix/sysv/linux/mips/configure: Likewise. * configure.in: Add checks on as and ld for binutils 2.13 or later. * configure: Regenerated. 2002-11-06 Ulrich Drepper * posix/regcomp.c (regcomp): __re_compile_fastmap can never fail. If re_compile_internal failed free fastmap buffer. (free_dfa_content): Broken out of regfree function. Frees all dfa related data. (regfree): Add free_dfa_content. (re_compile_internal): If any of the called functions fails free all dfa related memory. 2002-11-05 Ulrich Drepper * sysdeps/unix/sysv/linux/sys/sysctl.h: Add ugly hacks to prevent warnings from the kernel headers. 2002-11-05 Roland McGrath * sysdeps/unix/mips/sysdep.h [! __PIC__] (PSEUDO): Add nop after jump. From Johannes Stezenbach . * sysdeps/unix/sysv/linux/mips/Versions (libc: GLIBC_2.0): Change #errlist-compat magic comment to give 123 as size. (libc: GLIBC_2.1): Remove this set, moving #errlist-compat magic to ... (libc: GLIBC_2.2): ... here. (libc: GLIBC_2.3): Likewise. 2002-11-05 Ulrich Drepper * elf/dl-fini.c (_dl_fini): Correct the increment of l_opencount which happens at the beginning so that we can unload modules in __libc_freeres. 2002-11-06 Kaz Kojima * sysdeps/sh/bits/setjmp.h (JB_SIZE): Define only under [__USE_MISC || _ASM]. * elf/elf.h: Remove the obsolete SH TLS relocations. 2002-11-05 Ulrich Drepper * posix/regcomp.c (regcomp): Initialize preg->can_be_null to zero. 2002-11-05 Franz Sirl * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Handle __NR_pread64 and __NR_pwrite64. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/pread.c: Remove __NR_pread64 and __NR_pwrite64. Revert change to use INLINE_SYSCALL. * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Revert change to use INLINE_SYSCALL. * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL): Update clobber list and add a comment about the syscall ABI. * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_pread64, s_pwrite64, s_ftruncate, s_truncate): Re-add. 2002-11-05 Jakub Jelinek * iconv/gconv_dl.c (free_mem): Clear loaded. * locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's cleanup if any. 2002-11-05 Ulrich Drepper * sysdeps/unix/sysv/linux/fexecve.c: Include . * libio/ioseekoff.c: Remove INTDEF. Define _IO_seekoff_unlocked. Same as old code without locking. _IO_seekoff calls this function after locking the stream. * libio/ioseekpos.c: Likewise for _IO_seekpos. * libio/libioP.h: Replace _IO_seekoff_internal and _IO_seekpos_internal prototypes with _IO_seekoff_unlocked and _IO_seekpos_unlocked prototypes. * libio/iolibio.h (_IO_fseek): Call _IO_seekoff_unlocked instead of _IO_seekoff_internal. (_IO_rewind): Likewise. * libio/ioftell.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/oldiofgetpos.c: Likewise. * libio/oldiofgetpos64.c: Likewise. * libio/iofsetpos.c: Call _IO_seekpos_unlocked instead of _IO_seekpos_internal. * libio/iofsetpos64.c: Likewise. * libio/oldiofsetpos.c: Likewise. * libio/oldiofsetpos64.c: Likewise. 2002-11-04 Roland McGrath * sysdeps/unix/sysv/linux/powerpc/chown.c: Use INLINE_SYSCALL macro. * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pread.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/tcgetattr.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/tcsetattr.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ioctl, s_chown, s_ftruncate64, s_mmap2, s_pread64, s_pwrite64, s_truncate64, sys_fstat, sys_lstat, sys_mknod, sys_readv, sys_stat, sys_writev): Remove these, no longer used. 2002-11-04 Franz Sirl * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ipc, s_llseek, s_readahead, s_execve, s_fcntl, s_fcntl64, s_fstat64, s_getcwd, s_getdents, s_getdents64, s_getpmsg, s_getpriority, s_getrlimit, s_lstat64, s_poll, s_ptrace, s_putpmsg, s_reboot, s_setrlimit, s_sigaction, s_sigpending, s_sigprocmask, s_sigsuspend, s_stat64, s_sysctl, s_ugetrlimit, s_ustat, s_vfork): Remove now unused syscall stubs. * sysdeps/unix/sysv/linux/pwrite.c: Fix typo. * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pread.c: Handle both __NR_pread64 and __NR_pread. * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Handle both __NR_pwrite64 and __NR_pwrite. * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise. 2002-11-03 Roland McGrath * sysdeps/generic/ldsodefs.h (struct rtld_global): New member `_dl_tls_static_used'. * sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable. (__libc_setup_tls): Initialize it. Let the initial value of _dl_tls_static_size indicate some surplus space in the computed value. * elf/dl-open.c (_dl_tls_static_size): New variable. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Initialize _dl_tls_static_used. Add some surplus space into _dl_tls_static_size. * elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function. (CHECK_STATIC_TLS): Use it. * elf/dl-close.c (_dl_close): Adjust _dl_tls_static_used when the closed objects occupied a trailing contiguous chunk of static TLS area. 2002-10-18 Bruno Haible * charmaps/ISO_5428: Use Greek characters introduced in Unicode 3.0. 2002-11-04 Ulrich Drepper * libio/wfileops.c (_IO_wfile_seekoff): Don't modify _offset and _wide_data->_IO_read_end if adjustment can be made in the current buffer. * sysdeps/unix/sysv/linux/fexecve.c: New file. * libio/bug-wfflush.c (do_test): Using fseek is not allowed when wide oriented streams are used. * nss/getXXent_r.c (ENDFUNC_NAME): Don't do anything if the service hasn't been used [PR libc/4744]. * include/features.h: Use __STDC_VERSION__ not __STDC_VERSION. Reported by Miloslav Trmac [PR libc/4766]. * manual/examples/dir.c: Don't include . * manual/examples/select.c: Include for TEMP_FAILURE_RETRY. Reported by Frédéric Delanoy . 2002-11-02 H.J. Lu * stdio-common/reg-printf.c: Include . 2002-11-03 Ulrich Drepper * sysdeps/generic/libc-tls.c: Define _dl_tls_static_used. * po/ca.po: Update from translation team. * po/es.po: Likewise. * sysdeps/generic/segfault.c (catch_segfault): If HAVE_PROC_SELF is defined write out memory map. * sysdeps/unix/sysv/linux/segfault.c: New file. 2002-11-02 Roland McGrath * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use union type for pointers that can alias. Reported by Daniel Jacobowitz . * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h: New file. 2002-11-02 Roland McGrath * manual/filesys.texi (Reading/Closing Directory): Rewrite readdir_r description to be clearer and to say that *RESULT is set to ENTRY. 2002-10-30 Jakub Jelinek * posix/regexec.c (build_trtable): Alloca or malloc dests_node and dests_ch arrays together. Alloca or malloc dest_states, dest_states_word and dest_states_nl arrays together. Free memory on error exit. 2002-10-29 Daniel Jacobowitz * crypt/crypt_util.c (__init_des_r): Initialize current_salt and current_saltbits. 2002-11-02 Roland McGrath * stdio-common/reg-printf.c: Include . 2002-11-02 H.J. Lu * sysdeps/unix/sysv/linux/mips/syscalls.list (s_execve): Set caller to EXTRA instead of execve. 2002-11-01 Roland McGrath * sysdeps/generic/errno-loc.c [! USE___THREAD]: Use this conditional in place of [!(USE_TLS && HAVE___THREAD)]. (__errno_location) [! USE___THREAD]: Define as strong, not weak. 2002-10-31 Roger Sayle * sysdeps/i386/soft-fp/sfp-machine.h (_FP_NANFRAC_Q, _FP_NANSIGN_Q): New macros. * sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise. * soft-fp/soft-fp.h: Allow sfp-machine.h to define FP_RND_NEAREST without defining FP_ROUNDMODE. 2002-10-29 Jakub Jelinek * sysdeps/gnu/siglist.c (PTR_SIZE_STR): Remove. (__old_sys_siglist, __old_sys_sigabbrev): Use strong_alias and declare_symbol. * sysdeps/mach/hurd/siglist.h (OLD_SIGLIST_SIZE_STR): Remove. (OLD_SIGLIST_SIZE): Define. * sysdeps/unix/sysv/linux/siglist.h (OLD_SIGLIST_SIZE_STR): Remove. (OLD_SIGLIST_SIZE): Define. * sysdeps/unix/sysv/linux/arm/siglist.c: Remove. 2002-11-01 Jakub Jelinek * sysdeps/ia64/strncpy.S: Fix recovery code. 2002-10-30 Jakub Jelinek * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn): New macros. * elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove text_set_element. * elf/dl-libc.c (free_mem): Likewise. * iconv/gconv_conf.c (free_mem): Likewise. * iconv/gconv_db.c (free_mem): Likewise. * iconv/gconv_dl.c (free_mem): Likewise. * iconv/gconv_cache.c (free_mem): Likewise. * intl/finddomain.c (free_mem): Likewise. * intl/dcigettext.c (free_mem): Likewise. * locale/setlocale.c (free_mem): Likewise. * misc/fstab.c (fstab_free): Likewise. * nss/nsswitch.c (free_mem): Likewise. * posix/regcomp.c (free_mem): Likewise. * resolv/gai_misc.c (free_res): Likewise. * stdlib/fmtmsg.c (free_mem): Likewise. * sunrpc/clnt_perr.c (free_mem): Likewise. * sysdeps/generic/setenv.c (free_mem): Likewise. * sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise. * sysdeps/pthread/aio_misc.c (free_res): Likewise. * time/tzset.c (free_mem): Likewise. * malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section. * locale/loadarchive.c (_nl_archive_subfreeres): Likewise. * malloc/set-freeres.c (__libc_freeres): Likewise. * login/getutent.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutent): Allocate buffer the first time it is run. * login/getutid.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutid): Allocate buffer the first time it is run. * login/getutline.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutline): Allocate buffer the first time it is run. * malloc/mtrace.c (malloc_trace_buffer): Change into char *. (mtrace): Allocate malloc_trace_buffer. * resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf. * resolv/ns_print.c (ns_sprintrrf): Decrease size of t. * string/strerror.c: Include libintl.h and errno.h. (buf): New variable. (strerror): Only allocate buffer if actually needed (unknown error). * time/tzfile.c (transitions): Add libc_freeres_ptr. (freeres): Remove. 2002-10-25 Jakub Jelinek * include/libc-symbols.h (libc_freeres_ptr): New macro. * malloc/set-freeres.c (__libc_freeres_ptrs): Define using symbol_set_define. (__libc_freeres): Free all pointers in that section. * Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed commands when creating .lds script. (LDSEDCMD-c.so): New variable. * inet/rcmd.c (ahostbuf): Change into char *. Add libc_freeres_ptr. (rcmd_af): Use strdup to allocate ahostbuf. * inet/rexec.c (ahostbuf): Change into char *. Add libc_freeres_ptr. (rexec_af): Use strdup to allocate ahostbuf. * stdio-common/reg-printf.c (printf_funcs): Remove. (__printf_arginfo_table): Change into printf_arginfo_function **. Add libc_freeres_ptr. (__register_printf_function): Allocate __printf_arginfo_table and __printf_function_table the first time it is called. * stdio-common/printf-parse.h (__printf_arginfo_table): Change into printf_arginfo_function **. (parse_one_spec): Add __builtin_expect. * grp/fgetgrent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * inet/getnetgrent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * intl/localealias.c (libc_freeres_ptr): Define if !_LIBC. (string_space, map): Add libc_freeres_ptr. (free_mem): Remove. * misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr. (free_mem): Remove. * misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr. (free_mem): Remove. * crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC. (buffer): Add libc_freeres_ptr. (free_mem): Remove for _LIBC. * nss/getXXbyYY.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * nss/getXXent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * pwd/fgetpwent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr. (free_mem): Remove. * shadow/fgetspent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add libc_freeres_ptr. (free_mem): Remove. 2002-10-30 Jakub Jelinek * malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias instead of duplicating the whole function in libc. 2002-10-31 Roland McGrath * sysdeps/i386/bits/byteswap.h [__GNUC__ < 2] (__bswap_32): Renamed from __bswap_16 (typo fix). Reported by . 2002-10-30 Jakub Jelinek * sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Add -D for each 32bit-predefine when creating .new32 list and -U for each 32bit-predefine when creating .new64 list. * sysdeps/unix/sysv/linux/x86_64/Makefile (32bit-predefine): New. 2002-10-29 Andreas Schwab * sysdeps/generic/allocrtsig.c: Include , not "testrtsig.h". Reported by Daniel Jacobowitz . 2002-10-25 Roland McGrath * sysdeps/unix/sysv/linux/configure.in: Fix typo in last change. * sysdeps/unix/sysv/linux/configure: Regenerated. * sysdeps/generic/ldsodefs.h: Remove [! SHARED] conditional from _dl_starting_up decl. 2002-10-20 H.J. Lu * sysdeps/unix/sysv/linux/configure.in: Don't check /lib/modules/`uname -r`/build/include for kernel headers if cross compiling. * sysdeps/unix/sysv/linux/configure: Regenerated. 2002-10-25 Roland McGrath * math/math.h (M_LOG2El): Correct the value. From Stephen L Moshier . * sysdeps/unix/sysv/linux/init-first.c (init): Remove [! SHARED] conditional from __libc_multiple_libcs access. Remove kludge for weak symbol access with old compilers we no longer support. * sysdeps/unix/sysv/aix/init-first.c (init): Likewise. * sysdeps/generic/libc-start.c (__libc_start_main): Likewise. 2002-10-25 Roland McGrath * sysdeps/posix/sigvec.c [SA_RESETHAND]: Disable wrapper hacks and implement SV_RESETHAND by translating it to SA_RESETHAND. 2002-10-23 Alexandre Oliva * elf/dl-reloc.c (_dl_reloc_bad_use): Print the full 32-bit relocation type on ELF64 platforms. 2002-10-24 Ulrich Drepper * elf/elf.h (R_X86_64_GOTTPOFF): Renamed from r_x86_64_GOTTPOFF. * elf/elf.h: Define ELF_NOTE_OS_FREEBSD and NT_TASKSTRUCT. 2002-10-24 Jakub Jelinek * elf/dl-misc.c: Include . (_dl_debug_vdprintf): Only take dl_load_lock if not _dl_starting_up. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros. (INLINE_SYSCALL): Use that. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros. (INLINE_SYSCALL): Use that. * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros. (INLINE_SYSCALL): Use that. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Include dl-sysdep.h. (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant. (__INTERNAL_SYSCALL_STRING): Define. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Include dl-sysdep.h. (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant. (__INTERNAL_SYSCALL_STRING): Define. * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL): Pass __SYSCALL_STRING to inline_syscall*. (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros. (inline_syscall0, inline_syscall1, inline_syscall2, inline_syscall3, inline_syscall4, inline_syscall5, inline_syscall6): Add string argument. 2002-10-24 Roland McGrath * sysdeps/generic/ldsodefs.h (_dl_starting_up): Declare it here. * sysdeps/unix/sysv/linux/init-first.c: Not here. * sysdeps/powerpc/elf/libc-start.c: Or here. * sysdeps/unix/sysv/aix/libc-start.c: Or here. * sysdeps/unix/sysv/aix/start-libc.c: Or here. * sysdeps/unix/sysv/aix/init-first.c: Or here. * sysdeps/generic/libc-start.c: Or here. * sysdeps/unix/sysv/linux/init-first.c (init): Protect _dl_starting_up access with [! SHARED]. * sysdeps/unix/sysv/aix/init-first.c (init): Likewise. * libio/bug-wfflush.c: New file. * libio/Makefile (tests): Add bug-wfflush. 2002-10-23 Roland McGrath * stdio-common/tst-fphex.c: New file. * stdio-common/Makefile (tests): Add tst-fphex. * sysdeps/generic/printf_fphex.c (__printf_fphex): Fix initialization of WNUMEND. Fix counting of decimal point in WIDTH. Print '0' pad chars always before the value digits. Reported by James Antill . 2002-10-24 Jakub Jelinek * posix/regcomp.c (re_comp): Call __regfree on re_comp_buf. (free_mem): New function. * posix/Makefile (tests): Add bug-regex14. Add bug-regex14-mem if not cross compiling. (generated): Add bug-regex14-mem and bug-regex14.mtrace. (bug-regex14-ENV): Set. (bug-regex14-mem): New target. * posix/bug-regex14.c: New file. 2002-10-23 Roland McGrath * elf/Makefile ($(objpfx)librtld.map): Use temporary file for output target, so we don't touch it when the link fails. * libio/ftello.c (ftello): Use _IO_off64_t for type of POS. Check for the result overflowing off_t and fail with EOVERFLOW. * libio/ioftell.c (_IO_ftell): Likewise. * libio/iofgetpos.c (_IO_new_fgetpos): Likewise. * login/logwtmp.c (logwtmp): If sizeof ut_tv != sizeof struct timeval, use a temporary timeval on the stack for gettimeofday and copy it. * login/logout.c (logout): Likewise. Reported by Steven Munroe . * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Use __SWORD_TYPE instead of int for member types. (struct statfs64): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/statfs.h: New file. * sysdeps/unix/sysv/linux/s390/bits/statfs.h: New file. * sysdeps/unix/sysv/linux/ia64/bits/statfs.h: File removed. * sysdeps/unix/sysv/linux/sparc/bits/statfs.h: File removed. * sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: File removed. * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Moved to ... * sysdeps/unix/sysv/linux/bits/statvfs.h: ... here. (ST_NODIRATIME): Restore fixed value of 2048. * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: File removed. * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: File removed. Rearranged definitions to reduce duplication. * sysdeps/generic/bits/types.h: Rewritten, using macros from and new header . * posix/Makefile (headers): Add bits/typesizes.h here. * sysdeps/generic/bits/typesizes.h: New file. * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file. * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file. * sysdeps/mach/hurd/bits/typesizes.h: New file. * sysdeps/unix/sysv/linux/alpha/bits/types.h: File removed. * sysdeps/unix/sysv/linux/bits/types.h: File removed. * sysdeps/unix/sysv/linux/ia64/bits/types.h: File removed. * sysdeps/unix/sysv/linux/mips/bits/types.h: File removed. * sysdeps/unix/sysv/linux/s390/bits/types.h: File removed. * sysdeps/unix/sysv/linux/sparc/bits/types.h: File removed. * sysdeps/unix/sysv/linux/x86_64/bits/types.h: File removed. * posix/sys/types.h [__USE_POSIX199506 || __USE_UNIX98]: Include here, not in . * signal/signal.h: Likewise. * streams/stropts.h: Include . * streams/Makefile (headers): Add bits/xtitypes.h here. * sysdeps/generic/bits/xtitypes.h: New file. * sysdeps/s390/bits/xtitypes.h: New file. * sysdeps/ia64/bits/xtitypes.h: New file. * sysdeps/x86_64/bits/xtitypes.h: New file. * sysvipc/Makefile (headers): Add bits/ipctypes.h here. * sysdeps/generic/bits/ipctypes.h: New file. * sysdeps/mips/bits/ipctypes.h: New file. * sysdeps/gnu/bits/shm.h: Include . * sysdeps/gnu/bits/msq.h: Likewise. * sysvipc/sys/ipc.h: Likewise. 2002-10-22 Ulrich Drepper * elf/dl-load.c (struct filebuf): For buf element to have the alignment of ElfXX_Ehdr since this is what will be stored in it. 2002-10-22 Jakub Jelinek * locale/programs/locarchive.c (add_alias): Change locrec_offset arg into pointer to locrec_offset. (add_locale_to_archive): Adjust callers. Free normalized_name right before returning, not immediately after add_locale, pass it to add_alias if not NULL instead of name. Rename second normalized_name occurence to nnormalized_codeset_name. * locale/programs/locarchive.c (enlarge_archive): Make sure string_size is always a multiple of 4. Reported by Andreas Schwab . 2002-10-21 Andreas Schwab * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_execve): Set caller to EXTRA instead of execve, since the latter has a higher-priority implementation in linuxthreads. 2002-10-21 Roland McGrath * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize the static slotinfo list's len member to the proper size, not just 1. Initialize static_map.l_tls_initimage. * elf/dl-open.c (dl_open_worker): Fix loop searching for dtv_slotinfo_list element containing new modules' l_tls_modid. * elf/tst-tls9.c, elf/tst-tls9-static.c: New files. * elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files. * elf/Makefile (tests): Add tst-tls9. (tests-static): Add tst-tls9-static. (tst-tls9-static-ENV): New variable. ($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets. * elf/dl-close.c (remove_slotinfo): Remove an assert; the number of modids used by partially loaded modules being closed can't be known. 2002-10-21 Isamu Hasegawa * posix/Makefile: Add a test case for the bug reported by Aharon Robbins . * posix/bug-regex13.c: New file. * posix/regcomp.c (peek_token_bracket): Skip the byte already read. 2002-10-21 Ulrich Drepper * csu/gmon-start.c: Pretty printing. 2002-10-19 Art Haas * configure.in: Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS, add AC_HELP_STRING to all AC_ARG_WITH and AC_ARG_ENABLE macros, add autoconf quotes to the AC_CONFIG_AUX_DIR macro. * configure: Regenerated. 2002-10-19 Roland McGrath * configure.in: Call AC_CONFIG_SUBDIRS with empty argument and then set $subdirs directly, because the new Autoconf breaks compatibility in every way imaginable and insists on whining about usage that worked since the dawn of time. * configure: Regenerated. * configure: Regenerated (using Autoconf 2.54). * sysdeps/alpha/elf/configure: Likewise. * sysdeps/generic/configure: Likewise. * sysdeps/i386/elf/configure: Likewise. * sysdeps/ia64/elf/configure: Likewise. * sysdeps/mach/hurd/configure: Likewise. * sysdeps/mach/configure: Likewise. * sysdeps/unix/configure: Likewise. * sysdeps/unix/common/configure: Likewise. * sysdeps/unix/sysv/aix/configure: Likewise. * sysdeps/unix/sysv/linux/configure: Likewise. * sysdeps/unix/sysv/linux/mips/configure: Likewise. * sysdeps/x86_64/elf/configure: Likewise. * config.make.in: Nix completely-soft nonsense. * configure.in: Likewise. Under --without-fp, use nofpu subdirectory of machine directories instead of fpu subdirectory. * sysdeps/powerpc/soft-fp/Makefile: Remove cruft added in last change. * sysdeps/powerpc/nofpu/Makefile: Put it in this new file instead. * sysdeps/powerpc/soft-fp/sim-full.c: Moved to ... * sysdeps/powerpc/nofpu/sim-full.c: ... here. * sysdeps/powerpc/soft-fp/fraiseexcpt.c: Moved to ... * sysdeps/powerpc/nofpu/fraiseexcpt.c: ... here. * sysdeps/powerpc/soft-fp/fegetexcept.c: Moved to ... * sysdeps/powerpc/nofpu/fegetexcept.c: ... here. * sysdeps/powerpc/soft-fp/fclrexcpt.c: Moved to ... * sysdeps/powerpc/nofpu/fclrexcpt.c: ... here. * sysdeps/powerpc/soft-fp/ftestexcept.c: Moved to ... * sysdeps/powerpc/nofpu/ftestexcept.c: ... here. * sysdeps/powerpc/soft-fp/fgetexcptflg.c: Moved to ... * sysdeps/powerpc/nofpu/fgetexcptflg.c: ... here. * sysdeps/powerpc/soft-fp/fsetexcptflg.c: Moved to ... * sysdeps/powerpc/nofpu/fsetexcptflg.c: ... here. * sysdeps/powerpc/soft-fp/fedisblxcpt.c: Moved to ... * sysdeps/powerpc/nofpu/fedisblxcpt.c: ... here. * sysdeps/powerpc/soft-fp/feenablxcpt.c: Moved to ... * sysdeps/powerpc/nofpu/feenablxcpt.c: ... here. * sysdeps/powerpc/soft-fp/fegetenv.c: Moved to ... * sysdeps/powerpc/nofpu/fegetenv.c: ... here. * sysdeps/powerpc/soft-fp/fesetenv.c: Moved to ... * sysdeps/powerpc/nofpu/fesetenv.c: ... here. * sysdeps/powerpc/soft-fp/fegetround.c: Moved to ... * sysdeps/powerpc/nofpu/fegetround.c: ... here. * sysdeps/powerpc/soft-fp/fesetround.c: Moved to ... * sysdeps/powerpc/nofpu/fesetround.c: ... here. * sysdeps/powerpc/soft-fp/feupdateenv.c: Moved to ... * sysdeps/powerpc/nofpu/feupdateenv.c: ... here. * sysdeps/powerpc/soft-fp/feholdexcpt.c: Moved to ... * sysdeps/powerpc/nofpu/feholdexcpt.c: ... here. * sysdeps/powerpc/soft-fp/fenv_const.c: Moved to ... * sysdeps/powerpc/nofpu/fenv_const.c: ... here. * sysdeps/powerpc/soft-fp/libm-test-ulps: Moved to ... * sysdeps/powerpc/nofpu/libm-test-ulps: ... here. * sysdeps/powerpc/soft-fp/soft-supp.h: Moved to ... * sysdeps/powerpc/nofpu/soft-supp.h: ... here. * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Moved to ... * sysdeps/powerpc/nofpu/Versions: ... here, new file. 2002-10-19 Bruno Haible * sysdeps/unix/bsd/bsd4.4/freebsd/sys/sysmacros.h: New file. 2002-10-18 Roland McGrath * io/Makefile (routines): Add lchmod. * io/sys/stat.h [__USE_BSD] (lchmod): Declare it. * sysdeps/generic/lchmod.c: New file. * sysdeps/mach/hurd/lchmod.c: New file. * io/Versions (libc: GLIBC_2.3.2): New set, add lchmod. 2002-10-18 Art Haas * configure.in: Remove remaining AC_FD_CC macros, and replace AC_FD_MSG with AS_MESSAGE_FD. 2002-10-18 Roland McGrath * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): Fix typos: VALUE -> FINALADDR. * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL, INLINE_SYSCALL1) (inline_syscall_clobbers, inline_syscall0, inline_syscall1) (inline_syscall2, inline_syscall3, inline_syscall4, inline_syscall5) (inline_syscall6): Move these macros ... * sysdeps/unix/sysv/linux/alpha/sysdep.h: ... to here. * configure.in (libc_link_dests, libc_link_sources): Remove these variables and the AC_LINK_FILES call. * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Fix last change to put new symbols here instead of in GLIBC_2.2. * sysdeps/powerpc/Subdirs: Move this file ... * sysdeps/powerpc/soft-fp/Subdirs: ... here. 2002-10-07 Roland McGrath * sysdeps/generic/bits/time.h: Replaced with contents of the sysdeps/unix/sysv/linux/i386/bits/time.h file. All the following files were identical except for the absence of CLOCK_THREAD_CPUTIME_ID and CLOCK_PROCESS_CPUTIME_ID in .../linux/bits/time.h; adding these macros is ok even for architectures that don't now implement them. * sysdeps/mach/hurd/bits/time.h: File removed. * sysdeps/unix/sysv/linux/bits/time.h: File removed. * sysdeps/unix/sysv/linux/i386/bits/time.h: File removed. * sysdeps/unix/sysv/linux/ia64/bits/time.h: File removed. * sysdeps/unix/sysv/linux/sparc/bits/time.h: File removed. * sysdeps/unix/sysv/linux/x86_64/bits/time.h: File removed. 2002-10-18 Jeff Bailey * configure.in: Replace obsolete AC_OUTPUT syntax with AC_CONFIG_FILES, AC_CONFIG_COMMANDS, and new-type AC_OUTPUT trio. * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDEs for _AS_PATH_SEPARATOR_PREPARE and _AS_TEST_PREPARE. * configure.in: Replace AC_FD_CC with AS_MESSAGE_LOG_FD. * sysdeps/alpha/elf/configure.in: Likewise. * sysdeps/i386/elf/configure.in: Likewise. * sysdeps/mach/hurd/configure.in: Likewise. * sysdeps/x86_64/elf/configure.in: Likewise. * configure.in: Use AC_CONFIG_SRCDIR and new AC_INIT syntax. * sysdeps/alpha/elf/configure.in: Remove unneeded sinclude statement. * sysdeps/generic/configure.in: Likewise. * sysdeps/i386/elf/configure.in: Likewise. * sysdeps/ia64/elf/configure.in: Likewise. * sysdeps/mach/configure.in: Likewise. * sysdeps/mach/hurd/configure.in: Likewise. * sysdeps/unix/configure.in: Likewise. * sysdeps/unix/common/configure.in: Likewise. * sysdeps/unix/sysv/aix/configure.in: Likewise. * sysdeps/unix/sysv/linux/configure.in: Likewise. * sysdeps/unix/sysv/linux/mips/configure.in: Likewise. * sysdeps/x86_64/elf/configure.in: Likewise. * aclocal.m4: Use just the bits from AS_INIT that are needed for the GLIBC_PROVIDES. Use plain comment instead of HEADER-COMMENT so that it's obvious when extra autoconf machinery is being dragged in. 2002-10-18 Roland McGrath * configure.in: Remove bogus echo included in 2002-10-08 Aldy Hernandez change. * configure: Regenerated. 2002-10-18 Jakub Jelinek * sysdeps/unix/sysv/linux/pathconf.h (statfs_link_max): Add inline. (statfs_filesize_max): New function. * sysdeps/unix/sysv/linux/linux_fsinfo.h (JFFS_SUPER_MAGIC, JFFS2_SUPER_MAGIC, JFS_SUPER_MAGIC, NTFS_SUPER_MAGIC, ROMFS_SUPER_MAGIC, UDF_SUPER_MAGIC): Define. * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use statfs_filesize_max. * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise. * sysdeps/unix/sysv/linux/alpha/fpathconf.c: Removed. * sysdeps/unix/sysv/linux/alpha/pathconf.c: Removed. 2002-10-17 Roland McGrath * configure.in (MIG): Just AC_SUBST it here. * configure: Regenerated. * sysdeps/mach/configure.in (MIG): Do the AC_CHECK_TOOL here. Adding final - argument to all AC_CHECK_HEADER uses for .defs files. * sysdeps/mach/configure: Regenerated. * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_TR_SH_PREPARE]) and AC_PROVIDE([_AS_CR_PREPARE]). * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_ECHO_N_PREPARE]). Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]). * elf/dl-support.c: Move _dl_tls_* variables to ... * sysdeps/generic/libc-tls.c: ... here. * elf/dl-close.c (remove_slotinfo): Take new argument. If false, allow IDX to be one past the current last slotinfo entry. (_dl_close): Pass IMAP->l_init_called for that parameter. 2002-10-07 Andreas Schwab * aclocal.m4: Fix for autoconf 2.53. * configure.in: Likewise. Require autoconf 2.53. 2002-10-08 Richard Henderson * soft-fp/op-4.h: Handle carry correctly in __FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3, __FP_FRAC_SUB_4, __FP_FRAC_DEC_3, __FP_FRAC_DEC_4. * soft-fp/op-common.h: New macros _FP_DIV_MEAT_N_loop. 2002-10-08 Aldy Hernandez * configure.in: Compute completely-soft. * config.make.in: Make completely-soft available to sub-makes. * sysdeps/powerpc/soft-fp/Makefile: Add gcc-single-routines and gcc-double-routines. Add sim-full.c. Add fenv_const and fe_nomask to libm-support. * sysdeps/powerpc/soft-fp/sim-full.c: New file. * sysdeps/powerpc/soft-fp/fraiseexcpt.c: New file. * sysdeps/powerpc/soft-fp/fegetexcept.c: New file. * sysdeps/powerpc/soft-fp/fclrexcpt.c: New file. * sysdeps/powerpc/soft-fp/ftestexcept.c: New file. * sysdeps/powerpc/soft-fp/fgetexcptflg.c: New file. * sysdeps/powerpc/soft-fp/fsetexcptflg.c: New file. * sysdeps/powerpc/soft-fp/fedisblxcpt.c: New file. * sysdeps/powerpc/soft-fp/feenablxcpt.c: New file. * sysdeps/powerpc/soft-fp/fegetenv.c: New file. * sysdeps/powerpc/soft-fp/fesetenv.c: New file. * sysdeps/powerpc/soft-fp/fegetround.c: New file. * sysdeps/powerpc/soft-fp/fesetround.c: New file. * sysdeps/powerpc/soft-fp/feupdateenv.c: New file. * sysdeps/powerpc/soft-fp/feholdexcpt.c: New file. * sysdeps/powerpc/soft-fp/fenv_const.c: New file. * sysdeps/powerpc/soft-fp/libm-test-ulps: New file. * sysdeps/powerpc/soft-fp/soft-supp.h: New file. * sysdeps/powerpc/soft-fp/Versions: Add libgcc soft-float symbols. Add __sim_disabled_exceptions, __sim_exceptions, __sim_round_mode. * sysdeps/powerpc/soft-float/Dist: Add sim-full.c, fenv_const.c. * sysdeps/powerpc/soft-float/sfp-machine.h: Define FP_HANDLE_EXCEPTIONS. Define FP_ROUNDMODE. Redefine FP_* macros to correspond to the FE_* bit positions. Define FP_DIV_MEAT_S to _FP_DIV_MEAT_1_loop. Define externs for __sim_exceptions, __sim_disabled_exceptions, __sim_round_mode, __simulate_exceptions. * sysdeps/powerpc/fpu/bits/fenv.h: Move file from here... * sysdeps/powerpc/bits/fenv.h: ...to here. 2002-10-06 Jakub Jelinek * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): Store R_PPC_UADDR32 and R_PPC_UADDR16 one byte at a time. Use __builtin_expect for R_PPC_ADDR24 overflow check. Fix R_PPC_ADDR16, R_PPC_UADDR16 and R_PPC_ADDR14* overflow check, use __builtin_expect. 2002-10-15 Jakub Jelinek * include/resolv.h (__libc_res_nquery, __libc_res_nsearch, __libc_res_nsend): New prototypes. * resolv/res_query.c (QUERYSIZE): Define. (__libc_res_nquery): Renamed from res_nquery. Added answerp argument. Allocate only QUERYSIZE bytes first, if res_nmkquery fails use MAXPACKET buffer. Call __libc_res_nsend instead of res_nsend, pass answerp. (res_nquery): Changed into wrapper around __libc_res_nquery. (__libc_res_nsearch): Renamed from res_nsearch. Added answerp argument. Call __libc_res_nquerydomain and __libc_res_nquery instead of the non-__libc_ variants, pass them answerp. (res_nsearch): Changed into wrapper around __libc_res_nsearch. (__libc_res_nquerydomain): Renamed from res_nquerydomain. Added answerp argument. Call __libc_res_nquery instead of res_nquery, pass answerp. (res_nquerydomain): Changed into wrapper around __libc_res_nquerydomain. * resolv/res_send.c: Include sys/ioctl.h. (MAXPACKET): Define. (send_vc): Change arguments. Reallocate answer buffer if it is too small. (send_dg): Likewise. (__libc_res_nsend): Renamed from res_nsend. Added ansp argument. Reallocate answer buffer if it is too small and hooks are in use. Adjust calls to send_vc and send_dg. (res_nsend): Changed into wrapper around __libc_res_nsend. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Allocate just 1K answer buffer on the stack, use __libc_res_nsearch instead of res_nsearch. (_nss_dns_gethostbyaddr_r): Similarly with __libc_res_nquery. * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise. (_nss_dns_getnetbyname_r): Similarly with __libc_res_nsearch. * resolv/gethnamaddr.c (gethostbyname2): Likewise. (gethostbyaddr): Similarly with __libc_res_nquery. * resolv/Versions (libresolv): Export __libc_res_nquery and __libc_res_nsearch at GLIBC_PRIVATE. 2002-10-17 Roland McGrath * configure.in: Grok --without-__thread and disable HAVE___THREAD. * configure: Regenerated. * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Do CHECK_STATIC_TLS before performing the reloc, not after. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. 2002-10-17 Ulrich Drepper * locale/programs/locale.c (write_locales): Use 'm' flag in fopen call. * locale/programs/linereader.c (lr_open): Likewise. * locale/programs/charmap-dir.c (charmap_open): Likewise. * locale/programs/locarchive.c (add_locale_to_archive): Likewise. 2002-10-17 Isamu Hasegawa * posix/bug-regex11.c: Add a test case for the bug reported by Paolo Bonzini . * posix/regexec.c (sift_states_bkref): Use correct destination of the back reference. 2002-10-17 Roland McGrath * elf/dl-load.c (_dl_map_object_from_fd): Don't check DF_STATIC_TLS. * elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro to signal error if an IE-model TLS reloc resolved to a dlopen'd module. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela): Call it after performing TPOFF relocs. * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op). * elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash when closing a partially-initialized object. * elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose instead of _dl_fatal_printf when we see PT_TLS. * Makeconfig (CPPFLAGS): Fix last change to use $(libof-$( * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed. instead of += to append, to be sure $(lib) gets expanded at defn time. (libof-$(cpp-src)): New variable, define this instead. * extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup. (lib): Don't use override. (CPPFLAGS-$(lib)): New variable, put -D's here. * Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename. Also add $(CPPFLAGS-LIB) before the file-specific flags, for each LIB found by $(libof-*) for basename, target, or source. * Makerules (CPPFLAGS-nonlib): New variable. * nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk. * locale/Makefile (lib): Likewise. * sunrpc/Makefile (lib): Likewise. * sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ... * sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here. * sysdeps/unix/sysv/linux/pathconf.h: New file. (statfs_link_max): New function, guts from fpathconf.c. * sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that. * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise. * sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten to use the linux/pathconf.c code by #include rather than duplication. * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise. 2002-10-16 Jakub Jelinek * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Use __libc_errno only for libc itself. 2002-10-16 Andreas Jaeger * sysdeps/x86_64/_mcount.S: Fix off-by-1 error in argument access. 2002-10-16 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER): Use __libc_errno only for libc itself. 2002-10-15 Roland McGrath Jakub Jelinek * sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h $(objpfx)syscall-%.d): Take code from sparc/Makefile to produce a bi-arch file as needed. That's now parameterized by the variable $(64bit-predefine). Use LC_ALL=C for `comm' commands in that rule. No longer conditional on [$(no_syscall_list_h)]. * sysdeps/unix/sysv/linux/sparc/Makefile: Remove replacement rules. (64bit-predefine): New variable. * sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/Makefile: New file. * sysdeps/unix/sysv/linux/powerpc/Makefile (64bit-predefine): New variable. 2002-10-15 Roland McGrath * sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h $(objpfx)syscall-%.d) * login/utmp-private.h: Declare __libc_utmp_lock. * sysdeps/unix/getlogin_r.c (getlogin_r): Take __libc_utmp_lock once and call __libc_utmp_jump_table functions directly, instead of using __setutent et al. * sysdeps/unix/sysv/linux/configure.in: Use case instead of if. * sysdeps/unix/sysv/linux/configure: Regenerated. * sysdeps/gnu/bits/utmp.h: Include . (struct lastlog) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Use int32_t for ll_time. (struct utmp) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Use int32_t instead of long int for ut_session. Use an anonymous struct with 32-bit fields for ut_tv. * sysdeps/gnu/bits/utmpx.h: Include . (struct utmpx) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Do the same here as in utmp.h for `struct utmp'. * sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: File removed. * sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: File removed. * sysdeps/unix/sysv/linux/sparc/bits/utmp.h: File removed. * sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: File removed. * sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: File removed. * sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: File removed. * sysdeps/unix/sysv/linux/bits/resource.h: Replaced with the contents of the sysdeps/unix/sysv/linux/i386/bits/resource.h file. All the following files were identical or equivalent to it. * sysdeps/unix/sysv/linux/i386/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/arm/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/cris/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/hppa/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/ia64/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/m68k/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/powerpc/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/s390/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/sh/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: File removed. * sysdeps/unix/sysv/linux/bits/socket.h (struct msghdr): Use size_t instead of int for msg_iovlen, instead of socklen_t for msg_controllen. Other than the previously incorrect sign of msg_iovlen, this is a no-op on 32-bit platforms. On 64-bit platforms it makes this header match their layouts as well, so the following are now identical to it. * sysdeps/unix/sysv/linux/s390/bits/socket.h: File removed. * sysdeps/unix/sysv/linux/sparc/bits/socket.h: File removed. * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: File removed. * sysdeps/unix/sysv/linux/ia64/bits/socket.h: File removed. * sysdeps/unix/sysv/linux/alpha/bits/socket.h: File removed. 2002-10-15 Ulrich Drepper * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL): Define for 2.4+ kernels. * sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which are known to have the vfork syscall. Don't confuse the CPUs branch prediction unit by jumping to the return address. * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__fpathconf): Add support for reiserfs and xfs. * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Add case for XFS link count. * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define XFS_SUPER_MAGIC and XFS_LINK_MAX. Patch by Eric Sandeen [PR libc/4706]. 2002-10-16 Jakub Jelinek * include/libc-symbols.h (attribute_tls_model_ie): Define. * include/errno.h (errno): Define to __libc_errno in libc.so. Add attribute_tls_model_ie. * include/netdb.h (h_errno): Define to __libc_h_errno in libc.so. Add attribute_tls_model_ie. * include/resolv.h (_res): Define to __libc_res in libc.so. Add attribute_tls_model_ie. * inet/herrno.c (__libc_h_errno): Add hidden alias to h_errno. (h_errno): Define. * resolv/res_libc.c (__libc_res): Add hidden alias to _res. (_res): Define. * sysdeps/generic/bits/libc-tsd.h (__libc_tsd_define): Add attribute_tls_model_ie. * sysdeps/generic/errno-loc.c (errno): Only undefine if not using __thread. * sysdeps/generic/errno.c (__libc_errno): Add hidden alias to errno. * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER): Use __libc_errno in USE___THREAD case. * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Likewise. * configure.in (HAVE_TLS_MODEL_ATTRIBUTE): Check for __attribute__((tls_model (""))). * configure: Rebuilt. * config.h.in (HAVE_TLS_MODEL_ATTRIBUTE): Add. 2002-10-15 Ulrich Drepper * timezone/asia: Update from tzdata2002d. * timezone/australasia: Likewise. * timezone/iso3166.tab: Likewise. * timezone/southamerica: Likewise. * timezone/zone-tab: Likewise. 2002-10-15 Roland McGrath * sysdeps/generic/dl-tls.c (_dl_deallocate_tls) [TLS_TCB_AT_TP]: Adjust TCB pointer before calling free, so we get the whole block. 2002-10-14 Roland McGrath * sysdeps/unix/sysv/linux/x86_64/sigaction.c [HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]: Declare restore_rt extern using attribute_hidden instead of static, avoids warning. 2002-10-09 Jakub Jelinek * sysdeps/unix/sysv/linux/configure.in: Use */lib64 for s390x too. * sysdeps/unix/sysv/linux/configure: Rebuilt. 2002-10-14 Ulrich Drepper * po/sv.po: Update from translation team. 2002-10-12 H.J. Lu * sunrpc/thrsvc.c (PROCQUIT): New. (struct rpc_arg): New. (dispatch): Call exit (0) if request->rq_proc == PROCQUIT. (test_one_call): Take struct rpc_arg * instead of CLIENT *c. (thread_wrapper): Modified for struct rpc_arg * and call PROCQUIT. (main): Modified for struct rpc_arg *. 2002-10-14 Ulrich Drepper * dirent/scandir.c: Rearrange code a bit to reduce binary size. 2002-10-14 Jakub Jelinek * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Include tls.h. (SYSCALL_ERROR_HANDLER): Use RTLD_PRIVATE_ERRNO sequence in ld.so even if __thread is supported. 2002-10-13 Jakub Jelinek * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter): Add hack to prevent the compiler from clobbering the signal context. * sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/x86_64/profil-counter.h (profil_counter): Likewise. 2002-10-14 Andreas Jaeger * sysdeps/mips/fpu/libm-test-ulps: Regenerated by Guido Guenther . 2002-10-14 Ulrich Drepper * po/sk.po: Update from translation team. 2002-09-26 Roland McGrath * elf/dl-load.c (_dl_dst_count, _dl_dst_substitute): Handle $LIB dynamic string tag. * elf/Makefile ($(objpfx)trusted-dirs.st): Make the output define DL_DST_LIB based on $(slibdir). 2002-10-13 Roland McGrath * elf/rtld-Rules ($(objpfx)rtld-libc.a): Use $(verbose) in ar command. * sysdeps/mach/hurd/getresuid.c: New file. * sysdeps/mach/hurd/getresgid.c: New file. * sysdeps/mach/hurd/setresuid.c: New file. * sysdeps/mach/hurd/setresgid.c: New file. * posix/unistd.h [__USE_GNU] (getresuid, getresgid, setresuid, setresgid): Declare them. * NEWS: Mention it. * include/unistd.h (__getresuid, __getresgid, __setresuid, __setresgid): Declare them, add libc_hidden_proto. * posix/Versions (libc: GLIBC_2.3.2): New set. Add getresuid, getresgid, setresuid, setresgid here. * Versions.def (libc): Define GLIBC_2.3.2 set. * sysdeps/generic/getresuid.c (__getresuid): Fix argument types. Add libc_hidden_def. * sysdeps/generic/getresgid.c (__getresgid): Likewise. * sysdeps/generic/setresgid.c: New file. * sysdeps/generic/setresuid.c: New file. * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] (sysdep_routines): Don't add getresuid and getresgid here. * sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = misc] (sysdep_routines): Don't add setresuid and setresgid here. * sysdeps/unix/sysv/linux/cris/Makefile: Likewise. * sysdeps/unix/sysv/linux/sh/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. * posix/Makefile (routines): Add them all here instead. * sysdeps/unix/sysv/linux/i386/getresuid.c (getresuid): Renamed to __getresuid. Add libc_hidden_def for that, and weak alias to old name. * sysdeps/unix/sysv/linux/i386/getresgid.c (getresgid): Renamed to __getresgid. Add libc_hidden_def for that, and weak alias to old name. * sysdeps/unix/sysv/linux/i386/setresuid.c: Add libc_hidden_def. [! __NR_setresuid]: Include generic file. * sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Renamed to __setresgid. Add libc_hidden_def for that, and weak alias to old name. [! __NR_setresuid]: Include generic file. * sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid): Caller is - now, not EXTRA. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid, setresgid, getresuid, getresgid): Likewise. * sysdeps/unix/sysv/linux/syscalls.list (getresuid, getresgid): Add these calls here. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove them here. * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] (sysdep_routines): Add setfsuid and setfsgid here. * sysdeps/unix/sysv/linux/arm/Makefile: Not here. * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: Likewise. * sysdeps/unix/sysv/linux/cris/Makefile: Likewise. * sysdeps/unix/sysv/linux/sh/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. * hurd/errno.c: Renamed to ... * hurd/errno-loc.c: ... this. * hurd/Makefile (routines): errno -> errno-loc 2002-10-13 Ulrich Drepper * po/de.po: Update from translation team. * MakeTAGS: Add -E flag to xgettext runs. 2002-10-12 Ulrich Drepper * po/fr.po: Update from translation team. * sysdeps/posix/system.c: Remove support for old and buggy SCO systems. Optimize a bit for use in glibc. 2002-10-12 Roland McGrath * stdio-common/tst-rndseek.c (TIMEOUT): Increase to 10 seconds. Some machines are slow. Guido Guenther has one. 2002-10-12 Ulrich Drepper * po/sv.po: Update from translation team. 2002-10-11 Isamu Hasegawa * posix/regcomp.c (re_compile_fastmap_iter): Remove the handling OP_CONTEXT_NODE. (regfree): Likewise. (create_initial_state): Likewise. (analyze): Remove the substitutions which became useless. (calc_first): Likewise. (calc_epsdest): Use edests of OP_BACK_REF in case that it has epsilon destination. (duplicate_node_closure): New function. (duplicate_node): Remove the handling OP_CONTEXT_NODE. (calc_inveclosure): Likewise. (calc_eclosure): Likewise. (calc_eclosure_iter): Invoke duplicate_node_closure instead of direct invocation of duplicate_node. (parse): Don't use comma operator in the return to avoid compiler warning. (parse_reg_exp): Likewise. (parse_branch): Likewise. (parse_expression): Likewise. (parse_sub_exp): Likewise. (parse_dup_op): Likewise. * posix/regex_internal.c (re_dfa_add_node): Remove the substitutions which became useless. (create_ci_newstate): Remove the handling OP_CONTEXT_NODE. (create_cd_newstate): Likewise. * posix/regex_internal.h (re_token_type_t): Remove the obsolete type. (re_token_t): Likewise. (re_dfa_t): Likewise. (re_node_set_remove): New macro. * posix/regexec.c (check_matching): Remove the handling OP_CONTEXT_NODE. (check_halt_node_context): Likewise. (proceed_next_node): Likewise. (pop_fail_stack): Fix the memory leak. (set_regs): Likewise. (free_fail_stack_return): New function. (sift_states_backward): Fix the memory leak. Remove the handling OP_CONTEXT_NODE. (update_cur_sifted_state): Append some if clause to avoid redundant call. (sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a back reference. (check_dst_limits): Remove the handling OP_CONTEXT_NODE. (check_subexp_limits): Likewise. (search_subexp): Likewise. (sift_states_bkref): Likewise. (transit_state_mb): Likewise. (transit_state_bkref_loop): Likewise. (transit_state_bkref_loop): Likewise. (group_nodes_into_DFAstates): Likewise. (check_node_accept): Likewise. (sift_ctx_init): Add initializing. 2002-10-12 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/sysdep.h (INLINE_SYSCALL): Use __builtin_expect. 2002-10-11 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily duplicated variable c. * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL if possible. * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL_ERROR_P): New define. (INTERNAL_SYSCALL_ERRNO): Likewise. * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): Add hack to prevent the compiler from clobbering the signal context. 2002-10-11 Roland McGrath * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Fix typos. * sysdeps/generic/dl-lookupcfg.h: Include . * sysdeps/sh/dl-lookupcfg.h: File removed. * sysdeps/i386/dl-lookupcfg.h: File removed. * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Add missing labels and ; from last change. * stdio-common/tst-sscanf.c (val_double): Append .0 to large whole number literals, so they are doubles instead of ints. 2002-10-09 Roland McGrath * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional changed from [USE_TLS && HAVE___THREAD]. * sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel): Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD]. * sysdeps/x86_64/dl-machine.h (elf_machine_type_class, elf_machine_rela): Likewise. * sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela): Likewise. * include/link.h (struct link_map): Remove member l_tls_tp_initialized. * elf/rtld.c (_dl_start_final, dl_main): Don't use it. (_dl_start): Conditionalize PT_TLS check on [USE___THREAD]. * sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal instead of ___tls_get_addr. (___tls_get_addr_internal): Add attribute_hidden to decl. * sysdeps/generic/ldsodefs.h (struct rtld_global): New variable _dl_error_catch_tsd. * elf/rtld.c (startup_error_tsd): New function. (dl_main): Point _dl_error_catch_tsd at that. * elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR, use new function pointer instead. * elf/dl-tsd.c: New file. * elf/Makefile (routines): Add it. 2002-10-07 Roland McGrath * elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for writev if it's available. Otherwise if [RTLD_PRIVATE_ERRNO] then take _dl_load_lock around calling __writev. * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro. (INLINE_SYSCALL): Use that. * sysdeps/generic/dl-sysdep.h: New file. * sysdeps/mach/hurd/dl-sysdep.h: New file. * sysdeps/generic/ldsodefs.h: Include . * include/errno.h [IS_IN_rtld]: Include to define ... [RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and access it directly. * elf/dl-minimal.c (__errno_location): Removed. * sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]: Use GOTOFF access for errno. * sysdeps/unix/sysv/linux/i386/sysdep.h [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise. * sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]: Use PC-relative access for errno. * sysdeps/unix/sysv/linux/x86_64/sysdep.h [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise. * include/tls.h: New file. (USE___THREAD): New macro. Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling libc or libpthread. * sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional changed from [USE_TLS && HAVE___THREAD]. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/i386/sysdep.S: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise. * include/errno.h: Likewise. * include/netdb.h: Likewise. * include/resolv.h: Likewise. * sysdeps/generic/errno.c: New file. * csu/Makefile (aux): New variable, list errno. * sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns. * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise. * sysdeps/unix/alpha/sysdep.S: Likewise. * sysdeps/generic/start.c: Likewise. * sysdeps/unix/start.c: Likewise. * sysdeps/unix/arm/start.c: Likewise. * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise. * sysdeps/unix/sparc/start.c: Likewise. * sysdeps/unix/sysv/irix4/start.c: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep.S: File removed. * manual/search.texi (Tree Search Function, Hash Search Function): Mention search.h clearly. 2002-10-05 Roland McGrath * elf/dl-fxstat64.c: File removed. * elf/dl-xstat64.c: File removed. * elf/Makefile (rtld-routines): Remove them. * sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals. Instead, use strong_alias instead of versioned_symbol in the !SHLIB_COMPAT case. * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. * include/shlib-compat.h (SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero. [! NOT_IN_libc] (IS_IN_libc): Define it. * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx. * elf/Makefile (CPPFLAGS-.os): Likewise. * sunrpc/rpc_main.c (main): Don't declare with noreturn attribute. Return the status instead of calling exit. * Makeconfig (CFLAGS): Prepend -std=gnu99. * Makerules (+make-deps): Use $(CFLAGS) only for .c sources. Remove superfluous rm command, whose @ plus make bugs hid all these commands from the make output. * include/stubs-prologue.h: New file. Give #error under #ifdef _LIBC. * Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it. Use that file's contents instead of literal echo's for the prologue. * include/features.h: Include unconditionally. * include/gnu/stubs.h: New file. 2002-09-30 Roland McGrath * elf/rtld-Rules: New file. * elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk, $(objpfx)rtld-libc.a): New targets. (generated): Add them. (reloc-link): Remove -o $@ from the variable. ($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link). (distribute): Add rtld-Rules. (CPPFLAGS-.os): Define this instead of CFLAGS-.os. * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets. (common-mostlyclean, common-clean): Clean up rtld-* files. * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules. 2002-10-11 Roland McGrath * sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in now-unused dtv slot, reset the slot to TLS_DTV_UNALLOCATED. * elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the proper set of no-op insn prefixes. * elf/tst-tls8.c (do_test): Use %zd format for l_tls_modid members. 2002-10-11 Ulrich Drepper * sysdeps/unix/sysv/linux/execve.c: Don't try calling __pthread_kill_other_threads_np. * sysdeps/generic/pselect.c: Avoid unnecessary sigprocmask calls. 2002-10-08 Roland McGrath * locale/newlocale.c (__newlocale): If setting all categories to "C", just return &_nl_C_locobj instead of copying it. * locale/freelocale.c (__freelocale): Check for &_nl_C_locobj. * locale/duplocale.c (__duplocale): Likewise. 2002-10-07 Roland McGrath * config.h.in (HAVE_I386_SET_GDT): New #undef. * sysdeps/mach/configure.in: Define it with new check for i386_set_gdt. * sysdeps/mach/configure: Regenerated. 2002-10-06 Franz Sirl * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL): Add all necessary register outputs for syscall-clobbered registers. 2002-10-02 David Mosberger * sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for Itanium 2 (and Itanium). Fix unwind directives and make it fit in 80 columns. * sysdeps/ia64/memset.S: Likewise. * sysdeps/ia64/memcpy.S: Likewise. Move jump table to .rodata section. 2002-10-03 Roland McGrath * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add clobbers to asm. 2002-10-10 Andreas Jaeger * sysdeps/x86_64/_mcount.S: Restore correct registers. 2002-10-10 Ulrich Drepper * posix/Versions (libc) [GLIBC_PRIVATE]: Add __pselect. 2002-10-09 Ulrich Drepper * sysdeps/generic/ldsodefs.h: Remove attribute_hidden from _dl_allocate_tls_init. Add rtld_hidden_proto. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add rtld_hidden_def. * elf/Versions (ld) [GLIBC_PRIVATE]: Add _dl_allocate_tls_init. * version.h (VERSION): Bump to 2.3.1. * Make-dist: Add back one of the tar invocations removed before. * stdlib/Makefile (distribute): Add allocalim.h. * sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)] (__libc_tsd_address): Use correct variable name. Patch by Stefan Jones . * sysdeps/unix/sysv/linux/ia64/getcontext.S: Add missing ;;. Reported by edwardsg@sgi.com [PR libc/4678]. * Versions.def (libc): Add GLIBC_2.3.1. (libpthread): Add GLIBC_2.3.1. * include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo, and __sigtimedwait. * signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo. * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add libc_hidden_def. * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise. * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise. * include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd. * sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv and make old name an alias. * sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd and make old name an alias. * sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and __libc_msgsnd. * include/sys/uio.h: Declare __libc_readv and __libc_writev. * misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and __libc_writev. * sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make old name an alias. * sysdeps/posix/readv.c: Likewise * sysdeps/unix/sysv/aix/readv.c: Likewise. * sysdeps/unix/sysv/linux/readv.c: Likewise. * sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make old name an alias. * sysdeps/posix/writev.c: Likewise * sysdeps/unix/sysv/aix/writev.c: Likewise. * sysdeps/unix/sysv/linux/writev.c: Likewise. * include/sys/wait.h: Declare __waitid. * posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid. * sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old name an alias. * sysdeps/posix/waitid.c: Likewise. * sysdeps/unix/sysv/aix/waitid.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall. 2002-10-07 Jakub Jelinek * include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New prototypes. (__MAX_ALLOCA_CUTOFF): Define. Include allocalim.h. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r, _nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate host_buffer depending on __libc_use_alloca. * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r, _nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate net_buffer depending on __libc_use_alloca. * resolv/res_query.c (res_nquery): Use alloca or malloc to allocate buf depending on __libc_use_alloca. * resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise. * stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca instead of hardcoded constants. Pass proper size argument to alloca and compute end for wide char version. * stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca instead of hardcoded constants. * string/strcoll.c (strcoll): Likewise. * string/strxfrm.c (strxfrm): Likewise. * sysdeps/posix/readv.c (__readv): Likewise. * sysdeps/posix/writev.c (__writev): Likewise. * sysdeps/generic/allocalim.h: New file. 2002-10-08 Roland McGrath * configure.in (aux_missing warning): Change "too old" to "incompatible versions", since for autoconf it's "too new" right now. * configure: Regenerated. * configure.in (AUTOCONF): New check to set it. Set to "no" if the one found doesn't work on our configure.in. * configure: Regenerated. * config.make.in (AUTOCONF): New substituted variable. * Makefile (autoconf-it-cvs): New canned sequence, broken out of ... (autoconf-it): ... here, use that instead of defining conditionally. Use $(AUTOCONF) instead of literal autoconf. [$(AUTOCONF) != no] (configure, %/configure): Protect these rules with this condition. * Make-dist (autoconf-it, configure, %/configure): Copy those changes. 2002-10-08 Ulrich Drepper * Make-dist (dist): Cleanup a bit. We are not interested in the 14 char filename limit anymore. Remove intermediate files and symlinks. 2002-10-05 Ulrich Drepper * po/sk.po: Update from translation team. * po/tr.po: Likewise. * po/gl.po: Likewise. 2002-10-05 Kaz Kojima * elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax. 2002-10-03 Ulrich Drepper * version.h (RELEASE): Change to stable. 2002-10-03 Jakub Jelinek * sysdeps/unix/sysv/linux/_exit.c (__syscall_exit, __syscall_exit_group): New prototypes. 2002-10-03 Ulrich Drepper * glibc 2.3 released. See ChangeLog.13 for earlier changes.