2001-08-23 Roland McGrath * sysdeps/mach/hurd/bits/libc-lock.h: New file, initially copied from sysdeps/mach version. Implement counting ("recursive") mutexes on top of cthreads mutexes. * sysdeps/mach/hurd/bits/stdio-lock.h: File removed; generic now works. * sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to _LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error. (__libc_cleanup_region_start, __libc_cleanup_region_end, __libc_clean_end): Define these to call the cleanup function after normal exit when they're supposed to. * sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start): Take new first arg DOIT, a boolean saying whether to really install any cleanup handler. (__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero. (__libc_cleanup_end): Likewise. * stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg. * stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise. * sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start): Likewise. * misc/syslog.c (vsyslog, openlog, closelog): Likewise. * sysdeps/generic/bits/stdio-lock.h (_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise. 2001-08-23 Jakub Jelinek * elf/ldconfig.c (search_dir): Remove stale symlinks. 2001-08-23 Jakub Jelinek * elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New. (_dl_lookup_symbol): Lookup relocations in cache and store successfull lookups in cache. (_dl_lookup_versioned_symbol): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Initialize cache for relocation lookup. * elf/rtld.c (print_statistics): Output _dl_num_cache_relocations. * sysdeps/generic/ldsodefs.h (struct lookup_cache): New definition. (lookup_cache, lookup_cache_versioned): Add declarations. 2001-08-23 Ulrich Drepper * stdlib/tst-random.c (main): Swap parameters in fail call. Patch by Pete Bevin . 2001-08-23 Jakub Jelinek * sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t. 2001-08-23 Ulrich Drepper * malloc/obstack.c: Indent preprocessor directives. Patch by Jim Meyering . * po/ja.po: Update from translation team. 2001-08-23 Roland McGrath * libio/tst-ungetwc1.c (main): Add a const to quiet a warning. * nss/test-netdb.c (test_hosts): Don't use MAXHOSTNAMELEN. Instead, use dynamic buffer to test gethostname's ENAMETOOLONG error. 2001-08-22 Roland McGrath * sysdeps/generic/ldsodefs.h (_dl_load_lock): Declare it here with __libc_lock_define_recursive. * elf/dl-open.c: Don't declare it here any more. * elf/dl-close.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and __libc_lock_unlock_recursive. * elf/dl-close.c (_dl_close): Likewise * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise * elf/dl-open.c (_dl_open): Likewise * sysdeps/generic/bits/libc-lock.h (__libc_lock_define_recursive): New macro. * sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it. (_IO_lock_lock): Use __libc_lock_lock_recursive. (_IO_lock_unlock): Use __libc_lock_unlock_recursive. * conform/conformtest.pl (checknamespace): Sort the output list. * sysdeps/generic/bits/poll.h (POLLWRBAND): New alias for POLLOUT. (POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND): Make these definitions conditional on [__USE_XOPEN]. * sysdeps/mach/hurd/bits/fcntl.h (O_ASYNC, O_FSYNC, O_SYNC): Define these unconditionally, not only use [__USE_BSD], so as to match the sysdeps/unix/sysv/linux files. 2001-08-22 Ulrich Drepper * test-skeleton.c (add_temp_file): Add __attribute__ ((unused)) to avoid warnings. * dlfcn/tst-dladdr.c (do_test): Get address of ref1 using DL_LOOKUP_ADDRESS. 2001-08-22 Roland McGrath * sysdeps/generic/bits/sigaction.h (struct sigaction): Fix up conditionalization of sa_handler/sa_sigaction member types to match the sysdeps/unix/sysv/linux file. 2001-08-22 Ulrich Drepper * elf/dl-addr.c (_dl_addr): Handle broken binaries with zero symbol sizes a bit better. * sysdeps/ia64/strncpy.S: Complete rewrite. Contributed by Jakub Jelinek . * string/stratcliff.c (main): Add strncpy test. 2001-08-22 Roland McGrath * sysdeps/generic/dl-environ.c: Include and , and don't declare unsetenv or _environ directly. (unsetenv): Return int, not void. Use __environ instead of _environ. 2001-08-01 Mark Kettenis * sysdeps/unix/bsd/bsd4.4/Makefile: New file. * sysdeps/unix/bsd/bsd4.4/Versions: New file. * sysdeps/unix/bsd/bsd4.4/cmsg_nxthdr.c: New file. * sysdeps/unix/bsd/bsd4.4/bits/socket.h (__cmsg_nxthdr): Correct test for cmsg struct size. 2001-04-23 Paul Eggert * posix/getopt.h (getopt_long, getopt_long_only, _getopt_internal): Rename __argc to ___argc in prototypes to avoid compatibility problems with systems that reserve the identifier "__argc". Similarly for __argv. 2001-08-21 Roland McGrath * stdio-common/tst-fseek.c: Include for `time' declaration. * mach/Makefile (tests): Removed. * mach/hello.c: File removed. 2001-08-22 Ulrich Drepper * po/sv.po: Update from translation team. * stdio-common/vfscanf.c: Fix handling of %l[]. Reported by Mitsuru Chinen . * libio/Makefile (tests): Add tst-sscanf. * libio/tst-sscanf.c: New file. * elf/dl-addr.c (_dl_addr): Fix tests to determine dli_sname. * malloc/mtrace.c (tr_where): dli_sname always points to a non-empty string if != NULL. Reported by Tim Janik . 2001-08-22 Jakub Jelinek * sunrpc/xdr_rec.c (xdrrec_create): Fix buf sizes before allocating buf. Free resources on failure. * sunrpc/svc_unix.c (svcunix_create): Free resources on failure. (makefd_xprt): Likewise. * sunrpc/svc_udp.c (svcudp_bufcreate): Likewise. * sunrpc/svc_tcp.c (svctcp_create, makefd_xprt): Likewise. * sunrpc/auth_unix.c (authunix_create): Likewise. 2001-08-21 Jakub Jelinek * string/strnlen.c: Remove. * sysdeps/generic/strnlen.c: New. * sysdeps/i386/i486/bits/string.h (strnlen): Remove. 2001-08-21 Roland McGrath * sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Define this as a macro, not an extern inline function. * hurd/Versions (GLIBC_2.2.5): New set, define __hurd_fail here. * Versions.def (libc): Add GLIBC_2.2.5 set. * hurd/hurd.h (_HURD_H_EXTERN_INLINE): New macro. (__hurd_fail): Use that instead of _EXTERN_INLINE in decl. 2001-08-20 Roland McGrath * hurd/hurdlookup.c (__hurd_file_name_lookup): Fail with ENOENT for "". (__hurd_file_name_split, __hurd_directory_name_split): Likewise. 2001-08-21 Ulrich Drepper * string/bits/string2.h: Remove strnlen optimization here. * sysdeps/i386/i486/bits/string.h: Add it here. 2001-08-21 Wolfram Gloger * malloc/malloc.c: Make access to ..._hook pointers thread-safe. 2001-08-21 Ulrich Drepper * po/gl.po: Update from translation team. 2001-08-20 Ulrich Drepper * misc/error.c (error_tail): Use fputws_unlocked instead of fputws. * misc/err.c (convert_and_print): Likewise. * malloc/obstack.c (print_and_abort): Use fprintf instead of two function calls. 2001-08-20 Martin Schwidefsky * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Revert the change of the gregset_t type. * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise. 2001-08-20 kaz Kojima * sysdeps/unix/sysv/linux/sh/sysdep.S: Align errno. 2001-08-20 Ulrich Drepper * posix/regex.c (truncate_wchar): Use wcrtomb not wctomb. * string/strnlen.c: Fix the implementation. We cannot use memchr. 2001-08-18 Mark Kettenis * sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ before calling the cthreads initialization code. 2001-08-20 Ulrich Drepper * argp/argp-help.c: Fix two problems introduced in last change. * include/dirent.h: Include first. 2001-08-19 Ulrich Drepper * io/fts.c (fts_safe_changedir): Use __fxstat64 instead of __fstat. * sunrpc/svcauth_des.c (_svcauth_des): Avoid using bcopy. * sunrpc/xdr_rec.c: Likewise. * sunrpc/xdr_mem.c: Likewise. * sunrpc/svc_authux.c (_svcauth_unix): Likewise. * sunrpc/rpc_cmsg.c: Likewise. * sunrpc/getrpcport.c (getrpcport): Likewise. * sunrpc/clnt_simp.c (callrpc): Likewise. * sunrpc/clnt_gen.c (clnt_create): Likewise. * string/envz.c: Likewise. * po/ko.po: Update from translation team. * argp/argp-help.c: Handle wide oriented stderr stream. 2001-08-18 Ulrich Drepper * sysdeps/generic/strtol.c: Little optimizations. Add some __builtin_expect. * conform/conformtest.pl: test requires . * wcsmbs/wchar.h (wcwdith): Change parameter type to wchar_t. * wcsmbs/wcwidth.c (wcwdith): Likewise. * wcsmbs/wcwidth.h (internal_wcwdith): Likewise. * conform/data/unistd.h-data: Remove _SC_MULTIPLE_PROCESS. * conform/data/ucontext.h-data: Fix typos in ucontext_t element tests. * time/time.h (struct timespec): Use __time_t for tv_sec element. * sysdeps/generic/inttypes.h: Define __wchar_t. Use it instead of wchar_t for function declarations and defintions. * misc/sys/select.h: Define __need_time_t before including . Define suseconds_t if it hasn't happened yet. * iconv/gconv.h: Define __need_wchar_t before including . * conform/data/sys/uio.h-data: Allow UIO_MAXIOV to be defined. * sysdeps/generic/stdint.h: Don't get definition of wchar_t from . * conform/data/stddef.h-data: Remove wint_t. * conform/conformtest.pl: Change namespace test to take #undef lines into account. * conform/data/netinet/in.h-data: Fix typo in allow-header line. * conform/data/sys/socket.h-data: Add sockatmark. 2001-08-17 Ulrich Drepper * io/fts.c: Update from recent BSD source. 2001-08-17 Roland McGrath * stdio-common/perror.c (perror) [! USE_IN_LIBIO]: Don't use _IO_fwide. * misc/error.c (error_tail, error, error_at_line) [! USE_IN_LIBIO]: Likewise. 2001-08-17 Ulrich Drepper * locale/duplocale.c (__duplocale): Also initialize the special __ctype_* elements. * conform/data/netdb.h-data: Adjust gai_strerror return type. 2001-08-17 Andreas Jaeger * misc/getpass.c: Include wchar.h for prototypes. * malloc/obstack.c: Likewise. 2001-08-17 Ulrich Drepper * sunrpc/svc_simple.c (universal): Use __write instead of write. * wcsmbs/wcscoll.c: Also define __wcscoll. * include/wchar.h: Declare __wcscoll. * libio/fwprintf.c: Use __vfwprintf instead of vfwprintf. * libio/vwprintf.c: Likewise. * libio/wprintf.c: Likewise. * iconv/gconv_cache.c: Use __munmap instead of munmap. 2001-08-16 Ulrich Drepper * posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc instead of mbrtowc. [_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of wcslen, and __wcscoll instead of wcscoll. * sysdeps/unix/sockatmark.c (sockatmark): Use __ioctl instead of ioctl. * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Use __getuid instead of getuid. * stdio-common/perror.c (perror): Use __close instead of close. * iconv/gconv_cache.c (__gconv_load_cache): Likewise. * libio/freopen.c (freopen): Likewise. * libio/freopen64.c (freopen64): Likewise. * libio/tst-ungetwc2.c (main): Define str const. * include/wchar.h: Add prototypes for __fwprintf and __vfwprintf. * libio/fwprintf.c: Also define __fwprintf. * stdio-common/vfprintf.c [COMPILE_WPRINTF]: Also define __vfwprintf. * argp/argp-fmtstream.c: Handle wide oriented stderr stream. * assert/assert-perr.c: Likewise. * assert/assert.c: Likewise. * gmon/gmon.c: Likewise. * inet/rcmd.c: Likewise. * malloc/obstack.c: Likewise. * misc/err.c: Likewise. * misc/error.c: Likewise. * misc/getpass.c: Likewise. * posix/getopt.c: Likewise. * resolv/res_hconf.c: Likewise. * stdio-common/perror.c: Likewise. * stdio-common/psignal.c: Likewise. * stdlib/fmtmsg.c: Likewise. * sunrpc/auth_unix.c: Likewise. * sunrpc/clnt_perr.c: Likewise. * sunrpc/clnt_tcp.c: Likewise. * sunrpc/clnt_udp.c: Likewise. * sunrpc/clnt_unix.c: Likewise. * sunrpc/svc_simple.c: Likewise. * sunrpc/svc_tcp.c: Likewise. * sunrpc/svc_udp.c: Likewise. * sunrpc/svc_unix.c: Likewise. * sunrpc/xdr.c: Likewise. * sunrpc/xdr_array.c: Likewise. * sunrpc/xdr_rec.c: Likewise. * sunrpc/xdr_ref.c: Likewise. * sysdeps/generic/wordexp.c: Likewise. * po/it.po: Update from translation team. * misc/err.c: Handle wide oriented stderr stream. 2001-08-14 Tom Rix * iconv/gconv_cache.c (find_module): Add #ifndef STATIC_GCONV. * iconv/Makefile: Fix gconv_cache.c CFLAGS. 2001-08-13 Tom Rix * sysdeps/unix/sysv/aix/Makefile: Add rule to import kernel symbols. * sysdeps/unix/sysv/aix/bits/types.h: Fix type of __id_t, __useconds_t and __intptr_t. 2001-08-15 Martin Schwidefsky * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S (__getcontext): Store the access registers to the ucontext structure. * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S (__getcontext): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S (__setcontext): Load the access registers from the ucontext structure. * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S (__setcontext): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: Adjust the SC_xxx offsets to the new ucontext layout. * sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix the layout of the ucontext structure. * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise. 2001-08-15 Ulrich Drepper * misc/error.c (error): Handle wide oriented stderr stream correctly. (error_at_line): Likewise. * stdio-common/perror.c (perror): Implement according to standard. The stream orientation must not be changed if the stream was not oriented before the call. * stdio-common/Makefile (tests): Add tst-perror. * stdio-common/tst-perror.c: New file. See ChangeLog.12 for earlier changes.