2002-08-21 Roland McGrath * configure.in: Make GCC version check require 3.[2-9]* and no others. * configure: Regenerated. * manual/install.texi (Tools for Compilation): Say 3.2 is required. (Configuring and compiling): Don't mention older GCC versions any more. * INSTALL: Regenerated. * manual/install.texi (Configuring and compiling, Installation, Running make install, Linux): Linux -> GNU/Linux where appropriate. * elf/rtld.c (_dl_start_final): Move defn before _dl_start so it can be inlined. Declare it with always_inline if [DONT_USE_BOOTSTRAP_MAP] and with noinline otherwise. Remove hack alloca use to prevent inlining, we can ask for it explicitly nowadays. * dlfcn/bug-dlsym1.c: New file. * dlfcn/bug-dlsym1-lib1.c, dlfcn/bug-dlsym1-lib2.c: New files. * dlfcn/Makefile (distribute): Add them. (tests): Add bug-dlsym1 here. (modules-names): Add bug-dlsym1-lib1 and bug-dlsym1-lib2 here. ($(objpfx)bug-dlsym1, $(objpfx)bug-dlsym1.out): New targets. ($(objpfx)bug-dlsym1-lib1.so, $(objpfx)bug-dlsym1-lib2.so): Likewise. 2002-08-21 Ulrich Drepper * elf/rtld.c (start_time): New global variable. Moved from _dl_start. (DONT_USE_BOOTSTRAP_MAP): Define if we can use non-exported symbols before relocation. (_dl_start): Don't use local bootstrap_map variable if DONT_USE_BOOTSTRAP_MAP is defined. Use GL(dl_rtld_map). Don't pass bootstrap_map to _dl_start_final in this case either. Don't pass start_time to _dl_start_final ever. (_dl_start_final): Don't copy bootstrap_map if DONT_USE_BOOTSTRAP_MAP. * elf/dl-deps.c (_dl_map_object_deps): Revert patch from 2002-05-28. This cripples the scope lists necessary to search for symbols in dependencies which are not in the global scope. * include/setjmp.h (__libc_longjmp): Add declaration. 2002-08-21 Andreas Jaeger * sysdeps/x86_64/_mcount.S: Fix assembler. * sysdeps/unix/sysv/linux/x86_64/Makefile: Generate bits/syscall.h with biarch support. 2002-08-21 Andreas Jaeger * sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Fix it. * sysdeps/x86_64/Makefile (sysdep_routines): Add _mcount. * sysdeps/x86_64/machine-gmon.h: New file. * sysdeps/x86_64/_mcount.S: New file. 2002-08-20 Ulrich Drepper * elf/rtld.c (_dl_start): Pass zero to TLS_INIT_TP. Set bootstrap_map.l_tls_tp_initialized to 1 if TLS_INIT_TP was called. (_dl_start_final): Copy l_tls_tp_initialized to GL(dl_rtld_map). (dl_main): If HAVE___THREAD is not defined pass l_tls_tp_initialized to TL_INIT_TP. Otherwise pass 1. * include/link.h (struct link_map): Add l_tls_tp_initialized. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass 0 to TL_INIT_TP. 2002-08-15 Jakub Jelinek * locale/programs/localedef.c (add_to_readlist): Error about circular dependencies only if the locale in question hasn't been finished. * locale/programs/linereader.c (get_string): Pass LC_CTYPE not CTYPE_LOCALE to load_locale. * locale/programs/locfile.c (locfile_read): Don't include unneeded but available locales in locale_mask. * locale/programs/locarchive.c (enlarge_archive): If quiet, don't print any messages about enlarging archive. 2002-08-20 Brian Youmans <3diff@gnu.org> * manual/contrib.texi: Removed licenses, added acknowledgements for contributions by Intel, IBM, Craig Metz. * LICENSES: New file, contains the text of all non-FSF licenses in the distribution that require putting the notice in the accompanying documentation. * README.template, README: Mention LICENSES. * sysdeps/mach/hurd/net/if_ppp.h: Replaced CMU license with a new one modelled on the modern BSD license, per recent letter of permission from CMU. * sysdeps/unix/sysv/linux/net/if_ppp.h: Likewise. * sysdeps/ieee754/dbl-64/MathLib.h: Changed the copyright holder from IBM to FSF, per the recent Software Letter. Changed the distribution terms from GPL to LGPL. * sysdeps/ieee754/dbl-64/asincos.tbl: Added FSF copyright and copying permission notice (Lesser GPL), per recent IBM Software Letter. * sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise. * sysdeps/ieee754/dbl-64/root.tbl: Likewise. * sysdeps/ieee754/dbl-64/sincos.tbl: Likewise. * sysdeps/ieee754/dbl-64/uatan.tbl: Likewise. * sysdeps/ieee754/dbl-64/uexp.tbl: Likewise. * sysdeps/ieee754/dbl-64/ulog.tbl: Likewise. * sysdeps/ieee754/dbl-64/upow.tbl: Likewise. * sysdeps/ieee754/dbl-64/utan.tbl: Likewise. * sysdeps/ieee754/dbl-64/atnat.h: Changed the copyright holder from IBM to FSF, per the recent Software Letter. Corrected the text of the copying permission notice to say Lesser GPL instead of GPL in warranty disclaimer paragraph. * sysdeps/ieee754/dbl-64/atnat2.h: Likewise. * sysdeps/ieee754/dbl-64/branred.h: Likewise. * sysdeps/ieee754/dbl-64/dla.h: Likewise. * sysdeps/ieee754/dbl-64/doasin.h: Likewise. * sysdeps/ieee754/dbl-64/dosincos.h: Likewise. * sysdeps/ieee754/dbl-64/mpa.h: Likewise. * sysdeps/ieee754/dbl-64/mpa2.h: Likewise. * sysdeps/ieee754/dbl-64/mpatan.h: Likewise. * sysdeps/ieee754/dbl-64/mpexp.h: Likewise. * sysdeps/ieee754/dbl-64/mplog.h: Likewise. * sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise. * sysdeps/ieee754/dbl-64/mydefs.h: Likewise. * sysdeps/ieee754/dbl-64/sincos32.h: Likewise. * sysdeps/ieee754/dbl-64/uasncs.h: Likewise. * sysdeps/ieee754/dbl-64/uexp.h: Likewise. * sysdeps/ieee754/dbl-64/ulog.h: Likewise. * sysdeps/ieee754/dbl-64/upow.h: Likewise. * sysdeps/ieee754/dbl-64/urem.h: Likewise. * sysdeps/ieee754/dbl-64/uroot.h: Likewise. * sysdeps/ieee754/dbl-64/usncs.h: Likewise. * sysdeps/ieee754/dbl-64/utan.h: Likewise. * sysdeps/ieee754/dbl-64/branred.c: Corrected the text of the copying permission notice to say Lesser GPL instead of GPL in warranty disclaimer paragraph. * sysdeps/ieee754/dbl-64/doasin.c: Likewise. * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. * sysdeps/ieee754/dbl-64/e_log.c: Likewise. * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. * sysdeps/ieee754/dbl-64/mpa.c: Likewise. * sysdeps/ieee754/dbl-64/mpatan.c: Likewise. * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise. * sysdeps/ieee754/dbl-64/mpexp.c: Likewise. * sysdeps/ieee754/dbl-64/mplog.c: Likewise. * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise. * sysdeps/ieee754/dbl-64/mptan.c: Likewise. * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. 2002-08-20 Roland McGrath Fix ABI compatibility with libc compiled with old tools on powerpc. Changes contributed by Franz Sirl and Jack Howarth . * sysdeps/powerpc/Makefile [$(have-protected) = yes] (CPPFLAGS-divdi3.c, CPPFLAGS-libgcc-compat.S): New variables, pass -DHAVE_DOT_HIDDEN for these files. * sysdeps/powerpc/Versions (libc: GLIBC_2.0): Added __floatdidf, __floatdisf. * sysdeps/powerpc/divdi3.c: New file. * sysdeps/powerpc/libgcc-compat.S: New file, replacement for ... * sysdeps/powerpc/libgcc-compat.c: ... this, file removed. 2002-08-20 Jakub Jelinek * locale/loadarchive.c (_nl_load_locale_from_archive): Handle partially overlapping mappings. Remove unneeded (char *) casts. Never allow duplication of ranges in mapped areas. 2002-08-20 Roland McGrath * elf/Makefile ($(objpfx)ld.so): Separate commands in rule so errors can be detected by make. Reported by H.J. Lu . 2002-08-20 Ulrich Drepper * include/unistd.h: Don't hide _exit. * elf/rtld.c (_dl_start): Pass extra argument 1 to TLS_INIT_TP. (dl_main): Pass extra argument 0 to TLS_INIT_TP. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass extra argument 1 to TLS_INIT_TP. * sysdeps/generic/tls.h (TLS_INIT_TP): Describe new parameter. * sysdeps/generic/dl-tls.c (allocate_dtv): Optimize a bit. * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_tls_static_info. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Move dtv memory allocation to... (allocate_dtv): ...here. New function. (_dl_allocate_tls): Change to take parameter. If parameter is non-NULL call allocate_dtv instead of _dl_allocate_tls_storage. (_dl_deallocate_tls): New parameter. Deallocate TCB only if true. (_dl_get_tls_static_info): New function. * sysdeps/generic/ldsodefs.h: Adjust prototypes of _dl_allocate_tls and _dl_deallocate_tls. Add prototype for _dl_get_tls_static_info. 2002-08-19 Ulrich Drepper * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Return immediately if result == NULL. 2002-08-16 Jakub Jelinek * sysdeps/alpha/fpu/libm-test-ulps: Regenerate. 2002-08-18 Roland McGrath * sysdeps/mach/hurd/mkdir.c (__mkdir): Use __directory_name_split instead of __file_name_split. * sysdeps/mach/hurd/unlink.c (__unlink): Likewise. * sysdeps/mach/hurd/dl-sysdep.c [HP_TIMING_AVAIL] (_dl_cpuclock_offset): New variable. [HP_TIMING_AVAIL] (_dl_sysdep_start): Set it with HP_TIMING_NOW. 2002-08-16 Jakub Jelinek * locale/loadarchive.c (_nl_load_locale_from_archive): Braino fix in change before last: MAX -> MIN. 2002-08-15 Roland McGrath * libio/fileops.c (_IO_file_seekoff_mmap): Leave read pointers at EOF if seek would go past it. (mmap_remap_check): If file position is at or past EOF after check, leave read pointers at EOF and don't seek. * libio/tst-mmap-offend.c: New file. * libio/Makefile (tests): Add it. * locale/loadarchive.c (_nl_load_locale_from_archive): Store strdup of the name as passed, rather than the name in the archive dictionary. 2002-08-15 Ulrich Drepper * csu/Makefile: Define elide-routines.os not static-only-routines. * include/sched.h (__clone): Add varargs at the end. * elf/rtld.c (_dl_start): Allow TLS_INIT_TP to fail, and stop in that case. (TLS_INIT_HELPER): If defined, use it. * sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise. 2002-08-15 Roland McGrath * elf/dl-load.c (lose): Remove [!SHARED] conditional from null check on L->l_prev; it can happen under rtld --verify too. * locale/loadarchive.c (_nl_load_locale_from_archive): Don't read the header separately, just map an initial window of 2MB from the file and remap if that is not large enough to cover the whole header. 2002-08-15 Andreas Jaeger * sysdeps/unix/sysv/linux/m68k/Versions: Add *xattr syscalls with version 2.3. * sysdeps/unix/sysv/linux/arm/Versions: Likewise. * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. * sysdeps/unix/sysv/linux/x86_64/Versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. * sysdeps/unix/sysv/linux/powerpc/Versions: Likewise. * sysdeps/unix/sysv/linux/mips/Versions: Likewise. Patch by Andreas Gruenbacher . * sysdeps/unix/sysv/linux/syscalls.list: Add *xattr syscalls. 2002-08-14 Roland McGrath * locale/locarchive.h (struct locale_category_data): Give this name to the type of locale_data_t's elements. * locale/programs/locarchive.c (cmpcategorysize): New static function. (add_locale): Use that to sort the categories by size and put all those that fit into two pages into the LC_ALL block, instead of hard-coding it to do everything but LC_CTYPE and LC_COLLATE. (show_archive_content): Detect categories inside LC_ALL block directly, instead of hard-coding. (oldlocrecentcmp): Compare just on file locations used. 2002-08-14 Jakub Jelinek * locale/programs/locarchive.c (struct oldlocrecent): New. (oldlocrecentcmp): New. (enlarge_archive): Re-add locales in the order they were added to the archive. (add_locale): Put all the small locale files together, if the small locale file block would occupy less pages if page size aligned, align it. (show_archive_content): Adjust for locale archives optimized for speed. 2002-08-14 Roland McGrath * configure.in: Use "MISSING" as not-found value for MIG. * sysdeps/mach/configure.in: Fatal if mig not found. * configure, sysdeps/mach/configure: Regenerated. 2002-08-13 Jakub Jelinek * locale/loadarchive.c (archfname): Add missing slash. * sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def. * wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def. 2002-08-12 Roland McGrath * include/sys/wait.h (__waitpid): Add libc_hidden_proto. * sysdeps/unix/sysv/sco3.2.4/waitpid.S: Add libc_hidden_def. * sysdeps/unix/sysv/sysv4/waitpid.c: Add libc_hidden_weak. * sysdeps/unix/sysv/linux/waitpid.c: Likewise. * sysdeps/unix/sysv/aix/waitpid.c: Likewise. * sysdeps/unix/bsd/bsd4.4/waitpid.c: Likewise. * sysdeps/generic/waitpid.c: Likewise. * include/net/if.h: New file. Use libc_hidden_proto for if_nametoindex and if_indextoname. * sysdeps/generic/if_index.c: Add libc_hidden_def. * sysdeps/mach/hurd/if_index.c: Likewise. * sysdeps/unix/sysv/linux/if_index.c: Likewise. * include/grp.h (setgroups): Add libc_hidden_proto. * sysdeps/generic/setgroups.c: Add libc_hidden_def. * sysdeps/mach/hurd/setgroups.c: Likewise. * sysdeps/unix/sysv/irix4/setgroups.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. 2002-08-13 Jakub Jelinek * include/unistd.h (seteuid, setegid): Add libc_hidden_proto. * sysdeps/generic/seteuid.c (seteuid): Add libc_hidden_def. * sysdeps/generic/setegid.c (setegid): Likewise. * sysdeps/mach/hurd/seteuid.c (seteuid): Likewise. * sysdeps/mach/hurd/setegid.c (setegid): Likewise. * sysdeps/unix/bsd/seteuid.c (seteuid): Likewise. * sysdeps/unix/bsd/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/aix/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/aix/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/linux/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise. Remove fallback if __ASSUME_SETRESUID_SYSCALL. * include/sys/stat.h (__fxstat_internal, __fxstat64_internal, __lxstat_internal, __lxstat64_internal): Remove. (__fxstat, __fxstat64, __lxstat, __lxstat64, __xstat, __xstat64): Add hidden_proto. * sysdeps/generic/fxstat.c (__fxstat): Add hidden_def. Remove INTDEF where present, remove #undef at the beginning. * sysdeps/generic/fxstat64.c (__fxstat64): Likewise. * sysdeps/generic/lxstat.c (__lxstat): Likewise. * sysdeps/generic/lxstat64.c (__lxstat64): Likewise. * sysdeps/generic/xstat.c (__xstat): Likewise. * sysdeps/generic/xstat64.c (__xstat64): Likewise. * sysdeps/mach/hurd/dl-sysdep.c (__xstat64, __fxstat64): Likewise. * sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise. * sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise. * sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise. * sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise. * sysdeps/mach/hurd/xstat.c (__xstat): Likewise. * sysdeps/mach/hurd/xstat64.c (__xstat64): Likewise. * sysdeps/unix/fxstat.c (__fxstat): Likewise. * sysdeps/unix/common/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/aix/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/aix/fxstat64.c (__fxstat64): Likewise. * sysdeps/unix/sysv/aix/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/aix/lxstat64.c (__lxstat64): Likewise. * sysdeps/unix/sysv/aix/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/aix/xstat64.c (__xstat64): Likewise. * sysdeps/unix/sysv/linux/ia64/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/ia64/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/ia64/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/xstat64.c (__xstat64): Likewise. * sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/fxstat64.c (__fxstat64): Likewise. * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/lxstat64.c (__lxstat64): Likewise. * sysdeps/unix/xstat.c (__xstat): Likewise. * include/sys/statvfs.h (statvfs, fstatvfs): Add libc_hidden_proto. * sysdeps/generic/statvfs.c (statvfs): Add libc_hidden_def. * sysdeps/generic/fstatvfs.c (fstatvfs): Likewise. * sysdeps/mach/hurd/statvfs.c (statvfs): Likewise. * sysdeps/mach/hurd/fstatvfs.c (fstatvfs): Likewise. * sysdeps/unix/sysv/linux/statvfs.c (statvfs): Likewise. * sysdeps/unix/sysv/linux/fstatvfs.c (fstatvfs): Likewise. * include/unistd.h (tcgetpgrp): Add libc_hidden_proto. * include/termios.h (tcsetattr, cfsetispeed, cfsetospeed): Likewise. * sysdeps/generic/tcgetpgrp.c (tcgetpgrp): Add libc_hidden_def. * sysdeps/generic/tcsetattr.c (tcsetattr): Likewise. * sysdeps/generic/speed.c (cfsetispeed, cfsetospeed): Likewise. * sysdeps/unix/bsd/bsd4.4/tcsetattr.c (tcgetpgrp): Likewise. * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/bsd/sun/sunos4/speed.c (cfsetispeed, cfsetospeed): Likewise. * sysdeps/unix/bsd/tcgetpgrp.c (tcgetpgrp): Likewise. * sysdeps/unix/bsd/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/sysv/aix/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/sysv/aix/speed.c (cfsetispeed, cfsetospeed): Likewise. * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/sysv/linux/speed.c (cfsetispeed, cfsetospeed): Likewise. * sysdeps/unix/sysv/tcgetpgrp.c (tcgetpgrp): Likewise. * sysdeps/unix/sysv/tcsetattr.c (tcsetattr): Likewise. * include/string.h (strcoll): Add libc_hidden_proto. * string/strcoll.c (strcoll): Add libc_hidden_def. * misc/err.c (vwarn): Fix pasto in libc_hidden_def. 2002-08-11 Philip Blundell * sysdeps/arm/Makefile: New file. 2002-08-08 Jakub Jelinek * posix/regcomp.c (parse_reg_exp): If '|' is immediately followed by another '|', end of regex or enclosing ')', clear branch. * posix/bug-regex9.c: New test. * posix/Makefile (tests): Add bug-regex9. 2002-08-12 Roland McGrath * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Fix inner loop start count condition, use TOTAL instead of variable that was never set. Fix outer loop termination condition to TOTAL >= after update. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize dl_tls_static_align and dl_tls_static_nelem. 2002-08-11 Roland McGrath * elf/tst-tlsmod4.c (in_dso): Insert a random library call before use of the TLS macros, otherwise the compiler might not have initialized the PIC register yet when we use the PLT via asm. * elf/tst-tlsmod3.c (in_dso2): Likewise. * elf/tst-tlsmod2.c (in_dso): Likewise. * sunrpc/svc_authux.c (_svcauth_unix): Remove spurious printf (ugh!). * sysdeps/i386/bits/byteswap.h (__bswap_16, __bswap_32, __bswap_64): Evaluate argument exactly once. Remove __volatile__ from asm's. * include/unistd.h: Use libc_hidden_proto for getdomainname and getlogin_r. * sysdeps/generic/getdomain.c: Add libc_hidden_def. * sysdeps/mach/hurd/getdomain.c: Likewise. * sysdeps/unix/getlogin_r.c: Likewise. * sysdeps/mach/hurd/getlogin_r.c: Likewise. * sysdeps/generic/getlogin_r.c: Likewise. * include/rpc/auth_des.h: Use libc_hidden_proto for rtime. * sunrpc/rtime.c: Add libc_hidden_def. * include/string.h: Use libc_hidden_proto for basename. * string/basename.c [_LIBC]: Add libc_hidden_def. * sysdeps/unix/sysv/linux/opensock.c (__opensock): socket -> __socket. * locale/loadarchive.c: munmap -> __munmap throughout. * include/netdb.h: Use libc_hidden_proto for gai_strerror. * sysdeps/posix/gai_strerror.c: Add libc_hidden_def. * sysdeps/generic/gai_strerror.c: Likewise. * include/sys/errno.h: New file. * include/signal.h: No libc_hidden_proto for raise, __libc_current_sigrtmin, __libc_current_sigrtmax. These need to be overridden by linuxthreads. * sysdeps/posix/raise.c: Reverted. * sysdeps/generic/raise.c: Reverted. * signal/allocrtsig.c: Reverted. * locale/loadarchive.c (LOCALEDIR): Remove debugging defn. Oops. 2002-08-10 Roland McGrath * locale/loadarchive.c (_nl_archive_subfreeres): New function. * locale/localeinfo.h: Declare it. * locale/setlocale.c (free_mem): Don't call _nl_unload_locale on the current locale if it's not in the file list. Call _nl_archive_subfreeres. 2002-08-10 Andreas Jaeger * sysdeps/i386/strchr.S: Add comment. 2002-08-10 Roland McGrath * include/wchar.h (putwc): Use libc_hidden_proto. * include/stdio.h (dprintf, fprintf, vfprintf, sprintf, sscanf, fwrite, perror, remove, rewind, open_memstream): Likewise. * stdio-common/dprintf.c: Add libc_hidden_def. * stdio-common/fprintf.c: Likewise. * stdio-common/sprintf.c: Likewise. * stdio-common/sscanf.c: Likewise. * libio/iofwrite.c: Likewise. * libio/memstream.c: Likewise. * libio/putwc.c: Likewise. * stdio-common/perror.c: Likewise. * sysdeps/posix/remove.c: Likewise. * sysdeps/generic/remove.c: Likewise. * libio/rewind.c: Likewise. Use instead of "stdio.h". * stdio-common/vfprintf.c: Add libc_hidden_def. Include . 2002-08-09 Jakub Jelinek * include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit, towlower, towupper): Add prototypes here too. Add libc_hidden_proto. * wctype/wcfuncs.c (iswalpha, iswdigit, iswlower, iswspace, iswxdigit, towlower, towupper): Add libc_hidden_weak. * include/bits/dlfcn.h: New file. * elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def. * include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto. * include/netinet/ether.h (_nss_files_parse_etherent): Likewise. * include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise. * include/pwd.h (_nss_files_parse_pwent): Likewise. * include/shadow.h (_nss_files_parse_spent): Likewise. * include/netdb.h (_nss_files_parse_protoent, _nss_files_parse_servent, _nss_files_parse_netent): Likewise. * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define. (LINE_PARSER): Use it. * nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto. * nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def. * libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT #endif. * manual/debug.texi (%MENU%): Remove trailing dot. Reported by . * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek): Add lseek aliases. (lseek): Dummy. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, lseek): Likewise. 2002-08-09 Roland McGrath * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale name to find codeset name (if any) and normalize it. If the normalized name differs, look up only that in the archive. * locale/programs/locarchive.c (add_locale_to_archive): If the name contains a codeset, normalize the codeset store only the normalized name in the archive. If not, add an alias containing the locale's normalized codeset name. Apply codeset name normalization when matching entries in the alias file. * locale/programs/locarchive.c (delete_locales_from_archive): Don't decrement HEAD->namehash_used here. (add_locale): Only need to insert name string when name_offset != 0. * locale/programs/localedef.c (options): Add -A/--alias-file. (alias_file): New variable. (parse_opt): Grok -A, set that. * locale/programs/localedef.h: Declare it. * locale/locarchive.h (struct locrecent): Add `refs' member. * locale/programs/locarchive.c (insert_name): New function, broken out of ... (add_locale_to_archive): ... here. Call that. (add_alias): New function. (add_locale): New static function, add_locale_to_archive renamed. (add_locale_to_archive): Call that and use add_alias to add an alias for the name with codeset if the given name lacks it. (enlarge_archive): Call add_locale instead of add_locale_to_archive. * locale/Makefile (routines): Add loadarchive. * locale/loadarchive.c: New file, started from code by Ulrich Drepper. (_nl_load_locale_from_archive): New function. * locale/localeinfo.h: Declare it. * locale/findlocale.c (_nl_find_locale): If using default locale path, try _nl_load_locale_from_archive first. * locale/loadlocale.c (_nl_intern_locale_data): New function, broken out of _nl_load_locale. (_nl_load_locale): Call that. * locale/localeinfo.h: Declare it. (struct locale_data): Replace member `mmaped' with `alloc', an enum. (struct locale_data): Remove unused member `options'. * locale/findlocale.c (_nl_remove_locale): Update uses. * locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise. * locale/C-collate.c: Update initializer. * locale/C-identification.c: Likewise. * locale/C-measurement.c: Likewise. * locale/C-telephone.c: Likewise. * locale/C-address.c: Likewise. * locale/C-name.c: Likewise. * locale/C-paper.c: Likewise. * locale/C-time.c: Likewise. * locale/C-numeric.c: Likewise. * locale/C-monetary.c: Likewise. * locale/C-messages.c : Likewise. * locale/C-ctype.c: Likewise. * locale/hashval.h [! LONGBITS]: Include here and use CHAR_BIT instead of BITSPERBYTE. * locale/localeinfo.h (_nl_find_locale, _nl_load_locale, _nl_unload_locale): Add `internal_function attribute_hidden' to decls. * locale/findlocale.c (_nl_find_locale): Add internal_function to defn. (_nl_remove_locale): Likewise. * locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise. * locale/findlocale.c (_nl_default_locale_path): New variable. (_nl_find_locale): If LOCALE_PATH is null, default to that. * locale/localeinfo.h: Declare it. * locale/setlocale.c (setlocale): Use _nl_default_locale_path in place of LOCALEDIR. If no LOCPATH, pass null to _nl_find_locale. * locale/newlocale.c (__newlocale): Likewise. * misc/err.c (vwarnx, vwarn): Fix typos in libc_hidden_def uses. * inet/rexec.c (rexec_af): Add libc_hidden_def. * sysdeps/generic/morecore.c: Likewise. * signal/allocrtsig.c (__libc_current_sigrtmin): Likewise. (__libc_current_sigrtmax): Likewise. 2002-08-08 Roland McGrath * locale/loadlocale.c (_nl_load_locale): Don't use MAP_INHERIT. * catgets/open_catalog.c (__open_catalog): Likewise. * locale/programs/locarchive.c (INITIAL_NUM_NAMES): Renamed from typo INITIAL_NUM_NANES. (create_archive): Update use. 2002-08-08 Ulrich Drepper * sysdeps/unix/sysv/linux/sigwait.c: New file. 2002-08-08 Roland McGrath * resolv/netdb.h: Don't declare h_errno as a plain global any more. 2002-08-08 Jakub Jelinek * sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define to something else and undefine after including wcstol_l.c. * sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Similarly. 2002-08-08 Ulrich Drepper * gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available. 2002-08-08 Alexandre Oliva * configure.in: Make the test for broken_alias_attribute stricter. 2002-05-24 Robert Love * posix/Makefile (routines): Add sched_getaffinity and sched_setaffinity. * posix/sched.h: Add declarations for sched_getaffinity and sched_setaffinity. * sysdeps/generic/sched_getaffinity.c: New file. * sysdeps/generic/sched_setaffinity.c: New file. * sysdeps/unix/sysv/linux/syscalls.list: Add sched_getaffinity and sched_setaffinity. 2002-08-06 Andreas Schwab * sysdeps/unix/utime.c: If TIMES is NULL pass it through to utimes. 2002-08-07 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): Add missing \n in error message. * stdlib/isomac.c (get_null_defines): Treat NOT_IN_libc special. It is known to be defined. * include/string.h: Define index and rindex only if _ISOMAC is not defined. * elf/rtld.c: Include . * sysdeps/generic/libc-tls.c: Likewise. 2002-08-07 Roland McGrath * resolv/res_debug.c (latlon2ul): Add const to argument type, and use it internally. (precsize_aton): Likewise. * inet/getnetgrent_r.c (endnetgrent, __getnetgrent_r): Actually call the static symbols added in the last change (doofus is me). * locale/newlocale.c (__newlocale): Use a bit mask instead of a second loop to notice missing categories in a composite name. * locale/locale.h (LC_CTYPE_MASK, LC_NUMERIC_MASK, LC_TIME_MASK, LC_COLLATE_MASK, LC_MONETARY_MASK, LC_MESSAGES_MASK, LC_ALL_MASK, LC_PAPER_MASK, LC_NAME_MASK, LC_ADDRESS_MASK, LC_TELEPHONE_MASK, LC_MEASUREMENT_MASK, LC_IDENTIFICATION_MASK, LC_ALL_MASK): New macros. 2002-08-07 Ulrich Drepper * malloc/tst-calloc.c: Add tests for one or both parameters being zero. 2002-08-07 Roland McGrath * sysdeps/i386/dl-machine.h (elf_machine_rel): Add to, don't clobber, unrelocated initial value for DTPOFF32 and TPOFF32 relocs. Reported by Jakub Jelinek . 2002-08-07 Jakub Jelinek * malloc/malloc.c (public_cALLOc): Check ELEM_SIZE != 0 before division. 2002-08-06 Roland McGrath * include/getopt.h: Put private decls inside [_GETOPT_H]. Use libc_hidden_proto for getopt_long, getopt_long_only. * posix/getopt1.c [_LIBC]: Include instead of "getopt.h". Add libc_hidden_def. * sysdeps/generic/unwind-dw2-fde-glibc.c [_LIBC] (dl_iterate_phdr): Define as a macro for __dl_iterate_phdr. * inet/getnetgrent_r.c (internal_setnetgrent): Renamed from __ name, made static. Add __ name as a strong alias. (internal_endnetgrent): Likewise. (internal_getnetgrent_r): Likewise. * locale/Versions (libc: GLIBC_2.3): Add all the *_l functions with no __ prefix. * locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l. * ctype/ctype.h [__USE_GNU]: Add declarations and macros for all *_l functions with no __ prefix. * wctype/wcfuncs_l.c: Define weak aliases without __ for all fns. * ctype/ctype_l.c: Likewise. * locale/nl_langinfo.c: Likewise. * string/string.h [__USE_GNU]: Add decls for all *_l fns with no __. * stdlib/stdlib.h [__USE_GNU]: Likewise. * wcsmbs/wchar.h [__USE_GNU]: Likewise. * wctype/wctype.h [__USE_GNU]: Likewise. * string/strcoll_l.c (strcoll_l): Define as weak alias. * string/strxfrm_l.c (strxfrm_l): Define as weak alias. * sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias. * sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias. * stdlib/strtod_l.c (strtod_l): Define as weak alias. * stdlib/strtof_l.c (strtof_l): Define as weak alias. * stdlib/strtold_l.c (strtold_l): Define as weak alias. * wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias. (__wcscasecmp_l): Add libc_hidden_def. * wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias. (__wcsncasecmp_l): Add libc_hidden_def. * wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias. * wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias. * wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias. * wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias. * wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias. * sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias. * sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias. * sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias. * sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias. * sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias. * sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias. * wctype/wctrans_l.c (wctrans_l) Define as weak alias. * wctype/towctrans_l.c (towctrans_l) Define as weak alias. * wctype/wctype_l.c (wctype_l) Define as weak alias. 2002-08-05 Roland McGrath * include/rpc/auth.h: Use libc_hidden_proto for getnetname, netname2user, host2netname, user2netname, key_gendes. * sunrpc/netname.c: Add libc_hidden_def. * sunrpc/key_call.c: Likewise. * include/netdb.h: Use libc_hidden_proto for getaddrinfo, getnameinfo, freeaddrinfo. * inet/getnameinfo.c: Add libc_hidden_def. * sysdeps/generic/getaddrinfo.c: Likewise. * sysdeps/posix/getaddrinfo.c: Likewise. * include/wchar.h: Use libc_hidden_proto for wmemchr, wmemset. * wcsmbs/wmemchr.c: Add libc_hidden_def. * wcsmbs/wmemset.c: Add libc_hidden_def. * include/string.h: Move libc_hidden_proto's inside #ifndef _STRING_H. (index, rindex): Define as macros for strchr, strrchr. * string/envz.c (envz_strip): index -> strchr * include/rpc/rpc_msg.h: Use libc_hidden_proto for _seterr_reply. * sunrpc/rpc_prot.c: Add libc_hidden_def. * include/wchar.h: Use libc_hidden_proto for mbrtowc. * wcsmbs/mbrtowc.c: Add libc_hidden_weak. * include/stdlib.h: Use libc_hidden_proto for wctomb. * stdlib/wctomb.c: Add libc_hidden_def. * include/netdb.h: Use libc_hidden_proto for innetgr, rcmd_af, rexec_af, rresvport_af, ruserok_af, iruserok_af, ruserpass, hstrerror. * resolv/herror.c: Likewise. * inet/rcmd.c: Add libc_hidden_def. * inet/ruserpass.c: Likewise. * inet/getnetgrent_r.c: Likewise. * include/rpc/svc.h: Use libc_hidden_proto for svc_register, svc_unregister, remove *_internal decls. Use libc_hidden_proto for svcerr_auth, svcerr_noprog, svcerr_progvers. * sunrpc/svc.c (svc_register, svc_unregister): Change INTDEF to libc_hidden_def. (svcerr_auth, svcerr_noprog, svcerr_progvers): Add libc_hidden_def. * sunrpc/svc_simple.c (registerrpc): Nix INTUSE for svc_register. * sysdeps/posix/system.c (do_system): New function, guts broken out of __libc_system. (__libc_system): Call it, putting just the line == NULL test here. * include/libc-symbols.h (__hidden_proto): Add extern keywords so variables work right. * elf/dl-open.c (dl_open_worker): Use _ macro instead of gettext. * elf/dl-close.c (_dl_close): Likewise. * include/netinet/in.h: Use libc_hidden_proto for bindresvport, in6addr_any, in6addr_loopback. Remove decls for bindresvport_internal, in6addr_any_internal, in6addr_loopback_internal. * sunrpc/svc_udp.c (svcudp_bufcreate): Nix INTUSE for bindresvport. * sunrpc/svc_tcp.c (svctcp_create): Likewise. * sunrpc/clnt_udp.c (clntudp_bufcreate): Likewise. * sunrpc/bindrsvprt.c: Change INTDEF to libc_hidden_def. * inet/in6_addr.c: Change INTVARDEF to libc_hidden_def. * sysdeps/posix/getaddrinfo.c (gaih_inet): Nix INTUSE for in6addr_loopback. * inet/gethstbyad_r.c (PREPROCESS): Nix INTUSE for in6addr_any. * include/netinet/ether.h: Use libc_hidden_proto for ether_ntoa_r, ether_aton_r. * inet/ether_aton_r.c: Add libc_hidden_def. * inet/ether_ntoa_r.c: Likewise. * include/rpc/svc.h: Use libc_hidden_proto for xprt_register, xprt_unregister. * sunrpc/svc.c: Add libc_hidden_def. * include/rpc/pmap_clnt.h: Use libc_hidden_proto for pmap_getport, pmap_set, pmap_unset. * sunrpc/pmap_clnt.c: Add libc_hidden_def. * sunrpc/pm_getport.c: Likewise. * include/rpc/auth_des.h: Use libc_hidden_proto for getpublickey. * sunrpc/publickey.c: Add libc_hidden_def. 2002-08-05 Ulrich Drepper * elf/rtld.c (_dl_start): Don't use memset. Use same tricks as for the other memset call in this function. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Store dtv pointer at correct index. Clear BSS region now that memalign is used. 2002-08-05 Roland McGrath * include/sys/utsname.h: Use libc_hidden_proto for uname, __uname. * sysdeps/generic/uname.c: Add libc_hidden_def. * sysdeps/mach/hurd/uname.c: Likewise. 2002-08-05 Jakub Jelinek * include/wchar.h (wcrtomb, wcscmp, wcsftime, wcsspn, wcschr, wcscoll, wcspbrk): Add libc_hidden_proto. * time/strftime.c (my_strftime): Add libc_hidden_def. (strftime): Remove libc_hidden_def. * wcsmbs/wcschr.c (wcschr): Add libc_hidden_def. * wcsmbs/wcspbrk.c (wcspbrk): Likewise. * wcsmbs/wcsspn.c (wcsspn): Likewise. * wcsmbs/wcscmp.c (wcscmp): Likewise. * wcsmbs/wcrtomb.c (wcrtomb): Add libc_hidden_weak. * wcsmbs/wcscoll.c (wcscoll): Likewise. * include/rpc/rpc.h (__rpc_thread_svc_max_pollfd, __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset, __rpc_thread_createerr): Add libc_hidden_proto. * sunrpc/rpc_thread.c (__rpc_thread_svc_max_pollfd, __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset, __rpc_thread_createerr): Add libc_hidden_def. * include/rpc/clnt.h (clnt_sperrno, clnt_spcreateerror, clnt_perror, clnt_sperror, _rpc_dtablesize): Add libc_hidden_proto. * sunrpc/clnt_perr.c (clnt_sperrno, clnt_spcreateerror, clnt_perror, clnt_sperror): Add libc_hidden_def. * sunrpc/rpc_dtable.c (_rpc_dtablesize): Likewise. * include/rpc/des_crypt.h (des_setparity, ecb_crypt, cbc_crypt): Add libc_hidden_proto. * sunrpc/des_crypt.c (ecb_crypt, cbc_crypt): Add libc_hidden_proto. * sunrpc/des_soft.c (des_setparity): Likewise. * include/rpc/auth.h (key_encryptsession_pk, key_decryptsession_pk): Add libc_hidden_proto. * sunrpc/key_call.c (key_encryptsession_pk, key_decryptsession_pk): Add libc_hidden_def. 2002-08-05 Roland McGrath * sysdeps/generic/ldsodefs.h (struct rtld_global): Replace member `bool _dl_initial_dtv_malloced' with `void *_dl_initial_dtv'. * elf/rtld.c (dl_main): Set it to the new dtv for the main thread. * sysdeps/generic/dl-tls.c (__tls_get_addr): When reallocating the dtv, check if it matches _dl_initial_dtv; if so, malloc and copy the old data, abandoning the original memory allocated by rtld at startup, instead of calling realloc normally. 2002-08-05 Ulrich Drepper * po/fr.po: Update from translation team. 2002-08-04 Roland McGrath * sysdeps/unix/make-syscalls.sh: If the syscall name field is - then generate a dummy module under the given name, obeying the normal rules for the "caller" field. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Make the phdr loop actually iterate over the elements. Fix typo p_type -> p_vaddr. * include/pthread.h: Don't declare __pthread_initialize_minimal as weak here; we declare it weak or strong in the one place we use it. * sysdeps/generic/libc-start.c: ... which is here. Don't make the decl weak if [USE_TLS], since static programs need TLS setup even when single-threaded. * stdlib/isomac.c (fmt): Add -DNOT_IN_libc to the compiler command. * elf/Makefile (test-srcs): Add $(modules-names) to it. (CFLAGS-vismod2.c, CFLAGS-failobj.c, CFLAGS-constload2.c, CFLAGS-reldepmod3.c, CFLAGS-reldepmod4.c, CFLAGS-ltglobmod2.c): Remove all these variables. 2002-08-04 Ulrich Drepper * include/stdio.h: Don't define macro magic to redirect function calls if _ISOMAC is defined. * sysdeps/i386/fpu/libm-test-ulps: Add epsilons for inlined ldouble asin tests. 2002-08-04 Roland McGrath * stdlib/lrand48_r.c: Add libc_hidden_def. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Allocate the TCB with __libc_memalign instead of mmap. (_dl_deallocate_tls): Free it with free instead of munmap. * Makerules (cpp-srcs-left): When setting this to run cppflags-iterator.mk, must append .c to $(tests) and $(xtests) words. Combine the two loops into one on the concatenated list, including those as well as $(test-srcs). * elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here, since we align here with optimally minimal waste anyway. (malloc): Just call that. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to the right variable. * elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset, to compute memory location for l_tls_initimage. * elf/rtld.c (_dl_start): Likewise. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise. * libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT, because the .d file is generated in the non-shared case and so fails to catch them otherwise. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function, split out of _dl_allocate_tls. (_dl_allocate_tls_init): Likewise. (_dl_allocate_tls): Call those. * sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden. * elf/rtld.c (dl_main): Call them separately instead of calling _dl_allocate_tls. Delay _dl_allocate_tls_init until after relocation is finished, so that the initializer data has been relocated before we copy it into the main thread's TLS block. * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in loop conditions, prevented the last used module from being initialized. 2002-08-04 Jakub Jelinek * sysdeps/generic/glob.c (glob, globfree): Only use libc_hidden_def if glob resp. globfree are not macros. * sysdeps/gnu/glob64.c (globfree64): Add libc_hidden_def. * sysdeps/unix/sysv/linux/alpha/glob.c (glob, globfree, globfree64): Add libc_hidden_ver. * sysdeps/unix/sysv/linux/i386/glob64.c (globfree64): Add libc_hidden_def. * sysdeps/wordsize-64/glob.c (globfree64): Use libc_hidden_ver instead of libc_hidden_weak. * sysdeps/wordsize-64/strtol.c (__strtoll_internal): Use libc_hidden_ver instead of libc_hidden_def. * sysdeps/wordsize-64/wcstol.c (__wcstoll_internal): Use libc_hidden_ver instead of libc_hidden_def. (wcstoll, wcstoq): Remove libc_hidden_weak. * sysdeps/wordsize-64/strtol_l.c (____strtoll_l_internal): Add libc_hidden_ver. * sysdeps/wordsize-64/strtoul.c (__strtoull_internal): Add libc_hidden_ver. * sysdeps/wordsize-64/strtoul_l.c (____strtoull_l_internal): Add libc_hidden_ver. * sysdeps/wordsize-64/wcstoul.c (__wcstoull_internal): Add libc_hidden_ver. 2002-08-04 Ulrich Drepper * stdio-common/psignal.c: Declare _sys_siglist_internal. Use USEINT to access _sys_siglist. * string/strsignal.c: Likewise. * sysdeps/generic/siglist.c: Add _sys_siglist_internal alias. * sysdeps/gnu/siglist.c: Likewise. * sysdeps/unix/siglist.c: Likewise. * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. * libio/fileops.c: Add missing INTUSEs for _IO_file_jumps. * libio/wfileops.c: Add missing INTUSE for _IO_file_close. * intl/dcigettext.c: Define _nl_default_dirname_internal as hidden alias and use it. * intl/bindtextdom.c: Use _nl_default_dirname_internal. * include/netinet/in.h: Add declaration of in6addr_loopback_internal. * inet/in6_addr.c: Add INTVARDEF for in6addr_loopback. * sysdeps/posix/getaddrinfo.c: Use INTUSE for in6addr_loopback access. * include/time.h: Add libc_hidden_proto for __gmtime_r. * time/gmtime.c (__gmtime_r): Add libc_hidden_def. * iconv/Versions: Replace __gconv_alias_db, __gconv_modules_db, and __gconv_cache with __gconv_get_alias_db, __gconv_get_modules_db, and __gconv_get_cache respectively. * iconv/gconv_cache.c (gconv_cache): Renamed for __gconv_cache and defined static. Change all users. (__gconv_get_cache): New function. * iconv/gconv_db.c (__gconv_get_modules_db): New function. (__gconv_get_alias_db): New function. * iconv/gconv_int.h (__gconv_alias_db): Declare as hidden. (__conv_modules_db): Likewise. Add prototypes for __gconv_get_cache, __gconv_get_modules_db, and __gconv_get_alias_db. * iconv/iconv_prog.c: Use the new functions instead of accessing the variables. * include/stdlib.h: Add prototype and libc_hidden_proto for __default_morecore. * sysdeps/generic/morecore.c: Include . * malloc/obstack.c: Remove fputs macro. * malloc/mtrace.c: Remove fopen macro. 2002-08-04 Jakub Jelinek * manual/debug.texi: Fix spelling to programmatically. Reported by . 2002-08-04 Ulrich Drepper * include/libio.h: Add libc_hidden_proto for __uflow. * include/stdio.h: Map fopen, fdopen, fclose, fputs, fsetpos, and fgetpos to _IO_* names. Add libc_hidden_proto for fileno, fwrite, fseek, fflush_unlocked, fread_unlocked, fwrite_unlocked, fgets_unlocked, fputs_unlocked. * include/wchar.h: Add libc_hidden_proto for fputws_unlocked, putwc_unlocked, vswscanf. * libio/iolibio.h: Add libc_hidden_proto for _IO_fputs. * libio/fileno.c: Use and libc_hidden_def. * libio/fseek.c: Likewise. * libio/fmemopen.c: Include "libioP.h". Call _IO_fopencookie and not fopencookie. * libio/genops.c (__uflow): Add libc_hidden_def. * libio/iofflush_u.c (fflush_unlocked): Likewise. * libio/iofgets_u.c (fgets_unlocked): Likewise. * libio/iofputs_u.c (fputs_unlocked): Likewise. * libio/iofputws_u.c (fputws_unlocked): Likewise. * libio/iofread_u.c (fread_unlocked): Likewise. * libio/iofwrite_u.c (fwrite_unlocked): Likewise. * libio/iovswscanf.c (vswscanf): Likewise. * libio/putwc_u.c (putwc_unlocked): Likewise. * libio/iofputs.c: Use libc_hidden_def instead of INTDEF. * malloc/malloc.c: Redirect fwrite calls to _IO_fwrite. * malloc/mtrace.c: Likewise. * sunrpc/clnt_perr.c: Remove fputs macro. * sunrpc/svc_simple.c: Likewise. * sunrpc/svc_tcp.c: Likewise. * sunrpc/svc_udp.c: Likewise. * sunrpc/xdr_rec.c: Likewise. * sunrpc/xdr_ref.c: Likewise. * iconv/Makefile: Add CPPFLAGS definitions with -DNOT_in_libc for iconv_prog, linereader, and charmap-dir. * locale/Makefile: Likewise for locale and charmap-dir. * malloc/Makefile: Likewise for memusagestat. * nscd/Makefile: Likewise for nscd, nscd_conf, and dbg_log. * sunrpc/Makefile: Likewise for rpc_main. * sysdeps/unix/sysv/linux/Makefile: Likewise for lddlibc4. * timezone/Makefile: Likewise for zic. * stdio-common/perror.c: Avoid multiple calls to fileno_unlocked. * elf/dl-addr.c (_dl_addr): Add libc_hidden_def. * elf/dl-close.c (_dl_close): Add libc_hidden_def. * elf/dl-open.c (_dl_open): Add libc_hidden_def. * include/dlfcn.h: Add libc_hidden_proto for _dl_addr, _dl_open, _dl_close. * include/libio.h: Add libc_hidden_proto for __underflow, __wuflow, __wunderflow. * libio/genops.c (__underflow): Add libc_hidden_def. * libio/wgenops.c (__wuflow): Likewise. (__wunderflow): Likewise. * include/obstack.h: Add libc_hidden_proto for _obstack_newchunk. * malloc/obstack.c (_obstack_newchunk): Add libc_hidden_def. * include/stdio.h: Add libc_hidden_proto for __vfscanf. * stdio-common/vfscanf.c (__vfscanf): Add libc_hidden_def. * include/string.h: Add libc_hidden_proto for __strverscmp. * string/strverscmp.c (__strverscmp): Add libc_hidden_def. * include/unistd.h: Add libc_hidden_proto for __sysconf. * sysdeps/generic/sysconf.c (__sysconf): Add libc_hidden_def. * sysdeps/posix/sysconf.c: Likewise. * sysdeps/unix/sysv/irix4/sysconf.c: Likewise. * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise. * include/wctype.h: Use libc_hidden_proto for __iswctype, __iswalnum_l, __iswalpha_l, __iswblank_l, __iswcntrl_l, __iswdigit_l, __iswlower_l, __iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l, __iswxdigit_l, __towlower_l, __towupper_l. * wcsmbs/wcstype.c (__iswctype): Use libc_hidden_def. * wcsmbs/wcfuncs_l.c: Use libc_hidden_def for all functions. * include/sys/wait.h: Add libc_hidden_proto for __xmknod. * sysdeps/generic/xmknod.c (__xmknod): Add libc_hidden_def. * sysdeps/mach/hurd/xmknod.c: Likewise. * sysdeps/unix/xmknod.c: Likewise. * sysdeps/unix/sysv/linux/xmknod.c: Likewise. * sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise. * sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise. * sunrpc/svc.c: Add missing INTUSE for _authenticate. 2002-08-03 Roland McGrath * include/sys/resource.h: Use libc_hidden_proto for getpriority, setpriority. * sysdeps/unix/sysv/linux/getpriority.c: Add libc_hidden_def. * sysdeps/unix/sysv/irix4/getpriority.c: Likewise. * sysdeps/unix/sysv/irix4/setpriority.c: Likewise. * sysdeps/mach/hurd/setpriority.c: Likewise. * sysdeps/mach/hurd/getpriority.c: Likewise. * sysdeps/generic/setpriority.c: Likewise. * sysdeps/generic/getpriority.c: Likewise. * include/mcheck.h: Use libc_hidden_proto for mcheck_check_all. * malloc/mcheck.c: Add libc_hidden_def. * include/search.h: Use libc_hidden_proto for hcreate_r, hdestroy_r. * misc/hsearch_r.c: Add libc_hidden_def. * include/fnmatch.h: Use libc_hidden_proto for fnmatch. * posix/fnmatch.c: Add libc_hidden_weak. * include/unistd.h: Use libc_hidden_proto for _exit, alarm, confstr, execl, execle, execlp, execvp, getpid, getsid. * sysdeps/generic/alarm.c: Add libc_hidden_def. * sysdeps/unix/alarm.c: Likewise. * posix/confstr.c: Likewise. * posix/execvp.c: Likewise. * posix/execlp.c: Likewise. * posix/execle.c: Likewise. * posix/execl.c: Likewise. * sysdeps/generic/getsid.c: Likewise. * sysdeps/mach/hurd/getsid.c: Likewise. * sysdeps/generic/getpid.c: Add libc_hidden_weak. * sysdeps/mach/hurd/getpid.c: Likewise. * include/stdlib.h: Use libc_hidden_proto for ecvt_r, fcvt_r, qecvt_r, qfcvt_r, lrand48_r. * misc/efgcvt_r.c: Add libc_hidden_def. * include/wordexp.h: Use libc_hidden_proto for wordfree. * sysdeps/generic/wordexp.c: Add libc_hidden_def. * include/langinfo.h: Use libc_hidden_proto for nl_langinfo. * locale/nl_langinfo.c: Add libc_hidden_def. * include/glob.h: Use libc_hidden_proto for glob, globfree, globfree64. * sysdeps/generic/glob.c: Add libc_hidden_def. * sysdeps/generic/glob64.c: Likewise. * sysdeps/wordsize-64/glob.c (globfree64): Add libc_hidden_weak. * locale/nl_langinfo.c: Use _NL_CURRENT_DATA. * elf/Makefile (CFLAGS-vismod2.c): New variable. * locale/setlocale.c (_nl_current_names): Variable moved ... * locale/localename.c (_nl_current_names): ... here, new file. Make it global, with attribute_hidden. * locale/localeinfo.h: Declare it. * locale/Makefile (aux): Add localename. * locale/localename.c (__current_locale_name): New function. * include/locale.h (__current_locale_name): Declare it. * intl/dcigettext.c (guess_category_value): Use that instead of calling setlocale. * locale/locale.h [__USE_GNU] (locale_t): New type alias of __locale_t. [__USE_GNU] (newlocale, duplocale, freelocale, uselocale): New decls. [__USE_GNU] (LC_GLOBAL_LOCALE): New macro. * locale/newlocale.c: Add alias to __ name. * locale/duplocale.c: Likewise. * locale/freelocale.c: Likewise. * locale/uselocale.c: New file. * locale/Makefile (routines): Add it. * locale/Versions (libc: GLIBC_2.3): New set. Add newlocale, duplocale, freelocale, uselocale. (libc: GLIBC_PRIVATE): Add __uselocale. * locale/localeinfo.h [SHARED] (_NL_CURRENT_LOCALE): New macro, defined to fetch a tsd value. (_NL_CURRENT_DATA): Define using that. (_NL_CURRENT, _NL_CURRENT_WSTR, _NL_CURRENT_WORD): Define using that. (_NL_CURRENT_DEFINE): Define to empty. [! SHARED]: Decls of _nl_current_CATEGORY and _nl_current conditionalized on this. * locale/xlocale.c (NL_C_INTIIALIZER): New macro, taking initializer of _nl_C_locobj. [SHARED] (_nl_global_locale): New variable, using that initializer. (_nl_C_locobj): Use new macro for initialzier. * locale/setlocale.c [! SHARED] (_nl_current): Conditionalize on this. [! SHARED] (CATEGORY_USED): New macro. [SHARED] (CATEGORY_USED, _nl_C): New macros. (setdata, setlocale): Use that macro instead of examining _nl_current. (setdata): Set the slot in _nl_global_locale. Conditionalize setting of _nl_current on [! SHARED]. * locale/findlocale.c [SHARED] (_nl_C): Define as a macro instead of declaration as an extern. * locale/newlocale.c (__newlocale): Use _nl_C_locobj instead of _nl_C. * include/locale.h: Use libc_hidden_proto for setlocale. * locale/setlocale.c: Add libc_hidden_def. * locale/setlocale.c (free_mem): Use _NL_CURRENT_DATA. * include/search.h: Use libc_hidden_proto for hsearch_r, lfind. * misc/hsearch_r.c: Add libc_hidden_def. * misc/lsearch.c: Likewise. * include/ttyent.h: Use libc_hidden_proto for getttyent, setttyent, endttyent. * misc/getttyent.c: Add libc_hidden_def. * include/mcheck.h: Use libc_hidden_proto for mcheck. * malloc/mcheck.c: Add libc_hidden_def. * include/envz.h: Use libc_hidden_proto for envz_entry, enz_remove. * include/argz.h: Use libc_hidden_proto for argz_delete. * string/argz-delete.c: Add libc_hidden_def. * string/envz.c: Likewise. Use , not "envz.h". * sysdeps/unix/sysv/linux/x86_64/clone.S (thread_start): Use HIDDEN_JUMPTARGET for _exit. * sysdeps/unix/sysv/linux/m68k/clone.S (thread_start): Likewise. * sysdeps/unix/sysv/linux/i386/clone.S (thread_start): Likewise. * sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise. * sysdeps/unix/_exit.S (_exit): Add libc_hidden_def. * include/libc-symbols.h: Fix [__ASSEMBLY__] -> [__ASSEMBLER__]. [__ASSEMBLER__] (hidden_weak): Define using hidden_def, or to empty. [__ASSEMBLER__] (HIDDEN_JUMPTARGET): New macro. * sysdeps/unix/sysv/linux/i386/makecontext.S: Use it for exit. * include/stdlib.h: Use libc_hidden_proto for abort, __strtof_internal, __strtod_internal, __strtold_internal, __strtol_internal, __strtoll_internal, __strtoul_internal, __strtoull_internal. __strtof_l_internal, __strtod_l_internal, __strtold_l_internal, __strtol_l_internal, __strtoll_l_internal, __strtoul_l_internal, __strtoull_l_internal. * include/wchar.h: Use libc_hidden_proto for __wcstof_internal, __wcstod_internal, __wcstold_internal, __wcstol_internal, __wcstoll_internal, __wcstoul_internal, ____wcstof_l_internal, ____wcstod_l_internal, ____wcstold_l_internal, ____wcstol_l_internal, ____wcstoll_l_internal, ____wcstoul_l_internal, __wcscasecmp_l, __wcsncasecmp_l. * sysdeps/generic/abort.c: Add libc_hidden_def. * stdlib/strtod.c: Likewise. * sysdeps/generic/strtol.c: Likewise. * sysdeps/wordsize-64/strtol.c: Likewise. * sysdeps/wordsize-64/wcstol.c: Likewise. * sysdeps/wordsize-64/wcstol_l.c: Likewise. * include/stdlib.h: Use libc_hidden_proto for qsort. * stdlib/msort.c: Add libc_hidden_def. * include/utime.h: Use libc_hidden_proto for utime. * sysdeps/generic/utime.c: Add libc_hidden_def. * sysdeps/unix/utime.c: Likewise. * sysdeps/generic/utmp_file.c (LOCK_FILE): sigemptyset -> __sigemptyset * sysdeps/posix/profil.c (__profil): sigfillset -> __sigfillset * sysdeps/posix/sprofil.c (__sprofil): Likewise. * shadow/lckpwdf.c (__lckpwdf): Likewise (both). * sysdeps/posix/spawni.c (__spawni): sigismember -> __sigismember * include/signal.h: Use libc_hidden_proto for raise, sigemptyset, sigfillset, sigismember, __sigpause, __libc_current_sigrtmin, and __libc_current_sigrtmax. * signal/sigismem.c: Add libc_hidden_def. * signal/sigfillset.c: Likewise. * signal/sigempty.c: Likewise. * sysdeps/generic/sigpause.c (__sigpause): Likewise. * sysdeps/posix/sigpause.c (__sigpause): Likewise. * sysdeps/unix/bsd/osf/alpha/sigpause.S: Likewise. * sysdeps/posix/raise.c: Likewise. * sysdeps/generic/raise.c: Likewise. 2002-08-03 Ulrich Drepper * include/string.h: Use libc_hidden_proto for __stpcpy. * sysdeps/alpha/stpcpy.S (__stpcpy): Add libc_hidden_def. * sysdeps/alpha/alphaev67/stpcpy.S: Likewise. * sysdeps/generic/stpcpy.c: Likewise. * sysdeps/i386/stpcpy.S: Likewise. * sysdeps/i386/i586/stpcpy.S: Likewise. * sysdeps/powerpc/stpcpy.S: Likewise. * sysdeps/sparc/sparc32/stpcpy.S: Likewise. * sysdeps/sparc/sparc64/stpcpy.S: Likewise. * include/string.h: Use libc_hidden_proto for __strcasecmp_l, __strncasecmp_l, __strdup, __strndup, __strerror_r. * sysdeps/generic/strcasecmp_l.c (__strcasecmp_l): Add libc_hidden_def. * string/strdup.c (__strdup): Likewise. * string/strndup.c (__strndup): Likewise. * sysdeps/generic/_strerror.c (__strerror_r): Likewise. * sysdeps/generic/strncase_l.c (__strncasecmp_l): Likewise. 2002-08-03 Jakub Jelinek * include/libio.h: New file. * libio/libioP.h (__overflow, __woverflow): Remove libc_hidden_proto. * libio/iolibio.h: #include , not "libio.h". * sysdeps/generic/morecore.c (__sbrk): Add libc_hidden_proto. * sysdeps/unix/bsd/syscalls.list: Remove all __GI_* aliases. * sysdeps/unix/common/syscalls.list: Likewise. * sysdeps/unix/inet/syscalls.list: Likewise. * sysdeps/unix/sysv/irix4/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: Likewise. * sysdeps/unix/syscalls.list: Likewise. 2002-08-03 Jakub Jelinek Ulrich Drepper * malloc/malloc.c (public_cALLOc): Only divide if at least one of the arguments is big enough to cause an overflow. 2002-08-03 Ulrich Drepper * assert/assert.c: Use hidden_def not INTDEF. 2002-08-03 Jakub Jelinek * include/libc-symbols.h: Optimize if HAVE_BROKEN_ALIAS_ATTRIBUTE is not defined. 2002-08-03 Roland McGrath * include/sys/syslog.h: Use libc_hidden_proto for syslog, vsyslog. * include/err.h: Use libc_hidden_proto for warn, warnx, vwarn, vwarn, verr, verrx. * include/stdlib.h: Use libc_hidden_proto for exit, getenv, bsearch. * misc/syslog.c: Add libc_hidden_def. * misc/err.c: Likewise. * stdlib/exit.c: Likewise. * stdlib/bsearch.c: Likewise. * sysdeps/generic/getenv.c: Likewise. * include/libc-symbols.h (hidden_weak): Define it for [__ASSEMBLER__]. * sysdeps/unix/make-syscalls.sh: Generate libc_hidden_def or libc_hidden_weak for every system call symbol defined. * include/time.h: Use libc_hidden_proto for time, asctime, mktime, timelocal, localtime, strftime. * time/asctime.c: Add libc_hidden_def. * time/mktime.c: Likewise. * time/localtime.c: Likewise. * time/strftime.c: Likewise. * time/strptime.c: Likewise. * sysdeps/generic/time.c: Likewise. * sysdeps/unix/time.c: Likewise. * sysdeps/unix/sysv/i386/time.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/time.S: Likewise. * include/arpa/inet.h: Use libc_hidden_proto for inet_ntop, inet_pton. inet_makeaddr, inet_netof, inet_addr, __inet_addr. * resolv/inet_ntop.c: Likewise. * resolv/inet_pton.c: Likewise. * inet/inet_mkadr.c: Add libc_hidden_def. * inet/inet_netof.c: Likewise. * resolv/inet_addr.c: Likewise. * include/libc-symbols.h: Remove `defined HAVE_BROKEN_ALIAS_ATTRIBUTE' clauses from conditionals for now. Will have to be fixed later for older compilers. * sysdeps/generic/mempcpy.c (__mempcpy): #undef it before defn. 2002-08-02 Ulrich Drepper * configure.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add check for broken alias attribute handling. * config.h.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add. 2002-08-02 Roland McGrath * elf/Makefile ($(objpfx)interp.os): Depend on config.make, since it sets the variables we use in a -D switch. 2002-08-02 Roland McGrath * posix/bits/posix1_lim.h (SSIZE_MAX): Define to LONG_MAX, not INT_MAX. On 32-bit platforms they are the same; on 64-bit platforms ssize_t matches long int, not int. * locale/localeinfo.h (_NL_CURRENT_DATA): New macro. * wcsmbs/wcsmbsload.h (update_conversion_ptrs): Use it. * locale/lc-ctype.c (_nl_postload_ctype): Likewise. * wctype/wctrans.c (wctrans): Likewise. * wctype/wctype.c (__wctype): Likewise. * intl/loadmsgcat.c (_nl_init_domain_conv): Use _NL_CURRENT. 2002-08-02 Ulrich Drepper * assert/assert.c (__assert_fail): Fix typo in comment. * include/rpc/rpc.h: Declare RPC_VARS tsd as extern. * sunrpc/rpc_thread.c: Define it without static. * sunrpc/Versions [libc] (GLIBC_PRIVATE): Export __libc_tsd_RPC_VARS. 2002-08-02 Jakub Jelinek * assert/assert.c (__assert_fail): Remove undef. Replace INTDEF with libc_hidden_def. * assert/__assert.c (__assert): Remove INTUSE. * elf/dl-minimal.c (__assert_fail): Replace INTDEF with libc_hidden_weak. * include/libc-symbols.h (hidden_proto, hidden_def, hidden_weak, hidden_ver, libc_hidden_proto, libc_hidden_def, libc_hidden_weak, libc_hidden_ver, rtld_hidden_proto, rtld_hidden_def, rtld_hidden_weak, rltd_hidden_ver, libm_hidden_proto, libm_hidden_def, libm_hidden_weak, libm_hiden_ver): Define. * include/assert.h (__assert_fail_internal): Remove. (__assert_fail): Add prototype. Add hidden_proto. * include/libc-internal.h (__libc_freeres, __profile_frequency): Add libc_hidden_proto. * include/wchar.h (__mbrtowc_internal, __mbrlen_internal): Remove. (__mbrtowc, __mbrlen): Use libc_hidden_proto. Remove macros. * include/string.h (__mempcpy, __stpncpy, __rawmemchr, __strcasecmp): Add libc_hidden_proto. * include/fcntl.h (__open64, __libc_open, __libc_fcntl, __open, __fcntl): Add libc_hidden_proto. Remove macros. (__open_internal, __fcntl_internal): Remove. * libio/iofdopen.c (_IO_fcntl): Remove INTUSE from __fcntl. * malloc/set-freeres.c (__libc_freeres): Add libc_hidden_def. * nss/nsswitch.h (__nss_database_lookup, __nss_next): Add libc_hiden_proto. * nss/nsswitch.c (__nss_database_lookup, __nss_next): Add libc_hidden_def. * sysdeps/generic/mempcpy.c (__mempcpy): Remove undef. Add libc_hidden_def. * sysdeps/generic/open64.c (__open64): Add libc_hidden_def. * sysdeps/generic/open.c (__open): Remove undef. Add libc_hidden_def. Remove INTDEF. * sysdeps/generic/fcntl.c (__fcntl): Remove undef. Add libc_hidden_def. * sysdeps/mach/hurd/fcntl.c (__fcntl): Likewise. * sysdeps/i386/i586/mempcpy.S (__mempcpy): Add libc_hidden_def. * sysdeps/i386/i686/mempcpy.S (__mempcpy): Likewise. * sysdeps/mach/hurd/fcntl.c (__libc_fcntl, __fcntl): Remove undef. (__fcntl): Remove INTDEF2. Add libc_hidden_weak. (__libc_fcntl): Add libc_hidden_def. * sysdeps/mach/hurd/open.c (__libc_open, __open): Remove undef. (__open): Remove INTDEF2. Add libc_hidden_weak. (__libc_open): Add libc_hidden_def. * sysdeps/posix/open64.c (__open64): Add libc_hidden_weak. * sysdeps/standalone/open.c (__open): Add libc_hidden_def. * sysdeps/unix/sysv/aix/fcntl.c (__libc_fcntl, __fcntl): Remove undef. Add libc_hidden_def. * sysdeps/unix/sysv/aix/open.c (__libc_open, __open): Remove undef. Add libc_hidden_def. * sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl, __fcntl): Remove undef. (__fcntl): Remove INTDEF2. Add libc_hidden_weak. (__libc_fcntl): Add libc_hidden_def. * sysdeps/unix/sysv/linux/syscalls.list (__fcntl_internal, __getpgid_internal, __chown_internal): Remove. (__GI___fcntl, __GI___libc_fcntl, __GI___getpgid, __GI___pipe, __GI___sched_setscheduler, __GI___select, __GI___setpgid, __GI___chown): Add. * sysdeps/unix/syscalls.list (__close_internal, __dup2_internal, __getpid_internal, __open_internal, __write_internal): Remove. (__GI___fcntl, __GI___libc_fcntl, __GI___open, __GI___libc_open, __GI___chown, __GI___close, __GI___dup2, __GI___getpid, __GI___libc_open, __GI___open, __GI___read, __GI___libc_read, __GI___select, __GI___statfs, __GI___write, __GI___libc_write): Add. * wcsmbs/mbrlen.c (__mbrlen): Remove undef. Replace INTDEF with libc_hidden_def. * wcsmbs/mbrtowc.c (__mbrtowc): Likewise. * catgets/catgetsinfo.h (__open_catalog): Add libc_hidden_proto. * catgets/open_catalog.c (__open_catalog): Add libc_hidden_def. * elf/dl-profile.c (__profile_frequency): Add libc_hidden_proto. * include/rpc/rpc.h (__rpc_thread_svc_fdset, __rpc_thread_createerr): Add libc_hidden_proto. * include/sys/poll.h (__poll): Add libc_hidden_proto. * include/sys/select.h (__select): Likewise. * include/sys/socket.h (__send): Likewise. * include/sys/statfs.h (__statfs): Likewise. * include/unistd.h (__pwrite64, __libc_read, __pipe, __chown, __dup2, __getpid, __getpgid, __setpgid, __close, __read, __write, __getpagesize, __sbrk): Likewise. (__chown_internal, __dup2_internal, __getpid_internal, __getpgid_internal, __close_internal, __write_internal, __getpagesize_internal): Remove. (__close, __dup2, __getpagesize, __getpgid, __getpid, __libc_write): Remove macros. * include/printf.h (__printf_fp): Add libc_hidden_proto. * include/sched.h (__sched_setscheduler): Likewise. * include/resolv.h (__res_ninit, __res_randomid): Likewise. * include/stdlib.h (__secure_getenv): Likewise. * include/signal.h (__sigaction, __sigsuspend): Likewise. * inet/getaliasent_r.c (NSS_attribute_hidden): Remove. * inet/getaliasname_r.c (NSS_attribute_hidden): Remove. * inet/getnetbyad_r.c (NSS_attribute_hidden): Remove. * inet/getnetbynm_r.c (NSS_attribute_hidden): Remove. * inet/getnetent_r.c (NSS_attribute_hidden): Remove. * inet/getproto_r.c (NSS_attribute_hidden): Remove. * inet/getprtent_r.c (NSS_attribute_hidden): Remove. * inet/getprtname_r.c (NSS_attribute_hidden): Remove. * inet/getrpcbyname_r.c (NSS_attribute_hidden): Remove. * inet/getrpcbynumber_r.c (NSS_attribute_hidden): Remove. * inet/getrpcent_r.c (NSS_attribute_hidden): Remove. * inet/getservent_r.c (NSS_attribute_hidden): Remove. * inet/getsrvbynm_r.c (NSS_attribute_hidden): Remove. * inet/getsrvbypt_r.c (NSS_attribute_hidden): Remove. * inet/gethstbyad_r.c (DB_LOOKUP_FCT): Remove INTUSE. * inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise. * inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise. * inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise. * libio/genops.c (__overflow): Add libc_hidden_def. * libio/iovdprintf.c: Remove libio.h include. * libio/libioP.h (libc_hidden_proto, libc_hidden_def, libc_hidden_weak): Define to nothing if not defined. (__overflow, __woverflow): Add libc_hidden_proto. * libio/wgenops.c (__woverflow): Add libc_hidden_def. * nss/getXXent_r.c (NSS_attribute_hidden): Remove. (DB_LOOKUP_FCT): Add libc_hidden_proto. * nss/getXXbyYY_r.c (NSS_attribute_hidden): Remove. (DB_LOOKUP_FCT): Add libc_hidden_proto. * nss/XXX-lookup.c (DB_LOOKUP_FCT): Add libc_hidden_proto and libc_hidden_def. * nss/hosts-lookup.c (__nss_hosts_lookup): Remove INTDEF. * posix/bsd-getpgrp.c (__getpgid_internal): Remove. (__getpgid): Add libc_hidden_proto. (__bsd_getpgrp): Remove INTUSE. * resolv/res_init.c (__res_ninit, __res_randomid): Add libc_hidden_def. * shadow/getspent_r.c (NSS_attribute_hidden): Remove. * shadow/getspnam_r.c (NSS_attribute_hidden): Remove. * stdio-common/printf_fp.c (__printf_fp): Add libc_hidden_def. * stdlib/strfmon.c (__printf_fp): Add libc_hidden_proto. * stdlib/secure-getenv.c (__secure_getenv): Add libc_hidden_def. * sunrpc/rpc_thread.c (__rpc_thread_svc_fdset, __rpc_thread_createerr): Add libc_hidden_def. * sysdeps/alpha/alphaev67/rawmemchr.S (__rawmemchr): Add libc_hidden_def. * sysdeps/alpha/alphaev67/stpncpy.S (__stpncpy): Likewise. * sysdeps/alpha/rawmemchr.S (__rawmemchr): Likewise. * sysdeps/alpha/stpncpy.S (__stpncpy): Likewise. * sysdeps/generic/chown.c (__chown): Likewise. * sysdeps/generic/close.c (__close): Likewise. * sysdeps/generic/dup2.c (__dup2): Likewise. * sysdeps/generic/pipe.c (__pipe): Likewise. * sysdeps/generic/prof-freq.c (__profile_frequency): Likewise. * sysdeps/generic/pwrite64.c (__pwrite64): Likewise. * sysdeps/generic/rawmemchr.c (__rawmemchr): Likewise. * sysdeps/generic/read.c (__libc_read): Likewise. (__read): Add libc_hidden_weak. * sysdeps/generic/sbrk.c (__sbrk): Add libc_hidden_def. * sysdeps/generic/sched_sets.c (__sched_setscheduler): Likewise. * sysdeps/generic/select.c (__select): Likewise. * sysdeps/generic/send.c (__send): Likewise. * sysdeps/generic/setpgid.c (__setpgid): Likewise. * sysdeps/generic/sigaction.c (__sigaction): Likewise. * sysdeps/generic/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/generic/statfs.c (__statfs): Likewise. * sysdeps/generic/stpncpy.c (__stpncpy): Likewise. * sysdeps/generic/strcasecmp.c (__strcasecmp): Likewise. * sysdeps/generic/getpagesize.c (__getpagesize): Likewise. Remove undef and INTDEF. * sysdeps/generic/getpgid.c (__getpgid): Likewise. * sysdeps/generic/getpid.c (__getpid): Likewise. * sysdeps/generic/write.c (__libc_write): Likewise. (__write): Add libc_hidden_weak. Remove undef and INTDEF. * sysdeps/i386/rawmemchr.S (__rawmemchr): Add libc_hidden_def. * sysdeps/i386/stpncpy.S (__stpncpy): Likewise. * sysdeps/m68k/rawmemchr.S (__rawmemchr): Likewise. * sysdeps/mach/hurd/chown.c (__chown): Likewise. Remove INTDEF. * sysdeps/mach/hurd/close.c (__close): Add libc_hidden_def. Remove undef and INTDEF. * sysdeps/mach/hurd/dup2.c (__dup2): Likewise. * sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise. * sysdeps/mach/hurd/getpid.c (__getpid): Likewise. * sysdeps/mach/getpagesize.c (__getpagesize): Likewise. * sysdeps/mach/hurd/write.c (__libc_write): Likewise. (__write): Add libc_hidden_weak. Remove undef and INTDEF. * sysdeps/mach/hurd/pipe.c: Include unistd.h. (__pipe): Add libc_hidden_def. * sysdeps/mach/hurd/dl-sysdep.c (__libc_read, __libc_write): Add libc_hidden_weak. * sysdeps/mach/hurd/poll.c (__poll): Add libc_hidden_def. * sysdeps/mach/hurd/profil.c (__profile_frequency): Likewise. * sysdeps/mach/hurd/read.c (__libc_read): Likewise. (__read): Add libc_hidden_weak. * sysdeps/mach/hurd/pwrite64.c (__pwrite64): Likewise. (__libc_pwrite64): Add libc_hidden_def. * sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise. * sysdeps/mach/hurd/select.c (__select): Likewise. * sysdeps/mach/hurd/send.c (__send): Likewise. * sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise. * sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise. * sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/mach/hurd/statfs.c (__statfs): Likewise. * sysdeps/posix/dup2.c: Likewise. Remove undef and INTDEF. * sysdeps/posix/getpagesize.c (__getpagesize): Likewise. * sysdeps/posix/pwrite64.c (__libc_pwrite64): Add libc_hidden_def. (__pwrite64): Add libc_hidden_weak. * sysdeps/posix/sigsuspend.c (__sigsuspend): Add libc_hidden_def. * sysdeps/sparc/sparc64/rawmemchr.S (__rawmemchr): Likewise. * sysdeps/sparc/sparc64/stpncpy.S (__stpncpy): Likewise. * sysdeps/standalone/close.c (__close): Likewise. * sysdeps/standalone/write.c (__libc_write): Likewise. (__write): Add libc_hidden_weak. * sysdeps/standalone/read.c (__read): Likewise. (__libc_read): Add libc_hidden_def. * sysdeps/unix/grantpt.c (grantpt): Remove INTUSE. * sysdeps/unix/bsd/m68k/pipe.S (__pipe): Add libc_hidden_def. * sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise. * sysdeps/unix/bsd/vax/pipe.S (__pipe): Likewise. * sysdeps/unix/bsd/syscalls.list (__GI___getpagesize): Likewise. * sysdeps/unix/bsd/poll.c (__poll): Likewise. * sysdeps/unix/bsd/sigaction.c (__sigaction): Likewise. * sysdeps/unix/bsd/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/unix/common/syscalls.list (__GI___getpgid, __GI___setpgid, __GI___sigaction): Add. * sysdeps/unix/i386/pipe.S (__pipe): Add libc_hidden_def. * sysdeps/unix/inet/syscalls.list (__GI___send): Add. * sysdeps/unix/mips/pipe.S (__pipe): Add libc_hidden_def. * sysdeps/unix/sparc/pipe.S (__pipe): Likewise. * sysdeps/unix/sysv/irix4/syscalls.list (__GI___getpgid, __GI___setpgid): Add. * sysdeps/unix/sysv/aix/chown.c (__chown): Add libc_hidden_def. Remove undef and INTDEF. * sysdeps/unix/sysv/aix/getpgid.c (__getpgid): Likewise. * sysdeps/unix/sysv/aix/write.c (__write, __libc_write): Likewise. * sysdeps/unix/sysv/aix/close.c (__close): Add libc_hidden_def. * sysdeps/unix/sysv/aix/getpid.c (__getpid): Likewise. * sysdeps/unix/sysv/aix/pipe.c (__pipe): Likewise. * sysdeps/unix/sysv/aix/read.c (__read, __libc_read): Likewise. * sysdeps/unix/sysv/aix/poll.c (__poll): Likewise. * sysdeps/unix/sysv/aix/sbrk.c (__sbrk): Likewise. * sysdeps/unix/sysv/aix/sigaction.c (__sigaction): Likewise. * sysdeps/unix/sysv/aix/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/unix/sysv/aix/statfs.c (__statfs): Likewise. * sysdeps/unix/sysv/aix/select.c (__select): Likewise. * sysdeps/unix/sysv/aix/setpgid.c (__setpgid): Likewise. * sysdeps/unix/sysv/linux/alpha/pipe.S (__pipe): Likewise. * sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI___pwrite64, __GI___statfs, __GI___send): Add. * sysdeps/unix/sysv/linux/alpha/select.S (__select): Add libc_hidden_ver resp. libc_hidden_def. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__sigsuspend): Add libc_hidden_def. * sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize): Likewise. Remove undef and INTDEF. * sysdeps/unix/sysv/linux/ia64/pipe.S (__pipe): Add libc_hidden_def. * sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___pwrite64, __GI___statfs, __GI___send): Add. * sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction): Add libc_hidden_def. * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/unix/sysv/linux/sh/pipe.S (__pipe): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown): Add libc_hidden_ver resp. libc_hidden_def. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___pwrite64, __GI___send): Add. * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__sigsuspend): Add libc_hidden_def. * sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI___send): Add. * sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/i386/chown.c (__chown): Add libc_hidden_ver resp. libc_hidden_def. * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise. Remove INTDEF. * sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize): Likewise. Remove undef. * sysdeps/unix/sysv/linux/mips/pwrite64.c (__pwrite64): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/mips/syscalls.list (__GI___send): Add. * sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): Add libc_hidden_def. * sysdeps/unix/sysv/linux/powerpc/pwrite64.c (__pwrite64): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize): Likewise. Remove undef and INTDEF. * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__pipe): Add libc_hidden_def. * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__pipe): Add libc_hidden_def. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (__GI___pwrite64, __GI___statfs, __GI___select, __GI___send): Add. * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__sigsuspend): Add libc_hidden_def. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI___pwrite64, __GI___statfs): Add. * sysdeps/unix/sysv/linux/x86_64/send.c (__send): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction): Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Add libc_hidden_def. Remove undef and INTDEF. * sysdeps/unix/sysv/linux/poll.c (__poll): Add libc_hidden_def. * sysdeps/unix/sysv/linux/pwrite64.c (__pwrite64): Add libc_hidden_def. * sysdeps/unix/sysv/linux/send.S (__send): Likewise. * sysdeps/unix/sysv/linux/sigaction.c (__sigaction): Add libc_hidden_weak. * sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Add libc_hidden_def. * sysdeps/unix/sysv/sco3.2.4/__setpgid.c (__setpgid): Likewise. * sysdeps/unix/sysv/sco3.2.4/sigaction.S (__sigaction): Likewise. * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list (__GI___sigaction): Add. * sysdeps/unix/sysv/sysv4/__getpgid.c (__getpgid): Add libc_hidden_def. Remove undef and INTDEF. * sysdeps/unix/sysv/sysv4/getpgid.c (__getpgid): Likewise. * sysdeps/unix/sysv/sysv4/__setpgid.c (__setpgid): Add libc_hidden_def. * sysdeps/unix/sysv/sysv4/setpgid.c (__setpgid): Likewise. * sysdeps/unix/sysv/sysv4/sigaction.c (__sigaction): Likewise. * sysdeps/unix/sysv/sigaction.c (__sigaction): Likewise. * sysdeps/unix/getpagesize.c (__getpagesize): Add libc_hidden_def. Remove undef and INTDEF. * configure.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add check for broken visibility attribute handling. * config.h.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add. 2002-08-02 Ulrich Drepper * locale/iso-639.def: Add entries for Venda and Nothern Sotho. Reported by Dwayne Bailey . * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Adapt previous patch. 2002-06-29 Todd Fries * resolv/gethnamaddr.c (gethostbyaddr): Try ip6.int if ip6.arpa fails. 2002-08-02 Jakub Jelinek * include/errno.h: Don't include tls.h if _ISOMAC is defined. 2002-07-30 Roland McGrath * resolv/resolv.h (_res): Define macro unconditionally. [! _LIBC_REENTRANT] (_res): Move this conditional decl to ... * include/resolv.h: ... here. [USE_TLS && HAVE___THREAD] (_res): #undef it and declare as a __thread variable. * resolv/res_libc.c [USE_TLS && HAVE___THREAD] (_res): Define it as a __thread variable instead of a global. * resolv/res_data.c [_LIBC]: Don't #undef _res. * include/errno.h: Include to make sure USE_TLS defined by the time we test it. * intl/loadmsgcat.c [__GNUC__]: #undef alloca before defining it. * malloc/malloc.c [_LIBC]: Include instead of using local decls of memset and memcpy. * sysdeps/generic/sysdep.h (END): Conditionalize on [__ASSEMBLER__]. * sysdeps/unix/sysv/linux/i386/sysdep.h (L): Likewise. * elf/dl-load.c (_dl_map_object_from_fd): Comment fix. * sysdeps/generic/bits/libc-tsd.h [USE_TLS && HAVE___THREAD] (__libc_tsd_define): Define using __thread. * sunrpc/rpc_thread.c: Use __libc_tsd_define. (__rpc_thread_variables): Use __libc_tsd_get. (__rpc_thread_destroy): Use __libc_tsd_get instead of calling __rpc_thread_variables, which might allocate what we're about to free. * inet/herrno.c [USE_TLS && HAVE___THREAD] (h_errno): Define as a thread-local variable. * resolv/netdb.h (h_errno): Define macro unconditionally. [_LIBC] (__set_h_errno): Macro moved to ... * include/netdb.h: ... here. [USE_TLS && HAVE___THREAD] (h_errno): Declare __thread variable. [USE_TLS && HAVE___THREAD] (__set_h_errno): Define using that. [! _LIBC_REENTRANT]: #undef h_errno here. * include/errno.h: Protect from multiple inclusion. * misc/sys/select.h (__NFDBITS, __FDELT, __FDMASK): #undef these before defining them, since Linux's might have defined them. 2002-08-02 Jakub Jelinek * malloc/malloc.c (public_cALLOc): Check for overflow on multiplication. * sunrpc/xdr_array.c (xdr_array): Likewise. * sunrpc/rpc/types.h (mem_free): Add comment. Patch by Solar Designer . 2002-08-02 Jakub Jelinek * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_SET_THREAD_AREA_SYSCALL): Define. 2002-08-01 Roland McGrath * libio/fileops.c (_IO_file_sync_mmap): New function. (_IO_file_jumps_mmap): Use it. (_IO_file_underflow_mmap): Rewritten. If after EOF or fflush, repeat the stat check and resize the mapped buffer as necessary. 2002-07-31 Roland McGrath * libio/fileops.c (decide_maybe_mmap): New static function. Code taken from libio/iofopen.c:__fopen_maybe_mmap to try to mmap the file contents. Then switch the jump tables to the mmap tables if it worked, or the vanilla file tables if not. (_IO_file_underflow_maybe_mmap): New function. (_IO_file_seekoff_maybe_mmap): New function. (_IO_file_xsgetn_maybe_mmap): New function. (_IO_file_jumps_maybe_mmap): New variable, jump table using those. * libio/libioP.h: Declare those. * libio/wfileops.c (_IO_wfile_underflow_maybe_mmap): New function. (_IO_wfile_jumps_maybe_mmap): New variable, jump table using that. * libio/iofopen.c (__fopen_maybe_mmap): Don't try to mmap here. If the stream is read-only, set its jump tables to those new ones. * libio/iofdopen.c (_IO_new_fdopen) [_G_HAVE_MMAP]: Set the initial jump tables to the maybe_mmap ones, and don't call __fopen_maybe_mmap. We need the tables set before _IO_file_attach. * libio/tst-mmap-eofsync.c: New file. * libio/tst-mmap-fflushsync.c: New file. * libio/bug-mmap-fflush.c: New file. * libio/tst-mmap2-eofsync.c: New file. * libio/Makefile (tests): Add them. * libio/wfileops.c (_IO_wfile_underflow_mmap): Don't set EOF bit when _IO_file_underflow_mmap fails, it already set the appropriate bit. 2002-07-31 Jeff Bailey * libio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr): Declarations moved to . Include that file. * libio/Makefile (headers): Add bits/sys_errlist.h to the list. * sysdeps/generic/bits/sys_errlist.h: New file. This does *not* declare sys_errlist and sys_nerr. * sysdeps/unix/sysv/linux/bits/sys_errlist.h: New file. Does provide declarations. 2002-07-31 Roland McGrath * elf/rtld.c (dl_main): Fix typo in error message. 2002-07-31 Roland McGrath * sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): __fxstat -> __fxstat64, __xstat -> __xstat64, __lseek -> __libc_lseek64. Completes 2002-06-09 sysdeps/mach/hurd/dl-sysdep.c change. 2002-07-28 Ulrich Drepper * sysdeps/unix/sysv/linux/configure.in: Check /lib/modules/`uname -r`/build/include for kernel headers. * po/fi.po: New file. 2002-07-15 Alexandre Oliva * configure.in (static_nss): Set to `yes' if --disable-shared. 2002-07-23 Bruno Haible * intl/loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN is set. 2002-07-25 Jakub Jelinek * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h: New file. * sysdeps/unix/sysv/linux/ia64/profil-counter.h: Fix profil_counter arguments. 2002-07-25 Jakub Jelinek * sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal): Add alias. 2002-07-21 Bruno Haible * intl/libintl.h (__GNU_GETTEXT_SUPPORTED_REVISION): New macro. * intl/gettext.h (struct mo_file_header): New fields n_sysdep_segments, sysdep_segments_offset, n_sysdep_strings, orig_sysdep_tab_offset, trans_sysdep_tab_offset. (struct sysdep_segment): New type. (struct sysdep_string): New type. (SEGMENTS_END): New macro. * intl/gettextP.h (struct sysdep_string_desc): New type. (struct loaded_domain): New fields malloced, n_sysdep_strings, orig_sysdep_tab, trans_sysdep_tab, must_swap_hash_tab. Make fields orig_tab, trans_tab, hash_tab to const pointers because they point into read-only memory. * intl/loadmsgcat.c: Include stdint.h, inttypes.h, hash-string.h. (PRI*): Define fallback values. (get_sysdep_segment_value): New function. (_nl_load_domain): Distinguish major and minor revision parts. Add support for minor revision 1 with system dependent strings. (_nl_unload_domain): Also free the 'malloced' field. * intl/dcigettext.c (_nl_find_msg): Remove test for domain->hash_size, now done in loadmsgcat.c. Add support for system dependent strings. 2002-07-16 Stepan Kasal * posix/bug-regex7.c: New file. * posix/bug-regex8.c: New file. * posix/Makefile (tests): Add bug-regex7 and bug-regex8. 2002-07-16 Stepan Kasal * posix/bug-regex4.c (main): Fix typos. * posix/bug-regex6.c (main): Likewise. 2002-07-27 Ulrich Drepper * posix/bug-regex6.c (main): Fix warnings. * iconvdata/Makefile (CPPFLAGS): Add NOT_IN_libc. * iconv/iconv_prog.c (main): Improve error message for the cases where -t and/or -f parameter are missing. 2002-07-10 Stepan Kasal * posix/regexec.c (re_match): Reorganize to remove duplicate code. (re_search): Likewise. (re_match_2): Likewise. (re_search_2): Likewise. (re_search_stub): New function. (re_search_2_stub): New function. * regcomp.c (re_compile_pattern): Typo in a comment fixed. 2002-07-10 Isamu Hasegawa * posix/regex_internal.h: Add new member STOP to struct re_string_t. (re_string_eoi): Use STOP instead of LEN. * posix/regex_internal.c (re_string_allocate): Initialize pstr->len. (re_string_construct): Likewise. (re_string_reconstruct): Adjust pstr->stop like pstr->len. * posix/regexec.c (re_search_internal): Add a new argument STOP so that it can handle the argument STOP of re_search_2 and re_match_2 correctly. (regexec): Adapt to new I/F of re_search_internal. (re_search_stub): Likewise. 2002-07-25 Ulrich Drepper * sunrpc/clnt_gen.c: Don't include . * elf/dl-minimal.c: Remove definition of __assert_perror_fail. * sysdeps/wordsize-32/divdi3.c: Define __divdi3_internal. * sysdeps/wordsize-32/lldiv.c: Make gcc use __divdi3_internal instead of __divdi3. * sysdeps/unix/sysv/linux/adjtime.c: Use __adjtimex_internal. * sysdeps/unix/sysv/linux/ntp_gettime.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add __adjtimex_internal alias for adjtimex syscall. * elf/dl-minimal.c: Define __assert_fail_internal. * assert/assert.c: Likewise. * include/assert.h: Define __assert_file macro if !SHARED and not NOT_IN_libc. * iconv/Makefile: Define NOT_IN_libc for objects in standalone programs. * locale/Makefile: Likewise. * nscd/Makefile: Likewise. * catgets/Makefile: Likewise. 2002-07-24 Ulrich Drepper * libio/fileops.c (_IO_file_seekoff_mmap): Do use fp->_offset to compute current position. * stdio-common/tst-fseek.c (main): Improve error messages. * libio/tst-freopen.c (main): Remove unused variable. * libio/fileops.c (_IO_file_seekoff_mmap): Set fp->_offset after succesful seek call. Simplify error checking. 2002-07-25 Jakub Jelinek * config.h.in: Use __ASSEMBLER__ test macro not ASSEMBLER. * sysdeps/ia64/fpu/libm_support.h: Likewise. 2002-07-19 Roland McGrath * hurd/hurdsig.c (_hurdsig_getenv): Always return null if __libc_enable_secure is set. 2002-07-24 Roland McGrath Added interface with functions `getifaddrs', `freeifaddrs'. This implementation supports only IPv4. * inet/ifaddrs.h: New file. * sysdeps/generic/ifaddrs.c: New file. * sysdeps/gnu/ifaddrs.c: New file. * inet/test-ifaddrs.c: New file. * inet/Makefile (routines): Add ifaddrs. (headers): Add ifaddrs.h here. (tests): Add test-ifaddrs. * inet/Versions (GLIBC_2.3): New set, add getifaddrs and freeifaddrs. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Use an explicit socket call to get an AF_INET socket, instead of using __opensock. The SIOCGIFNETMASK ioctl will work only with a PF_INET socket. * sysdeps/generic/ifreq.h (__ifreq): Take third argument SOCKFD, if not -1 use it instead of calling __opensock. * sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise. * sysdeps/mach/hurd/ifreq.h (__ifreq): Take new argument and ignore it. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Pass new argument. * sysdeps/mach/hurd/ifreq.h: New file. * sysdeps/generic/ifreq.h (__if_freereq): Take second argument NUM_IFS. * sysdeps/unix/sysv/linux/ifreq.h (__if_freereq): Likewise. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Update caller. * libio/fileops.c (_IO_file_seekoff_mmap): Don't rely on FP->_offset, which gets moved around. Calculate size of mmap'd buffer instead. 2002-07-24 Philip Blundell * sysdeps/unix/arm/brk.S: Improve schedule. * sysdeps/unix/sysv/linux/arm/socket.S (PUSHARGS_1): Use more efficient instruction. (__socket): Optimize return sequence. 2002-07-24 Ulrich Drepper * sysdeps/unix/sysv/linux/opensock.c (__opensock): Prefer inet sockets on old kernels. 2002-07-22 Philip Blundell * sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias definiton of _old_sys_nerr. Define _old_sys_errlist as strong alias. 2002-07-24 Ulrich Drepper * locale/hashval.h: Make more self-contained by defining LONG_BITS. * locale/programs/simple-hash.c: Remove LONG_BITS definition. * locale/programs/locarchive.c (add_locale_to_archive): Correct test to detect duplicate locales. * libio/fileops.c (_IO_new_file_seekoff): Fail if relative position would be before beginning of file. (_IO_file_seekoff_mmap): Likewise. * libio/Makefile (tests): Add bug-fseek. * libio/bug-fseek.c: New file. * intl/explodename.c: Remove support for CEN-style locale variables. It was never used and shouldn't be since it's not portable. * intl/finddomain.c: Likewise. * intl/l10nflist.c: Likewise. * intl/loadinfo.h: Likewise. * locale/findlocale.c: Likewise. 2002-07-24 Roland McGrath * libio/fileops.c (_IO_file_seekoff_mmap): When just examining the position, calculate it to take into account an active pushback buffer. * libio/Makefile (tests): Add bug-ungetc. * libio/bug-ungetc.c: New file. 2002-07-23 Ulrich Drepper * sysdeps/generic/libc-tls.c: New file. * csu/Makefile (routines): Add libc-tls. (static-only-routines): Add libc-tls. * elf/dl-support.c (_dl_phdr): New variable. (_dl_phnum): New variable. (_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector. * sysdeps/generic/libc-start.c (__libc_start_main): Reorganize code for !SHARED. First look through auxiliary vector. If TLS always call __pthread_initialize_minimal. * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Make sure size argument in mmap call is never zero. 2002-07-23 Andreas Jaeger * sysdeps/x86_64/fpu/s_copysign.S: Use optimized version. * sysdeps/x86_64/fpu/s_copysignf.S: Likewise. 2002-07-22 Ulrich Drepper * libio/tst-eof.c: Rewrite to let test-skeleton.c deal with creation and removal of the temp file. * libio/bug-rewind.c: Use test skeleton. Use create_temp_file for file creation. * test-skeleton.c (create_temp_file): New function. 2002-07-22 Andreas Jaeger * sysdeps/x86_64/dl-machine.h (elf_machine_load_address): Use local label. 2002-07-21 Roland McGrath * wcsmbs/Makefile (strtox-CFLAGS): New variable, put -I../include before -I../stdlib so we get the right errno.h et al. (CFLAGS-wcstod.c): Use that variable instead of -I../stdlib. (CFLAGS-wcstof.c): Likewise. (CFLAGS-wcstold.c): Likewise. (CFLAGS-wcstod_l.c): Likewise. (CFLAGS-wcstof_l.c): Likewise. (CFLAGS-wcstold_l.c): Likewise. 2002-07-19 Roland McGrath * sysdeps/mach/hurd/errnos.awk: Remove __set_errno defn from output. 2002-07-20 Ulrich Drepper * sysdeps/unix/sysv/linux/ldsodefs.h (HAVE_AUX_XID): Define if __ASSUME_AT_XID is defined. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_XID): Define for 2.4.1 and up. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Optimize handling of AT_UID, AT_EUID, AT_GID, and AT_EGID. * wcsmbs/Makefile (CFLAGS-wcstod.c): Add -I../stdlib. (CFLAGS-wcstof.c): Likewise. (CFLAGS-wcstold.c): Likewise. (CFLAGS-wcstod_l.c): Likewise. (CFLAGS-wcstof_l.c): Likewise. (CFLAGS-wcstold_l.c): Likewise. 2002-07-18 Jakub Jelinek * resource/sys/resource.h (__rlimit_resource_t, __rusage_who_t, __priority_which_t): Always typedef to int for C++. 2002-07-19 Ulrich Drepper * configure.in: Add test for __thread support in compiler. * config.h.in: Add HAVE___THREAD. * Makefile (headers): Remove errno.h, sys/errno.h, and bits/errno.h. * include/sys/errno.h: Moved to... * stdlib/sys/errno.h: ...here. New file. * stdlib/errno.h: New file. Moved from... * include/errno.h: ...here. Changed into an internal header defining libc-local things like __set_errno. * stdlib/Makefile (headers): Add errno.h, sys/errno.h, and bits/errno.h. * elf/dl-minimal.c: Include . Define errno as thread-local variable if USE_TLS && HAVE___THREAD. Don't define __errno_location either. * elf/rtld.c (_dl_start): Add code to initialize TLS for ld.so from... (_dl_start_final): ...here. Add code to initialize tls elements from bootstrap_map. * sysdeps/generic/errno-loc.c: Define errno as thread-local variable if USE_TLS && HAVE___THREAD. * sysdeps/generic/bits/errno.h: Remove __set_errno definition. * sysdeps/mach/hurd/bits/errno.h: Likewise. * sysdeps/standalone/arm/bits/errno.h: Likewise. * sysdeps/standalone/bits/errno.h: Likewise. * sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise. * sysdeps/unix/sysv/aix/bits/errno.h: Likewise. * sysdeps/unix/sysv/hpux/bits/errno.h: Likewise. * sysdeps/unix/sysv/linux/bits/errno.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/errno.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h: Likewise. * sysdeps/i386/dl-machine.c (elf_machine_rel) [RTLD_BOOTSTRAP]: Don't use GL(dl_rtld_map), use map parameter. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.S: Define errno in .tbss if USE_TLS && HAVE___THREAD. * sysdeps/unix/sysv/linux/i386/sysdep.h: Unify SETUP_PIC_REG definitions. If USE_TLS && HAVE___THREAD store errooor value using TLS code sequence. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/getcwd.c: No real need to restore errno. * sysdeps/unix/sysv/linux/grantpt.c: Likewise. * sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise. * sysdeps/unix/sysv/linux/msgctl.c: Likewise. * sysdeps/unix/sysv/linux/readv.c: Likewise. * sysdeps/unix/sysv/linux/writev.c: Likewise. 2002-07-17 Ulrich Drepper * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Fix MS_SYNC and MS_INVALIDATE values. 2002-07-17 Andreas Schwab Ulrich Drepper * sysdeps/unix/sysv/linux/pread.c: Sign extend offset. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. 2002-07-01 H.J. Lu * elf/circleload1.c (load_dso): Call "circlemod1" and check return value. * elf/circlemod1.c (circlemod1): Return int. * elf/circlemod2.c (circlemod2): Likewise. * elf/circlemod2a.c (circlemod2): Likewise. * elf/circlemod3.c (circlemod3): Likewise. (circlemod3a): A new function. 2002-07-16 Ulrich Drepper * catgets/tst-catgets.c (main): Don't expect results for untranslated messages. * glibcbug.in: Fix little typo. Remove STDIO. * config.h.in: Fail if __FAST_MATH__ is defined. * math/Makefile (CPPFLAGS-test-ifloat.c): Also define TEST_FAST_MATH. (CPPFLAGS-test-idouble.c): Likewise. (CPPFLAGS-test-ildouble.c): Likewise. 2002-07-15 Ulrich Drepper * intl/tst-gettext.sh: Pass -f option to msgfmt. * intl/tst-gettext.c: Correctly handle untranslated messages in positive tests. * po/de.po: Update from translation team. 2002-07-02 H.J. Lu * sysdeps/mips/atomicity.h: Don't include . Always use ll/sc. * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise. * sysdeps/unix/sysv/linux/configure.in: Set arch_minimum_kernel to 2.4.0 for mips. 2002-07-15 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): If loaded object uses TLS fail if USE_TLS is not defined. * libio/wfileops.c (_IO_wfile_seekoff): Reposition wide pointers and adjust state for seek position. [PR libc/4070] * libio/Makefile (tests): Add bug-rewind. * libio/bug-rewind.c: New file. 2002-07-12 Philip Blundell * sysdeps/generic/backtrace.c (FIRST_FRAME_POINTER): New macro. (__backtrace): Use it. * sysdeps/arm/frame.h (FIRST_FRAME_POINTER): Define. [PR libc/2632] 2002-07-12 Philip Blundell * sysdeps/arm/dl-machine.h (elf_machine_rel): Don't handle R_ARM_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC. Only check for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined. (elf_machine_rela): Remove unused variable. * sysdeps/unix/sysv/linux/arm/Makefile [subdir=elf] (sysdep-rtld-routines, sysdep_routines, sysdep-dl-routines): Don't define. 2002-07-12 Ulrich Drepper * iconvdata/gconv-modules: Add aliases for ISO-8859-11. 2002-07-14 Andreas Jaeger * sysdeps/x86_64/bits/link.h: Add biarch support. 2002-07-13 Andreas Jaeger * sysdeps/unix/sysv/linux/mips/register-dump.h (register_dump): Use correct indices. Patch by Eliot Dresselhaus . 2002-07-09 Martin Schwidefsky * sysdeps/s390/bits/byteswap.h: Unified 31/64 bit byteswap.h. * sysdeps/s390/s390-32/bits/byteswap.h: Remove. * sysdeps/s390/s390-64/bits/byteswap.h: Remove. * sysdeps/s390/bits/link.h: Unified 31/64 bit link.h. * sysdeps/s390/s390-32/bits/link.h: Remove. * sysdeps/s390/s390-64/bits/link.h: Remove. * sysdeps/s390/bits/setjmp.h: Unified 31/64 bit setjmp.h. * sysdeps/s390/s390-32/bits/setjmp.h: Remove. * sysdeps/s390/s390-64/bits/setjmp.h: Remove. * sysdeps/s390/bits/wordsize.h: New file. * sysdeps/unix/sysv/linux/s390/bits/elfclass.h: Unified 31/64 bit elfclass.h. * sysdeps/unix/sysv/linux/s390/s390-64/bits/elfclass.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Unified 31/64 bit fcntl.h. * sysdeps/unix/sysv/linux/s390/s390-32/bits/fcntl.h: Remove. * sysdeps/unix/sysv/linux/s390/s390-64/bits/fcntl.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/ipc.h: Unified 31/64 bit ipc.h. * sysdeps/unix/sysv/linux/s390/s390-64/bits/ipc.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/mman.h: Unified 31/64 bit mman.h. * sysdeps/unix/sysv/linux/s390/s390-32/bits/mman.h: Remove. * sysdeps/unix/sysv/linux/s390/s390-64/bits/mman.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/msq.h: Unified 31/64 bit msq.h. * ysdeps/unix/sysv/linux/s390/s390-64/bits/msq.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/resource.h: Unified 31/64 bit resource.h. * sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h: Remove. * sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/sem.h: Unified 31/64 bit sem.h. * sysdeps/unix/sysv/linux/s390/s390-64/bits/sem.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/shm.h: Unified 31/64 bit shm.h. * sysdeps/unix/sysv/linux/s390/s390-64/bits/shm.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Unified 31/64 bit sigaction.h. * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Unified 31/64 bit siginfo.h. * sysdeps/unix/sysv/linux/s390/s390-64/bits/siginfo.h: Remove. * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigstack.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/socket.h: Unified 31/64 bit socket.h. * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/stat.h: Unified 31/64 bit stat.h. * sysdeps/unix/sysv/linux/s390/s390-32/bits/stat.h: Remove. * sysdeps/unix/sysv/linux/s390/s390-64/bits/stat.h: Remove. * sysdeps/unix/sysv/linux/s390/bits/types.h: Unified 31/64 bit types.h. * sysdeps/unix/sysv/linux/s390/s390-64/bits/types.h: Remove. * sysdeps/unix/sysv/linux/s390/net/route.h: New file. * sysdeps/unix/sysv/linux/s390/sys/procfs.h: Unified 31/64 bit procfs.h. * sysdeps/unix/sysv/linux/s390/s390-32/sys/procfs.h: Remove. * sysdeps/unix/sysv/linux/s390/s390-64/sys/procfs.h: Remove. * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Unified 31/64 bit ucontext.h. * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Remove. * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Remove. 2002-07-11 Ulrich Drepper * Versions.def (libc): Add GLIBC_2.3. * stdlib/Versions [libc] (GLIBC_2.3): Add realpath. * stdlib/canonicalize.c: Add compatibility version for realpath and make new code available in GLIBC_2.3. 2002-07-06 Bruno Haible * malloc/hooks.c (public_gET_STATe): Access max_total_mem in mp_. 2002-07-11 Ulrich Drepper * resolv/res_hconf.c (_res_hconf_init): Move code into new function do_init. Use __libc_once. (do_init): New function. * iconvdata/iso8859-11.h: Removed. * iconvdata/Makefile (gen-8bit-gap-modules): Add iso8859-11. (distribute): Remove iso8859-11.h. * iconvdata/tst-tables.sh: Add ISO-8859-11. * stdio-common/vfscanf.c (inchar): Restore errno from previous underflow operation if c == (W)EOF. 2002-07-03 Jakub Jelinek * stdio-common/printf_fp.c (__printf_fp): If _FPIO_CONST_SHIFT is non-zero, adjust exponent. * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfl, erfl, __erfcl, erfcl): Remove NO_LONG_DOUBLE aliases. * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l, expm1l): Likewise. * sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl, log1pl): Likewise. (__log1pl): Raise divide by zero and invalid exceptions when needed. * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Special case 1**y and -1**+-Inf. * sysdeps/ieee754/ldbl-128/ldbl2mpn.c (__mpn_extract_long_double): Fix BITS_PER_MP_LIMB 32 extraction. * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Don't raise exceptions for qNaNs. * sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise. * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgamma_r): Raise exceptions when needed. Don't recurse unnecessarily. Special case 1.0L and 2.0L arguments to avoid -0.0L as result. * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_y0l): Don't raise exceptions for qNaNs. * sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Make qs 64-bit to fix *quo return value sign. * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gamma_r): Special case -Inf argument. * soft-fp/op-4.h (_FP_FRAC_CLZ_4): Fix a pasto. 2002-07-01 Jakub Jelinek * libio/tst-eof.c (do_test): Remove unused ch and tm variables. * iconvdata/iso-2022-jp-3.c (EMIT_SHIFT_TO_INIT): Kill warnings if -DNDEBUG. 2002-07-10 Ulrich Drepper * malloc/hooks.c (realloc_check): If mremap succeeds actually use the result. * sysdeps/i386/i486/bits/string.h: Add early clobber for "a" output parameter. Reported by Denis Zaitsev . * Versions.def (libthread_db): Add GLIBC_2.3. 2002-07-09 Jakub Jelinek * libio/freopen.c (freopen): Reset jump tables, use mmap stdio for the new stream if possible. * libio/freopen64.c (freopen64): Likewise. * libio/Makefile (tests): Add tst-freopen. * libio/tst-freopen.c: New file. 2002-07-03 Jakub Jelinek * libio/stdio.h (obstack_printf): Add format attribute. (obstack_vprintf): Likewise. 2002-07-04 Jakub Jelinek * posix/regex_internal.h (re_token_t): Shrink the structure to 8 resp. 16 bytes on 32-bit resp. 64-bit platforms. (re_charset_t, re_string_t): Reorder structure members for 64-bit architectures. 2002-07-04 Jakub Jelinek * posix/regcomp.c (re_compile_internal): Move clearing of dfa... (init_dfa): ...here. 2002-07-05 Isamu Hasegawa * posix/regcomp.c (parse_sub_exp): Add nodes OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP at both ends of sub expressions instead of SUBEXP nodes in parse trees. (calc_first): Fix the Definition of `firsts' of OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP, and remove the definition of SUBEXP. (calc_epsdest): Treat OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP as the nodes which can epsilon transit. * posix/regex_internal.h: Add OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP to IS_EPSILON_NODE macro. * posix/regexec.c (update_regs): New function to update registers by refering OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP nodes. (proceed_next_node): Use the entities of the nodes to determine whether the node can transit to. (set_regs): Use update_regs function to update registers. 2002-07-03 Jakub Jelinek * posix/bug-regex4.c (main): Remove duplicate setlocale. * posix/bug-regex6.c: New file. * posix/Makefile (tests): Add bug-regex6. (bug-regex6-ENV): Set LOCPATH. 2002-07-10 Ulrich Drepper * Versions.def [libpthread]: Add GLIBC_2.2.6. * posix/Versions [libc] (GLIBC_2.2.6): Add __nanosleep. 2002-07-06 Bruno Haible * sysdeps/unix/sysv/sysv4/bits/sigset.h (__NSSBITS): Correct value. 2002-07-06 Bruno Haible * include/sys/socket.h (__libc_sendto, __libc_recvfrom): New declarations. * sysdeps/i386/fpu/libm-test-ulps: Add some ulps for AMD K7. * rt/Makefile (tests): Don't add tst-aio* in a single-threaded build. * sysdeps/unix/bsd/sun/sunos4/bits/utsname.h: Test for _SYS_UTSNAME_H, not _UTSNAME_H. * sysdeps/unix/bsd/ultrix4/bits/utsname.h: Likewise. * sysdeps/generic/bits/stropts.h: Protect against direct inclusion. * sysdeps/generic/bits/ustat.h: Likewise. * sysdeps/unix/sysv/linux/bits/statvfs.h (ST_NODIRATIME): Set to 2048. 2002-07-08 Andreas Jaeger * sysdeps/x86_64/elf/initfini.c (__asm__): Call call_gmon_start. 2002-07-08 Andreas Jaeger * sysdeps/x86_64/fpu/s_fdiml.S: Fix wrong register name. 2002-07-06 Andreas Jaeger * sysdeps/x86_64/fpu/bits/mathinline.h: New. * sysdeps/x86_64/fpu/s_copysign.S: New. * sysdeps/x86_64/fpu/s_copysignf.S: New. * sysdeps/x86_64/fpu/s_copysignl.S: New. * sysdeps/x86_64/fpu/s_finitel.S: New. * sysdeps/x86_64/fpu/s_fmax.S: New. * sysdeps/x86_64/fpu/s_fmaxf.S: New. * sysdeps/x86_64/fpu/s_fmaxl.S: New. * sysdeps/x86_64/fpu/s_fmin.S: New. * sysdeps/x86_64/fpu/s_fminf.S: New. * sysdeps/x86_64/fpu/s_fminl.S: New. 2002-06-05 Brian Youmans <3diff@gnu.org> * sysdeps/ia64/fpu/e_acos.S: Added text of Intel license. * sysdeps/ia64/fpu/e_acosf.S: Likewise. * sysdeps/ia64/fpu/e_acosl.S: Likewise. * sysdeps/ia64/fpu/e_asin.S: Likewise. * sysdeps/ia64/fpu/e_asinf.S: Likewise. * sysdeps/ia64/fpu/e_asinl.S: Likewise. * sysdeps/ia64/fpu/e_atan2.S: Likewise. * sysdeps/ia64/fpu/e_atan2f.S: Likewise. * sysdeps/ia64/fpu/e_cosh.S: Likewise. * sysdeps/ia64/fpu/e_coshf.S: Likewise. * sysdeps/ia64/fpu/e_coshl.S: Likewise. * sysdeps/ia64/fpu/e_exp.S: Likewise. * sysdeps/ia64/fpu/e_expf.S: Likewise. * sysdeps/ia64/fpu/e_fmod.S: Likewise. * sysdeps/ia64/fpu/e_fmodf.S: Likewise. * sysdeps/ia64/fpu/e_fmodl.S: Likewise. * sysdeps/ia64/fpu/e_hypot.S: Likewise. * sysdeps/ia64/fpu/e_hypotf.S: Likewise. * sysdeps/ia64/fpu/e_hypotl.S: Likewise. * sysdeps/ia64/fpu/e_log.S: Likewise. * sysdeps/ia64/fpu/e_logf.S: Likewise. * sysdeps/ia64/fpu/e_pow.S: Likewise. * sysdeps/ia64/fpu/e_powf.S: Likewise. * sysdeps/ia64/fpu/e_powl.S: Likewise. * sysdeps/ia64/fpu/e_remainder.S: Likewise. * sysdeps/ia64/fpu/e_remainderf.S: Likewise. * sysdeps/ia64/fpu/e_remainderl.S: Likewise. * sysdeps/ia64/fpu/e_scalb.S: Likewise. * sysdeps/ia64/fpu/e_scalbf.S: Likewise. * sysdeps/ia64/fpu/e_scalbl.S: Likewise. * sysdeps/ia64/fpu/e_sinh.S: Likewise. * sysdeps/ia64/fpu/e_sinhf.S: Likewise. * sysdeps/ia64/fpu/e_sinhl.S: Likewise. * sysdeps/ia64/fpu/e_sqrt.S: Likewise. * sysdeps/ia64/fpu/e_sqrtf.S: Likewise. * sysdeps/ia64/fpu/e_sqrtl.S: Likewise. * sysdeps/ia64/fpu/libm_atan2_req.S: Likewise. * sysdeps/ia64/fpu/libm_error.c: Likewise. * sysdeps/ia64/fpu/libm_frexp4.S: Likewise. * sysdeps/ia64/fpu/libm_frexp4f.S: Likewise. * sysdeps/ia64/fpu/s_frexpl.c: Likewise. * sysdeps/ia64/fpu/s_ilogb.S: Likewise. * sysdeps/ia64/fpu/s_ilogbf.S: Likewise. * sysdeps/ia64/fpu/s_ilogbl.S: Likewise. * sysdeps/ia64/fpu/s_ldexp.S: Likewise. * sysdeps/ia64/fpu/s_ldexpf.S: Likewise. * sysdeps/ia64/fpu/s_ldexpl.S: Likewise. * sysdeps/ia64/fpu/s_log1p.S: Likewise. * sysdeps/ia64/fpu/s_log1pf.S: Likewise. * sysdeps/ia64/fpu/s_log1pl.S: Likewise. * sysdeps/ia64/fpu/s_logb.S: Likewise. * sysdeps/ia64/fpu/s_logbf.S: Likewise. * sysdeps/ia64/fpu/s_logbl.S: Likewise. * sysdeps/ia64/fpu/s_modf.S: Likewise. * sysdeps/ia64/fpu/s_modff.S: Likewise. * sysdeps/ia64/fpu/s_modfl.S: Likewise. * sysdeps/ia64/fpu/s_nearbyint.S: Likewise. * sysdeps/ia64/fpu/s_nearbyintf.S: Likewise. * sysdeps/ia64/fpu/s_nearbyintl.S: Likewise. * sysdeps/ia64/fpu/s_rint.S: Likewise. * sysdeps/ia64/fpu/s_rintf.S: Likewise. * sysdeps/ia64/fpu/s_rintl.S: Likewise. * sysdeps/ia64/fpu/s_round.S: Likewise. * sysdeps/ia64/fpu/s_roundf.S: Likewise. * sysdeps/ia64/fpu/s_roundl.S: Likewise. * sysdeps/ia64/fpu/s_scalbn.S: Likewise. * sysdeps/ia64/fpu/s_scalbnf.S: Likewise. * sysdeps/ia64/fpu/s_scalbnl.S: Likewise. * sysdeps/ia64/fpu/s_significand.S: Likewise. * sysdeps/ia64/fpu/s_significandf.S: Likewise. * sysdeps/ia64/fpu/s_significandl.S: Likewise. * sysdeps/ia64/fpu/s_tan.S: Likewise. * sysdeps/ia64/fpu/s_tanf.S: Likewise. * sysdeps/ia64/fpu/s_tanl.S: Likewise. * sysdeps/ia64/fpu/s_trunc.S: Likewise. * sysdeps/ia64/fpu/s_truncf.S: Likewise. * sysdeps/ia64/fpu/s_truncl.S: Likewise. * sysdeps/ieee754/dbl-64/doasin.c: Changed copyright notice to reflect IBM donation of math library to FSF * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. * sysdeps/ieee754/dbl-64/e_log.c: Likewise. * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. * sysdeps/ieee754/dbl-64/mpa.c: Likewise. * sysdeps/ieee754/dbl-64/mpatan.c: Likewise. * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise. * sysdeps/ieee754/dbl-64/mpexp.c: Likewise. * sysdeps/ieee754/dbl-64/mplog.c: Likewise. * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise. * sysdeps/ieee754/dbl-64/mptan.c: Likewise. * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. * sysdeps/gnu/netinet/udp.h: Added BSD copying permission notice * sysdeps/vax/__longjmp.c: Likewise. * sysdeps/vax/setjmp.c: Likewise. * libio/filedoalloc.c: Fixed BSD copying permission notice to remove advertising clause * sysdeps/vax/htonl.s: Likewise. * sysdeps/vax/htons.s: Likewise. * libio/wfiledoalloc.c: Likewise. * stdlib/random.c: Likewise. * stdlib/random_r.c: Likewise. * sysdeps/mach/sys/reboot.h: Likewise. * inet/getnameinfo.c: Deleted advertising clause from Inner Net License * sysdeps/posix/getaddrinfo.c: Likewise. * sunrpc/des_impl.c: Updated license permission notice to Lesser GPL and corrected pointer to point to the correct license. 2002-07-04 Andreas Jaeger * scripts/config.guess: New upstream version. * scripts/config.sub: Likewise. 2002-07-02 Andreas Schwab * resolv/nss_dns/dns-network.c (getanswer_r): Reduce linebuflen in parallel to bumping up the buffer pointer. 2002-07-01 Jakub Jelinek * math/libm-test.inc (acos_test): Add missing L suffix for expected result. (cpow_test): Likewise. * sysdeps/i386/fpu/libm-test-ulps: Adjust errors for cpow, remove error for acos (0.0625). 2002-06-30 Ulrich Drepper * locale/iso-639.def: Add entry for Ganda. * locale/programs/ld-address.c (DEFINE_LANGUAGE_CODE3): New definition. (address_finish): Handle entries with two letter ISO 639 code. * iconvdata/Makefile: Recreate gconv-modules.cache file in target directory if it existed before. * iconv/iconvconfig.c: Implement --prefix option. * math/libm-test.inc (cexp_test): Add missing L suffix for expected result. Reported by Stephen L Moshier . * sysdeps/i386/fpu/libm-test-ulps: Adjust error for cexp (0.75 + 1.25 i). 2002-05-29 H.J. Lu * elf/dl-error.c (_dl_signal_cerror): Report error if ld.so debug is turned on. 2002-05-28 H.J. Lu * elf/dl-deps.c (_dl_map_object_deps): Don't add objects which are not dlopened on the dependency list of a dlopened object. 2002-06-30 Ulrich Drepper * elf/dl-lookup.c (add_dependency): It is not necessary to add dependencies if they are created between objects which are created while processing RTLD_NOW for objects loaded as part of the same dlopen call. 2002-06-14 H.J. Lu * elf/Makefile (tests): Add circleload1. (modules-names): Add circlemod1, circlemod2, circlemod3, circlemod1a, circlemod2a and circlemod3a. ($(objpfx)circleload1): New target. ($(objpfx)circleload1.out): Likewise. ($(objpfx)circlemod1.so): Likewise. ($(objpfx)circlemod2.so): Likewise. ($(objpfx)circlemod1a.so): Likewise. ($(objpfx)circlemod2a.so): Likewise. * elf/circleload1.c: New file. * elf/circlemod1.c: New file. * elf/circlemod1a.c: New file. * elf/circlemod2.c: New file. * elf/circlemod2a.c: New file. * elf/circlemod3.c: New file. * elf/circlemod3a.c: New file. 2002-06-18 Amos Waterland * sysdeps/pthread/aio_cancel.c (aio_cancel): Add check for invalid file descriptor. * sysdeps/pthread/aio_fsync.c (aio_fsync): Add check for invalid fd; add check for fd not open for writing. * sysdeps/pthread/aio_suspend.c (aio_suspend): Add check for completed element(s) and do not suspend thread if so. Patch heavily modified by drepper. * rt/tst-aio7.c: New file. Regression test for problems which the above three changes fix. * rt/Makefile (tests): Add tst-aio7. 2002-06-29 Ulrich Drepper * rt/tst-aio6.c: Fix comment. * catgets/gencat.c (read_input_file): Handle more than one slash at end of line correctly [PR libc/3926]. Based on a patch by Steven Kim . * catgets/sample.SJIS: Add test case for above bug. * catgets/test-gencat.c: Adjust test code. * catgets/test-gencat.sh: Adjust expected results. * elf/do-rel.h (elf_dynamic_do_rel): Avoid overflow in computation to skip relative relocations. Patch by Geoff Keating . 2002-05-26 Bruno Haible * iconv/loop.c (STANDARD_FROM_LOOP_ERR_HANDLER): New macro. (STANDARD_TO_LOOP_ERR_HANDLER): Renamed from STANDARD_ERR_HANDLER. All callers changed. * iconv/gconv_simple.c (ascii_internal_loop): For error handling use STANDARD_FROM_LOOP_ERR_HANDLER. (utf8_internal_loop): Likewise. (ucs2_internal_loop): Likewise. (internal_ucs2_loop): Perform error handling like in STANDARD_FROM_LOOP_ERR_HANDLER. * iconvdata/unicode.c (BODY for TO_LOOP): Perform error handling like in STANDARD_FROM_LOOP_ERR_HANDLER. (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error handling. * iconvdata/utf-16.c (BODY for TO_LOOP): Perform error handling like in STANDARD_FROM_LOOP_ERR_HANDLER. (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error handling. * iconvdata/utf-32.c (BODY for TO_LOOP): Perform error handling like in STANDARD_FROM_LOOP_ERR_HANDLER. (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error handling. * iconvdata/big5.c (BODY for FROM_LOOP): For error handling use STANDARD_FROM_LOOP_ERR_HANDLER. * iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Likewise. * iconvdata/8bit-gap.c (BODY for FROM_LOOP): Likewise. * iconvdata/8bit-generic.c (BODY for FROM_LOOP): Likewise. * iconvdata/ansi_x3.110.c (BODY for FROM_LOOP): Likewise. * iconvdata/armscii-8.c (BODY for FROM_LOOP): Likewise. * iconvdata/cp1255.c (BODY for FROM_LOOP): Likewise. * iconvdata/cp1258.c (BODY for FROM_LOOP): Likewise. * iconvdata/euc-cn.c (BODY for FROM_LOOP): Likewise. * iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Likewise. * iconvdata/euc-jp.c (BODY for FROM_LOOP): Likewise. * iconvdata/euc-kr.c (BODY for FROM_LOOP): Likewise. * iconvdata/euc-tw.c (BODY for FROM_LOOP): Likewise. * iconvdata/big5hkscs.c (BODY for FROM_LOOP): Likewise. * iconvdata/gb18030.c (BODY for FROM_LOOP): Likewise. * iconvdata/gbk.c (BODY for FROM_LOOP): Likewise. * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Likewise. * iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): Likewise. * iconvdata/iso-2022-jp-3.c (BODY for FROM_LOOP): Likewise. * iconvdata/iso-2022-kr.c (BODY for FROM_LOOP): Likewise. * iconvdata/iso646.c (BODY for FROM_LOOP): Likewise. * iconvdata/iso_6937-2.c (BODY for FROM_LOOP): Likewise. * iconvdata/iso_6937.c (BODY for FROM_LOOP): Likewise. * iconvdata/johab.c (BODY for FROM_LOOP): Likewise. * iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise. * iconvdata/sjis.c (BODY for FROM_LOOP): Likewise. * iconvdata/t.61.c (BODY for FROM_LOOP): Likewise. * iconvdata/uhc.c (BODY for FROM_LOOP): Likewise. * iconvdata/utf-7.c (BODY for FROM_LOOP): Likewise. * iconvdata/gbbig5.c (BODY for FROM_LOOP): Likewise. When ignoring an error, still set result = __GCONV_ILLEGAL_INPUT. (BODY for TO_LOOP): Likewise. * iconvdata/ibm930.c (BODY for FROM_LOOP): For error handling use STANDARD_FROM_LOOP_ERR_HANDLER. (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. * iconvdata/ibm932.c: Include and . (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error handling. (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. * iconvdata/ibm933.c (BODY for FROM_LOOP): For error handling use STANDARD_FROM_LOOP_ERR_HANDLER. (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. * iconvdata/ibm935.c (BODY for FROM_LOOP): For error handling use STANDARD_FROM_LOOP_ERR_HANDLER. (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. * iconvdata/ibm937.c (BODY for FROM_LOOP): For error handling use STANDARD_FROM_LOOP_ERR_HANDLER. (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. * iconvdata/ibm939.c (BODY for FROM_LOOP): For error handling use STANDARD_FROM_LOOP_ERR_HANDLER. (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. * iconvdata/ibm943.c: Include and . (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error handling. (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. * iconvdata/gbgbk.c (BODY for FROM_LOOP): Update. * iconvdata/iso8859-1.c (BODY for TO_LOOP): Update. * iconvdata/tcvn5712-1.c (BODY for TO_LOOP): Update. 2002-06-28 Kaz Kojima * sysdeps/sh/dl-machine.h (elf_machine_load_address): Use local labels in assembler instructions. 2002-06-25 Ulrich Drepper * libio/fileops.c (_IO_file_xsgetn_mmap): Always set EOF flag if not enough content is available. * libio/tst-eof.c: New file. * libio/Makefile (tests): Add tst-eof. * libio/fileops.c (_IO_file_underflow_mmap): Read a single byte to update atime. * libio/tst-atime.c: New file. * libio/Makefile (tests): Add tst-atime. * argp/argp-fmtstream.c (__argp_fmtstream_update): Avoid crash in handling of overly long words. 2002-06-25 Andreas Jaeger * sysdeps/x86-64/dl-machine.h (elf_machine_load_address): Rewrite to not use 32-bit pc relative relocations. (elf_machine_dynamic): Likewise. 2002-06-21 Ulrich Drepper * sysdeps/unix/sysv/linux/getdents.c [__ASSUME_GETDENTS64_SYSCALL] (__GETDENTS): Check for failed getdents64 syscall. * dirent/Makefile (tests): Add bug-readdir1. * dirent/bug-readdir1.c: New file. 2002-06-17 Jakub Jelinek * elf/dl-lookup.c (_dl_debug_bindings): Use type_class 4 for TLS lookups. * elf/rtld.c (dl_main): Move TLS setup code before LD_TRACE_PRELINKING code. Print TLS modid and offset for modules containing PT_TLS segments. 2002-06-09 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/dl-brk.c: Move... * sysdeps/unix/sysv/linux/dl-brk.c: ...here. * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Move... * sysdeps/unix/sysv/linux/dl-sbrk.c: ...here. 2002-06-07 Jakub Jelinek * nss/getXXbyYY_r.c (NEW, NEW1): Define. (NEW (REENTRANT_NAME)): Strong alias to INTERNAL (REENTRANT_NAME). (REENTRANT_NAME@@GLIBC_2.1.2): Use NEW (REENTRANT_NAME). * nss/getXXent_r.c (NEW, NEW1): Define. (NEW (REENTRANT_GETNAME)): Strong alias to INTERNAL (REENTRANT_GETNAME). (REENTRANT_GETNAME@@GLIBC_2.1.2): Use NEW (REENTRANT_GETNAME). 2002-06-21 Ulrich Drepper * libio/fileops.c (_IO_file_setbuf_mmap): New function. (_IO_file_jumps_mmap): Use it. * libio/iosetvbuf.c: Don't call _IO_WSETBUF. * libio/libioP.h: Remove _IO_wdefault_setbuf and _IO_wdefault_setbuf_internal prorotypes. Add _IO_file_setbuf_mmap prototype. * libio/wfileops.c (_IO_wfile_setbuf): Removed. (_IO_wfile_jumps_mmap): Don't use it anymore. * libio/wgenops.c (_IO_wdefault_setbuf): Removed. * libio/memstream.c (_IO_wmem_jumps): Use _IO_default_setbuf not _IO_wdefault_setbuf. * libio/vswprintf.c (_IO_wstrn_jumps): Likewise. * libio/wstrops.c (_IO_wstr_jumps): Likewise. * stdio-common/vfprintf.c (_IO_helper_jumps): Likewise. 2002-06-05 Jakub Jelinek * libio/Makefile (tests): Add tst-mmap-setvbuf. * libio/tst-mmap-setvbuf.c: New test. 2002-06-21 Andreas Jaeger * sysdeps/i386/fpu/libm-test-ulps: Add some ulps from my P3. 2002-06-18 Jakub Jelinek * include/unistd.h (__fork_internal): Remove. (__fork): Don't define to __fork_internal. * sysdeps/mach/hurd/fork.c (__fork): Remove INTDEF. * sysdeps/unix/sysv/aix/fork.c (__fork): Likewise. * sysdeps/unix/sysv/linux/ia64/fork.S (__fork_internal): Remove alias. * sysdeps/unix/sysv/linux/sparc/fork.S (__fork_internal): Likewise. * sysdeps/unix/sysv/linux/syscalls.list (__fork_internal): Likewise. 2002-06-20 Ulrich Drepper * po/hr.po: New file. 2002-06-11 Wolfram Gloger * malloc/malloc.c: Fix error path when new_heap() returns NULL. Reported by Michael Meissner . 2002-06-20 Ulrich Drepper * sysdeps/unix/sysv/linux/ia64/getcontext.S: Fix typo. Patch by Hans Boehm . 2002-06-20 Andreas Jaeger * math/libm-test.inc: Use exact values as input parameters, compute output parameters with 36 digits for 128-bit long doubles. * sysdeps/i386/fpu/libm-test-ulps: Regenerated. * sysdeps/x86-64/fpu/libm-test-ulps: Regenerated. * sysdeps/ia64/fpu/libm-test-ulps: Regenerated. 2002-06-13 Stephen L Moshier * sysdeps/ieee754/ldbl-96/s_scalbnl.c: Fix cases in which argument or result is subnormal. 2002-06-19 Ulrich Drepper * sysdeps/i386/fpu/s_remquo.S: Fix three mistakes in computing the quotient. * sysdeps/i386/fpu/s_remquof.S: Likewise. * sysdeps/i386/fpu/s_remquol.S: Likewise. * sysdeps/hppa/dl-machine.h: Don't use multi-line string literals. 2002-06-17 David Mosberger * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h (uc_sigmask): Fix typo: corresponding sigcontext field is called sc_mask, not sc_sigmask. Reported by Peter A. Buhr. 2002-06-15 Roland McGrath * sysdeps/mach/hurd/mmap.c (__mmap): Add a dead case that quiets a warning. * sysdeps/mach/hurd/getcwd.c (_hurd_canonicalize_directory_name_internal): unsigned int -> size_t * sysdeps/unix/sysv/linux/bits/ustat.h: Moved to ... * sysdeps/generic/bits/ustat.h: ... here (was almost identical). * sysdeps/alpha/divrem.h: Use local label instead of global one for jump to local subroutine. 2002-06-14 Roland McGrath * sysdeps/mach/hurd/i386/Makeconfig: File moved to ... * sysdeps/mach/hurd/Makeconfig: ... here. 2002-06-13 Andreas Schwab * sysdeps/m68k/fpu/s_finite.c: Remove INTDEF. * sysdeps/m68k/fpu/s_finitef.c: Likewise. * sysdeps/m68k/fpu/s_finitel.c: Likewise. 2002-06-13 Roland McGrath * hurd/hurdstartup.h (_hurd_startup): int -> intptr_t in MAIN arg type. * hurd/hurdstartup.c (_hurd_startup): Likewise. Use intptr_t instead of int for argc in stack layout. * sysdeps/mach/hurd/alpha/init-first.c (init): Fix argument type. (_dl_init_first): Likewise. (_hurd_stack_setup): Likewise. (init1): Add a cast. * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start: go): Fix arg type. * sysdeps/mach/hurd/if_index.c (if_nameindex): Use size_t for AMOUNT argument to pfinet_siocgifconf RPC. 2002-06-13 Andreas Schwab * sysdeps/m68k/fpu/s_isinf.c (INTDEFX): Define to get correct expansion order. 2002-06-12 Roland McGrath * sysdeps/generic/tmpfile.c [USE_IN_LIBIO] (tmpfile): Don't #define if already defined. [USE_IN_LIBIO]: Conditionalize versioned_symbol use on [GEN_THIS == __GT_FILE] so that tmpfile64.c's inclusion doesn't get it. 2002-06-11 Roland McGrath * sysdeps/mach/hurd/xstat64.c: Conditionalize entire contents of the file on [!RTLD_STAT64]. * sysdeps/mach/hurd/fxstat64.c: Likewise. * sysdeps/mach/hurd/tmpfile.c (tmpfile64): Define as alias of tmpfile. (__fdopen): Use INTUSE. * sysdeps/mach/hurd/tmpfile64.c: New file, empty placeholder. * stdio-common/tmpfile64.c: File removed. * sysdeps/generic/tmpfile64.c: New file. * sysdeps/generic/tmpfile.c (GEN_THIS): New macro, define to __GT_FILE if not already defined. (tmpfile): Use it in place of __GT_FILE. * include/unistd.h: Declare __chown_internal. * sysdeps/mach/hurd/sendfile64.c (sendfile64): Do real work here. * sysdeps/mach/hurd/sendfile.c (sendfile): Call that. 2002-06-09 Roland McGrath Update to new Hurd RPC interfaces supporting 64-bit file sizes. * sysdeps/mach/hurd/configure.in: Check for with value of HURD_INTERFACE_VERSION >= 20020609. * sysdeps/mach/hurd/configure: Regenerated. * shlib-versions (.*-.*-gnu-gnu.*): Set libhurduser=0.3. * sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Rewritten to convert a struct stat64 into a struct stat and return 0 or -1 with errno set to EOVERFLOW. * sysdeps/mach/hurd/statfsconv.c (statfs64_conv): Likewise for struct statfs64 to struct statfs. * sysdeps/mach/hurd/xstat.c (__xstat): Use converter and call ... * sysdeps/mach/hurd/xstat64.c (__xstat64): ... this, real work here. * sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise. * sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise. * sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise. * sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise. * sysdeps/mach/hurd/statfs.c (__statfs): Likewise. * sysdeps/mach/hurd/statfs64.c (__statfs64): Likewise. * sysdeps/mach/hurd/fstatfs.c (__fstatfs): Likewise. * sysdeps/mach/hurd/fstatfs64.c (__fstatfs64): Likewise. * sysdeps/mach/hurd/pwrite64.c (__libc_pwrite64): Do real work here. * sysdeps/mach/hurd/pwrite.c (__libc_pwrite): Call that. * sysdeps/mach/hurd/pread64.c (__libc_pread64): Do real work here. * sysdeps/mach/hurd/pread.c (__libc_pread): Call that. * sysdeps/mach/hurd/lseek64.c (__libc_lseek64): Do real work here. * sysdeps/mach/hurd/lseek.c (__libc_lseek): Call that. * sysdeps/mach/hurd/readdir64.c (__readdir64): Do real work here. * sysdeps/mach/hurd/readdir.c (__readdir): Call that. * sysdeps/mach/hurd/readdir64_r.c (__readdir64_r): Do real work here. * sysdeps/mach/hurd/readdir_r.c (__readdir64_r): Call that. * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Use struct stat64 for io_stat argument. * sysdeps/mach/hurd/readlink.c (__readlink): Likewise. * hurd/fopenport.c (seekio): Remove EOVERFLOW check, pass POS directly to io_seek. * hurd/fd-read.c (_hurd_fd_read): Use loff_t for OFFSET argument. * hurd/fd-write.c (_hurd_fd_write): Likewise. * hurd/hurd/fd.h: Update decls. * sysdeps/mach/hurd/getcwd.c (_hurd_canonicalize_directory_name_internal): Use ino64_t and struct dirent64. * sysdeps/mach/hurd/dl-sysdep.c (open_file): Use struct stat64. (__xstat): Renamed to __xstat64, use struct stat64 for argument. (__fxstat): Renamed to __fxstat64, use struct stat64 for argument. (__lseek): Renamed to __libc_lseek64, use off64_t for argument. 2002-06-08 Roland McGrath * sysdeps/mach/hurd/dirstream.h (struct __dirstream): Use size_t instead of unsigned long int for __allocation and __size members. 2002-06-09 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/dl-brk.c: Move... * sysdeps/unix/sysv/linux/dl-brk.c: ...here. * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Move... * sysdeps/unix/sysv/linux/dl-sbrk.c: ...here. 2002-06-07 Roland McGrath * sysdeps/mach/hurd/bits/environments.h: File removed. 2002-06-07 Jakub Jelinek * sysdeps/unix/sysv/linux/alpha/sendfile64.c: New file. * sysdeps/unix/sysv/linux/ia64/sendfile64.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: New file. * sysdeps/unix/sysv/linux/x86_64/sendfile64.c: New file. * sysdeps/unix/sysv/linux/syscalls.list (sendfile): Remove EXTRA. (sendfile64): Likewise. * sysdeps/unix/sysv/linux/alpha/syscalls.list (sendfile): Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (sendfile): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (sendfile): Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (sendfile): Likewise. * include/sys/stat.h (__fxstat64, __lxstat64): Only define if not already defined. 2002-06-04 Bruno Haible * sysdeps/cris/stackinfo.h: New file. * sysdeps/hppa/dl-machine.h (elf_machine_rela): Cast reloc_addr to an integer type before performing bit operations on it. 2002-06-05 Roland McGrath * sysdeps/generic/sendfile.c: Include . * sysdeps/generic/sendfile64.c: Likewise. * io/Makefile (routines): Add sendfile and sendfile64. (headers): Add sys/sendfile.h to the list. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add it here. * sysdeps/unix/sysv/linux/sys/sendfile.h: Moved to ... * io/sys/sendfile.h: ... here. * sysdeps/generic/sendfile.c: New file. * sysdeps/generic/sendfile64.c: New file. * sysdeps/unix/sysv/linux/Versions (GLIBC_2.1, GLIBC_2.3): Move sendfile, sendfile64 to ... * io/Versions (GLIBC_2.1, GLIBC_2.3): ... here. * sysdeps/mach/hurd/sendfile.c: New file. * sysdeps/mach/hurd/sendfile64.c: New file. * sysdeps/mach/nanosleep.c: New file. 2002-06-04 Roland McGrath * sysdeps/alpha/elf/configure.in: New file. Check for TLS support. * sysdeps/alpha/elf/configure: New file (generated). 2002-06-02 Roland McGrath * include/link.h: Include to make sure USE_TLS is defined. 2002-06-01 Roland McGrath * sysdeps/mach/hurd/alpha/init-first.c: New file, modified from i386/init-first.c by Andrew M. Miklic . 2002-05-19 Ulrich Drepper * resolv/resolv.h (struct __res_state): Remove unused nstimes. Add nsmap. * resolv/res_init.c (__res_vinit): Initialize nsmap array. Remove nstimes setting. (res_nclose): Check all MAXNS nameservers with non-NULL nsaddrs. * resolv/res_send.c (res_nsend): Don't close unconditionally if there is mix of IPv6 and IPv4 nameservers. Use nsmap array to find free slots and preserve nameserver ordering. Fix RES_ROTATE. 2002-05-30 Ulrich Drepper * sysdeps/unix/sysv/linux/sys/sendfile.h: It is now possible to use this header with LFS. * po/sk.po: Update from translation team. 2002-05-28 Andreas Schwab * sysdeps/generic/readelflib.c (process_elf_file): Give correct message when finding object of wrong class. 2002-05-28 Jakub Jelinek * sysdeps/wordsize-32/divdi3.c (__moddi3): Fix pasto. Patch by . 2002-05-30 Ulrich Drepper * sysdeps/unix/sysv/linux/Makefile [$(subdir)==misc] (sysdep_routines): Add readahead. * sysdeps/unix/sysv/linux/readahead.c: New file. * sysdeps/unix/sysv/linux/syscalls.list: Add sendfile64 syscall. * sysdeps/unix/sysv/linux/Versions: Export readahead and sendfile64. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Add readahead syscall. Add sendfile64 alias to sendfile syscall. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_readahead syscall. * sysdeps/unix/sysv/linux/i386/sysdep.h: Use __i686.get_pc_thunk.XX special section for PIC register loading. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * config.h.in: Define HAVE_HIDDEN. * configure.in: Also define HAVE_HIDDEN if HAVE_PROTECTED is defined. * elf/elf.h: Correct Alpha TLS relocations according to last spec. 2002-05-28 Roland McGrath * sysdeps/mach/alpha/setfpucw.c: New file. 2002-05-26 Roland McGrath * sysdeps/mach/hurd/ioctl.c (__ioctl): Don't use sizeof in _IOTS. Use integer_t instead of int for IOC_VOID case. 2002-05-27 Alexandre Oliva * configure.in (DO_STATIC_NSS): Define if --disable-shared. 2002-05-26 Bruno Haible * iconvdata/iso-2022-jp.c (BODY for TO_LOOP): Avoid running off the end of the ISO-8859-7 from idx table. 2002-05-27 Ulrich Drepper * manual/lang.texi: Fix FLT_EPSILON description [PR libc/3649]. 2002-05-24 David S. Miller * string/bits/string2.h (memset): Do not try to optimize when not _STRING_ARCH_unaligned if GCC will do the right thing. 2002-05-21 Isamu Hasegawa * posix/regex.c: Define `inline' as a macro into nothing for the compilers which lack the keyword. * posix/regex.h: (RE_SYNTAX_GNU_AWK): Remove RE_CONTEXT_INVALID_OPS for the compatibility of gawk. * posix/regcomp.c: Add fake implementation of isblank() for the environments which lack the function. Don't use free_charset() in case of non-i18n envs. (build_range_exp): Don't use i18n related code in case of non-i18n envs. (build_collating_symbol): Likewise. (build_equiv_class): Likewise. (build_charclass): Likewise. (re_compile_fastmap_iter): Likewise. (parse_bracket_exp): Likewise. (build_word_op): Likewise. (regfree): Don't use free_charset() in case of non-i18n envs. * posix/regex_internal.h: Remove COMPLEX_BRACKET from re_token_type_t in case of non-i18n envs. Don't define re_charset_t in case of non-i18n envs. Change the type of wcs of re_string_t from wchar_t to wint_t, since we store also WEOF. * posix/regex_internal.c: (re_string_realloc_buffers): Change the type of wcs of re_string_t from wchar_t to wint_t. (re_string_reconstruct): Likewise. (create_ci_newstate): Don't use i18n related code in case of non-i18n envs. (create_cd_newstate): Likewise. 2002-05-24 Ulrich Drepper * iconv/loop.c: Fix typo. 2002-05-23 Jakub Jelinek * inet/ether_line.c (ether_line): Fix a typo causing only lower 4 bits of each ethernet address byte being assigned. Don't modify what line points to. * inet/tst-ether_aton.c (main): Add ether_line tests. 2002-05-23 Marcus Brinkmann * manual/filesys.texi: Don't make readlink example leak memory when readlink fails. 2002-05-20 Ulrich Drepper * iconv/loop.c: Fix condition for defining unaligned loop. Add some more security checks. 2002-05-17 David S. Miller * sysdeps/unix/sysv/linux/sparc/fork.S: Define _internal aliases. 2002-05-16 David S. Miller * sysdeps/sparc/sparc32/dl-machine.h (LOAD_PIC_REG): Define. (elf_machine_dynamic): Use it to force PIC register to be loaded. (elf_machine_load_address): Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Mirror sparc32 changes. * sysdeps/sparc/sparc64/strncmp.S: When second argument pointer is unaligned, do not forget to fully initialize %g1 magic value. * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Fix 64-bit elf register definitions and provide 32-bit variants of structures during 64-bit builds. * soft-fp/op-1.h (_FP_FRAC_CLEAR_OVERP_1): Define. * soft-fp/op-2.h (_FP_FRAC_CLEAR_OVERP_2): Define. * soft-fp/op-4.h (_FP_FRAC_CLEAR_OVERP_4): Define. * soft-fp/op-common.h (_FP_PACK_CANONICAL): After rounding, if _FP_FRAC_OVERP_X is set, use _FP_FRAC_CLEAR_OVERP_X to clear it. (_FP_FROM_INT): Perform right shifts on unsigned integer type. Do not clear implicit one bit here, it must be done post-rounding. Only pad to the left using left shift if value uses less than the available fractional bits. 2002-05-20 Franz Sirl * sysdeps/powerpc/Makefile (sysdeps_routines): Use libgcc-compat instead of cmpdi2, shdi3, fixdfdi, fixsfdi in csu dir. (shared-only-routines): Likewise. * sysdeps/powerpc/libgcc-compat.c: New file. * sysdeps/wordsize-32/cmpdi2.c: Removed. * sysdeps/wordsize-32/fixdfdi.c: Removed. * sysdeps/wordsize-32/fixsfdi.c: Removed. * sysdeps/wordsize-32/shdi3.c: Removed. 2002-05-16 Bruno Haible * MakeTAGS (libc.pot): Don't sort the output. * po/header.pot: Update to match xgettext 0.11 output. 2002-05-16 Bruno Haible * MakeTAGS (subdirs): Remove duplicates. 2002-05-19 Ulrich Drepper * sysdeps/unix/sysv/linux/errlist.c: Remove extra weak alias definiton of _old_sys_nerr. Define _old_sys_errlist as strong alias. 2002-05-19 Andreas Jaeger * sysdeps/unix/sysv/linux/configure.in: Warn against an installation in /usr/local. 2002-05-16 Bruno Haible * sysdeps/unix/sysv/aix/bits/ioctl-types.h: Don't use multiline string as argument of #error. 2002-05-15 Ulrich Drepper * stdlib/canonicalize.c (canonicalize): Rename to __realpath and don't define static. Remove old __realpath function. TC1 of POSIX 2001 will allow the second parameter to be NULL. * stdlib/test-canon.c: Comment out test for NULL as second parameter of realpath. * time/offtime.c (__offtime): Set errno if overflow is detected. * elf/Makefile (rtld-routines): Remove dl-brk and dl-sbrk. * sysdeps/unix/sysv/linux/Makefile (sysdep-rtld-routines): Add dl-brk and dl-sbrk. * sysdeps/sparc/fpu/bits/mathinline.h (fdim): Add __THROW. (fdimf): Likewise. 2002-05-15 Roland McGrath * hurd/report-wait.c (_S_msg_report_wait): Use mach_msg_id_t for arg. 2002-05-12 Bruno Haible * iconvdata/testdata/EUC-JISX0213: New file. * iconvdata/testdata/EUC-JISX0213..UTF8: New file. * iconvdata/testdata/SHIFT_JISX0213: New file. * iconvdata/testdata/SHIFT_JISX0213..UTF8: New file. * iconvdata/testdata/ISO-2022-JP-3: New file. * iconvdata/testdata/ISO-2022-JP-3..UTF8: New file. * iconvdata/TESTS: Add EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3. * iconvdata/run-iconv-test.sh: Skip the charmap test if the charmap contains comments indicating precomposed characters. 2002-04-21 Bruno Haible * iconvdata/iso-2022-jp-3.c: New file. * iconvdata/gconv-modules (ISO-2022-JP-3): New module. * iconvdata/Makefile (modules): Add ISO-2022-JP-3. (LDFLAGS-ISO-2022-JP-3.so): New variable. (ISO-2022-JP-3.so): Depend on libJIS.so and libJISX0213.so. (distribute): Add iso-2022-jp-3.c. 2002-05-12 Bruno Haible * iconvdata/tst-table-to.c (main): Restore handling of transliterations, broken by last patch. 2002-05-12 Bruno Haible * iconvdata/TESTS: Add IBM922, IBM1124, IBM1129. 2002-05-12 Bruno Haible * iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Don't advance inptr when there is not enough room in the output buffer. * iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise. 2002-04-20 Bruno Haible * iconv/skeleton.c ({FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}): New macros. (RESET_INPUT_BUFFER): Use them instead of {MIN,MAX}_NEEDED_{FROM,TO}. Also make this macro work if FROM_DIRECTION evaluates to 0. (gconv_init): Use the new macros instead of {MIN,MAX}_NEEDED_{FROM,TO}. (FUNCTION_NAME): Likewise, in the handling of unaligned accesses and of consume_incomplete. * iconvdata/cp1255.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to 4, not 8. * iconvdata/cp1258.c: Likewise. * iconvdata/ibm930.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 3, not 2. * iconvdata/ibm933.c: Likewise. * iconvdata/ibm935.c: Likewise. * iconvdata/ibm937.c: Likewise. * iconvdata/ibm939.c: Likewise. * iconvdata/iso-2022-cn.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 6, not 4. * iconvdata/iso-2022-cn-ext.c: Likewise. * iconvdata/iso-2022-jp.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of {MIN,MAX}_NEEDED_{FROM,TO}. * iconvdata/tcvn5712-1.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_FROM to 1, not 2. * iconvdata/euc-jisx0213.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to 8, not 4. * iconvdata/shift_jisx0213.c: Likewise. 2002-05-14 Franz Sirl * sysdeps/powerpc/Makefile (sysdeps_routines): Add divdi3, cmpdi2, shdi3, fixdfdi, fixsfdi in csu dir. (shared-only-routines): Likewise. * sysdeps/wordsize-32/cmpdi2.c: New file. * sysdeps/wordsize-32/shdi3.c: New file. * sysdeps/wordsize-32/fixdfdi.c: New file. * sysdeps/wordsize-32/fixsfdi.c: New file. * sysdeps/powerpc/Versions (__divdi3, __moddi3, __udivdi3, __umoddi3, __ashldi3, __ashrdi3, __lshrdi3, __cmpdi2, __ucmpdi2, __fixdfdi, __fixsfdi, __fixunsdfdi, __fixunssfdi): Export at GLIBC_2.0. * sysdeps/unix/sysv/linux/semctl.c (__old_semctl, __new_semctl): Only use va_arg if the argument will be used [PR libc/3259]. 2002-05-06 Michael A. Schmidt * catgets/catgets.c (catopen): Free buffer if internal catalog open fails. 2002-05-14 Ulrich Drepper * debug/xtrace.sh: Make more robust. For realtime tracking use non-buffering methods. * debug/pcprofiledump.c: Implement -u option. Patch by Roger Luethi . 2002-05-11 Jakub Jelinek * include/netinet/in.h (bindresvport_internal): Add prototype. * include/rpc/auth.h (authunix_create_internal, authunix_create_default_internal, authnone_create_internal, authdes_pk_create_internal): Add prototypes. * include/rpc/clnt.h (clnt_create_internal, clnttcp_create_internal, clntudp_create_internal, clntudp_bufcreate_internal, clntunix_create_internal): Add prototypes. * include/rpc/svc.h (svc_sendreply_internal, svcerr_decode_internal, svc_getreq_internal, svc_getreq_common_internal, svc_getreqset_internal, svc_getreq_poll_internal, svc_register_internal, svc_unregister_internal, svcudp_create_internal, svcudp_bufcreate_internal): Add prototypes. * include/rpc/svc_auth.h (_authenticate_internal): Add prototype. * include/sys/socket.h (__sendto, __recvfrom, __sendmsg, __recvmsg, __setsockopt, __getsockname, __bind, __listen): Add prototypes. * inet/rexec.c (rexec_af): Use __listen and __getsockname. * inet/rcmd.c (rcmd_af): Use __listen. (rresvport_af): Use __bind. * sunrpc/clnt_udp.c: Use INTUSE calls to bindresvport, authunix_create, authunix_create_default, authnone_create, authdes_pk_create, clnt_create, clnttcp_create, clntudp_create, clntudp_bufcreate, clntunix_create svc_sendreply, svcerr_decode, svc_getreq, svc_getreq_common, svc_getreqset, svc_getreq_poll, svc_register, svc_unregister, svcudp_create, svcudp_bufcreate, _authenticate, add INTDEF after such function definitions. Use __listen, __bind, __sendto, __recvfrom, __sendmsg, __recvmsg, __setsockopt, __getsockname instead of non-__ variants. * sunrpc/pmap_rmt.c: Likewise. * sunrpc/rtime.c: Likewise. * sunrpc/svc_udp.c: Likewise. * sunrpc/clnt_unix.c: Likewise. * sunrpc/svc_unix.c: Likewise. * sunrpc/bindrsvprt.c: Likewise. * sunrpc/svc_tcp.c: Likewise. * sunrpc/auth_none.c: Likewise. * sunrpc/clnt_raw.c: Likewise. * sunrpc/clnt_tcp.c: Likewise. * sunrpc/auth_unix.c: Likewise. * sunrpc/key_call.c: Likewise. * sunrpc/clnt_gen.c: Likewise. * sunrpc/pm_getmaps.c: Likewise. * sunrpc/clnt_simp.c: Likewise. * sunrpc/pmap_clnt.c: Likewise. * sunrpc/svc_run.c: Likewise. * sunrpc/svc.c: Likewise. * sunrpc/svc_simple.c: Likewise. * sunrpc/pm_getport.c: Likewise. * sunrpc/auth_des.c: Likewise. * sunrpc/svc_auth.c: Likewise. * sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases, __register_frame_info_table_bases, __deregister_frame_info_bases): Add INTDEF. (__register_frame_info_bases_internal, __register_frame_info_table_bases_internal, __deregister_frame_info_bases_internal): Add prototypes. (__register_frame_info, __register_frame): Use INTUSE in call to __register_frame_info_bases. (__register_frame_info_table): Similarly. (__deregister_frame_info, __deregister_frame): Similarly. * sysdeps/generic/sendto.c (__sendto): Renamed from sendto, add sendto as weak alias. * sysdeps/mach/hurd/sendto.c: Likewise. * sysdeps/generic/recvfrom.c (__recvfrom): Renamed from recvfrom, add recvfrom as weak alias. * sysdeps/mach/hurd/recvfrom.c: Likewise. * sysdeps/unix/sysv/aix/recvfrom.c: Likewise. * sysdeps/generic/recvmsg.c (__recvmsg): Renamed from recvmsg, add recvmsg as weak alias. * sysdeps/unix/sysv/aix/recvmsg.c: Likewise. * sysdeps/generic/sendmsg.c (__sendmsg): Renamed from sendmsg, add sendmsg as weak alias. * sysdeps/unix/sysv/aix/sendmsg.c: Likewise. * sysdeps/generic/setsockopt.c (__setsockopt): Renamed from setsockopt, add setsockopt as weak alias. * sysdeps/mach/hurd/setsockopt.c: Likewise. * sysdeps/generic/bind.c (__bind): Renamed from bind, add bind as weak alias. * sysdeps/mach/hurd/bind.c: Likewise. * sysdeps/generic/listen.c (__listen): Renamed from listen, add listen as weak alias. * sysdeps/mach/hurd/listen.c: Likewise. * sysdeps/generic/getsockname.c (__getsockname): Renamed from getsockname, add getsockname as weak alias. * sysdeps/mach/hurd/getsockname.c: Likewise. * sysdeps/unix/sysv/aix/getsockname.c: Likewise. * sysdeps/mach/hurd/recvmsg.c (__recvmsg): Add weak alias. * sysdeps/mach/hurd/sendmsg.c (__sendmsg): Add weak alias. * sysdeps/unix/inet/syscalls.list (__bind, __listen, __recvmsg, __recvfrom, __sendmsg, __sendto, __setsockopt): Add aliases. * sysdeps/unix/sysv/linux/alpha/syscalls.list (__recvmsg, __sendmsg): Add aliases. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/recvfrom.S (__recvfrom): Add weak alias. * sysdeps/unix/sysv/linux/recvmsg.S (__recvmsg): Likewise. * sysdeps/unix/sysv/linux/sendmsg.S (__sendmsg): Likewise. * sysdeps/unix/sysv/linux/sendto.S (__sendto): Likewise. * sysdeps/unix/sysv/linux/setsockopt.S (__setsockopt): Likewise. * sysdeps/unix/sysv/linux/bind.S (__bind): Likewise. * sysdeps/unix/sysv/linux/listen.S (__listen): Likewise. * sysdeps/unix/sysv/linux/getsockname.S (__getsockname): Likewise. 2002-05-10 Jakub Jelinek * locale/programs/localedef.h (show_archive_content): Add verbose argument. * locale/programs/localedef.c (main): Adjust caller. * locale/programs/locarchive.c (struct nameent, struct dataent): New. (nameentcmp, dataentcmp): New functions. (xstrcmp): Remove. (show_archive_content): Print verbose listing with --list-archive -v. 2002-05-14 Ulrich Drepper * locale/programs/locarchive.c (open_archive): Take extra argument readonly. If true open file with O_RDONLY and don't create the archive if it doesn't exist. Adapt all callers. (close_archive): Don't do anything if fd element is -1. * locale/programs/localedef.h (open_archive): Adjust prototype. * locale/programs/locfile.c (write_all_categories): Adjust open_archive call. * malloc/malloc.c (__posix_memalign): Correct check for size of alignment value [PR libc/3444]. * include/stdio.h: Remove references to old stdio implementation. * libio/Makefile (bug-ungetwc2-ENV): Define. 2002-05-13 Roland McGrath * iconv/gconv_charset.h (upstr): Add inline keyword, quiets warning. * hurd/hurdinit.c (_hurd_init): Use internal name _hurd_new_proc_init. 2002-05-13 Marcus Brinkmann * hurd/hurdchdir.c (_hurd_change_directory_port_from_name): Allocate three, not two, more than LEN when appending '/.'. * sysdeps/mach/hurd/chroot.c (chroot): Likewise. Don't check if NAME ends with '/.' if it is shorter than 2 chars. 2002-05-12 Roland McGrath * mach/Makefile ($(mach-syscalls:%=$(objpfx)%.S)): Make the generated files #include instead of . * hurd/hurdexec.c (_hurd_exec): Reauthenticate ports/dtable used in file_exec to effect svuid=euid, svgid=egid if that is not a no-op. 2002-05-10 Jakub Jelinek * sysdeps/ia64/Makefile: Remove extra endif. * sysdeps/ia64/ia64libgcc.S (__divsf3): Fix typo in symbol version. 2002-05-10 Andreas Schwab * sysdeps/powerpc/fpu/w_sqrt.c: Add sqrtl alias. 2002-05-09 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/sys/io.h: New. * sysdeps/unix/sysv/linux/x86_64/Dist: Add it. * sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_headers): Add it. * sysdeps/unix/sysv/linux/ia64/glob.c: Move to ... * sysdeps/wordsize-64/glob.c: ...here. * sysdeps/unix/sysv/linux/x86_64/glob.c: Remove. * sysdeps/unix/sysv/linux/s390/s390-64/glob.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/glob.c: Remove. 2002-05-08 Roland McGrath * hurd/hurdfchdir.c (_hurd_change_directory_port_from_fd): Use O_NOTRANS flag in "." lookup. 2002-05-05 Ulrich Drepper * malloc/mtrace.c: Comment out use of _mtrace_file and _mtrace_len. 2002-05-04 Ulrich Drepper * locale/duplocale.c (__duplocale): Update special members only when allocation succeeded. 2002-05-03 Roland McGrath * shlib-versions (.*-.*-gnu-gnu.*): Remove USE_IN_LIBIO conditionals; we can only build libc.so.0.3(GLIBC_2.2.6) now. 2002-05-02 Jakub Jelinek * sysdeps/ia64/Makefile: Add ia64libgcc in csu subdir. * sysdeps/ia64/Versions (__divtf3, __divdf3, __divsf3, __divdi3, __moddi3, __udivdi3, __umoddi3, __multi3): Export at GLIBC_2.0. * sysdeps/ia64/ia64libgcc.S: New file. 2002-05-02 Ulrich Drepper * sysdeps/generic/dl-tls.c (oom): Implement using _dl_fatal_printf. * malloc/memusage.c: Distinguish anonymous mmap. 2002-05-01 Roland McGrath * sysdeps/mach/hurd/close.c: #undef __close before function defn, and use INTDEF on it. * sysdeps/mach/hurd/fcntl.c: Use INTDEF2. * sysdeps/mach/hurd/dl-sysdep.c (errno): New variable. * sysdeps/mach/hurd/alpha/static-start.S: New file (unfinished). 2002-05-01 Ulrich Drepper * malloc/memusage.c: Add support for tracking mmap & friends. * malloc/memusage.sh: Implement -m/--mmap option. 2002-04-30 Jakub Jelinek * locale/programs/locarchive.c (create_archive): Add archivefname argument, create fname from it. (enlarge_archive): Honour output_prefix. (open_archive): Likewise. 2002-04-30 Jakub Jelinek * locale/programs/locarchive.c (add_locales_to_archive): Don't nest too many stpcpy macros. 2002-04-26 Bruno Haible * locale/programs/ld-collate.c (collate_read): Cast first argument for "%.*s" to int. 2002-04-26 Bruno Haible * include/libintl.h (__ngettext, __dngettext, __dcngettext, __dcngettext_internal): New declarations. (__gettext, __dgettext, __dcgettext, __dcgettext_internal): Add attribute declarations. 2002-04-30 Roland McGrath Removed old GNU stdio implementation; GNU libio is now the only option. * configure.in: Removed --enable-libio option and @stdio@ subst var. Define USE_IN_LIBIO unconditionally. * configure: Regenerated. * Makeconfig (stdio): Set to libio by default. * config.make.in (stdio): Variable removed. * sysdeps/unix/sysv/linux/configure.in: Don't set $stdio. * sysdeps/unix/sysv/linux/configure: Regenerated. * sysdeps/mach/hurd/configure.in: Don't test $stdio. * sysdeps/mach/hurd/configure: Regenerated. * stdio/.cvsignore: File removed. * stdio/Makefile: File removed. * stdio/Versions: File removed. * stdio/__fbufsize.c: File removed. * stdio/__flbf.c: File removed. * stdio/__fpending.c: File removed. * stdio/__fpurge.c: File removed. * stdio/__freadable.c: File removed. * stdio/__freading.c: File removed. * stdio/__fsetlocking.c: File removed. * stdio/__fwritable.c: File removed. * stdio/__fwriting.c: File removed. * stdio/clearerr.c: File removed. * stdio/fclose.c: File removed. * stdio/fcloseall.c: File removed. * stdio/feof.c: File removed. * stdio/ferror.c: File removed. * stdio/fflush.c: File removed. * stdio/fgetc.c: File removed. * stdio/fgetpos.c: File removed. * stdio/fgets.c: File removed. * stdio/fileno.c: File removed. * stdio/fmemopen.c: File removed. * stdio/fopen.c: File removed. * stdio/fopncook.c: File removed. * stdio/fputc.c: File removed. * stdio/fputs.c: File removed. * stdio/fread.c: File removed. * stdio/freopen.c: File removed. * stdio/fseek.c: File removed. * stdio/fsetpos.c: File removed. * stdio/ftell.c: File removed. * stdio/fwrite.c: File removed. * stdio/getc.c: File removed. * stdio/getchar.c: File removed. * stdio/getdelim.c: File removed. * stdio/gets.c: File removed. * stdio/glue.c: File removed. * stdio/internals.c: File removed. * stdio/linewrap.c: File removed. * stdio/linewrap.h: File removed. * stdio/memstream.c: File removed. * stdio/newstream.c: File removed. * stdio/obstream.c: File removed. * stdio/putc.c: File removed. * stdio/putchar.c: File removed. * stdio/puts.c: File removed. * stdio/rewind.c: File removed. * stdio/setbuf.c: File removed. * stdio/setbuffer.c: File removed. * stdio/setlinebuf.c: File removed. * stdio/setvbuf.c: File removed. * stdio/stdio.h: File removed. * stdio/ungetc.c: File removed. * stdio/vasprintf.c: File removed. * stdio/vscanf.c: File removed. * stdio/vsnprintf.c: File removed. * stdio/vsprintf.c: File removed. * stdio/vsscanf.c: File removed. * sysdeps/generic/defs.c: File removed. * sysdeps/generic/fdopen.c: File removed. * sysdeps/generic/pipestream.c: File removed. * sysdeps/generic/stdio_init.c: File removed. * sysdeps/generic/sysd-stdio.c: File removed. * sysdeps/generic/vdprintf.c: File removed. * sysdeps/mach/hurd/defs.c: File removed. * sysdeps/mach/hurd/fdopen.c: File removed. * sysdeps/mach/hurd/pipestream.c: File removed. * sysdeps/mach/hurd/stdio_init.c: File removed. * sysdeps/mach/hurd/sysd-stdio.c: File removed. * sysdeps/mach/hurd/vdprintf.c: File removed. * sysdeps/posix/defs.c: File removed. * sysdeps/posix/fdopen.c: File removed. * sysdeps/posix/pipestream.c: File removed. * sysdeps/posix/stdio_init.c: File removed. * sysdeps/posix/vdprintf.c: File removed. * sysdeps/unix/pipestream.c: File removed. * sysdeps/unix/sysv/sysd-stdio.c: File removed. * sysdeps/unix/sysv/sco3.2.4/pipestream.c: File removed. * sysdeps/unix/sysv/sysv4/pipestream.c: File removed. 2002-04-29 Roland McGrath * include/libc-symbols.h (link_warning): Use `unused' attribute. 2002-04-28 Ulrich Drepper * sysdeps/generic/tls.h: Describe what must be defined. * sysdeps/generic/glob.c (glob): Don't pass GLOB_NOMAGIC flag to glob_in_dir [PR libc/3385]. * posix/globtest.sh: Add test case. * intl/loadmsgcat.c [!_LIBC] (_nl_init_domain_conv): Don't add //TRANSLIT twice. 2002-04-27 Ulrich Drepper * sysdeps/unix/sysv/linux/ia64/fxstat.c: Fix a few issues with the _internal symbol handling. * sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise. 2002-04-26 Ulrich Drepper * sysdeps/ia64/fpu/s_finite.S: Define _internal aliases. * sysdeps/unix/sysv/linux/ia64/fork.S: Likewise. 2002-04-26 Isamu Hasegawa * posix/regcomp.c (re_compile_fastmap_iter): Fix fastmap in case of not _LIBC and RE_ENABLE_I18N. (build_range_exp): Implement for not _LIBC. (build_collating_symbol): Likewise. (parse_bracket_exp): Unify redundant error handlings. Don't erase mbcset for non matching list in multibyte envs. (build_word_op): Add '_' to matching list for \w operator. * posix/regex_internal.c (re_string_construct): Invoke build_upper_buffer in case of not RE_ENABLE_I18N. (re_string_reconstruct): Don't touch cur_state in case of not RE_ENABLE_I18N. * posix/regex_internal.h (attribute_hidden): New macro in case of not _LIBC. (re_charset_t): Define range_starts/ends in case of not _LIBC. * posix/regexec.c (sift_states_iter_mb): Hide in case of not RE_ENABLE_I18N. (transit_state_mb): Likewise. (check_node_accept_bytes): Implement the code evaluating range expression in case of not _LIBC. (find_collation_sequence_value): Hide in case of not _LIBC. 2002-04-26 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c: Copied from i386/semctl.c. (__old_semctl, __new_semctl): Only use va_arg if the argument will be used. 2002-04-26 Ulrich Drepper * sysdeps/ia64/fpu/s_isinf.S: Fix definition of _internal names. * sysdeps/ia64/strncpy.S: Fix recovery code. Patch by David Mosberger . 2002-04-24 Ulrich Drepper * sysdeps/unix/sysv/linux/ia64/Versions [libc]: Add getunwind for GLIBC_2.2.6. 2002-04-14 Bruno Haible * posix/regex.c (re_max_failures): Add back symbol for binary compatibility. 2002-04-22 Isamu Hasegawa * posix/regcomp.c (re_compile_internal): Adapt it to new interface of buffer building functions. * posix/regex_internal.c (re_string_allocate): New function. (re_string_realloc_buffers): New function. (re_string_skip_chars): New function. (re_string_reconstruct): New function. (re_string_construct): Adapt it to new interface of buffer building functions. (re_string_construct_common): Likewise. (build_wcs_buffer): Likewise. (build_wcs_upper_buffer): Likewise. (build_upper_buffer): Likewise. (re_string_translate_buffer): Likewise. (re_string_context_at): Adapt it to variable length buffers. * posix/regex_internal.h (re_string_t): Add new fields to handle variable length buffers. (re_match_context_t): Likewise. * posix/regexec.c (re_search_internal): Adapt it to new interface of re_string_t and re_match_context_t. (acquire_init_state_context): Likewise. (check_matching): Likewise. (check_halt_state_context): Likewise. (proceed_next_node): Likewise. (set_regs): Likewise. (sift_states_backward): Likewise. (clean_state_log_if_need): Likewise. (sift_states_iter_mb): Likewise. (sift_states_iter_bkref): Likewise. (add_epsilon_backreference): Likewise. (transit_state): Likewise. (transit_state_sb): Likewise. (transit_state_mb): Likewise. (transit_state_bkref): Likewise. (transit_state_bkref_loop): Likewise. (check_node_accept): Likewise. (match_ctx_init): Likewise. (extend_buffers): New function. 2002-04-21 Bruno Haible * iconvdata/tst-table.sh: For the second check, use the truncated GB18030 charmap table, like for the first check. 2002-04-24 Ulrich Drepper * elf/dl-load.c (open_verify): Correct __lseek parameters. Patch by Simon Hildrew [PR libc/3354]. 2002-04-23 H.J. Lu * include/math.h (isfinite): Fix a typo. 2002-04-24 Ulrich Drepper * libio/bug-ungetwc2.c (test_locale): Use the de_DE.UTF-8 locale which is created by the test suite. 2002-04-20 Bruno Haible * iconvdata/iso-2002-kr.c (MAX_NEEDED_FROM): Set to 4. (BODY for FROM_LOOP): Fix comparisons between inptr and inend. 2002-04-20 Bruno Haible * iconvdata/johab.c (BODY for FROM_LOOP): Change type of i, m, f, to avoid gcc warning. 2002-04-20 Bruno Haible * iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Fix modification mask of data->__statep->__count. 2002-04-20 Bruno Haible * iconvdata/euc-jisx0213.c (BODY for TO_LOOP): Really ignore Unicode tag characters. * iconvdata/shift_jisx0213.c (BODY for TO_LOOP): Likewise. 2002-04-24 Roland McGrath * sysdeps/mach/alpha/syscall.S: Don't use .frame, ENTRY will have it; use END macro instead of our own .end directive. Use `callsys' insn mnemonic instead of `call_pal'. * sysdeps/mach/alpha/sysdep.h (ENTRY): New macro. * sysdeps/alpha/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New macro; we need this for Hurd. Log entry was missing for 2002/03/24 commit of rev 1.8, goes with 2002-03-17 changes. * sysdeps/mach/hurd/i386/Makefile [$(subdir) = misc] (sysdep_routines): Append ioperm here. (sysdep_headers): Append sys/io.h here. 2002-04-23 Roland McGrath * sysdeps/mach/hurd/send.c: int -> size_t for WROTE. * sysdeps/mach/hurd/sendto.c: Likewise. * hurd/hurdioctl.c (siocgifconf): int -> size_t for DATA_LEN. * sysdeps/mach/hurd/wait4.c (__wait4): natural_t -> int for SIGCODE. * sysdeps/mach/hurd/getpriority.c: unsigned int -> size_t for PISIZE. 2002-04-22 Roland McGrath * sysdeps/mach/hurd/i386/ioperm.c (ioperm): Translate MIG_BAD_ID failure from i386_io_perm_* RPCs to ENOSYS. 2002-04-22 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/ldconfig.h: New file. * sysdeps/unix/sysv/linux/x86_64/dl-cache.h: New file. * sysdeps/unix/sysv/linux/x86_64/vfork.S: Use %rdi as temp register instead of destroying %rbx. 2002-04-21 Ulrich Drepper * string/string.h: Declare strerror_r also for XPG6. 2002-04-19 Roland McGrath * sysdeps/mach/hurd/tmpfile.c: Create a file descriptor and use fdopen. 2002-04-20 Ulrich Drepper * Makefile: Add handling of xtests and xcheck targets. * MakeTAGS: Likewise. * Makeconfig: Likewise. * Makerules: Likewise. * Rules: Likewise. * manual/Makefile: Likewise. * sunrpc/Makefile (xtests): Add thrsvc if thread library available. * sunrpc/thrsvc.c: New file. By Zack Weinberg. 2002-04-11 Zack Weinberg * include/rpc/rpc.h (struct rpc_thread_variables): Remove authnone_private_s. * sunrpc/auth_none.c: Include bits/libc-lock.h. Delete #ifdef _RPC_THREAD_SAFE_ block. (authnone_private): Make a struct, not a pointer to struct. (authnone_private_guard): New once-control variable. (authnone_create_once): New function, split out of authnone_create. No need to allocate memory. (authnone_create): Just call authnone_create_once via __libc_once, then return &authnone_private->no_client. (authnone_marshal): Access private data via CLIENT argument, not authnone_private pointer. Fix typo (MAX_MARSHEL_SIZE -> MAX_MARSHAL_SIZE). * sunrpc/rpc_thread.c (__rpc_thread_destroy): No need to free authnone_private_s. 2002-04-12 H.J. Lu * sunrpc/clnt_raw.c (clntraw_create): Properly set xdrs and client. 2002-04-18 Bruno Haible * iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for FROM_DIRECTION): Make the FROM direction stateless. * iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for FROM_DIRECTION): Likewise. 2002-04-15 Bruno Haible * iconvdata/JISX0213.TXT: New file. * iconvdata/jisx0213.h: New file. * iconvdata/jisx0213.c: New file. * iconvdata/euc-jisx0213.c: New file. * iconvdata/shift_jisx0213.c: New file. * iconvdata/gconv-modules (EUC-JISX0213, SHIFT_JISX0213): New modules. * iconvdata/EUC-JISX0213.precomposed: New file. * iconvdata/SHIFT_JISX0213.precomposed: New file. * iconvdata/SHIFT_JISX0213.irreversible: New file. * iconvdata/tst-table-to.c (main): Make it work for encodings for which the "to" direction is stateful. * iconvdata/tst-tables.sh: Add EUC-JISX0213, SHIFT_JISX0213. * iconvdata/Makefile (modules): Add libJISX0213, EUC-JISX0213, SHIFT_JISX0213. (libJISX0213-routines): New variable. (LDFLAGS-EUC-JISX0213.so, LDFLAGS-SHIFT_JISX0213.so): New variables. (EUC-JISX0213.so, SHIFT_JISX0213.so): Depend on libJISX0213.so. (LDFLAGS-libJISX0213.so): New variable. (distribute): Add JISX0213.TXT, EUC-JISX0213.precomposed, SHIFT_JISX0213.precomposed, SHIFT_JISX0213.irreversible, jisx0213.c, jisx0213.h, euc-jisx0213.c, shift_jisx0213.c. 2002-04-15 Bruno Haible * iconvdata/big5hkscs.c (big5hkscs_to_ucs): Change element type to uint32_t. Update to Unicode 3.2. (from_ucs4, from_ucs4_idx): Update to Unicode 3.2. (BODY for TO_LOOP): Handle the ASCII range specially. * iconvdata/BIG5HKSCS.irreversible: Add one more entry. * iconvdata/testdata/BIG5HKSCS: Remove a character. * iconvdata/testdata/BIG5HKSCS..UTF-8: Regenerated. 2002-04-15 Bruno Haible * iconvdata/gb18030.c (__twobyte_to_ucs, __fourbyte_to_ucs, __ucs_to_gb18030_tab1, __ucs_to_gb18030_tab2): Update to Unicode 3.2. 2002-04-15 Bruno Haible * iconvdata/cns11643.h (__cns11643_from_ucs4p2c_tab): New declaration. (ucs4_to_cns11643): Update. * iconvdata/cns11643.c: Update to Unicode 3.2. (__cns11643l2*_to_ucs4_tab, __cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): Regenerated. (__cns11643_from_ucs4p2c_tab): New array. * iconvdata/cvs11643l1.c: Update comments. * iconvdata/EUC-TW.irreversible: Remove two entries. 2002-04-15 Bruno Haible * locale/C-translit.h.in: Update to Unicode 3.2. Add , .., .., .., , .., .., ... 2002-04-15 Bruno Haible * iconvdata/sjis.c (halfkana_to_ucs4): Remove array. (BODY for FROM_LOOP): Optimize the JISX0201:GR to Unicode conversion. 2002-04-15 Bruno Haible * iconvdata/euc-jp.c (BODY for FROM_LOOP): When encountering an invalid input (e.g. a byte > 0x80 followed by a byte < 0x80), skip always one byte, not 0 bytes in some cases and 2 bytes in others. * iconvdata/tst-table-from.c (main): Correct the usage message. 2002-04-19 Isamu Hasegawa * posix/regcomp.c (parse_expression): Fix incorrect error code. (parse_dup_op): Fix error handling like "a{}". (parse_bracket_exp): Add error handling. (fetch_number): Add error handling for "a{}". 2002-04-19 Isamu Hasegawa * posix/regcomp.c (parse_bracket_symbol): Add error handling in case that the symbol name is too long. (build_charclass): Handle [:lower:]/[:uppper:] correctly in case of REG_ICASE. 2002-04-19 Andreas Jaeger * math/libm-test.inc: Fix comment, suggested by Hartvig Ekner . 2002-04-15 H.J. Lu * include/math.h (__finitel_internal): Declare only if __NO_LONG_DOUBLE_MATH is not defined. (__isinfl_internal): Likewise. (__isnanl_internal): Likewise. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __connect_internal. * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add __chown_internal and __fcntl_internal. * sysdeps/unix/sysv/linux/fxstat.c (__fxstat64_internal): Added. * sysdeps/unix/sysv/linux/lxstat.c (__lxstat64_internal): Added. 2002-04-15 Bruno Haible * iconvdata/armscii-8.c (BODY for FROM_LOOP): Fix array access. (BODY for TO_LOOP): Likewise. * iconvdata/tcvn5712-1.c (from_ucs4): Map U+0309 to 0xB1. * iconvdata/tst-table.sh: Add support for encodings which contain precomposed Unicode characters, known to the iconv converter in both directions but not listed in the charmap. * iconvdata/IBM856.irreversible: New file. * iconvdata/IBM922.irreversible: New file. * iconvdata/IBM1132.irreversible: New file. * iconvdata/IBM1133.irreversible: New file. * iconvdata/IBM1160.irreversible: New file. * iconvdata/IBM1161.irreversible: New file. * iconvdata/IBM1163.irreversible: New file. * iconvdata/IBM1164.irreversible: New file. * iconvdata/ARMSCII-8.irreversible: New file. * iconvdata/TCVN5712-1.precomposed: New file. * iconvdata/tst-tables.sh: Add IBM856, IBM922, IBM1124, IBM1129, IBM1160, IBM1161, IBM1132, IBM1133, IBM1162, IBM1163, IBM1164, ARMSCII-8, TCVN5712-1. * iconvdata/Makefile (distribute): Add IBM856.irreversible, IBM922.irreversible, IBM1132.irreversible, IBM1133.irreversible, IBM1160.irreversible, IBM1161.irreversible, IBM1163.irreversible, IBM1164.irreversible, ARMSCII-8.irreversible, TCVN5712-1.precomposed. 2002-04-17 Jakub Jelinek * time/tst-mktime.c: Include . Use %d, not %ld format for EVENING69. Include offsets in TZ environment variable. 2002-04-18 Ulrich Drepper * iconv/skeleton.c (RESET_INPUT_BUFFER): Replace ifs with #ifs to avoid compiler warnings. * locale/programs/localedef.c (main): Always call construct_output_path. * iconv/Makefile (CFLAGS-simple-hash.c): Define to find hashval.h. * locale/programs/locfile.c (to_archive): New variable. To collect data which has to be added to the locale archive. (write_all_categories): Take new third parameter with locale name. Unless no_archive flag set add new locale data to the archive (write_locale_data): Unless no-archive flag set store generated data in to_archive data structure instead of generation output file. Add new parameter with locale category index. * locale/programs/locfile.h: Add new parameters in declaractions of write_all_categories and write_locale_data. * locale/programs/localedef.c: Recognize --no-archive, --list-archive, --add-to-archive, and --delete-from-archive options. Pass extra parameter to write_all_categories. * locale/programs/localedef.h: Add prototypes for functions in locarchive.c. * locale/locarchive.h: New file. * locale/programs/locarchive.c: New file. * locale/Makefile (distribute): Add programs/locarchive.c and locarchive.h. (localedef-modules): Add md5 and locarchive. Add vpath to crypt subdir for md5.c. * locale/programs/ld-address.c: Pass locale category ID as new second parameter to write_locale_data. * locale/programs/ld-collate.c: Likewise. * locale/programs/ld-ctype.c: Likewise. * locale/programs/ld-identification.c: Likewise. * locale/programs/ld-measurement.c: Likewise. * locale/programs/ld-messages.c: Likewise. * locale/programs/ld-monetary.c: Likewise. * locale/programs/ld-name.c: Likewise. * locale/programs/ld-numeric.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-telephone.c: Likewise. * locale/programs/ld-time.c: Likewise. * locale/simple-hash.c: Move compute_hashval function from here... * locale/hashval.h: ...to here. New file. * locale/simple-hash.h: Add prototype for compute_hashval. * include/libintl.h: Minor cleanups. 2002-04-16 Ulrich Drepper * posix/regcomp.c (gettext): Use INTUSE for _libc_intl_domainname. 2002-04-15 Ulrich Drepper * include/sys/stat.h: Fix typo. Patch by HJ Lu. 2002-04-14 Bruno Haible * locale/programs/charmap.c (charmap_read): Don't access result if result == NULL. 2002-02-17 Andreas Schwab * elf/reldep7.c: New file. * elf/reldep7mod1.c: New file. * elf/reldep7mod2.c: New file. * elf/Makefile: Add rules to build and run reldep7. 2002-04-14 Jakub Jelinek * elf/dl-lookup.c (_dl_lookup_symbol): Move add_dependency call to the end of the function. Pass original flags to recursive call if add_dependency failed. (_dl_lookup_versioned_symbol): Likewise. 2002-04-13 Jakub Jelinek * time/mktime.c (__mktime_internal): If year is 69, don't bail out early, but check whether it overflowed afterwards. * time/tst-mktime.c (main): Add new tests. 2002-04-14 Ulrich Drepper * debug/xtrace.sh: Fix program name in help message. Patch by Roger Luethi . * include/sys/stat.h: Add prototypes for __lxstat_internal and __lxstat64_internal. Add macros __lxstat and __lxstat64 if not NOT_IN_libc. * sysdeps/generic/lxstat.c: Use INTDEF for __lxstat. * sysdeps/mach/hurd/lxstat.c: Likewise. * sysdeps/unix/common/lxstat.c: Likewise. * sysdeps/unix/sysv/aix/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Likewise. * sysdeps/generic/lxstat64.c: Use INTDEF for __lxstat64. * sysdeps/mach/hurd/lxstat64.c: Likewise. * sysdeps/unix/sysv/aix/lxstat64.c: Likewise. * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. * include/wchar.h: Declare __mbrtowc_internal and __mbrlen_internal prototypes. Add __mbrlen and __mbrtowc macros. * wcsmbs/mbrlen.c: Use INTDEF for __mbrlen. * wcsmbs/mbrtowc.c: Use INTDEF for __mbrtowc. * include/unistd.h: Add prototype for __write_internal and add __libc_write macro is SHARED. * sysdeps/generic/write.c: Use INTDEF for __write. * sysdeps/mach/hurd/write.c: Likewise. * sysdeps/unix/sysv/aix/write.c: Likewise. * sysdeps/unix/syscalls.list: Add __libc_write alias. * assert/assert.c: Replace STR_N_SIZE with something usable in macro arguments. * assert/assert-perr.c: Likewise. * include/sys/socket.h: Declare __libc_sa_len_internal and define SA_LEN macro to use it if not NOT_IN_libc. * sysdeps/unix/sysv/linux/sa_len.c: Use INTDEF for __libc_sa_len. * include/fcntl.h: Declare __open_internal and define __open and __libc_open macros if not NOT_IN_libc. * sysdeps/generic/open.c: Use INTDEF for __open. * sysdeps/mach/hurd/open.c: Likewise. * sysdeps/unix/sysv/aix/open.c: Likewise. * sysdeps/unix/syscalls.list: Add __open_internal alias. * sysdeps/generic/check_fds.c: Make sure newly opened file descriptor has correct number. * include/fcntl.h: Define __libc_fcntl macro if not NOT_IN_libc. * sysdeps/mach/hurd/fcntl.c: Undefine __libc_fcntl as well. * sysdeps/unix/sysv/aix/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * include/wctype.h: Declare __iswalpha_l_internal, __iswdigit_l_internal, __iswspace_l_internal, __iswxdigit_l_internal, and __iswctype_internal. Define __iswalpha_l, __iswctype, __iswdigit_l, __iswspace_l, and __iswxdigit_l macros if not NOT_IN_libc. * wctype/iswctype.c: Use INTDEF for __iswctype. * wctype/wcfuncs_l.c: Use INTDEF for all __iswXXX_l. * include/math.h: Declare __isinf_internal, __isinfl_internal, __isnan_internal, and __isnanl_internal. * stdio-common/printf_fp.c: Use INTUSE for calls to __isinf, __isinfl, __isnan, and __isnanl. * stdio-common/printf_size.c: Likewise. * sysdeps/generic/printf_fphex.c: Likewise. * sysdeps/i386/fpu/s_isinfl.c: Also define _internal alias. * sysdeps/i386/fpu/s_isnanl.c: Likewise. * sysdeps/ia64/fpu/s_isinf.S: Likewise. * sysdeps/ia64/fpu/s_isnan.S: Likewise. * sysdeps/ieee754/dbl-64/s_isinf.c: Likewise. * sysdeps/ieee754/dbl-64/s_isnan.c: Likewise. * sysdeps/ieee754/flt-32/s_isinff.c: Likewise. * sysdeps/ieee754/flt-32/s_isnanf.c: Likewise. * sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise. * sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise. * sysdeps/ieee754/ldbl-96/s_isinfl.c: Likewise. * sysdeps/m68k/s_isinfl.c: Likewise. * sysdeps/m68k/fpu/s_isinf.c: Likewise. * sysdeps/powerpc/fpu/s_isnan.c: Likewise. * include/sys/time.h: Declare __gettimeofday_internal and define __gettimeofday macro if not NOT_IN_libc. * sysdeps/generic/gettimeofday.c: Use INTEDEF for __gettimeofday. * sysdeps/mach/gettimeofday.c: Likewise. * sysdeps/posix/gettimeofday.c: Likewise. * sysdeps/unix/sysv/aix/gettimeofday.c: Likewise. * sysdeps/unix/common/syscalls.list: Define __gettimeofday alias. * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Likewise. * include/sys/stat.h: Declare __fxstat_internal and __fxstat64_internal and define __fxstate and __fxstat64 macros if not NOT_IN_libc. Remove __lstat and __fstat inline functions. * sysdeps/generic/fxstat.c: Use INTDEF for __fxstat. * sysdeps/mach/hurd/fxstat.c: Likewise. * sysdeps/unix/fxstat.c: Likewise. * sysdeps/unix/sysv/aix/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise. * sysdeps/generic/fxstat64.c: Use INTDEF for __fxstat64. * sysdeps/mach/hurd/fxstat64.c: Likewise. * sysdeps/unix/sysv/aix/fxstat64.c: Likewise. * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. * include/unistd.h: Declare __getpid_internal and define __getpid macro if not NOT_IN_libc. * sysdeps/mach/hurd/getpid.c: Use INTDEF for __getpid. * sysdeps/generic/getpid.c: Likewise. * sysdeps/unix/syscalls.list: Add __getpid_internal alias. * posix/bsd-getpgrp.c: Use INTUSE for __getpgid call. * include/unistd.h: Declare __getpgid_internal and define __getpgid macro if not NOT_IN_libc. * sysdeps/generic/getpgid.c: Use INTDEF for __getpgid. * sysdeps/mach/hurd/getpgid.c: Likewise. * sysdeps/unix/sysv/aix/getpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add _getpgid_internal alias. * include/unistd.h: Declare __getpagesize_internal and define __getpagesize macro if not NOT_IN_libc. * sysdeps/unix/sysv/linux/shmat.c: Include for __getpagesize. * sysdeps/generic/getpagesize.c: Use INTDEF for __getpagesize. * sysdeps/mach/getpagesize.c: Likewise. * sysdeps/posix/getpagesize.c: Likewise. * sysdeps/unix/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise. 2002-04-13 Andreas Jaeger * sysdeps/i386/i486/bits/string.h (__strcspn_cg): Use only memory as clobber to reduce register pressure. (__strpbrk_cg): Likewise. (__mempcpy_by4): Likewise. (__strstr_cg): Likewise. Add prototype for __memrchr. 2002-04-13 Andreas Schwab * sysdeps/m68k/fpu/s_finite.c: Add internal alias. * sysdeps/m68k/fpu/s_finitef.c: Likewise. * sysdeps/m68k/fpu/s_finitel.c: Likewise. 2002-04-13 Ulrich Drepper * elf/do-lookup.h [!VERSIONED]: Add new parameter flags. Use it to check whether the caller prefers getting the most recent version of a symbol of the earliest version. * elf/dl-lookup.c: Adjust all callers of do_lookup. Change _dl_do_lookup to also take the new parameter and pass it on. Change 'explicit' parameter of _dl_lookup_symbol and _dl_lookup_versioned_symbol to flags. Adjust tests. * sysdeps/generic/ldsodefs.h: Adjust prototypes. * elf/dl-libc.c: Adjust all callers of _dl_lookup_symbol and _dl_lookup_versioned_symbol. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-sym.c: Likewise. * sysdeps/mips/dl-machine.h: Likewise. 2002-04-11 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (LOC): Don't paste in a token. * sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h (LOC): Likewise. 2002-04-10 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/glob.c: New file. * include/argz.h: Remove extra char from last patch. 2002-04-09 Ulrich Drepper * sysdeps/mach/hurd/chown.c: Use INTDEF for __chown. * sysdeps/unix/sysv/aix/chown.c: Likewise. * sysdeps/unix/grantpt.c: Use INTUSE for __chown calls. * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Use INTDEF2 to define __chown_internal. * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise. * intl/dcngettext.c [_LIBC]: Use INTUSE for __dcngettext. * intl/dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE. * intl/ngettext.c: Likewise. * include/sys/socket.h: Declare __connect_internal and define __connect macro if not NOT_IN_libc. * sysdeps/mach/hurd/connect.c: Use INTDEF for __connect. * sysdeps/unix/sysv/aix/connect.c: Likewise. * sysdeps/unix/sysv/linux/connect.S: Add __connect_internal alias. * include/unistd.h: Declare __close_internal and define __close macro if not NOT_IN_libc. * libio/libioP.h (JUMO0, JUMP1, JUMP2, JUMP3, WJUMP0, WJUMP1, WJUMP2, WJUMP3): Add extra parenthesis to avoid expanding element names with macors like __close. * sysdeps/unix/syscalls.list: Add __close_internal alias. * include/unistd.h: Declare __dup2_internal and define __dup2 macro if not NOT_IN_libc. * sysdeps/mach/hurd/dup2.c: Use INTDEF for __dup2. * sysdeps/posix/dup2.c: Use INTDEF for __dup2. * sysdeps/unix/syscalls.list: Add __dup2_internal alias. * include/unistd.h: Declare __fork_internal and define __fork macro if not NOT_IN_libc. * sysdeps/mach/hurd/fork.c: Use INTDEF for __fork. * sysdeps/unix/sysv/aix/fork.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add __fork_internal alias. * include/stdio_ext.h: Declare __fsetlocking_internal and define __fsetlocking macro to use it if not NOT_IN_libc. * libio/__fsetlocking.c: Use INTDEF for __fsetlocking. * libio/__fbufsize.c: Correct copyright. * libio/__flbf.c: Likewise. * libio/__fpending.c: Likewise. * libio/__fpurge.c: Likewise. * libio/__freadable.c: Likewise. * libio/__freading.c: Likewise. * libio/__fsetlocking.c: Likewise. * libio/__fwritable.c: Likewise. * libio/__fwriting.c: Likewise. * include/stdio.h: Declare __asprintf_internal and define __asprintf macro to use it if not NOT_IN_libc. * stdio-common/asprintf.c: Use INTDEF for __asprintf. * include/mntent.h: Declare __setmntent_internal, __getmntent_r_internal, __endmntent_internal. Define __setmntent, __getmntent_r, and __endmntent macros to use these functions if not NOT_IN_libc. * misc/mntent_r.c: Use INTDEF for __setmntent, __getmntent_r, and __endmntent. * include/math.h: Declare __finite_internal, __finitef_internal, and __finitel_internal. Redefine isfinite macro if in libc or libm using these functions. * sysdeps/generic/s_ldexp.c: Use INTUSE for __finite calls. * sysdeps/generic/s_ldexpf.c: Use INTUSE for __finitef calls. * sysdeps/generic/s_ldexpl.c: Use INTUSE for __finitel calls. * sysdeps/i386/fpu/s_finite.S: Define _internal alias. * sysdeps/i386/fpu/s_finitef.S: Likewise. * sysdeps/i386/fpu/s_finitel.S: Likewise. * sysdeps/ieee754/dbl-64/s_finite.c: Likewise. * sysdeps/ieee754/flt-32/s_finitef.c: Likewise. * sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise. * sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise. * include/fcntl.h: Declare __fcntl_internal. Define __fcntl macro to use this function if not NOT_IN_libc. * libio/iofdopen.c (_IO_fcntl): Use INTUSE. * sysdeps/generic/fcntl.c: Use INTDEF for __fcntl. * sysdeps/mach/hurd/fcntl.c: Likewise. * sysdeps/unix/sysv/aix/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * include/argz.h: Declare __argz_count_internal and __argz_stringify_internal. * intl/l10nflist.c [_LIBC]: Use INTUSE for __argz_count and __argz_stringify. * string/argz-count.c: Use INTDEF for __argz_count. * string/argz-stringify.c: Use INTDEF for __argz_stringify. * include/stdlib.h: Declare __cxa_atexit_internal and define __cxa_atexit macro if not NOT_IN_libc. * stdlib/cxa_atexit.c: Use INTDEF for __cxa_atexit. * dlfcn/Makefile: Define NOT_IN_libc when compiling modcxaatexit.c. * assert/assert.c: Use INTDEF for __assert_fail. * assert/__assert.c: Use INTUSE for call to __assert_fail. * include/assert.h: Declare __assert_fail_internal. * extra-lib.mk: Mark assignment to lib with override. 2002-04-08 Ulrich Drepper * Makerules: Use cppflags-iterator.mk to add defines for all test source files. 2002-04-08 kaz Kojima * elf/elf.h: Define R_SH_TLS_xxx macros. * elf/rtld.c: Remove an extra parenthesis. * elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and TLS_GD macros. * sysdeps/generic/dl-tls.c: Add a missing semi-colon. * sysdeps/sh/dl-lookupcfg.h: New file. * sysdeps/sh/dl-tls.h: New file. * sysdeps/sh/dl-machine.h (elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three TLS relocations. (elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and R_SH_TLS_TPOFF32 relocations. 2002-04-08 Ulrich Drepper * cppflags-iterator.mk (cpp-srcs-left): Define NOT_IN_libc instead of NOT_IN_LIBC. * include/libintl.h: Test for NOT_IN_libc not NOT_IN_LIBC. * include/stdlib.h: Likewise. 2002-04-08 Jakub Jelinek * elf/Makefile (CFLAGS-.os): Define NOT_IN_libc and IS_IN_rtld instead of _RTLD_LOCAL. * elf/dl-dst.h: Use IS_IN_rtld instead of _RTLD_LOCAL. * include/unistd.h: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * stdio-common/_itoa.h (_itoa_word): Only use internal digit arrays if in libc or ld.so. 2002-04-08 Andreas Jaeger * elf/cache.c (print_entry): Support x86-64. 2002-04-08 Ulrich Drepper * include/stdlib.h: For libc itself replace MB_CUR_MAX definition with one accessing the locale data structures directly. * stdio-common/printf-prs.c: Include localeinfo.h for new MB_CUR_MAX definition. * Makeconfig (CPPFLAGS): Also add CPPFLAGS- where is the name of the source file without extension. * Makefile (distribute): Add cppflags-iterator.mk. * cppflags-iterator.mk: New file. * extra-lib.mk: For the sources of the library run cppflags-iterator.mk. * include/libintl.h: Declare __dcgettext_internal and _libc_intl_domainname_internal. Define __dcgettext using these two symbols if used in libc itself. * argp/argp-help.c: Define dgettext using __dcgettext_internal and _libc_intl_domainname_internal. * argp/argp-parse.c: Likewise. * intl/dcgettext.c (__dcgettext): Use INTDEF to define alias. * intl/dgettext.c: Call __dcgettext_internal instead of __dcgettext. * intl/gettext.c: Likewise. * locale/SYS_libc.c (_libc_intl_domainname): Use INTDEF to define alias. * posix/regcomp.c (gettext): Use __dcgettext_internal instead of __dcgettext. * posix/regex_internal.c (gettext): Likewise. 2002-04-08 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed: Fix rewrite rule. * sysdeps/x86_64/fpu/s_llrint.S: New. * sysdeps/x86_64/fpu/s_llrintf.S: New. * sysdeps/x86_64/fpu/s_llrintl.S: New. * sysdeps/x86_64/fpu/s_lrint.S: New. * sysdeps/x86_64/fpu/s_lrintf.S: New * sysdeps/x86_64/fpu/s_lrintl.S: New. 2002-04-08 Roland McGrath * sysdeps/mach/hurd/dl-sysdep.c (__mmap): Use MAP_FAILED instead of widening __hurd_fail value. 2002-04-07 Roland McGrath * sysdeps/mach/hurd/alpha/trampoline.c: Don't include . (_hurd_setup_sighandler): Take proper arguments for current decls. Update code to use _hurdsig_catch_fault. Use `callsys' instruction instead of `call_pal'. * sysdeps/mach/hurd/alpha/intr-msg.h: New file. * sysdeps/mach/alpha/sysdep.h: Include . (ALIGN, at, AT, fp): New macros. 2002-04-06 Roland McGrath * mach/setup-thread.c (__mach_setup_thread): int -> natural_t * sysdeps/mach/hurd/dl-sysdep.c: Use ElfW(TYPE) in place of Elf32_TYPE. (__mmap): Use MAP_FAILED instead of widening __hurd_fail value. * sysdeps/mach/hurd/bind.c: Use prototype definition. * sysdeps/mach/hurd/connect.c: Likewise. * sysdeps/mach/hurd/getsockopt.c: Likewise. * sysdeps/mach/hurd/setsockopt.c: Likewise. * sysdeps/mach/hurd/alpha/sigreturn.c: Pass missing argument to __msg_sig_post RPC. * hurd/catch-exc.c: Use integer_t instead of int. * hurd/hurdfault.c: Likewise. * sysdeps/mach/hurd/alpha/exc2signal.c (_hurd_exception2signal): Rewritten. * sysdeps/mach/hurd/alpha/longjmp-ts.c (_hurd_longjmp_thread_state): Rewritten. 2002-04-07 Ulrich Drepper * nss/getXXbyYY_r.c: If NSS_attribute_hidden is defined use it with the DB_LOOKUP_FCT prototype. * nss/getXXent_r.c: Likewise. * inet/getaliasent_r.c: Define NSS_attribute_hidden. * inet/getaliasname_r.c: Likewise. * inet/getnetbyad_r.c: Likewise. * inet/getnetbynm_r.c: Likewise. * inet/getnetent_r.c: Likewise. * inet/getproto_r.c: Likewise. * inet/getprtent_r.c: Likewise. * inet/getprtname_r.c: Likewise. * inet/getrpcbyname_r.c: Likewise. * inet/getrpcbynumber_r.c: Likewise. * inet/getrpcent_r.c: Likewise. * inet/getservent_r.c: Likewise. * inet/getsrvbynm_r.c: Likewise. * inet/getsrvbypt_r.c: Likewise. * shadow/getspent_r.c: Likewise. * shadow/getspnam_r.c: Likewise. * malloc/thread-m.h: Define __libc_tsd_MALLOC_data as static. * sysdeps/i386/elf/bsd-setjmp.S: Use GOTOFF for __sigjmp_save access. Use i686-friendly PIC code. * sysdeps/i386/elf/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Use i686-friendly PIC code. * sysdeps/mach/hurd/Versions: Add _dl_init_first to libc and ld export list. * elf/Versions: Remove it here. 2002-04-06 Ulrich Drepper * iconvdata/tcvn5712-1.c (MAX_NEEDED_INPUT): Define for from direction. Reported by H . J . Lu . 2002-04-05 Ulrich Drepper * intl/tst-gettext.sh: Set GCONV_PATH and LOCPATH to values for the test just before the test runs. * intl/tst-translit.sh: Likewise. * intl/tst-codeset.sh: Likewise. * timezone/zic.c: Update from tzcode2002c. * timezone/asia: Update from tzdata2002c. * timezone/backward: Likewise. * timezone/europe: Likewise. * timezone/northamerica: Likewise. * timezone/northamerica: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * timezone/zone.tab: Likewise. 2002-03-23 Jakub Jelinek * sysdeps/generic/brk.c (__curbrk): Declare. * sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk. * sysdeps/generic/dl-sbrk.c: Likewise. * sysdeps/unix/arm/dl-brk.S: New file. * sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file. * sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file. * sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file. * sysdeps/unix/bsd/vax/dl-brk.S: New file. * sysdeps/unix/i386/dl-brk.S: New file. * sysdeps/unix/mips/dl-brk.S: New file. * sysdeps/unix/sparc/dl-brk.S: New file. * sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file. * sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file. * sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file. 2002-04-03 Andreas Schwab * Makefile (headers): Add gnu/lib-names.h here instead of install-others. ($(inst_includedir)/gnu/lib-names.h): Remove explicit installation rule. (install-headers): Add dependency on install-headers-nosubdir. * stdio-common/Makefile (headers): Add bits/stdio_lim.h here instead of install-others. ($(inst_includedir)/bits/stdio_lim.h): Remove explicit installation rule. 2002-04-05 Ulrich Drepper * manual/users.tex (Enable/Disable Setuid): Fix typo in example. Reported by Sam Roberts . 2002-04-03 Jakub Jelinek * elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if l_addr == 0 and ELF_MACHINE_REL_RELATIVE. * sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define. * sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define. 2002-04-03 David Mosberger * sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info. (RTLD_START): Ditto. (__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW dependency violation. 2002-04-05 Jakub Jelinek * time/mktime.c (__mktime_internal): Move check for year < 70 below all variable declarations. 2002-04-04 Andreas Schwab * sysdeps/unix/sysv/linux/ia64/pipe.S: Don't overwrite r8 on error. 2002-04-04 Andreas Jaeger * sysdeps/x86_64/fpu/e_sqrt.c: New file. * sysdeps/x86_64/fpu/e_sqrtf.c: New file. * sysdeps/x86_64/fpu/s_fabs.c: New file. * sysdeps/x86_64/fpu/s_fabsf.c: New file. * sysdeps/x86_64/fpu/s_fabsl.c: New file. * sysdeps/unix/sysv/linux/x86_64/time.S: New file. * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: New file. * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: Removed. * sysdeps/unix/sysv/linux/x86_64/time.c: Removed. * configure.in: Handle all mips entries the same. * sysdeps/mips/dec/bits/endian.h: Removed since arch is not supported. * sysdeps/mips/mips3/*: Likewise. * sysdeps/mips/p40/bits/endian.h: Likewise. 2002-04-04 Ulrich Drepper * misc/dirname.c (dirname): Ignore trailing slashes at end of non-null result [PR libc/2600]. * misc/tst-dirname.c: Add more tests. 2002-04-03 Ulrich Drepper * locale/programs/charmap.c (charmap_read): If the charmap doesn't define a code_set_name provide one based on the filename. * malloc/hooks.c: Define weak_variable correctly for _LIBC. 2001-12-28 Andreas Jaeger * time/mktime.c (__mktime_internal): Check for year < 70 [PR libc/2738]. 2002-04-03 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Fix arguments for shmat. Reported by Andi Kleen . 2002-04-03 Ulrich Drepper * sysdeps/generic/w_lgamma.c: Initialized local_signgam. * sysdeps/generic/w_lgammaf.c: Likewise. * sysdeps/generic/w_lgammal.c: Likewise [PR libc/2854]. * debug/catchsegv.sh (exval): Quote [ in pattern [PR libc/2902]. Adjust for new output format of the backtrace functions. * misc/syslog.c (vsyslog): Only use cleanup handler if _LIBC_REENTRANT is defined [PR libc/2924]. * libio/Makefile (tests): Add bug-ungetwc2. * libio/bug-ungetwc2.c: New file. * manual/install.texi: Typographical and grammatical cleanup. Patch by Dennis Grace . * sunrpc/rpc_svcout.c (write_real_program): Write "result, " parameter if mtflag. Patch by . * sunrpc/rpc_svcout.c (printif): Remove third parameter. It was always "&". Adjust callers. Add "_" prefix to several generated definitions. Patch by paul@serice.net [PR libc/3158]. 2002-04-02 Ulrich Drepper * sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Completely specify size of _dl_arm_cap_flags. Patch by enrico.scholz@informatik.tu-chemnitz.de [PR libc/3155]. * sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_DL_HWCAP_COUNT): Define as 8. 2002-03-22 H.J. Lu * scripts/firstversions.awk: Check the first version. 2002-04-02 Ulrich Drepper * elf/dl-deps.c (_dl_map_object_deps): The sorting of the dependencies must be stable to work correctly. Reported by martin.lubich@datacon.at. * libio/bug-ungetwc1.c: New file. * libio/Makefile (tests): Add bug-ungetwc1. * libio/fileops.c (_IO_new_file_close_it): Only call _IO_do_flush if stream was last used for writing. * elf/do-lookup.h (do_lookup): 2 is the first user-defined version number [PR libc/3111]. * libio/iofclose.c (_IO_new_fclose): Move freeing of backup buffer to ... * libio/fileops.c (_IO_new_file_close_it): ...here [PR libc/3190]. 2002-04-02 Jakub Jelinek * inet/ether_ntoh.c (__nss_ethers_lookup): Add internal_function. * inet/ether_hton.c (__nss_ethers_lookup): Likewise. * inet/getnetgrent_r.c (__nss_netgroup_lookup): Likewise. * sunrpc/netname.c (__nss_publickey_lookup): Likewise. * sunrpc/publickey.c (__nss_publickey_lookup): Likewise. 2002-03-30 Jakub Jelinek * elf/dynamic-link.h (elf_get_dynamic_info): Don't abort on unknown dynamic tags. 2002-03-29 Jakub Jelinek * sysdeps/i386/fpu/s_fabs.S: New file. * sysdeps/i386/fpu/s_fabsf.S: New file. * sysdeps/i386/fpu/s_fabsl.S: New file. * sysdeps/sparc/sparc64/fpu/s_fabs.c: New file. * sysdeps/sparc/sparc64/fpu/s_fabsf.c: New file. * sysdeps/sparc/sparc64/fpu/s_fabsl.c: New file. 2002-04-02 Ulrich Drepper * rt/tst-shm.c (do_test): Add one more test for size of shared memory object. 2002-03-29 Wolfram Gloger * malloc/malloc.c: Add short description and prototypes for malloc_get_state, malloc_set_state and posix_memalign, for consistency and to avoid warnings with -Wstrict-prototypes. Reported by Andreas Jaeger . 2002-04-02 Ulrich Drepper * po/gl.po: Update from translation team. 2002-03-31 Roland McGrath * hurd/hurdselect.c (_hurd_select): Fix MACH_MSG_TYPE_INTEGER_T -> integer_t in sizeof. Use a union rather than casts to compare mach_msg_type_t as int. 2002-03-25 Roland McGrath * hurd/hurdchdir.c (_hurd_change_directory_port_from_name): Don't check off the end of NAME when it's shorter than 2 chars. Reported by Ognyan Kulev . 2002-03-17 Roland McGrath * sysdeps/mach/hurd/i386/sys/io.h: New file. * sysdeps/mach/hurd/i386/ioperm.c: New file. * sysdeps/mach/hurd/i386/Dist: Add them. * sysdeps/mach/hurd/i386/Versions (libc: GLIBC_2.2.6): New set, add ioperm. * sysdeps/mach/configure.in: New check to set HAVE_I386_IO_PERM_MODIFY. (mach_interface_list): Check for mach_i386.defs. * config.h.in (HAVE_I386_IO_PERM_MODIFY): #undef it. * sysdeps/mach/configure: Regenerated. 2002-03-22 Ulrich Drepper * po/fr.po: Update from translation team. 2002-03-21 Martin Schwidefsky * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Remove getpriority from syscalls list. 2002-03-28 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: New file. * sysdeps/unix/sysv/linux/x86_64/getcontext.S: New file. * sysdeps/unix/sysv/linux/x86_64/setcontext.S: New file. * sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: New file. 2002-03-27 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct sigcontext): Follow further kernel change. * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Follow further kernel change. * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (GET_STACK): Change for struct sigcontext change. * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): Follow changes in struct sigcontext. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Remove ptrace sysycall, use wrapper instead. 2002-03-26 Andreas Jaeger * sysdeps/i386/i486/bits/string.h (__memcpy_by4): Describe memory read and write accesses as detailed as possible. (__memcpy_by2): Likewise. (__memcpy_g): Likewise. (memmove): Likewise. (memcmp): Likewise. (__memset_ccn_by4): Likewise. (__memset_ccn_by2): Likewise. (__memset_gcn_by4): Likewise. (__memset_gcn_by2): Likewise. (memchr): Likewise. (__memrchr): Likewise. (rawmemchr): Likewise. (__strlen_g): Likewise. (__strcpy_g): Likewise. (__mempcpy_by4): Likewise. (__mempcpy_by2): Likewise. (__mempcpy_byn): Likewise. (__stpcpy_g): Likewise. (__strncpy_by4): Likewise. (__strncpy_by2): Likewise. (__strncpy_byn): Likewise. (__strncpy_gg): Likewise. (__strcat_c): Likewise. (__strcat_g): Likewise. (__strncat_g): Likewise. (__strcmp_gg): Likewise. (__strncmp_g): Likewise. (__strchr_c): Likewise. (__strchr_g): Likewise. (__strchrnul_c): Likewise. (__strchrnul_g): Likewise. (__strrchr_c): Likewise. (__strrchr_g): Likewise. (__strrchr_c): Likewise. (__strrchr_g): Likewise. (__strcspn_c1): Likewise. (__strcspn_cg): Likewise. (__strcspn_g): Likewise. (__strcspn_g): Likewise. (__strspn_c1): Likewise. (__strspn_cg): Likewise. (__strspn_g): Likewise. (__strspn_g): Likewise. (__strpbrk_cg): Likewise. (__strpbrk_g): Likewise. (__strstr_cg): Likewise. (__strstr_g): Likewise. * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Fix typo. Reported by Michal Ludvig . * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Add 32-bit compatibilty, adjust for kernel changes. * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct sigcontext): Adjust for kernel changes. 2002-03-25 Andreas Jaeger * iconv/gconv_simple.c (ucs4le_internal_loop_single): Handle little endian. Reported by Artur Zaprzala . 2002-03-24 Andreas Jaeger * manual/memory.texi (Aligned Memory Blocks): Fix typo. * stdio-common/tst-fdopen.c (main): Remove unused variable. * iconv/tst-iconv3.c (main): Use correct printf strings. 2002-03-18 Roland McGrath * sysdeps/unix/bsd/bsd4.4/bits/socket.h (struct cmsgcred): New type. (CMGROUP_MAX): New macro. 2002-03-23 Roland McGrath * sysdeps/posix/shm_open.c (SHMDIR): /var/run/shm -> /dev/shm * sysdeps/posix/shm_unlink.c: Likewise. 2002-03-22 Roland McGrath * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Make 2.2.6 default. * sysdeps/mach/hurd/configure.in: Default oldest ABI is 2.2.6 under --enable-libio. * sysdeps/mach/hurd/configure: Regenerated. 2002-03-23 Roland McGrath * sysdeps/mach/hurd/i386/Makefile (sysdep_routines, shared-only-routines): Don't add framestate, reverting 2001-10-02 change. * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. * sysdeps/unix/sysv/linux/mips/Makefile: Likewise. * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. * sysdeps/unix/sysv/linux/sparc/Makefile: Likewise. * sysdeps/generic/Makefile (sysdep_routines, shared-only-routines): Do it here instead, only if [$(unwind-find-fde) = yes]. 2002-03-23 Andreas Jaeger * signal/signal.h: Fix typo. Patch by Steve Kemp . 2002-03-22 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add getresgid and getresuid. * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct _fpstate): Rename fwd to ftw, use _fpxreg and _xmmreg. * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct user_fpregs_struct): Rename fwd. * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): Follow sigcontext changes. 2002-03-22 Andreas Jaeger * sysdeps/mips/bits/nan.h: New file. Copy from generic one with changes for NaNs on MIPS. Patch by Hartvig Ekner . 2002-03-21 Ulrich Drepper * nscd/grpcache.c (addgrbyname): Improve buffer allocate with alloca. Use realloc if too large. (addgrbyid): Likewise. * nscd/hstcache.c (addhstbyname): Likewise. (addhstbyaddr): Likewise. (addhstbynamev6): Likewise. (addhstbyaddrv6): Likewise. * nscd/pwdcache.c (addpwbyname): Likewise. (addpwbyuid): Likewise. 2002-03-21 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct _fpstate): Add separate struct for x86-64. * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct user_fpregs_struct): Change member names to follow kernel. 2002-03-20 Ulrich Drepper * nis/ypclnt.c (yp_all): Remove the hack introduced on 1998-09-29. Correctly close the UDP connection right away [PR libc/3120]. 2002-03-20 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct user_fpregs_struct): Fix for changed kernel struct. (struct user_regs_struct): Likewise. (struct user): Likewise. Add 32-bit x86 compatibility. * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add more registers. 2002-03-19 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/bits/types.h: Cleanup x86 types. 2002-03-18 Andreas Jaeger * iconvdata/Makefile: Only run tests when shared libs are available. 2002-03-17 Andreas Jaeger * sysdeps/mips/fpu/fraiseexcpt.c (__feraiseexcept): Set cause bits. * sysdeps/mips/fpu/fgetexcptflg.c (__fegetexceptflag): Add comment. * sysdeps/mips/fpu/fclrexcpt.c (__feclearexcept): Clear also cause bits. * sysdeps/mips/fpu/fenv_libc.h (CAUSE_MASK): New. (CAUSE_SHIFT): New. Patch by Hartvig Ekner . * sysdeps/generic/unwind-dw2-fde-glibc.c: Add prototypes. * sysdeps/generic/unwind-pe.h: Likewise. * libio/iofdopen.c (_IO_new_fdopen): Pass parameter of correct type to _IO_setb. * libio/stdio.c (AL2): Define variant when visibility attribute is not supported. * include/libc-symbols.h (_INTVARDEF): Define variant when visibility attribute is not supported. 2002-03-16 Ulrich Drepper * po/fr.po: Update from translation team. 2002-02-25 Bruno Haible * MakeTAGS (extract): Use --sort-by-file instead of --sort-output. 2002-03-15 Ulrich Drepper * libio/iofdopen.c (_IO_new_fdopen): Call _IO_setb to deallocate buffers if _IO_file_attach failed. * libio/fileops.c (_IO_file_open): Close file descriptor if _IO_SEEKOFF call failed. 2002-03-15 H.J. Lu Ulrich Drepper * configure.in: Check for availability of init_array/fini_array/preinit_array handling in binutils. * config.h.in (HAVE_INITFINI_ARRAY): New macro. * config.make.in (have-initfini-array): New variable. 2002-03-15 Ulrich Drepper * stdio-common/tst-printf.c (main): Comment out one test which checked the compiler's ability to fold floating-point constants but not really printf. (rfg3): Make s const. * stdio-common/tst-printf.sh: Adjust for removed test. * sysdeps/i386/i386-mcount.S: Just call __mcount_internal, it is an internal function. Adjust for internal_function calling convention. * sysdeps/i386/machine-gmon.h: Declare and define __mcount_internal as internal_function. * sysdeps/generic/framestate.c: Declare fallback_frame_state_for as hidden. * nss/XXX-lookup.c (DB_LOOKUP_FCT): Add internal_function to declaration and definition. * nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Add internal_function to declaration. * nss/getXXent_r.c: Likewise. * nss/nsswitch.h (db_lookup_function): Add internal_function to definition. * include/time.h: Declare __localtime_r as hidden. * include/aliases.h: Declare __getaliasent_r as hidden. * include/grp.h: Declare __getgrent_r as hidden. * include/netdb.h: Declare __gethostent_r, __getnetent_r, __getservent_r, and __getprotoent_r as hidden. * include/pwd.h: Declare __getpwent_r as hidden. * include/shadow.h: Declare __getspent_r as hidden. * include/rpc/netdb.h: Declare __getrpcent_r as hidden. * iconv/gconv_int.h: Declare __gconv_read_conf, __gconv_alias_compare, and __gconv_transliterate as hidden. Add internal_function to __gconv_get_path declaration. * iconv/gconv_conf.c: Add internal_function to __gconv_get_path definition. Add attribute_hidden to __gconv_read_conf definition. 2002-03-14 Ulrich Drepper * elf/rtld.c: Declare _environ as hidden. * sysdeps/generic/dl-environ.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and _dl_mcount_internal as hidden. * elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk. * sysdeps/generic/dl-brk.c: New file. * sysdeps/generic/dl-sbrk.c: New file. * sysdeps/unix/sysv/linux/i386/dl-brk.c: New file. * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file. * elf/dl-minimal.c (malloc): Declare _end as hidden. (__errno_location): New function. Declare errno as hidden. * elf/rtld.c (_dl_argc): Define as hidden. (_dl_skip_args): Define as hidden. (_begin, _end): Declare as hidden. * sysdeps/generic/dl-sysdep.c (_end): Declare as hidden. * sysdeps/generic/entry.h (_start): Declare as hidden. * sysdeps/generic/ldsodefs.h (_dl_argc): Declare as hidden. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Declare _dl_runtime_resolve and _dl_runtime_profile as hidden. (RTLD_START): Use GOTOFF to access _dl_skip_args and _dl_fini. 2002-03-14 Roland McGrath * Makerules ($(common-objpfx)Versions.v.i): Depend on abi-versions.h. * Makeconfig (%.v.i, %.v): New implicit rules. (preprocess-versions): Variable removed. ($(common-objpfx)shlib-versions.v.i): New target giving just the shlib-versions input files as dependencies. ($(common-objpfx)soversions.i): Depend on that instead of the input files. Use it as input instead of using a pipeline. (postclean-generated): Append soversions.i, shlib-versions.v, and shlib-versions.v.i here. * Makerules ($(common-objpfx)Versions.def.v.i): New target giving just the Versions.def input files as dependencies. ($(common-objpfx)Versions.v.i): Likewise for Versions files. ($(common-objpfx)Versions.all): Depend on that instead of the input files. Use it as input instead of using a pipeline. ($(common-objpfx)sysd-versions): Likewise with Versions.v.i. (postclean-generated): Append those .v and .v.i files here. 2002-03-14 Jakub Jelinek * locale/broken_cur_max.c (__ctype_get_mb_cur_max): Use nl_langinfo. * locale/Versions (_nl_current_LC_COLLATE, _nl_current_LC_CTYPE): Remove. 2002-03-14 Jakub Jelinek * sysdeps/generic/mp_clz_tab.c: New file. * sysdeps/i386/mp_clz_tab.c: New file. * sysdeps/hppa/mp_clz_tab.c: New file. * sysdeps/powerpc/mp_clz_tab.c: New file. * stdlib/Makefile (aux): Revert last patch. * math/Makefile (gmp-objs): Likewise. 2002-03-13 Paul Eggert * time/strftime.c: Comment fixes for references to obsolescent standards, In most cases the simplest fix is to remove the confusing comments. Cross-referencing all the standards properly is a bit of a pain, and it should be enough to put that info in the documentation as I did in my recent time.texi patch. 2002-03-13 Paul Eggert * manual/time.texi (Formatting Calendar Time): ISO C99 also specifies the E and O modifiers. %P is a GNU extension, and is not in ISO C99. Mention that %r is equivalent to %I:%M:%S %p in the POSIX locale. %T is also in ISO C99. The RFC 822 example is not valid in arbitrary locales. Reword the POSIX.2 wording slightly, to make it a bit clearer that POSIX.2 formats are also supported by later POSIX versions. If a format was introduced in ISO C99 it is also required by POSIX.1-2001. 2002-03-13 Ulrich Drepper * sysdeps/gnu/errlist.awk: Define _sys_errlist_internal and _sys_nerr_internal with INTVARDEF2. * include/libc-symbols.h (INTVARDEF2): New macro. * include/stdio.h (_sys_errlist_internal): Declare as hidden. (_sys_nerr_internal): Library. * sysdeps/posix/signal.c (_sigintr): Define as hidden. * sysdeps/posix/sigintr.c (_sigintr): Declare as hidden. * stdio-common/tst-printf.sh: Adjust for last change in tst-printf.c. 2002-03-13 Wolfram Gloger * malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed. 2002-03-02 Andreas Schwab * stdio-common/vfprintf.c (process_arg): Fix decimal format with 'h' flag and positional arg. * stdio-common/tst-printf.c (rfg3): New function to test positional arguments. (main): Fix some warnings. 2002-03-13 Jakub Jelinek * elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED. * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise. 2002-03-13 Ulrich Drepper * grp/initgroups.c (__nss_group_data): Declare as hidden. * include/locale.h (_nl_C_locobj): Declare as hidden. * time/asctime.c (_nl_C_LC_TIME): Declare as hidden. * time/strptime.c (_nl_C_LC_TIME): Likewise. * include/netinet/in.h (in6addr_any_internal): Mark as hidden. * include/sys/gmon.h: Declare _gmonparam as hidden. * locale/lc-ctype.c (__ctype32_wctype): Declare as hidden. (__ctype32_wctrans): Likewise. (__ctype32_width): Likewise. * sysdeps/unix/sysv/linux/ttyname.c: Comment out definition and use of __ttyname. * posix/regcomp.c (__re_error_msgid): Renamed from re_error_msgid. Define as hidden. (__re_error_msgid_idx): Renamed from re_error_msgid_idx. Define as hidden. Change all users of these variables. * posix/regex_internal.h (__re_error_msgid): Renamed from re_error_msgid. Declare as hidden. (__re_error_msgid_idx): Renamed from re_error_msgid_idx. Declare as hidden. * stdio-common/reg-printf.c (__printf_arginfo_table): Define as hidden. (__printf_function_table): Likewise. * stdio-common/printf-parse.h (__printf_arginfo_table): Declare as hidden. (__printf_function_table): Likewise. * nscd/nscd_proto.h: Declare __nss_not_use_nscd_passwd, __nss_not_use_nscd_group, and __nss_not_use_nscd_hosts as hidden. * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Define as hidden. * nss/nsswitch.c: Declare _nss_*_database as hidden. * stdlib/wctomb.c (__no_r_state): Declare as hidden. * stdlib/mbtowc.c (__no_r_state): Define as hidden. 2002-03-12 Ulrich Drepper * ctype/ctype-info.c: Declare _nl_C_LC_CTYPE_class, _nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower, _nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower, _nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit, _nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space, _nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph, _nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl, _nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum, _nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower, and _nl_C_LC_CTYPE_width: Declare as hidden. * include/locale.h: Declare _nl_locale_file_list. * locale/C-address.c: Define _nl_C_LC_ADDRESS as hidden. * locale/C-collate.c: Define _nl_C_LC_COLLATE as hidden. * locale/C-identification.c: Define _nl_C_LC_IDENTIFICATION as hidden. * locale/C-measurement.c: Define _nl_C_LC_MEASUREMENT as hidden. * locale/C-messages.c: Define _nl_C_LC_MESSAGES as hidden. * locale/C-monetary.c: Define _nl_C_LC_MONETARY as hidden. * locale/C-name.c: Define _nl_C_LC_NAME as hidden. * locale/C-numeric.c: Define _nl_C_LC_NUMERIC as hidden. * locale/C-paper.c: Define _nl_C_LC_PAPER as hidden. * locale/C-telephone.c: Define _nl_C_LC_TELEPHONE as hidden. * locale/C-time.c: Define _nl_C_LC_TIME as hidden. * locale/C-ctype.c: Define _nl_C_LC_CTYPE_class, _nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower, _nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower, _nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit, _nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space, _nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph, _nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl, _nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum, _nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower, _nl_C_LC_CTYPE_width, and as hidden. * locale/findlocale.c: Declare _nl_C as hidden. * locale/newlocale.c: Likewise. * locale/setlocale.c: Define _nl_C as hidden. Remove declaration of _nl_locale_file_list. * locale/xlocale.c: Declare _nl_C_LC_CTYPE_class, _nl_C_LC_CTYPE_toupper, and _nl_C_LC_CTYPE_tolower as hidden. Define _nl_C_locobj as hidden. * malloc/mtrace.c (_mtrace_file): Define as hidden. (_mtrace_line): Likewise. * include/time.h: Declare __mon_yday as hidden. * time/strptime.c [_LIBC] (__mon_yday): Remove declaration. * libio/libioP.h: Declare __libio_codecvt as hidden. * libio/fileops.c: Declare __libio_translit as hidden. * libio/iofwide.c: Define __libio_translit as hidden. * login/getutent_r.c: Define __libc_utmp_lock as hidden. * login/getutid_r.c: Declare __libc_utmp_lock as hidden. * login/getutline_r.c: Likewise. * login/utmpname.c: Likewise. * login/utmp-private.h: Declare __libc_utmp_file_functions, __libc_utmp_unknown_functions, __libc_utmp_jump_table, and __libc_utmp_file_name as hidden. * locale/setlocale.c (__libc_setlocale_lock): Define as hidden. * locale/duplocale.c (__libc_setlocale_lock): Declare as hidden. * locale/freelocale.c: Likewise. * locale/lc-time.c: Likewise. * sysdeps/unix/bsd/getpt.c (__libc_ptyname1): Define as hidden. (__libc_ptyname2): Likewise. * sysdeps/unix/sysv/linux/ptsname.c (__libc_ptyname1): Declare as hidden. (__libc_ptyname2): Likewise. * sysdeps/generic/sbrk.c: Declare __libc_multiple_libcs as hidden. * sysdeps/arm/init-first.c (__libc_multiple_libcs): Define as hidden. * sysdeps/generic/init-first.c: Likewise. * sysdeps/i386/init-first.c: Likewise. * sysdeps/mach/hurd/i386/init-first.c: Likewise. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/sh/init-first.c: Likewise. * sysdeps/unix/sysv/aix/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden. (_itowa_upper_digits): Likewise. * libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden. * libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare as hidden. * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps, _IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps, _IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal, _IO_wfile_jumps_internal, and _IO_list_all_internal as hidden. * gmon/gmon.c (__bb_head): Define as hidden. * gmon/bb_exit_func.c (__bb_head): Declare as hidden. * argp/argp-parse.c (_argp_hang): Define as static. * include/libc-symbols.h (_INTVARDEF): Adjust for visibility handling in latest compilers. * inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to define alias. * libio/fileops.c (_IO_file_jumps): Likewise. * libio/stdfiles.c (_IO_list_all): Likewise. * libio/wfileops.c (_IO_wfile_jumps): Likewise. * malloc/malloc.h: Move __libc_malloc_initialized declaration to include/malloc.h. * include/malloc.h: Add __libc_malloc_initialized declaration here. Mark variable hidden. * malloc/malloc.c: Include not "malloc.h". * elf/dl-open.c (__libc_argc): Declare as hidden. (__libc_argv): Likewise. * sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden. (__libc_argv): Likewise. * sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and __libc_argv as hidden. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/unix/sysv/aix/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * include/stdlib.h (__libc_drand48_data): Declare as hidden. * stdlib/drand48.c: Remove declaration of __libc_drand48_data here. * stdlib/erand48.c: Likewise. * stdlib/jrand48.c: Likewise. * stdlib/lcong48.c: Likewise. * stdlib/lrand48.c: Likewise. * stdlib/mrand48.c: Likewise. * stdlib/nrand48.c: Likewise. * stdlib/seed48.c: Likewise. * stdlib/srand48.c: Likewise. * stdio-common/_itoa.c (_itoa_base_table): Declare as hidden. (_itoa_lower_digits_internal): New declaration. (_itoa_upper_digits_internal): New declaration. (_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits. * stdio-common.h (_itoa_lower_digits_internal): New declaration. (_itoa_upper_digits_internal): New declaration. (_itoa_word): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits. * stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits. * stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits. * elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden. * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise. * stdio-common/_itowa.c (_itoa_base_table): Declare as hidden. (_itowa_lower_digits): Likewise. (_itowa_upper_digits): Likewise. * stdio-common/_itowa.h (_itowa_lower_digits): Likewise. (_itowa_upper_digits): Likewise. * intl/plural-exp.h (attribute_hidden): Define as empty macro if not already defined. (GERMANIC_PLURAL): Declare as hidden. * posix/getopt.c (__getopt_initialized): Declare as hidden. (attribute_hidden): Define as empty macro if not already defined. * iconv/gconv_int.h (__gconv_path_elem): Declare hidden. (__gconv_max_path_elem_len): Likewise. (__gconv_path_envvar): Likewise. * math/Makefile (gmp-objs): Remove mp_clz_tab. * stdlib/Makefile (aux): Remove mp_clz_tab. * stdlib/mp_clz_tab.c: Removed. Not needed anywhere. * stdlib/exit.h (__exit_funcs): Declare as hidden. * posix/bug-regex5.c (main): Use nl_langinfo instead of _NL_CURRENT. * locale/localeinfo.h: Add attribute_hidden to _nl_current_LC_XXX, _nl_category_names, _nl_category_name_sizes, _nl_current, _nl_C_name, _nl_POSIX_name, _nl_C_codeset, and _nl_C_LC_XXX. * intl/dcigettext.c (_nl_default_default_domain): Define as hidden. (_nl_current_default_domain): Likewise (_nl_state_lock): Likewise. * intl/textdomain.c (_nl_default_default_domain): Declare as hidden. (_nl_current_default_domain): Likewise (_nl_state_lock): Likewise. * intl/bindtextdom.c (_nl_state_lock): Likewise. * stdlib/fpioconst.h (__tens): Add attribute_hidden. (_fpioconst_pow10): Likewise. * include/time.h (_tmbuf): Add attribute_hidden. * time/tzset.c (tzstring_list): Define as static. * include/time.h: Add attribute_hidden to __tzname_cur_max and __use_tzfile declaration. * wcsmbs/wcsmbsload.h: Add attribute_hidden to __wcsmbs_gconv_fcts and __wcsmbs_last_locale declaration. 2002-02-25 Paul Eggert * timezone/Makefile (tzbases): Move systemv from here... (tzlinks): to here, since the entries in systemv were all changed from Zone to Link lines in tz-2001a. Bug reported (and patch tested) by Peter Breitenlohner. 2002-03-07 Jakub Jelinek * time/tst-posixtz.c (tests): Add new tests. (main): Test whether tzset() sets daylight properly. 2002-03-06 Jakub Jelinek * time/tzset.c (tz_compute): Move __daylight, __tzname and __tzname_cur_max setting... (tzset_internal): ...here. 2002-03-06 Jakub Jelinek * time/tzset.c (compute_change): Don't return any value. (tz_compute): Likewise. Don't handle southern hemisphere here. (__tz_convert): But here. 2002-03-11 Ulrich Drepper * manual/examples/mkfsock.c: Include as well. Patch by Alain De Carolis . 2002-03-06 Isamu Hasegawa * posix/regexec.c (re_match): Fix incorrect register sizes. (re_search): Likewise. 2002-03-05 Isamu Hasegawa * posix/regcomp.c (regfree): Remove a disused condition. * posix/regex_internal.c (re_acquire_state): Likewise. (re_acquire_state_context): Likewise. (register_state): Remove a redundant malloc invocation. * posix/regex_internal.h: (re_state_table_entry): Simplify the structure. 2002-03-05 Isamu Hasegawa * posix/regcomp.c (regcomp): Add __builtin_expect to error handling conditions. (regerror): Likewise. (regfree): Likewise. (re_compile_internal): Likewise. (init_dfa): Likewise. (init_word_char): Likewise. (create_initial_state): Likewise. (analyze): Likewise. (analyze_tree): Likewise. (duplicate_node): Likewise. (calc_eclosure): Likewise. (calc_eclosure_iter): Likewise. (parse): Likewise. (parse_reg_exp): Likewise. (parse_branch): Likewise. (parse_expression): Likewise. (parse_subexp): Likewise. (parse_dup_op): Likewise. (parse_bracket_exp): Likewise. (build_equiv_class): Likewise. (build_charclass): Likewise. (build_word_op): Likewise. (fetch_number): Likewise. (create_tree): Likewise. (duplicate_tree): Likewise. * posix/regex.c (BE): New macro. * posix/regexec.c (re_match): Add __builtin_expect to error handling conditions. (re_match_2): Likewise. (re_search): Likewise. (re_search_internal): Likewise. (check_matching): Likewise. (proceed_next_node): Likewise. (set_regs): Likewise. (sift_states_backward): Likewise. (add_epsilon_backreference): Likewise. (transit_state): Likewise. (transit_state_sb): Likewise. (transit_state_mb): Likewise. (transit_state_bkref): Likewise. (transit_state_bkref_loop): Likewise. (build_trtable): Likewise. (group_nodes_into_DFAstates): Likewise. (match_ctx_init): Likewise. (match_ctx_add_entry): Likewise. * posix/regex_internal.c (re_string_construct): Add __builtin_expect to error handling conditions. (re_string_construct_toupper): Likewise. (build_wcs_buffer): Likewise. (build_wcs_upper_buffer): Likewise. (build_upper_buffer): Likewise. (re_string_translate_buffer): Likewise. (re_node_set_alloc): Likewise. (re_node_set_init_1): Likewise. (re_node_set_init_2): Likewise. (re_node_set_init_copy): Likewise. (re_node_set_intersect): Likewise. (re_node_set_init_union): Likewise. (re_node_set_merge): Likewise. (re_node_set_insert): Likewise. (re_dfa_add_node): Likewise. (re_acquire_state): Likewise. (re_acquire_state_context): Likewise. (create_new_state_common): Likewise. (register_state): Likewise. (create_ci_new_state): Likewise. (create_cd_new_state): Likewise. (re_string_context_at): Remove redundant condition. 2002-01-16 Roger Sayle * sysdeps/i386/i686/strcmp.S: Avoid unconditional jump to a ret. * sysdeps/i386/i586/strlen.S: Fix typo in comment. 2002-03-11 Jakub Jelinek * sysdeps/i386/elf/configure.in: Fix comment. * sysdeps/sparc/sparc64/configure.in: New. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): Fix if .dynamic comes before .got. * config.h.in (SPARC64_DYNAMIC_BEFORE_GOT): Add. * sysdeps/sparc/sparc64/hp-timing.h (HP_TIMING_DIFF, HP_TIMING_ACCUM): Fix typos. 2002-03-11 Ulrich Drepper * string/strfry.c: Add some more randomness to the seed. Patch by James A Morrison . * po/es.po: Update from translation team. * po/fr.po: Likewise. * stdio-common/tfformat.c (sprint_doubles): A test for %F format. * stdio-common/printf_fp.c (__printf_fp): Correct check for %F format when determining type of format. Patch by James Antill [PR libc/2787]. 2002-03-04 Jakub Jelinek * sysdeps/unix/bsd/ftime.c (ftime): Don't return 1000 in millitm. 2002-03-11 Roland McGrath * hurd/hurd/threadvar.h: Include for __THROW macro. * Versions.def (libc): Add GLIBC_2.2.6. * hurd/Versions (libc: GLIBC_2.2.6): Add __errno_location. * sysdeps/mach/hurd/errnos.awk: In generated macro, use __errno_location instead of __hurd_errno_location, and don't inline it. * sysdeps/mach/hurd/bits/errno.h: Regenerated. * hurd/errno.c: New file. * hurd/Makefile (routines): Add errno. 2002-03-11 Ulrich Drepper * stdio-common/vfprintf.c (vfprintf): Avoid crashing for ridiculously large widths and precisions [PR libc/3026]. 2002-03-11 Andreas Jaeger * sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: Fix for bi-arch support. Patch by Susanne Oberhauser . 2002-03-11 Ulrich Drepper * inet/rexec.c (ahostbuf): Define as static. * wctype/wcfuncs.c (__ctype32_wctype): Declare as hidden. (__ctype32_wctrans): Likewise. * wcsmbs/wcwidth.h (__ctype32_width): Declare as hidden. * ctype/ctype-info.c (__ctype32_wctype): Add attribute_hidden. (__ctype32_wctrans): Likewise. (__ctype32_width): Likewise. * gmon/Makefile (elide-routines.os): Add bb_init_func and bb_exit_func. They were never exported anyway. * gmon/gmon.c (_gmonparam): Add attribute_hidden. * gmon/sys/gmon.h: Remove declaration of _gmonparam. It wasn't exported. * include/sys/gmon.h: Declare _gmonparam. * sysdeps/unix/sysv/linux/i386/getdents64.c: Don't define compatibility symbols for getdents64. They were never exported. 2002-03-09 Roland McGrath * hurd/hurdsig.c (write_corefile): Fix swapped arguments to __dir_link. Reported by Jon Arney . 2002-02-23 Roland McGrath * hurd/hurd/threadvar.h (__hurd_threadvar_location): Add __THROW to declaration. (__hurd_errno_location): Function removed. 2002-03-06 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add compatibility for 32-bit. 2002-03-04 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/readelflib.c: New. * sysdeps/unix/sysv/linux/kernel-features.h: Add defines for x86-64. * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: New. * sysdeps/x86_64/bits/setjmp.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/sem.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: New. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Add compatibilty for x86. * sysdeps/unix/sysv/linux/x86_64/bits/msq.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/types.h: Likewise. 2002-02-28 Bo Thorsen * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Merge with i386 version. 2002-03-03 Andreas Jaeger * sysdeps/x86_64/bits/wordsize.h: New file. * elf/nodlopenmod2.c: Provide prototype to avoid warning. * elf/tst-tlsmod1.c: Likewise. * posix/regcomp.c: Get regex.h from include dir for internal prototypes. * sysdeps/unix/sysv/linux/init-first.c: Move __init_misc prototype to libc-internal.h and include it. * include/libc-internal.h: Add __init_misc. * misc/init-misc.c: Include libc-internal.h for prototypes. * sysdeps/wordsize-32/divdi3.c: Add prototypes to avoid warnings. * misc/error.c [_LIBC]: Include libioP.h for prototype of _IO_putc_internal. 2002-03-03 Ulrich Drepper * posix/regcomp.c: Compatibility changes to allow using the code outside glibc. 2002-02-28 Hartvig Ekner * sysdeps/mips/elf/start.S: Added initialization of GP (to _gp) if compiled non-PIC. 2002-03-02 Ulrich Drepper * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Fix creation of .str elements in the returned data structure. * elf/elf.h: Add Alpha TLS bits. 2002-02-28 Jakub Jelinek * sysdeps/unix/sysv/linux/nice.c: New file. 2002-03-01 Ulrich Drepper * elf/Makefile (dl-routines): Add dl-origin. (elide-routines.os): Add dl-origin. * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin. * elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around _dl_debug_state. * include/libc-symbols.c: Define attribute_hidden depending on HAVE_VISIBILITY_ATTRIBUTE. Add definition of INTVARDEF. * elf/dl-deps.c: Use INTUSE with __libc_enable_secure. * elf/dl-load.c: Likewise. * elf/rtld.c: Likewise. * include/unistd.h: Declare __libc_enable_secure_internal. * sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure. Use INTUSE with __libc_enable_secure. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * elf/dl-deps.c: Use INTUSE with _dl_out_of_memory. * elf/dl-error.c: Likewise, * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal. * elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE. * sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before function definition. Use INTDEF with _dl_get_origin. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/dl-init.c: Use INTUSE with _dl_starting_up. * elf/rtld.c: Likewise. Use INTVARDEF for _dl_starting_up. * elf/dl-profile.c: Use INTDEF for _dl_mcount. * elf/dl-runtime.c: Use INTUSE with _dl_mcount. * sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal. * elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0]. * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/sparc/sparc-32/dl-machine.h: Likewise. * sysdeps/sparc/sparc-64/dl-machine.h: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. * elf/rtld.c: Use INTDEF for _dl_argv. Use rtld_progrname instead of _dl_argv[0]. Use INTUSE with _dl_argv. * sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv. * sysdeps/generic/ldsodefs.h: Define rtld_progname macro. 2002-02-28 Jakub Jelinek * elf/rtld.c (_rtld_global): Remove .protected. (_rtld_local): Strong alias to _rtld_global. * elf/Makefile (CFLAGS-.os): Add -D_RTLD_LOCAL if compiling rtld only .os object. * sysdeps/generic/ldsodefs.h (GL): If SHARED and _RTLD_LOCAL, use _rtld_local instead of _rtld_global. (_rtld_local): Add hidden extern, possibly in .sdata section. * configure.in: Add tests for visibility attribute and .sdata. * config.h.in: Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION. * sysdeps/alpha/dl-machine.h: Use _rtld_local instead of _rtld_global. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/mips/mips64/dl-machine.h: Likewise. * sysdeps/mips/dl-machine.h: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. 2002-02-28 Ulrich Drepper * login/login.c (login): Always initialize ut_line field [PR libc/2991]. 2002-02-28 Jakub Jelinek * sysdeps/i386/Makefile (sysdep_routines): Add divdi3 in csu dir. (shared-only-routines): Likewise. * sysdeps/m68k/Makefile (sysdep_routines): Likewise. (shared-only-routines): Likewise. * sysdeps/s390/s390-32/Makefile (sysdep_routines): Likewise. (shared-only-routines): Likewise. * sysdeps/wordsize-32/divdi3.c: New file. 2002-02-28 Ulrich Drepper * locale/iso-4217.def: Remove obsolete currencies for countries with Euro. 2002-02-28 Isamu Hasegawa * posix/regcomp.c (regcomp): Remove a redundant condition. (init_word_char): Add a check on malloc failure. (create_initial_state): Likewise. (duplicate_node): Likewise. (calc_eclosure): Likewise. (calc_eclosure_iter): Likewise. (parse_expression): Likewise. (parse_bracket_exp): Remove unnecessary malloc invocations. (build_equiv_class): Likewise. (build_charclass): Likewise. * posix/regex_internal.c (re_node_set_intersect): Add a check on malloc failure. (re_node_set_add_intersect): Likewise. (re_node_set_merge): Likewise. (re_acquire_state): Likewise. (re_acquire_state_context): Likewise. (create_newstate_common): Likewise. (register_state): Likewise. (create_ci_newstate): Likewise. (create_cd_newstate): Likewise. * posix/regex_internal.h: Fix prototypes of re_acquire_state and re_acquire_state_context. * posix/regexec.c (regexec): Suit it to the error handling of re_search_internal. (re_match): Likewise. (re_search): Likewise. (re_search_internal): Add a check on malloc failure. (acquire_init_state_context): Likewise. (check_matching): Likewise. (proceed_next_node): Likewise. (set_regs): Likewise. (sift_states_backward): Likewise. (sift_states_iter_bkref): Likewise. (add_epsilon_backreference): Likewise. (transit_state): Likewise. (transit_state_sb): Likewise. (transit_state_mb): Likewise. (transit_state_bkref_loop): Likewise. (build_trtable): Likewise. (group_nodes_into_DFAstates): Likewise. (match_ctx_init): Likewise. (match_ctx_add_entry): Likewise. 2002-02-27 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): Always add SONAME to l_libname if profiling is enabled [PR libc/2916]. * sysdeps/ia64/dl-tls.h: New file. 2002-02-27 Jakub Jelinek * sysdeps/alpha/dl-machine.h (elf_machine_load_address, RTLD_START): Work around an Alpha gas bug. 2002-02-27 Ulrich Drepper * catgets/open_catalog.c (__open_catalog): Fix typo in code which uses read to load the catalog. Patch by Andy Isaacson [PR libc/3011]. 2002-02-26 Ulrich Drepper * posix/Makefile (distribute): Add regcomp.c, regexec.c, regex_internal.c, and regex_internal.h. (CFLAGS-regex.c): Replace -DMBS_SUPPORT with -DRE_ENABLE_I18N. * posix/regex.c: Complete rewrite. * posix/regexec.c: New file. * posix/regcomp.c: New file. * posix/regex_internal.c: New file. * posix/regex_internal.h: New file. * posix/regex.h (RE_ICASE): New macro. Contributed by Isamu Hasegawa . * stdio-common/vfscanf.c (_IO_vfwscanf): Always use ungetc, never ungetwc. It's a macro. * libio/tst-swscanf.c (do_test): Adjust for now fixed wscanf implementation. Reported by Jason Merrill . 2002-02-25 Jakub Jelinek * libio/iofopen.c (__fopen_maybe_mmap): Set the initial position to fp->_offset if it is set. * stdio-common/Makefile (tests): Add tst-fdopen. * stdio-common/tst-fdopen.c: New test. 2002-02-25 Jakub Jelinek * libio/fileops.c (_IO_file_xsgetn_mmap): Handle reading from backup. * stdio-common/tst-ungetc.c (main): Add another test. 2002-02-25 Ulrich Drepper * assert/assert-perr.c: Use INTUSE to reference functions and variables inside libc itself. Use INTDEF and INTDEF2 to define appropriate aliases. Add prototypes for the new aliases. * assert/assert.c: Likewise. * include/libc-symbols.h: Likewise. * include/stdio.h: Likewise. * include/netinet/in.h: Likewise. * include/rpc/auth.h: Likewise. * include/rpc/auth_unix.h: Likewise. * include/rpc/key_prot.h: Likewise. * include/rpc/pmap_prot.h: Likewise. * include/rpc/pmap_rmt.h: Likewise. * include/rpc/rpc_msg.h: Likewise. * include/rpc/xdr.h: Likewise. * inet/gethstbyad_r.c: Likewise. * inet/gethstbynm2_r.c: Likewise. * inet/gethstbynm_r.c: Likewise. * inet/gethstent_r.c: Likewise. * inet/in6_addr.c: Likewise. * libio/__fpurge.c: Likewise. * libio/filedoalloc.c: Likewise. * libio/fileops.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/genops.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofdopen.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofflush_u.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofgets_u.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofopncook.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofread_u.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetline.c: Likewise. * libio/iogets.c: Likewise. * libio/iogetwline.c: Likewise. * libio/iolibio.h: Likewise. * libio/iopadn.c: Likewise. * libio/iopopen.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/ioungetwc.c: Likewise. * libio/iovdprintf.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/libioP.h: Likewise. * libio/memstream.c: Likewise. * libio/obprintf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/oldiofdopen.c: Likewise. * libio/oldiofgetpos.c: Likewise. * libio/oldiofgetpos64.c: Likewise. * libio/oldiofopen.c: Likewise. * libio/oldiofsetpos.c: Likewise. * libio/oldiofsetpos64.c: Likewise. * libio/oldiopopen.c: Likewise. * libio/oldstdfiles.c: Likewise. * libio/putc.c: Likewise. * libio/setbuf.c: Likewise. * libio/setlinebuf.c: Likewise. * libio/stdfiles.c: Likewise. * libio/stdio.c: Likewise. * libio/strops.c: Likewise. * libio/vasprintf.c: Likewise. * libio/vscanf.c: Likewise. * libio/vsnprintf.c: Likewise. * libio/vswprintf.c: Likewise. * libio/wfiledoalloc.c: Likewise. * libio/wfileops.c: Likewise. * libio/wgenops.c: Likewise. * libio/wstrops.c: Likewise. * malloc/mtrace.c: Likewise. * misc/error.c: Likewise. * misc/syslog.c: Likewise. * nss/getXXbyYY_r.c: Likewise. * nss/getXXent_r.c: Likewise. * nss/hosts-lookup.c: Likewise. * stdio-common/getw.c * stdio-common/printf-prs.c: Likewise. * stdio-common/printf_fp.c: Likewise. * stdio-common/printf_size.c: Likewise. * stdio-common/putw.c: Likewise. * stdio-common/scanf.c: Likewise. * stdio-common/sprintf.c: Likewise. * stdio-common/tmpfile64.c: Likewise. * stdio-common/vfprintf.c: Likewise. * stdio-common/vfscanf.c: Likewise. * stdlib/strfmon.c: Likewise. * sunrpc/auth_des.c: Likewise. * sunrpc/auth_none.c: Likewise. * sunrpc/auth_unix.c: Likewise. * sunrpc/authdes_prot.c: Likewise. * sunrpc/authuxprot.c: Likewise. * sunrpc/clnt_perr.c: Likewise. * sunrpc/clnt_raw.c: Likewise. * sunrpc/clnt_tcp.c: Likewise. * sunrpc/clnt_udp.c: Likewise. * sunrpc/clnt_unix.c: Likewise. * sunrpc/key_call.c: Likewise. * sunrpc/key_prot.c: Likewise. * sunrpc/openchild.c: Likewise. * sunrpc/pm_getmaps.c: Likewise. * sunrpc/pm_getport.c: Likewise. * sunrpc/pmap_clnt.c: Likewise. * sunrpc/pmap_prot.c: Likewise. * sunrpc/pmap_prot2.c: Likewise. * sunrpc/pmap_rmt.c: Likewise. * sunrpc/rpc_cmsg.c: Likewise. * sunrpc/rpc_prot.c: Likewise. * sunrpc/svc_authux.c: Likewise. * sunrpc/svc_raw.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_mem.c: Likewise. * sunrpc/xdr_rec.c: Likewise. * sunrpc/xdr_ref.c: Likewise. * sunrpc/xdr_stdio.c: Likewise. * sysdeps/generic/_strerror.c: Likewise. * sysdeps/generic/printf_fphex.c: Likewise. * sysdeps/generic/tmpfile.c: Likewise. * sysdeps/gnu/errlist.awk: Likewise. * sysdeps/gnu/errlist.c: Likewise. * libio/Makefile (routines): Remove iosprint. * libio/iosprintf.c: Removed 2002-02-24 Ulrich Drepper * elf/dl-support.c (_dl_non_dynamic_init): Renamed from non_dynamic_init and exported now. * sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init. * sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for !SHARED. * sysdeps/mach/hurd/i386/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/mach/hurd/mips/init-first.c: Likewise. 2002-02-23 Ulrich Drepper * elf/dl-close.c (free_slotinfo): Check for end of list and return true in this case. * locale/iso-639.def: Add language codes for Walloon. * elf/dl-fini.c (_dl_fini): Print some final statistics on the total number of relocations performed. * elf/sprof.c (load_profdata): If do_test provide information as to why loading failed. * elf/dl-profile.c (_dl_start_profile): Initialize all of hist_hdr.dimen. * csu/set-init.c: Moved to... * sysdeps/mach/hurd/set-init.c: ...here. New file. * csu/Makefile: Don't compile set-init. * sysdeps/mach/hurd/Makefile: Compile set-init for subdir csu. * sysdeps/mach/hurd/i386/init-first.c: Call __init_misc in addition to __libc_init. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Call __init_misc instead of __libc_init. * misc/init-misc.c: Always export __init_misc. Don't define hooks for __libc_subinit. 2002-02-22 Ulrich Drepper * elf/Versions: Add _dl_allocate_tls and _dl_deallocate_tls. * elf/rtld.c (dl_main): Use _dl_allocate_tls with INTUSE. * sysdeps/generic/dl-tls.c: Add INTDEF for _dl_allocate_tls. (_dl_deallocate_tls): New function. * sysdeps/generic/ldsodefs.h: Declare _dl_allocate_tls_internal and _dl_deallocate_tls. 2002-02-21 Jakub Jelinek * libio/fileops.c (_IO_file_seekoff_mmap): Fix fseek SEEK_END. * stdio-common/tst-fseek.c (main): Add test for this. 2002-02-19 Ulrich Drepper * stdlib/Versions: Move __on_exit to GLIBC_PRIVATE. 2002-02-19 Jakub Jelinek * libio/fileops.c (_IO_file_underflow_mmap): Cast to unsigned char pointer before dereferencing. 2002-02-18 Roland McGrath * sysdeps/mach/hurd/times.c: Fix typo in last change. * sysdeps/mach/hurd/setpriority.c [POLICY_TIMESHARE_BASE_COUNT]: Use task_policy in place of task_priority. * sysdeps/generic/bits/mman.h (MS_ASYNC, MS_SYNC, MS_INVALIDATE): New macros. * sysdeps/mach/msync.c: New file. * sysdeps/mach/powerpc/syscall.S: New file. * mach/msg.c [MACH_MSG_OVERWRITE] (__mach_msg_trap, __mach_msg_overwrite): New functions. * mach/Versions (libc: GLIBC_2.0): Add mach_msg_overwrite and __ name. * sysdeps/mach/configure.in: Check for clock.defs to put into mach_interface_list. * sysdeps/mach/configure: Regenerated. * mach/Makefile (mach-machine): New variable, set from $(base-machine). ($(objpfx)mach-syscalls.mk): Use it in place of $(base-machine). ($(mach-syscalls:%=$(objpfx)%.S) static pattern rule): Use instead of . (mach-shortcuts): Add device_read_overwrite_request, device_read_overwrite, vm_read_overwrite, thread_switch. * configure.in (base_machine): Set to $machine by default. * configure: Regenerated. * sysdeps/mach/configure.in: Check for or and add -DNDR_DEF_HEADER=... to DEFINES. * sysdeps/mach/configure: Regenerated. * mach/mach_init.c [NDR_DEF_HEADER]: #include it. * hurd/hurdfault.c (_hurdsig_fault_init): Add a cast. * hurd/hurd/signal.h: Include for `jmp_buf' decl. * mach/msgserver.c (__mach_msg_server_timeout) [! MACH_RCV_LARGE]: Double MAX_SIZE and don't retry on MACH_RCV_TOO_LARGE. 2002-02-17 Roland McGrath * sysdeps/mach/hurd/times.c [NO_CREATION_TIME] (startup_time): New static variable. [NO_CREATION_TIME] (times_init): New static function in __libc_subinit. (__times) [NO_CREATION_TIME]: Use startup_time in lieu of task creation_time from task_basic_info. (__times): Use __gettimeofday instead of __host_get_time. * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg) [! MACH_MSG_TYPE_BIT]: Use untyped Mach IPC message format. * hurd/catch-exc.c: Include , missing from last change. * hurd/Versions (libc: GLIBC_2.0): Add _S_catch_exception_raise_state, _S_catch_exception_raise_state_identity, _hurdsig_fault_catch_exception_raise_state, _hurdsig_fault_catch_exception_raise_state_identity. * mach/shortcut.awk: Don't apply the /^}$/ rule when $proto == "". * sysdeps/mach/getsysstats.c (__get_avphys_pages) [HOST_VM_INFO]: Use __host_info with HOST_VM_INFO flavor instead of __vm_statistics. * sysdeps/mach/hurd/getpriority.c [TASK_SCHED_TIMESHARE_INFO]: Find `base_priority' in PIP->timeshare_base_info instead of PIP->taskinfo. * sysdeps/mach/hurd/dl-sysdep.c [FMH]: Define for i386 only. (fmh, unfmh): Define these functions only #if FMH. Otherwise define them as no-op macros. [FMH] (ELF_MACHINE_USER_ADDRESS_MASK): Redefine it to zero. (__mmap): Uncomment uses of ELF_MACHINE_USER_ADDRESS_MASK. * sysdeps/powerpc/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New macro. * hurd/hurdselect.c (_hurd_select) [MACH_MSG_TRAILER_MINIMUM_SIZE]: Use untyped Mach IPC message format. * sysdeps/mach/hurd/ioctl.c (__ioctl) [! MACH_MSG_TYPE_BIT]: Handle untyped Mach IPC message formats. * hurd/catch-exc.c (_S_catch_exception_raise) [EXC_MASK_ALL]: Expect different argument conventions when this is defined. [EXC_MASK_ALL] (_S_catch_exception_raise_state): New stub function. [EXC_MASK_ALL] (_S_catch_exception_raise_state_identity): Likewise. * hurd/hurdfault.c: Likewise for _hurdsig_fault_catch_exception_*. [NDR_CHAR_ASCII] (mig_reply_header_t): #define as mig_reply_error_t for OSF Mach variant. (faulted): Use mig_reply_error_t for REPLY. (_hurdsig_fault_init) [EXC_MASK_ALL]: Use EXCEPTION_STATE_IDENTITY in __thread_set_exception_ports call. (_hurdsig_fault_init) [MACH_PORT_RECEIVE_STATUS]: Use __mach_port_set_attributes in place of __mach_port_set_qlimit. * sysdeps/mach/powerpc/sysdep.h (_MACH_MACHINE_ASM_H): Define this before include , to inhibit on Darwin, which includes bogons. * sysdeps/powerpc/dl-machine.h (elf_machine_rela): Move local variable LOADBASE so it's not declared when it's not used. 2002-02-16 Roland McGrath * sysdeps/mach/hurd/times.c (__times) [NO_CREATION_TIME]: Don't try to use BI.creation_time. * mach/Machrules (MIG): Add -x c to CPP value passed down. * config.h.in: Add #undef HAVE_HOST_PAGE_SIZE. * sysdeps/mach/configure.in: Check for host_page_size RPC to define it. * mach/mach_init.c (__mach_init) [HAVE_HOST_PAGE_SIZE]: Use host_page_size instead of vm_statistics. * sysdeps/mach/Makefile (mach-before-compile): Don't include mach_interface.h here, since not all variants use that name. * sysdeps/mach/configure.in: Add some checks for Mach headers to ensure a sane installation. (mach_interface_list): Define this variable by checking for .defs files found in various variants. * configure.in (mach_interface_list): AC_SUBST this. * config.make.in (mach-interface-list): New substituted variable. * mach/Makefile (user-interfaces): Define this using the value of $(mach-interface-list) instead of mach, mach4. Updated other references to mach_interface to use it as well. * sysdeps/mach/powerpc/machine-lock.h: Avoid multi-line strings. * mach/msgserver.c [NDR_CHAR_ASCII] (mig_reply_header_t): #define as mig_reply_error_t for OSF Mach variant. * mach/Makefile (routines): Remove bootprivport. * mach/bootprivport.c: File removed. It has never been used. * mach/msg-destroy.c (__mach_msg_destroy) [MACH_MSG_PORT_DESCRIPTOR]: Grok the OSF flavor of message format. (mach_msg_destroy_port): For MAKE_SEND and MAKE_SEND_ONCE rights, create an destroy a right to ensure proper no-senders notification. 2002-02-06 Roland McGrath * hurd/Versions (libc: GLIBC_2.0): Move cthread_fork, cthread_detach to here if 2.0 compatibility enabled ... (libc: GLIBC_2.1.3): ... from here. 2002-02-15 Ulrich Drepper * elf/dl-open.c (dl_open_worker): Catch wrap-around of TLS generation counter. * elf/dl-close.c (_dl_close): Likewise. 2002-02-14 Ulrich Drepper * elf/Makefile: Add rules to build and run tst-tls8. * elf/tst-tls8.c: New file. * elf/tst-tlsmod4.c: New file. * stdlib/test-a64l.c (tests): Add more test cases. * sunrpc/rtime.c (rtime): Change type of thetime to uint32_t. Reported by Walter Harms . 2002-02-11 Jes Sorensen * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Add sc_flag bit definitions for struct sigcontext. Suggested by David Mosberger-Tang. 2002-02-13 Ulrich Drepper * elf/dl-close.c (remove_slotinfo): New function. Handles everything for removing reference of module in slotinfo list. (_dl_close): Use remove_slotinfo. * sysdeps/generic/dl-tls.c: General pretty printing. (oom): Define only if SHARED. (_dl_next_tls_modid): Correct starting point for the case we assume there is a gap. Add missing instruction grouping (doh!). Correct tests for reaching maximum index. * elf/Makefile: Add rules to build and run tst-tls7. * elf/tst-tls7.c: New file. * elf/tst-tlsmod3.c: New file. * elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef USE_TLS. * elf/tst-tlsmod2.c: Likewise. * elf/dl-close.c (_dl_close): When closing an object using TLS either decrement dl_tls_max_dtv_idx or set dl_tls_dtv_gaps to true. Increment dl_tls_generation only if we closed any TLS-using object. * elf/tst-tls6.c: New file. * elf/Makefile: Add rules to build and run tst-tls6. * po/da.po: Update from translation team. * locale/categories.def: Fix typo [PR libc/2948]. * po/Makefile (BROKEN_LINGUAS): Works with current gettext [PR libc/2949]. * locale/iso-4217.def: Update from official version [PR libc/2950]. * glibcbug.in: Honor TMPDIR [PR libc/2951]. * locale/programs/ld-collate.c (collate_finish): Bail out with a message if input is too confusion instead of using assert. (collate_read): Don't crash on unknown symbol [PR libc/2952]. Patches by Alastair McKinstry . * elf/tst-tls1.c: Move #include "tls-macros.h" instead #ifdef USE_TLS. * elf/tst-tls2.c: Likewise. * elf/tst-tls3.c: Likewise. 2002-02-13 Jakub Jelinek * elf/dl-close.c (free_slotinfo): Only define if TLS supported. 2002-02-13 Ulrich Drepper * elf/dl-open.c (dl_open_worker): Only bump the generation counter if this is really necessary. * elf/dl-close.c (_dl_close): Implement freeing entries in the slotinfo array. (free_mem): Free memory for the slotinfo array if possible. 2002-02-12 Andreas Schwab * csu/gmon-start.c (__gmon_start__): Remove '&' from ENTRY_POINT. 2002-02-12 Ulrich Drepper * sysdeps/generic/dl-tls.c (TLS_DTV_UNALLOCATED): Renamed from TLS_DTV_UNALLOCATE. (oom): New function. (_dl_next_tls_modid): Rewrite to handle dl_tls_dtv_slotinfo_list. (_dl_determine_tlsoffset): Likewise. (_dl_allocate_tls): Likewise. (__TLS_GET_ADDR): Define if not already defined. (_dl_tls_symaddr): New function. (allocate_and_init): New function. (__tls_get_addr): Actually implement handling of generation counter and deferred allocation. * sysdeps/generic/ldsodefs.h (_rtld_global): Remove _dl_initimage_list, add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and _dl_tls_generation. Define TLS_SLOTINFO_SURPLUS and DTV_SURPLUS. Declare _dl_tls_symaddr. * sysdeps/i386/dl-tls.h: Disable __tls_get_addr handling unless SHARED. * include/link.h (struct link_map): Remove l_tls_nextimage and l_tls_previmage. * elf/dl-sym.c (_dl_sym): After successful lookup call _dl_tls_symaddr instead of DL_SYMBOL_ADDRESS for STT_TLS symbols. (_dl_vsym): Likewise. * elf/rtld.c (_dl_start_final): Adjust initdtv initialization for new layout. (dl_main): Allow PT_TLS be present for empty segment. Remove nextimage list handling. Instead add all modules using TLS to dl_tls_dtv_slotinfo_list. * elf/dl-open.c (dl_open_worker): After successfully loading all objects add those with TLS to the dl_tls_dtv_slotinfo_list list. * elf/dl-load.c (_dl_map_object_from_fd): If PT_TLS entry is for an empty segment don't do anything. Remove handling of initimage list. * elf/Versions [ld] (GLIBC_2.0): Add __libc_memalign. (GLIBC_PRIVATE): Add _dl_tls_symaddr. * elf/dl-minimal.c: Define __libc_memalign. * elf/dl-support.c: Remove _dl_initimage_list. Add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and _dl_tls_generation. * include/stdlib.h: Declare __libc_memalign. * elf/Makefile: Add rules to build and run tst-tls4 and tst-tls5. * elf/tst-tls4.c: New file. * elf/tst-tls5.c: New file. * elf/tst-tlsmod2.c: New file. * elf/tls-macros.h: asms using ___tls_get_addr destroy %ecx and %edx. * elf/tst-tlsmod1.c: Don't define variables unles USE_TLS. * elf/tst-tls1.c: Use test-skeleton.c. * elf/tst-tls2.c: Likewise. * elf/tst-tls3.c: Likewise. * elf/dl-conflict.c (RESOLVE_MAP): Return NULL not 0. 2002-02-08 Daniel Jacobowitz * sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior. 2002-02-10 Ulrich Drepper * elf/elf.h: Define R_386_TLS_GD and R_386_TLS_LDM. * elf/tst-tls3.c: New file. * elf/tst-tlsmod1.c: New file. * elf/Makefile: Add rules to build and run tst-tls3. * sysdeps/i386/dl-machine.h: Include . (elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three TLS relocations. * elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols. * po/fr.po: Update from translation team. * elf/tls-macros.h: Add alternative macros for use in PIC. * elf/dl-lookup.c: Include . * elf/do-lookup.h (FCT): Don't discard STT_TLS symbols. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): More changes required by passing pointer to last element of the list. * elf/dl-load.c (_dl_map_object_from_fd): Move adjustment of l_tls_initimage to a place where it actually is performed. * sysdeps/generic/glob.c (glob): Explicitly set gl_pathc to zero after globfree() calls. * elf/dl-deps.c (struct openaux_args): Add open_mode element. (openaux): Pass open_mode as new last argument to _dl_map_object. (_dl_map_object_deps): Add new argument open_mode. Initialize open_mode element of args variable with it. * elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to _dl_map_object_deps. * elf/rtld.c (dl_main): Add zero as last parameter to _dl_map_object_deps call. * sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps. * elf/nodlopen2.c: New file. * elf/nodlopenmod2.c: New file. * elf/Makefile: Add rules to build and run nodlopen2. * elf/tst-tls1.c: Move TLS helper macros to... * elf/tls-macros.h: ...here. New file. * elf/tst-tls2.c: New file. * elf/Makefile (tests): Add tst-tls2. (distribute): Add tls-macros.h. * po/sv.po: Update from translation team. * elf/tst-tls1.c (main): Add complete set of tests. Split architecture specific definitions from the actual test code. * po/tr.po: Update from translation team. 2002-02-09 Ulrich Drepper * elf/Makefile (tests): Add tst-tls1. * elf/tst-tls1.c: New file. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Don't handle alignment of TCB for now. * elf/rtld.c (dl_main): Use p_vaddr as address of TLS initialization image for the application itself. * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Correctly terminate loop to initialize TLS block. 2002-02-08 Richard Henderson * sysdeps/generic/ldsodefs.h (struct rtld_global): Also include _dl_cpuclock_offset if HP_SMALL_TIMING_AVAIL. * sysdeps/alpha/elf/initfini.c: Use \n\ for multiline string. 2002-02-09 Jakub Jelinek * sysdeps/generic/dl-environ.c (unsetenv): Clear cnt before use. 2002-02-08 Ulrich Drepper * po/ca.po: Update from translation team. * po/sk.po: Likewise. * elf/rtld.c (_dl_start_final): Install DTV explicitly. (dl_main): Move dtv/static TLS handling before relocation. Unconditionally call _dl_tlsoffset. Call _dl_allocate_tls and TLS_INIT_TP to allocate and install the dtv/static TLS block. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): If no object so far uses TLS initialize GL(dl_tls_static_size) and GL(dl_tls_static_align) to account for the TCB. (_dl_allocate_tls): New function. * sysdeps/generic/ldsodefs.h (rtld_global): Add _dl_initial_dtv_malloced. * configure.in: Test for __builtin_memset more realistically. * csu/version.c (banner): If TLS support is available say so. 2002-02-04 H.J. Lu * sysdeps/mips/dl-machine.h (elf_machine_matches_host): Use __attribute_used__. (__dl_runtime_resolve): Likewise. * sysdeps/mips/machine-gmon.h (_MCOUNT_DECL): Make it a real declaration. 2001-11-15 H.J. Lu * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Don't include , nor . Updated for gdb. * sysdeps/unix/sysv/linux/mips/sys/user.h: New. 2002-02-07 H.J. Lu * sysdeps/mips/atomicity.h (compare_and_swap): Remove ".set noreorder". * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise. 2002-02-07 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/stat.h: Undo last patch. * sysdeps/i386/dl-tls.h (__tls_get_addr): Call ___tls_get_addr_internal. (___tls_get_addr_internal): Define as alias for ___tls_get_addr. * po/ko.po: Update from translation team. 2002-02-07 Jakub Jelinek * sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Remove packed attribute, change __pad{1,2} type to unsigned int. (struct stat64): Remove packed attribute. 2002-02-07 Ulrich Drepper * sysdeps/i386/dl-tls.h: No need for #ifdef USE_TLS. 2002-02-07 Andreas Schwab * configure.in: Fix check for -zcombreloc. 2002-02-06 H.J. Lu * config.h.in (HAVE_BUILTIN_MEMSET): New. * configure.in: Check if __builtin_memset really works. * elf/rtld.c (_dl_start): Check HAVE_BUILTIN_MEMSET instead of __GNUC_PREREQ (2, 96) before using __builtin_memset. 2002-02-06 Jakub Jelinek * io/bug-ftw3.c (main): Don't try the test if root. 2002-02-06 Martin Schwidefsky * sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline assembly constraints. * sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h (RLIMIT_LOCKS): Add RLIMIT_LOCKS and adjust RLIMIT_NLIMITS. * sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h (RLIMIT_LOCKS): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (clone): Make clone a weak alias for __clone. * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (clone): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: Fix typo. * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate. * sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file. * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap64): Make __mmap a weak alias for __mmap64. 2002-02-05 H.J. Lu * sysdeps/mips/atomicity.h (exchange_and_add): Not use branch likely. (atomic_add): Likewise. (compare_and_swap): Likewise. * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise. 2002-02-07 Ulrich Drepper * sysdeps/generic/dl-tls.c: Don't read TLS header if TLS is not needed. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Account for alignment of the TCB and store total size and alignment of static TLS block in _dl_tls_static_size and _dl_tls_static_align. tls_index is a typedef. * sysdeps/generic/ldsodefs.h: Declare _dl_tls_static_size and _dl_tls_static_align. * sysdeps/i386/dl-tls.h: tls_index is a typedef. * elf/dl-support.c: Define _dl_tls_static_size and _dl_tls_static_align. 2002-02-06 Ulrich Drepper * configure.in: Add --without-tls option. * sysdeps/i386/elf/configure.in: Don't check for TLS support if --without-tls is given. * sysdeps/generic/dl-tls.c: Include . * sysdeps/i386/dl-tls.h: Don't define anything if !USE_TLS. 2002-02-06 Roland McGrath * malloc/hooks.c [! HAVE_MREMAP]: Conditionalize unused decls. * malloc/malloc.c [! HAVE_MREMAP]: Likewise. * scripts/versions.awk: Improve error message for missing version. Each version inherits from the last one only if they have the same nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z or FOO_x and FOO_y but not GLIBC_x and FOO_y. * scripts/firstversions.awk: Handle libraries that don't have each particular version named in the third column of shlib-versions. * scripts/firstversions.awk: Don't mess with GLIBC_PRIVATE. 2002-02-06 Ulrich Drepper * Versions.def [ld]: Add GLIBC_2.3. * elf/Versions [ld]: Add __tls_get_addr to GLIBC_2.3. * elf/Makefile (dl-routines): Add dl-tls. (distribute): Add dl-tls.h. * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove _dl_tls_module_cnt, add _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps. Add prototypes for _dl_next_tls_modid and _dl_determine_tlsoffset. * elf/dl-load.c (_dl_map_object_from_fd): Store alignment requirement along with the other info in the link map. Change queueing of init images for double linked list. Use _dl_next_tls_modid to compute l_tls_modid. * elf/rtld.c (_dl_start_final): Store alignment requirement along with the other info in rtld map and executable map. (dl_main): Add ld.so to the init image list if necessary. Compute final module ID with _dl_next_tls_modid. * include/link.h (struct link_map): Add l_tls_previmage and l_tls_align. * eld/dl-support.c: Define _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps. * sysdeps/i386/elf/Versions: New file. * sysdeps/generic/dl-tls.c: New file. * sysdeps/generic/dl-tls.h: New file. * sysdeps/i386/dl-tls.h: New file. 2002-02-06 Roland McGrath * sysdeps/unix/sysv/linux/netinet/ip.h: Moved to ... * sysdeps/generic/netinet/ip.h: ... here, replacing old file. 2002-01-05 Roland McGrath * sysdeps/mach/configure.in: New file. * sysdeps/mach/configure: New generated file. * mach/Makefile (user-interfaces): Remove default_pager_helper. It has never been used by anything. 2002-02-06 H.J. Lu * sysdeps/mips/elf/ldsodefs.h: Make sure the right is included. 2002-02-06 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Add attribute((packed)) to counter stupid people misusing gcc options. (struct stat64): Likewise. 2002-02-05 Ulrich Drepper * elf/rtld.c (dl_main): Correct indentation. Use bool as type for the variables which are used as booleans. 2002-02-06 Andreas Jaeger * include/libc-symbols.h (INTUSE): Renamed from INT. * elf/dl-deps.c: Change users. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/rtld.c: Likewise. * elf/dl-version.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-init.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/do-lookup.h: Likewise. * stdio-common/_itoa.h: Undefine SPECIAL to avoid duplicate definition. * stdio-common/_itowa.h: Likewise. 2002-02-05 Ulrich Drepper * elf/dl-minimal.c: Define _itoa_lower_digits. * elf/dynamic-link.h (elf_get_dynamic_info): ld.so can have DT_FLAGS set. * elf/dl-load.c (_dl_map_object_from_fd): Prevent dynamically loading modules with the DF_STATIC_TLS flag set. * elf/dynamic-link.h (elf_get_dynamic_info): Initialize l_flags element. * include/link.h (struct link_map): Add l_flags field. * elf/elf.h (DF_STATIC_TLS): New definition. * dlfcn/Makefile: Add rules to build and run bug-dlopen1. * dlfcn/bug-dlopen1.c: New file. By Bruno Haible. * elf/rtld.c (process_dl_debug): Correct printing help message. * elf/dl-misc.c (_dl_debug_vdprintf): Implement precision handling for %s. * inet/getnetgrent_r.c (innetgr): Add int* parameter to getfct definition and pass &errno in use of this variable. Reported by Simon Wilkinson [PR libc/2911]. 2002-02-04 Andreas Schwab * locale/programs/localedef.h (WITH_CUR_LOCALE): Define. * locale/programs/charmap-dir.c: Wrap calls that output messages with WITH_CUR_LOCALE. Include "localedef.h" first. * locale/programs/charmap.c: Likewise. * locale/programs/ld-address.c: Likewise. * locale/programs/ld-collate.c: Likewise. * locale/programs/ld-ctype.c: Likewise. * locale/programs/ld-identification.c: Likewise. * locale/programs/ld-measurement.c: Likewise. * locale/programs/ld-messages.c: Likewise. * locale/programs/ld-monetary.c: Likewise. * locale/programs/ld-name.c: Likewise. * locale/programs/ld-numeric.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-telephone.c: Likewise. * locale/programs/ld-time.c: Likewise. * locale/programs/linereader.c: Likewise. * locale/programs/linereader.h: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/locfile.c: Likewise. * locale/programs/repertoire.c: Likewise. 2002-02-05 Ulrich Drepper * elf/rtld.c (_dl_start_final): Determine load address to locate ehdr with GL(dl_rtld_map).l_map_start. * po/ca.po: Update from translation team. * elf/rtld.c (dl_main): Read PT_TLS entry of the executable. * elf/dl-load.c (_dl_map_object_from_fd): Handle PT_TLS program header entry. * sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_tls_module_cnt. * elf/dl-support.c: Define _dl_initimage_list and _dl_tls_module_cnt. 2002-02-04 Ulrich Drepper * elf/rtld.c (_dl_start): Fill TLS values in link map for rtld. * include/link.h (struct link_map): Add various members for TLS information. * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove _rtld_tlsoffset, add _dl_initimage_list. * sysdeps/i386/dl-lookupcfg.h: New file. * sysdeps/i386/dl-machine.h (elf_machine_rel): Implement missing TLS relocation. When using TLS we now use RESOLVE_MAP. (elf_machine_rela): Use RESOLVE_MAP instead of RESOLVE_MAP if TLS is used. * sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Mark as possibly unused. * elf/rtld.c (_dl_start_final): Allocate TLS and initialize thread-pointer as soon as possible. * sysdeps/generic/ldsodefs.h: Include . Define first TLS elements in rtld_global. * sysdeps/generic/tls.h: New file. * elf/Makefile (distribute): Add tls.h. * sysdeps/i386/dl-machine.h (elf_machine_rel): Add support for TLS relocations. Not complete yet. * resolv/resolv.h: Allow user to define __need_res_state and only define __res_start structure then. * include/resolv.h: Only declare functions if _RESOLV_H_ is defined. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Move dl_cpuclock_offset initialization to _dl_start_final. (_dl_show_auxv): Avoid unnecessary sign extension. * elf/rtld.c (_dl_start_final): Initialize dl_cpuclock_offset. 2002-02-03 Ulrich Drepper * config.h.in: Add HAVE_TLS_SUPPORT. * sysdeps/i386/elf/configure.in: New file. 2002-02-03 Andreas Schwab * sysdeps/posix/readv.c: Use ssize_t for bytes_read. * sysdeps/posix/writev.c: Use ssize_t for bytes_written. Fix comment. 2002-02-03 Thorsten Kukuk * sysdeps/posix/writev.c: Check for ssize_t overflow, don't use alloca if the memory reqirements are too high. 2002-02-03 Ulrich Drepper * elf/dl-load.c (decompose_rpath): Avoid using strstr. * elf/dl-minimal.c (_strerror_r): Use _itoa instead of _itoa_word since the former is available anyway and speed isn't important here. * elf/dl-misc.c (_dl_debug_vdprintf): Likewise. * elf/dl-version.c (match_symbol): Likewise. (_dl_check_map_versions): Likewise. * elf/rtld.c (process_envvars): Likewise. (print_statistics): Likewise. * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Likewise. * elf/dl-minimal.c (_itoa): Always define it. Make it work for all bases. Add assert to catch uses of unimplemented features. (__strsep): Add assert to catch uses of unimplemented features. * elf/dl-object.c (_dl_new_object): Don't use rawmemchr. Use strchr and avoid inline optimization. * elf/rtld.c (process_envvars): Likewise. * elf/dl-open.c: Don't include . * elf/dl-profile.c (_dl_start_profile): Help compiler to avoid ffs. * elf/rtld.c (dl_main): Avoid strsep inline optimization. 2002-02-02 Ulrich Drepper * stdio-common/_itoa.h: Minor simplifications of the code. * stdio-common/_itoa.c: Likewise. * elf/dl-reloc.c (_dl_relocate_object): Use _dl_debug_printf instead of _dl_printf for debugging info output. * manual/examples/mkfsock.c (make_named_socket): Make sure name is always NUL-terminated. Patch by Chris D. Sloan . 2002-02-01 H.J. Lu * sysdeps/mips/atomicity.h (exchange_and_add): Use branch likely. (atomic_add): Likewise. (compare_and_swap): Return 0 only when failed to compare. Use branch likely. * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Use branch likely. 2002-02-03 kaz Kojima * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix a typo. 2002-02-02 Ulrich Drepper * elf/dl-minimal.c (__strsep): New minimal implementation. 2002-02-02 Paul Eggert * src/mktime.c [defined DEBUG && STDC_HEADERS]: Include . (__mktime_internal): If no tm_isdst is requested, prefer solutions with tm_isdst > 0 when the requested time falls within a spring-forward gap [PR libc/2894]. 2002-02-03 Andreas Schwab * stdio-common/tst-rndseek.c: Increase timeout. 2002-02-02 Ulrich Drepper Change ld.so to not use functions which are exported. One cannot interpose them anyway. Use INT() to mark uses, INTDEF() to mark definitions. * include/libc-symbols.h: Define INT and INTDEF. * sysdeps/generic/ldsodefs.h: Declare _dl_debug_printf_internal, _dl_signal_error_internal, _dl_map_object_internal, _dl_map_object_deps_internal, _dl_lookup_symbol_internal, _dl_lookup_versioned_symbol_internal, _dl_relocate_object_internal, _dl_debug_state_internal, _dl_start_profile_internal, and _dl_unload_cache_internal. * include/dlfcn.h: Declare _dl_catch_error_internal. * elf/rtld.c: Use INT for calls to any of the *_internal functions above. Add INTDEF to function definitions. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-misc.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/alpha/dl-machine.h (RTLD_START): Call _dl_init_internal instead of _dl_init. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/mips/dl-machine.h: Likewise. * sysdeps/mips/mips64/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. * sysdeps/powerpc/dl-start.S (_dl_start_user): Likewise. * elf/Versions: Don't export _dl_check_all_versions, _dl_sysdep_start, and _dl_debug_initialize. * elf/dl-object.c (_dl_new_object): Avoid using strrchr. We have more information. * elf/rtld.c (dl_main): Avoid strrchr. * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use the result of readlink. Search from the back for '/'. * elf/dl-profile.c (_dl_start_profile): Help the compiler to avoid strncpy if possible. * sysdeps/generic/dl-environ.c (unsetenv): Optimize. Don't use strncmp. * elf/dl-load.c (is_dst): Optimize. Don't call strncmp twice. * elf/rtld.c (process_dl_debug): Optimize. Avoid calls to strncmp, strspn, and strcspn. (process_envvars): Don't use strcspn. * elf/dl-load.c (_dl_dst_count): Fix possible endless loop. (_dl_dst_substitute): Likewise. 2002-02-01 Ulrich Drepper * elf/do-rel.h (elf_dynamic_do_rel): Help the compiler recognize code which is never used when relocating ld.so itself. * elf/dynamic-link.h (elf_get_dynamic_info): Optimize a bit for starting ld.so itself. Move l_addr variable initialization closer to use. (_ELF_DYNAMIC_DO_RELOC): Help the compiler optimize a bit. 2002-02-01 Jakub Jelinek * Versions.def (libc): Add GLIBC_PRIVATE. (libdb, libnss_db, libdb1): Remove. (libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis, libnss_nisplus): Move all symbols to GLIBC_PRIVATE. (libpthread): Add GLIBC_PRIVATE. (libresolv): Likewise, remove GLIBC_2.1. (ld): Add GLIBC_PRIVATE, remove GLIBC_2.1.1, GLIBC_2.2, GLIBC_2.2.1, GLIBC_2.2.3, GLIBC_2.3. * catgets/Versions (__open_catalog): Move to GLIBC_PRIVATE. * elf/Versions (_dl_open, _dl_close, _dl_addr, _dl_init_first, _dl_sym, _dl_vsym): Likewise. (__libc_enable_secure, __libc_stack_end, _dl_argv, _dl_catch_error, _dl_check_all_versions, _dl_check_map_versions, _dl_debug_initialize, _dl_debug_printf, _dl_debug_state, _dl_dst_count, _dl_dst_substitute, _dl_init, _dl_lookup_symbol, _dl_lookup_symbol_skip, _dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip, _dl_map_object, _dl_map_object_deps, _dl_out_of_memory, _dl_relocate_object, _dl_signal_error, _dl_start_profile, _dl_starting_up, _dl_sysdep_start, _dl_unload_cache, _rtld_global): Likewise. (_dl_object_relocation_scope): Remove. * hesiod/Versions: Move all symbols to GLIBC_PRIVATE. * iconv/Versions (__gconv_alias_db, __gconv_modules_db, __gconv_cache): Move to GLIBC_PRIVATE. * inet/Versions (__internal_endnetgrent, __internal_getnetgrent_r, __internal_setnetgrent): Likewise. * io/Versions (__libc_open, __libc_close, __libc_read, __libc_write, __libc_lseek, __libc_fcntl, __libc_open64, __libc_lseek64): Likewise. * locale/Versions (__collate_element_hash, __collate_element_strings, __collate_symbol_classes, __collate_symbol_hash, __collate_symbol_strings, _nl_current_LC_COLLATE, _nl_current_LC_CTYPE): Likewise. * misc/Versions (__libc_fsync, __libc_msync): Likewise. * nis/Versions (libnss_compat): Move all symbols to GLIBC_PRIVATE. (libnss_nis, libnss_nisplus): Likewise. * nss/Versions (_nss_files_parse_grent, _nss_files_parse_pwent, _nss_files_parse_spent): Move to GLIBC_PRIVATE. (libnss_files): Move all symbols to GLIBC_PRIVATE. * posix/Versions (__libc_wait, __libc_waitpid, __libc_pause, __libc_nanosleep, __libc_fork, __libc_pread, __libc_pread64, __libc_pwrite, __libc_pwrite64): Move to GLIBC_PRIVATE. * resolv/Versions (__gai_sigqueue, __ns_name_unpack, __ns_name_ntop, __ns_get16, __ns_samename): Likewise. (libnss_dns): Move all symbols to GLIBC_PRIVATE. * setjmp/Versions (__libc_longjmp, __libc_siglongjmp): Move to GLIBC_PRIVATE. * socket/Versions (__libc_accept, __libc_send, __libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto, __libc_connect): Likewise. * stdio-common/Versions (_itoa_lower_digits, _itoa_upper_digits): Likewise. * stdlib/Versions (__libc_system): Likewise. * sunrpc/Versions (__rpc_thread_destroy): Likewise. * sysdeps/hppa/Versions: Move all symbols to GLIBC_PRIVATE. * sysdeps/ia64/fpu/Versions: Likewise. * sysdeps/ia64/Versions: Likewise. * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. * sysdeps/unix/sysv/linux/i386/Versions (__modify_ldt): Move to GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/x86_64/Versions (__modify_ldt): Likewise. * sysdeps/unix/sysv/linux/Versions (__syscall_rt_sigqueueinfo, __libc_sigaction): Likewise. * termios/Versions (__libc_tcdrain): Likewise. * misc/sys/cdefs (__attribute_noinline__): Define. * elf/dl-lookup.c (_dl_do_lookup, _dl_do_lookup_versioned): Add __attribute_noinline__. * elf/Makefile (rtld-routines): Add dl-xstat64, dl-fxstat64. * elf/dl-xstat64.c: New file. * elf/dl-fxstat64.c: New file. * sysdeps/unix/sysv/linux/fxstat64.c: If RTLD_STAT64 is defined, don't export __fxstat64 at multiple versions. * sysdeps/unix/sysv/linux/lxstat64.c: Similarly. * sysdeps/unix/sysv/linux/xstat64.c: Similarly. 2002-01-18 Isamu Hasegawa * locale/program/ld-collate.c (collate_finish): Assign a wide char collation sequence value to multi character collating elements, and avoid over writing by non-character elements. 2002-02-01 Ulrich Drepper * elf/Makefile (distribute): Add dl-procinfo.c. * sysdeps/unix/sysv/linux/i386/Dist: Remove dl-procinfo.c. * sysdeps/unix/sysv/linux/arm/Dist: Likewise. 2002-02-01 Jakub Jelinek * sysdeps/generic/ldsodefs.h (_dl_load_lock): Remove duplicate definition. * sysdeps/ia64/hp-timing.h: Move _dl_hp_timing_overhead in _rtld_global struct. * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise. * sysdeps/sparc/sparc64/hp-timing.c: Likewise. * sysdeps/sparc/sparc64/hp-timing.h: Likewise. * sysdeps/sparc/sparc64/Makefile: Make hp-timing static only. * sysdeps/unix/sysv/aix/init-first.c (_dl_fpu_control, _dl_fpu_control_set): Remove unused externs. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Move procinfo related variables in _rtld_global struct. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. * sysdeps/unix/sysv/linux/init-first.c (_dl_fpu_control_set): Remove unused extern. 2002-02-01 Ulrich Drepper * sysdeps/generic/dl-procinfo.c: New file. 2002-02-01 Andreas Schwab * sysdeps/m68k/dl-machine.h: Don't use multi-line string literals. 2002-02-01 Ulrich Drepper * elf/rtld.c (_dl_start): Mark as internal_function. * sysdeps/i386/dl-machine.h (RTLD_START): Pass parameter for _dl_start in register. (elf_machine_rel): Cleanup and minor optimization for RTLD_BOOTSTRAP. General pretty printing. 2002-01-31 Ulrich Drepper * elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing. * elf/dl-reloc.c: Pretty printing. * sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and procinfo-related variables in rtld_global struct. * elf/dl-support.c: Likewise. * elf/rtld.c: Likewise. * sysdeps/i386/i686/Makefile: Likewise. * sysdeps/i386/i686/hp-timing.c: Likewise. * sysdeps/i386/i686/hp-timing.h: Likewise. * sysdeps/ia64/Makefile: Likewise. * sysdeps/ia64/hp-timing.c: Likewise. * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise. * sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise. * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise. * sysdeps/x86_64/Makefile: Likewise. * sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy, _dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and _dl_debug_fd to rtld_global. * elf/Versions: Likewise. * elf/dl-close.c: Likewise. * 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/do-lookup.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/ia64/Versions: Likewise. * sysdeps/unix/clock_gettime.c: Likewise. * sysdeps/unix/clock_settime.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/sparc/Versions: Removed. * sysdeps/i386/i686/Versions : Removed. * sysdeps/x86_64/Versions: Removed. * configure.in: Define HAVE_PROTECTED if .protected is available. * config.h.in: Add entry for HAVE_PROTECTED. 2002-01-31 Jakub Jelinek * sysdeps/posix/readv.c: Don't use alloca if the memory requirements are too high. 2002-01-31 Andreas Schwab * sysdeps/posix/readv.c: Check for ssize_t overflow. 2002-01-31 Andreas Schwab * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix leftover reference to _dl_pagesize. 2002-01-30 Ulrich Drepper * Versions.def [ld]: Add GLIBC_2.3. * elf/dl-addr.c: Move global variables for SHARED code in struct _rtld_global. Export this struct, remove all exports for the signal variables. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-dst.h: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/getclktck.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. 2002-01-29 Ulrich Drepper * sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): Add cast to avoid warning (DL_STATIC_FUNCTION_ADDRESS): Likewise. * elf/dl-lookup.c: Only define or handle _dl_num_relocations for the SHARED version. * elf/dl-reloc.c: Likewise for _dl_num_cache_relocations. * elf/rtld.c (_dl_start): Use __builtin_memset if available. 2002-01-29 Ben Collins * string/bits/string2.h (__mempcpy): Protect size arg for addition when using __builtin_memcpy. 2002-01-29 Ulrich Drepper * stdlib/Makefile (tests): Add tst-qsort. * stdlib/tst-qsort.c: New file. Written by Paul Eggert. * manual/signal.texi (Process Signal Mask): Document that pthread_sigmask, not sigprocmask, must be used in MT programs. Patch by Bertold Kolics . * misc/hsearch_r.c (hsearch_r): Don't insert anything if entry is found. * misc/Makefile (tests): Add tst-hsearch. * misc/tst-hsearch.c: New file. 2002-01-18 Wolfram Gloger * malloc/malloc.c: Rewrite, adapted from Doug Lea's malloc-2.7.0.c. * malloc/malloc.h: Likewise. * malloc/thread-m.h: Spinlock definitions for x86/x86_64. * malloc/arena.c: New file. * malloc/hooks.c: New file. * malloc/tst-mallocstate.c: New file. * malloc/Makefile: Add new testcase tst-mallocstate. Add arena.c and hooks.c to distribute. Fix commented CPPFLAGS. 2002-01-28 Ulrich Drepper * stdlib/msort.c: Remove last patch. The optimization violates the same rule which qsort.c had problems with. 2002-01-27 Paul Eggert * stdlib/qsort.c (_quicksort): Do not apply the comparison function to a pivot element that lies outside the array to be sorted, as ISO C99 requires that the comparison function be called only with addresses of array elements [PR libc/2880]. 2002-01-28 Ulrich Drepper * elf/dl-load.c (_dl_map_object): Remove incorrect optimization for SHARED code. Reported by Ben Collins . * timezone/asia: Update from tzdata2002b. * timezone/australasia: Likewise. * timezone/backward: Likewise. * timezone/europe: Likewise. * timezone/leapseconds: Likewise. * timezone/iso3166.tab: Likewise. * timezone/zone.tab: Likewise. 2002-01-23 Richard Henderson * sysdeps/alpha/Makefile (pic-ccflag): New variable. 2002-01-28 Ulrich Drepper * string/strxfrm.c: Allocate one more byte for rulearr and clear this element [PR libc/2855]. * string/strcoll.c: Handle zero-length arguments specially [PR libc/2856]. 2002-01-23 Jakub Jelinek * string/bits/string2.h (__mempcpy): For gcc 3.0+, don't use __mempcpy_small but instead use __builtin_memcpy ( , , n) + n for short lengths and constant src. (strcpy): Don't optimize for gcc 3.0+. (__stpcpy): For gcc 3.0+, don't use __stpcpy_small but instead use __builtin_strcpy (, src) + strlen (src) for short string literal src. 2002-01-23 Jeroen Dobbelaere * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde): Set for arm, too. 2001-01-22 Paul Eggert * manual/llio.texi (Linked Channels, Cleaning Streams): Make it clearer that a just-opened input stream might need cleaning. 2002-01-21 H.J. Lu * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Don't use label at end of compound statement. 2002-01-28 Stephen L Moshier * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (__ieee754_lgammal_r): Remove test for negative integer arg; sin_pi does it correctly. 2002-01-20 Ulrich Drepper * nscd/Makefile (distribute): Filter out xmalloc.c. 2002-01-19 Ulrich Drepper * libio/fileops.c (_IO_file_underflow_mmap): Don't define as static. Set offset if read end wasn't the buffer end. (_IO_file_seekoff_mmap): New function. (_IO_file_xsgetn_mmap): New function. (_IO_file_jumps_mmap): Use the two new functions. * libio/wfileops.c (_IO_wfile_underflow_mmap): Handle end read buffer != end buffer. * libio/libioP.h: Declare _IO_file_seekoff_mmap and _IO_file_underflow_mmap. * libio/iofopen.c: Don't position file descriptor at end of file. * libio/tst-widetext.c: Improve error messages. * stdio-common/tst-rndseek.c: Likewise. 2002-01-18 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/statvfs.h: Avoid warning about comma at end of enum for !_GNU_SOURCE. * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Likewise. * sysdeps/mach/hurd/bits/statvfs.h: Don't define non-standard ST_* values unless _GNU_SOURCE. * iconvdata/tcvn5712-1.c: Minor cleanups. 2002-01-18 Andreas Schwab * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde): Set for m68k, too. 2002-01-16 Roger Sayle * stdlib/msort.c (msort_with_tmp): Replace implementation with more efficient "Towers of Hanoi" mergesort. (hanoi_sort, hanoi_sort_int, hanoi_sort_long): New functions, for generic, sizeof(int) and sizeof(long) variants respectively. 2002-01-17 Ulrich Drepper * manual/syslog.texi (openlog): Describe possible problems with first parameter. Patch by Christopher Allen Wing . * nscd/nscd.c (drop_privileges): Removed. Adjust caller. * nscd/connections.c (begin_drop_privileges): New function. (finish_drop_privileges): New function. (nscd_init): Call the new functions which also install all groups for the server user. * nscd/Makefile (nscd-modules): Add xmalloc for nscd. Patch by Christopher Allen Wing . 2002-01-17 H.J. Lu * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Remove `const' from `got'. 2002-01-17 Martin Schwidefsky * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Use 64 bit instructions for pointer operations. * sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: Likewise. 2002-01-17 Andreas Jaeger * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: GCC 3.1 has __uint128_t build-in. * sysdeps/unix/sysv/linux/configure.in: Fix check for S390 and PowerPC, sync with 2.2 branch. 2002-01-16 Ulrich Drepper * posix/getconf.c: Update copyright year. * nss/getent.c: Likewise. * nscd/nscd_nischeck.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c: Likewise. * elf/ldconfig.c: Likewise. * catgets/gencat.c: Likewise. * csu/version.c: Likewise. * elf/ldd.bash.in: Likewise. * elf/sprof.c (print_version): Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * nscd/nscd.c (print_version): Likewise. * debug/xtrace.sh: Likewise. * malloc/memusage.sh: Likewise. * malloc/mtrace.pl: Likewise. 2002-01-16 Andreas Schwab * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Fix regexp to reliably remove "-ia64" from rtld name. 2002-01-16 Ulrich Drepper * iconvdata/gb18030.c: Bug fixes and support for more characters. Patch by Yu Shao . 2002-01-16 Martin Schwidefsky * sysdeps/unix/sysv/linux/s390/swapcontext.c: Remove. * sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S: New file. * sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: New file. 2002-01-14 Martin Schwidefsky * sysdeps/s390/fpu/libm-test-ulps: Update. 2002-01-11 Ulrich Drepper * elf/elf.h: Update x86 relocations. 2002-01-10 Ulrich Drepper * locale/programs/charmap.c (new_width): Check whether byte sequences for both ends of range have the same length. 2002-01-09 Jakub Jelinek * elf/elf.h (SHN_UNDEF): Remove duplicate definition. 2002-01-09 Jakub Jelinek * sysdeps/alpha/fpu/e_sqrt.c (__ieee754_sqrt): Don't use multi-line string literals. (__full_ieee754_sqrt): Add __attribute_used__. 2002-01-10 Ulrich Drepper * sysdeps/generic/group_member.c (__group_member): Also check groups[0] [PR libc/2781]. 2002-01-08 Ulrich Drepper * Makefile (distribute): Add scripts/cpp. * elf/Makefile (distribute): Add reldep6mod[01234].c, unwind-dw2.c, unwind-dw2-fde.c, unwind.h, unwind-pe.h, unwind-dw2-fde.h, and dwarf2.h. * sysdeps/unix/bsd/bsd4.4/Dist: New file. * sysdeps/unix/sysv/aix/Dist: Add sysv_termio.h and start-libc.c. * sysdeps/unix/sysv/linux/ia64/Dist: Add ldd-rewrite.sed. * sysdeps/unix/sysv/linux/s390/Dist: Likewise. 2002-01-07 Roland McGrath * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Use volatile on type of ARGC so the compiler doesn't get clever. 2002-01-07 Andreas Jaeger * sysdeps/generic/bits/byteswap.h: Prevent double inclusion. * sysdeps/i386/bits/byteswap.h: Likewise. * sysdeps/ia64/bits/byteswap.h: Likewise. * sysdeps/m68k/bits/byteswap.h: Likewise. * sysdeps/s390/s390-32/bits/byteswap.h: Likewise. * sysdeps/s390/s390-64/bits/byteswap.h: Likewise [PR libc/2757]. 2002-01-02 Bruno Haible * intl/plural.y: Fix %expect count. 2002-01-03 Jakub Jelinek * elf/Makefile (routines, shared-only-routines): Add unwind-dw2-fde-glibc instead of unwind-dw2-fde. * elf/elf.h (PT_GNU_EH_FRAME): Define. * sysdeps/generic/unwind-dw2-fde-glibc.c: New file. * sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases): Optimize if .eh_frame section contains no FDEs. (__register_frame, __deregister_frame_info_bases, __deregister_frame): Likewise. * sysdeps/generic/unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling. 2002-01-07 Stephen L Moshier * sysdeps/ieee754/ldbl-96/s_erfl.c (erfcl): Fix K&R header. * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Fix typo in test for x < 0.25 and restore original range reduction method. (__ieee754_lgammal_r): Make sure signgam is set before returning. 2002-01-07 Ulrich Drepper * libio/fileops.c (_IO_file_underflow_mmap): New function. (_IO_file_close_mmap): New function. (_IO_file_jumps_mmap): New variable. * libio/wfileops.c (_IO_wfile_underflow): Reset read pointer before trying to convert rest of byte buffer. (_IO_wfile_underflow_mmap): New function. (_IO_wfile_jumps_mmap): New variable. * libio/iofopen.c (__fopen_maybe_mmap): New function. (__fopen_internal): New function. Split out from _IO_new_fopen. (_IO_new_fopen): Call __fopen_internal. * libio/iofopen64.c: Just call __fopen_internal. * libio/iofdopen.c: Call __fopen_maybe_mmap before returning successfully. * libio/iolibio.h: Declare __fopen_internal and __fopen_maybe_mmap. * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps_mmap, _IO_file_close_mmap. * sysdeps/gnu/_G_config.h: Define _G_MMAP64. * sysdeps/unix/sysv/linux/cris/_G_config.h: Likewise. * stdio-common/Makefile (tests): Add tst-rndseek. * stdio-common/tst-rndseek.c: New file. 2002-01-05 Roland McGrath * config.h.in (HAVE_MIG_RETCODE): New #undef. * sysdeps/mach/hurd/configure.in (hurd_MIG_RETCODE: New macro swiped from hurd package's aclocal.m4; use it to set HAVE_MIG_RETCODE. * sysdeps/mach/hurd/configure: Regenerated. 2002-01-03 Ulrich Drepper * elf/elf.h: Add more TLS definitions. 2002-01-02 Ulrich Drepper * include/features.h (__GLIBC_MINOR__): Bump to 3. 2002-01-02 Roland McGrath * sysdeps/mach/hurd/sigwait.c (__sigwait): Use __sigandset, __sigisemptyset. Don't use MASK uninitialized. * sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Use __sigorset. * hurd/hurdinit.c (_hurd_new_proc_init): Use __sigisemptyset. * hurd/hurdsig.c (_hurd_internal_post_signal): Use __sigismember, __sigdelset, __sigaddset, __sigorset. * sysdeps/generic/htonl.c: Use uint32_t instead of u_int32_t. * sysdeps/generic/htons.c: Use uint16_t instead of u_int16_t. * hurd/hurdinit.c (_hurd_ports_use): Return EGRATUITOUS when _hurd_ports is null. * hurd/hurdsig.c (_hurdsig_init): Conditionalize exception port setup for old CMU and new OSF Mach interface flavors. * hurd/hurdfault.c (_hurdsig_fault_init): Likewise. * sysdeps/mach/hurd/fork.c (__fork): Likewise. * hurd/hurdsig.c (_hurd_internal_post_signal): Leave msgh_seqno unset. * sysdeps/mach/hurd/spawni.c (__spawni) [KERN_INVALID_LEDGER]: Pass extra arguments to task_create for OSF variant. * sysdeps/mach/hurd/fork.c (__fork): Likewise. * sysdeps/powerpc/elf/libc-start.c: Make AUXVEC diddling code conditional on [HAVE_AUX_VECTOR]. * mach/mach/mach_traps.h (thread_switch, __thread_switch): Use mach_msg_timeout_t as type of final argument. * hurd/privports.c (__get_privileged_ports): Change host_priv_t to mach_port_t in argument type. * hurd/hurd.h (get_privileged_ports, __get_privileged_ports): Update decls. * sysdeps/mach/hurd/i386/bits/sigcontext.h: Protect from multiple inclusion. Inhibit #error under [_SYS_UCONTEXT_H]. * sysdeps/mach/hurd/alpha/bits/sigcontext.h: Likewise. * sysdeps/mach/hurd/hppa/bits/sigcontext.h: Likewise. * sysdeps/mach/hurd/mips/bits/sigcontext.h: Likewise. * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise. 2002-01-01 Roland McGrath * sysdeps/mach/hurd/errnos.awk: Tighten up device_types.h matching. 2002-01-01 Ulrich Drepper * include/stdlib.h: Define inlines for the _l variants of the strto* functions. 2002-01-01 Roland McGrath * sysdeps/mach/hurd/powerpc/intr-msg.h: Remove extraneous backslash. * mach/Machrules (MIG): Set CPP as well as CC. 2001-12-31 Ulrich Drepper * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Always use C locale to parse /proc/loadavg [PR libc/2760]. 2001-12-31 Jakub Jelinek * elf/dl-conflict.c: Include sys/param.h. (RESOLVE_CONFLICT_FIND_MAP): Cast r_offset to ElfW(Addr). * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Avoid warning. (TRAMPOLINE_TEMPLATE, RTLD_START): Don't use multi-line string literals to avoid warnings. 2001-12-31 Andreas Jaeger * configure.in: Don't check for gsed since we do not use it anywhere. 2001-12-25 Dmitry V. Levin * io/fts.c: Update from BSD to fix memory leaks. 2001-12-25 Dmitry V. Levin * crypt/md5-crypt.c: Realloc error handling memory leak fix. * elf/chroot_canon.c: Likewise. * elf/dl-object.c: Likewise. * iconv/iconv_charmap.c: Likewise. * iconv/iconv_prog.c: Likewise. * libio/iogetdelim.c: Likewise. * locale/lc-time.c: Likewise. * stdlib/canonicalize.c: Likewise. * sunrpc/svc.c: Likewise. * sysdeps/generic/glob.c: Likewise. 2001-12-19 Martin Schwidefsky * sysdeps/unix/sysv/linux/s390/profil-counter.h: Move/copy to ... * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: ... here, remove high order bit from the program counter. * sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h: ... and here. 2001-12-19 Martin Schwidefsky * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Remove unnecessary code and add missing reloc types. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Add empty case for reloc type R_390_NONE. 2001-12-28 Andreas Jaeger * io/bug-ftw3.c: Include string.h for prototypes. * crypt/md5test.c (main): Remove unused variable. * dlfcn/modstatic.c: Add prototype to avoid warning. 2001-12-26 Roland McGrath * sysdeps/mach/hurd/sigwait.c (__sigwait): When returning immediately, check only (SS->pending & MASK) for the signal to return. From Jeroen Dekkers . 2001-12-22 Roland McGrath * iconv/skeleton.c [!RESET_INPUT_BUFFER && !SAVE_RESET_STATE]: Use preprocessor #if conditionals instead of `if' to avoid warnings about divide by zero in dead code. * hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set, _hurd_port_init, and __hurd_self_sigstate. * mach/Versions (libc: GLIBC_2.2.5): Add mig_strncpy. 2001-12-21 Andreas Jaeger * elf/dblloadmod1.c: Add prototype to avoid warning. * elf/dblloadmod2.c: Likewise. * elf/dblloadmod3.c: Likewise. * elf/reldepmod5.c: Likewise. * elf/reldepmod6.c: Likewise. * elf/dl-conflict.c (_dl_resolve_conflicts): Add unused attribute for resolve_conflict_map since RESOLVE_CONFLICT_FIND_MAP is not used on all architectures. * sunrpc/svc_tcp.c: Add noreturn attribute for svctcp_rendezvous_abort. * sunrpc/svc_unix.c: Likewise for svcunix_rendezvous_abort. * sysdeps/generic/strstr.c (strstr): Add paranthese for assignment to avoid warning. 2001-12-19 Jakub Jelinek * manual/llio.texi (aio_fsync): Fix a typo. Patch by Tammy Fox . 2001-12-18 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (clone): Subtract stack bias from child stack pointer before passing it to clone syscall. 2001-12-18 Ulrich Drepper * sysdeps/posix/sysconf.c (__sysconf): Respect POSIX minimum for _SC_TZNAME_MAX. * sysdeps/generic/sysconf.c (__sysconf): Likewise. Reported by Thorsten Kukuk . * sysdeps/unix/grantpt.c (grantpt): Correct typo in comment and add some casts. * sysdeps/unix/sysv/linux/grantpt.c: Make __unix_grantpt static. 2001-12-18 Thorsten Kukuk * sysdeps/unix/sysv/linux/grantpt.c: Make errno results standard conforming: return EBADF if file descriptor is invalid and EINVAL if file descriptor is no valid tty. * login/tst-grantpt.c: New file. * login/Makefile (tests): Add tst-grantpt. 2001-12-17 Ulrich Drepper * io/ftw.c (ftw_dir): Handle inaccessibility of toplevel dir different than implemented in last patch. * io/bug-ftw3.c: Adjust test for changed handling of inaccessibility of toplevel dir. 2001-12-16 Roland McGrath * nss/nsswitch.c (__nss_next): Don't use __FUNCTION__ as literal. * grp/initgroups.c (internal_getgrouplist): Likewise. * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add `break' after `default:' to silence new GCC warning. Rewrite cast of lvalue to silence new GCC warning. * sysdeps/mach/hurd/i386/init-first.c: Avoid multi-line strings in asm. * sysdeps/mach/hurd/spawni.c: New file, by me with a couple fixes by Neal H Walfield . 2001-12-14 Ulrich Drepper * sysdeps/generic/strstr.c (strstr): Update. New optimized version. Patch by Stephen R. van den Berg. * crypt/md5.h: Define md5_uintptr. 2001-12-13 Ulrich Drepper * libio/tst_swprintf.c (main): Add test for string argument with zero precision. * stdio-common/Makefile (tests): Add tst-sprintf. * stdio-common/tst-sprintf.c: New file. 2001-12-13 Andreas Schwab * stdio-common/vfprintf.c (process_string_arg): Correctly handle zero precision with wide character string format. 2001-12-13 Thorsten Kukuk * sysdeps/posix/cuserid.c (cuserid): If we don't find the UID, but have a user supplied buffer, return the empty buffer, not NULL. 2001-12-13 Ulrich Drepper * crypt/md5.c (md5_process_bytes): Correct handling of alignment. Patch by Eric Sharkey . * crypt/md5test.c (main): Add test for multiple calls to __md5_process_bytes to itererate over input string. 2001-12-12 Ulrich Drepper * nis/nis_findserv.c (__nis_findfastest_with_timeout): Mostly the code from __nis_findfastest. Take timeout value from parameter. (__nis_findfastest): Call __nis_findfastest_with_timeout repeatedly. * nis/nis_intern.h: Define parameters controlling __nis_findfastest [PR libc/2520]. Patch by Alexander Belopolsky . 2001-12-12 Andreas Jaeger * configure.in: Use -nostartfiles -nostdlib for linker tests, fix combreloc test so that it works in this case. * sysdeps/arm/dl-machine.h (elf_machine_rela): Fix typo in last patch. 2001-12-12 NIIBE Yutaka * sysdeps/sh/Makefile: New file. * sysdeps/sh/_mcount.S: New file. * sysdeps/sh/sysdep.h (CALL_MCOUNT): Implemented. * sysdeps/sh/machine-gmon.h: Remove "NOTYET" comment, as we are ready. 2001-12-11 Ulrich Drepper * resolv/nss_dns/dns-host.c (getanswer_r): Remove MAX_NR_ADDRS limitation [PR libc/2564]. 2001-12-11 Jakub Jelinek * elf/Makefile (dl-routines): Add conflict. (rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove. (ld.so): Add _begin local symbol. * elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM): Define. * elf/dl-deps.c (_dl_build_local_scope): New. (_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes of all libraries. * elf/do-rel.h (VALIDX): Define. (elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do lazy binding for RELA. If DT_GNU_PRELINKED, DT_RELACOUNT relocations can be skipped. * elf/dl-conflict.c: New file. * elf/dl-lookup.c (_dl_debug_bindings): New. (_dl_lookup_symbol): Use _dl_debug_bindings. Reference_name is always non-NULL. (_dl_lookup_symbol_skip): Likewise. (_dl_lookup_versioned_symbol): Likewise. (_dl_lookup_versioned_symbol_skip): Likewise. * elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined, define to ElfW(Rel). * elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI ranges. Don't adjust address dynamic tags if l_addr is 0. * elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables. (_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked. (VALIDX, ADDRIDX): Define. (_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end. (dl_main): Print library list for LD_TRACE_PRELINKING. If prelinking information can be used, skip relocating libraries and call _dl_resolve_conflicts instead. (process_envvars): Handle LD_TRACE_PRELINKING envvar. * elf/dl-load.c (_dl_map_object): Don't create fake libs if LD_TRACE_PRELINKING. * include/link.h (struct link_map) [l_info]: Add DT_VALNUM + DT_ADDRNUM. * sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration. (DL_DEBUG_PRELINK): Define. (_dl_resolve_conflicts): Add prototype. * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize .plt for prelinked libraries where prelinking info cannot be used. (elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map. * sysdeps/arm/bits/link.h: New file. * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP. (ELF_MACHINE_PLT_REL): Define. (elf_machine_rela, elf_machine_rela_relative): New. (elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/i386/bits/link.h: New file. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP. (ELF_MACHINE_PLT_REL): Define. (elf_machine_rela, elf_machine_rela_relative): New. (elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating conflicts, skip finaladdr computation. Use RESOLVE_CONFLICT_FIND_MAP to find out map for R_PPC_JMP_SLOT relocs. * sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define. (OPCODE_BA): Define. (elf_machine_runtime_setup): Reinitialize .plt for prelinked libraries where prelinking info cannot be used. (sparc_fixup_plt): Renamed from elf_machine_fixup_plt. (elf_machine_fixup_plt): Call sparc_fixup_plt. (elf_machine_rela): Set value to 0 if relocating conflicts. Call sparc_fixup_plt for R_SPARC_JMP_SLOT. * sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define. (sparc64_fixup_plt): Fix a typo. (elf_machine_rela): Set value to 0 if relocating conflicts. Handle R_SPARC_JMP_SLOT relocs when relocating conflicts. (elf_machine_runtime_setup): Reinitialize .plt for prelinked libraries where prelinking info cannot be used. * sysdeps/sh/bits/link.h: New file. * sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/s390/s390-32/bits/link.h: New file. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/s390/s390-64/bits/link.h: New file. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. * sysdeps/x86_64/bits/link.h: New file. * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Save original content of .got[1]. (elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead of adjusting it if prelinked and prelinking cannot be used. 2001-12-11 Ulrich Drepper * sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use sizeof where appropriate instead of numbers. Little optimizations. 2001-12-10 Roland McGrath * sysdeps/mach/hurd/bind.c (bind): Don't deallocate IFSOCK if we never set it. * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Set default set to GLIBC_2.2.5, not GLIBC_2.2.4. * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Fix conditionals so this is set by default for stdio and not for libio. * sysdeps/mach/hurd/configure: Regenerated. 2001-12-10 Thorsten Kukuk * io/ftw.c (ftw_startup): Check, if the path is search and readable. 2001-12-10 Ulrich Drepper * io/Makefile (tests): Add bug-ftw3. * io/bug-ftw3.c: New file. * sysdeps/generic/glob.c (glob): Return only pattern if nothing matches and GLOB_NOCHECK is set. * posix/globtest.sh: Correct expected result for NOCHECK test. * po/ca.po: Update from translation team. 2001-12-09 Ulrich Drepper Implement transliteration of characters in strings of the locale definitions. * locale/programs/linereader.c: Adjust for additional parameter to lr_token. (get_string): If character is not found try to transliterate it. * locale/programs/ld-ctype.c: Adjust for additional parameter to lr_token. Add const to charmap parameter of all functions. (find_translit, find_translit2): New functions. * locale/programs/charmap.c: Adjust for additional parameter to lr_token. * locale/programs/repertoire.c: Likewise. * locale/programs/linereader.h: Likewise. * locale/programs/ld-address.c: Likewise. Add const to charmap parameter of all functions. * locale/programs/ld-collate.c: Likewise. * locale/programs/ld-identification.c: Likewise. * locale/programs/ld-measurement.c: Likewise. * locale/programs/ld-messages.c: Likewise. * locale/programs/ld-monetary.c: Likewise. * locale/programs/ld-name.c: Likewise. * locale/programs/ld-numeric.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-telephone.c: Likewise. * locale/programs/ld-time.c: Likewise. * locale/programs/locfile.c: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/localedef.h: Likewise. * locale/programs/locfile.h: Likewise. Add declaration for find_translit. * locale/programs/simple-hash.c: Add const to first parameter of find_entry, iterate_table, and lookup. * locale/programs/simple-hash.h: Likewise. * locale/localeinfo.h: Don't define __LC_LAST here. Include instead. * include/locale.h: Define __LC_LAST. * iconv/Makefile (CFLAGS-linereader.c): Define to -DNO_TRANSLITERATION. 2001-12-07 Geoff Keating * sysdeps/powerpc/Dist: Update for recent FP changes. * sysdeps/powerpc/fpu/Dist: Likewise. 2001-12-07 Andreas Schwab * sysdeps/unix/sysv/linux/opensock.c: Include . 2001-12-06 Geoff Keating * sysdeps/powerpc/Makefile (sysdep_routines): Don't build the fpr save/restore functions here. (libm-support): Don't define these functions here. * sysdeps/powerpc/fpu/Makefile: Build the fpr save/restore functions here. * sysdeps/powerpc/fe_nomask.c: Move to... * sysdeps/powerpc/fpu/fe_nomask.c: ... here. * sysdeps/powerpc/fprrest.S: Move to... * sysdeps/powerpc/fpu/fprrest.S: ... here. * sysdeps/powerpc/fprsave.S: Move to... * sysdeps/powerpc/fpu/fprsave.S: ... here. 2001-12-06 Ulrich Drepper * sysdeps/unix/sysv/linux/opensock.c: New file. 2001-12-06 Geoff Keating * config.make.in (with-fp): Define from configure. * configure.in: Substitute with_fp. * configure: Regenerate. * sysdeps/powerpc/Makefile: Set -msoft-float when --without-fp is specified, and don't change FPU environment. 2001-12-06 Ulrich Drepper * libio/vasprintf.c (_IO_vasprintf): Free buffer on failure. * assert/assert.c: Check result of __asprintf call and don't use string if it failed. * assert/assert-perr.c: Likewise. * inet/rcmd.c: Likewise. * locale/programs/localedef.c (main): Check result of construct_output_path and exit if it failed. (construct_output_path): Check result of asprintf and mkdir calls and fail if they failed. * posix/getopt.c: Check result of __asprintf calls and fail if they failed. Patch by Dmitry V. Levin . 2001-12-05 Ulrich Drepper * sysdeps/generic/strcasecmp.c (__strcasecmp): Little performance patch. * sysdeps/generic/strncase.c: Likewise. * string/tester.c: Add tests for strcasecmp and strncasecmp. 2001-12-05 Geoff Keating * scripts/cpp: Test the exit status from 'type', not 'awk'. * sysdeps/powerpc/__longjmp.S: Don't restore FP registers. * sysdeps/powerpc/fpu/__longjmp.S: Do restore FP registers. * sysdeps/powerpc/setjmp.S: Don't save FP registers. * sysdeps/powerpc/fpu/setjmp.S: Do save FP registers. * sysdeps/powerpc/fclrexcpt.c: Move to... * sysdeps/powerpc/fpu/fclrexcpt.c: ... here. * sysdeps/powerpc/fpu_control.h: Move to... * sysdeps/powerpc/fpu/fpu_control.h: ... here. 2001-12-05 Ulrich Drepper * iconvdata/ibm1129.h: Remove duplicate mappings. * iconvdata/ibm937.c: Handle overflow errors. Handle new tables. * iconvdata/ibm937.h: Reorganize table to safe a lot of space. Patch by Masahide Washizawa . * timezone/zic.c: Fix handling of turnaround times. Patch by Arthur David Olson . 2001-12-02 Moshe Olshansky * sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder): Fix overflow problem. 2001-12-05 Ulrich Drepper * posix/regex.c: For use outside glibc defined bounded pointer macros here. Patch by Jim Meyering . * iconvdata/Makefile (modules): Add TCVN5712-1. * iconvdata/TESTS: Add TCVN5712-1. * iconvdata/gconv-modules: Likewise. * iconvdata/tcvn5712-1.c: New file. * iconvdata/testdata/TCVN-5712: New file. * iconvdata/testdata/TCVN-5712..UTF8: New file. 2001-12-04 Ulrich Drepper * iconvdata/cp1258.c: Optimize conversion from UCS4. 2001-12-02 Roland McGrath * mach/Makefile, mach/Machrules: Move comments out of \ continuations. * hurd/hurd.h (__hurd_fail): Add `break;' to silence new gcc-3 warning. Reported by Jeff Bailey . * hurd/hurd.h (_hurd_umask): Remove volatile qualifier from decl. Reported by Jeff Bailey . * mach/Makefile ($(objpfx)mach-syscalls.mk): Pass $(CFLAGS) to $(CC). * mach/Machrules ($(objpfx)%.udeps static pattern rule): Likewise. Reported by Jeff Bailey . 2001-12-01 Roland McGrath * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Add missing backslash in test arguments. * sysdeps/mach/hurd/configure: Regenerated. 2001-11-26 Roland McGrath * hurd/hurdinit.c (_hurd_ports_use): Check if _hurd_ports is null. Reported by John Tobey . 2001-11-30 Ulrich Drepper * iconvdata/Makefile (modules): Add ARMSCII-8. * iconvdata/gconv-modules: Add entries for ARMSCII-8. * iconvdata/armscii-8.c: New file. 2001-11-29 Jakub Jelinek * sysdeps/generic/glob.c (next_brace_sub): Return NULL if braces don't match, fix {{a,b},c} globbing, clean up. Patch by Flavio Veloso . * posix/globtest.sh: Add new tests. 2001-11-29 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/Versions: Add arch_prctl. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add arch_prctl call. * sysdeps/generic/abort.c: Include libioP.h for _IO_flush_all_lockp prototype. 2001-11-29 Ulrich Drepper * posix/regex.h: Define __restrict_arr correctly. 2001-11-28 Ulrich Drepper * iconvdata/ibm1163.c: New file. * iconvdata/ibm1163.h: New file. * iconvdata/ibm1164.c: New file. * iconvdata/ibm1164.h: New file. * iconvdata/TESTS: Add entries for IBM1163 and IBM1164. * iconvdata/Makefile: Likewise. * iconvdata/testdata/IBM1163: New file. * iconvdata/testdata/IBM1163..UTF8: New file. * iconvdata/testdata/IBM1164: New file. * iconvdata/testdata/IBM1164..UTF8: New file. Patch by Masahide Washizawa . * iconvdata/ibm1046.h: Optimize. Remove duplicate mappings. * iconvdata/ibm1124.h: Likewise. * iconvdata/ibm1132.h: Likewise. * iconvdata/ibm1133.h: Likewise. * iconvdata/ibm1160.h: Likewise. * iconvdata/ibm1161.h: Likewise. * iconvdata/ibm1162.h: Likewise. * iconvdata/ibm856.h: Likewise. * 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/ibm930.c: Pretty printing. * iconvdata/ibm937.c: Avoid access accross array boundary. * iconv/gconv_open.c (__gconv_open): Empty codeset name now means using the current locale's codeset. * iconv/iconv_open.c (iconv_open): Don't strip out everything for empty input string. * iconv/iconv_prog.c: Pass empty strings as default value for to- and from-charset. Don't determine locale's charset here. * libio/genops.c (_IO_flush_all_lockp): New function. The same code as the old _IO_flush_all but lock only if parameter is nonzero. (_IO_flush_all): Call _IO_flush_all_lockp with 1 as parameter. * libio/libioP.h: Add prototype for _IO_flush_all_lockp. * sysdeps/generic/abort.c (fflush): Define to _IO_flush_all_lockp(0) if libio is used [PR libc/2575]. 2001-11-28 Jakub Jelinek * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit, __signbitl): Only define for ISO C99. 2001-11-22 Thorsten Kukuk * nss/nss_files/files-hosts.c (_nss_files_get##name##_r): Set herrnop to NETDB_INTERNAL if we run out of buffer space. 2001-11-28 Ulrich Drepper * nss/nss_files/files-XXX.c (internal_getent): Correct input overflow test for platforms with signed char. Reported by Andrew Haley . 2001-11-28 Bruno Haible * locale/programs/simple-hash.c (lookup_2): Remove function. (insert_entry_2): Call lookup instead of lookup_2. 2001-03-04 Bruno Haible * intl/dcigettext.c (DCIGETTEXT): Increment path_max proportionally. 2001-10-31 Bruno Haible * intl/plural.y: Include , needed for NULL with SunOS 4 cc. 2001-03-21 Bruno Haible * intl/dcigettext.c (_nl_state_lock): Mark as #ifdef _LIBC. AIX 3 xlc chokes on empty macro arguments. * intl/plural.y: Add #pragma for alloca on AIX 3. 2001-11-27 Ulrich Drepper * intl/dcigettext.c (guess_category_value): Only implement for glibc. Otherwise rely on function _nl_locale_name which isn't present in the glibc sources. 2001-09-24 Bruno Haible * intl/loadmsgcat.c (_nl_init_domain_conv): Also enable transliteration when building on a glibc system but outside glibc. 2001-09-22 Bruno Haible * intl/plural-eval.c: New file, extracted from dcigettext.c. * intl/dcigettext.c (plural_eval): Remove function, moved to intl/plural-eval.c. (plural_lookup): Call PLURAL_EVAL instead of plural_eval. Include plural-eval.c. 2001-09-22 Bruno Haible * intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Reject numbers that don't start with a digit; nplurals must be positive. 2001-09-02 Bruno Haible * intl/plural-exp.h: New file, extracted from gettextP.h. * intl/plural-exp.c: New file, extracted from loadmsgcat.c. * intl/gettextP.h (struct expression, struct parse_args, __gettext_free_exp, __gettextparse): Move to plural-exp.h. * intl/loadmsgcat.c: Include plural-exp.h. (PLURAL_PARSE): Move macro to plural-exp.h. (plvar, plone, germanic_plural, INIT_GERMANIC_PLURAL): Move to plural-exp.c. (_nl_load_domain): Move plural handling code to plural-exp.c. Call EXTRACT_PLURAL_EXPRESSION. (_nl_unload_domain): Update. * intl/dcigettext.c: Include plural-exp.h. * intl/plural.y: Include plural-exp.h, not gettextP.h. (FREE_EXPRESSION): Move macro to plural-exp.h. * intl/Makefile (routines): Add plural-exp. (distribute): Add plural-exp.h. 2001-07-28 Bruno Haible * intl/l10nflist.c (_nl_normalize_codeset): Cast isalnum, isalpha, isdigit, tolower argument to 'unsigned char'. * intl/loadmsgcat.c (_nl_load_domain): Cast isspace argument to 'unsigned char'. * intl/localealias.c (read_alias_file): Cast isspace argument to 'unsigned char'. 2001-10-20 Bruno Haible Assume strchr() exists. (Without it, intl/explodename.c wouldn't link anyway.) * intl/dcigettext.c (strchr): Remove fallback definition; it conflicts with the variable 'index' in plural_lookup. * intl/l10nflist.c (strchr): Likewise. * intl/localealias.c (strchr): Likewise. Assume , , , exist. * intl/bindtextdom.c: Likewise. * intl/dcigettext.c: Likewise. * intl/dgettext.c: Likewise. * intl/dngettext.c: Likewise. * intl/explodename.c: Likewise. * intl/finddomain.c: Likewise. * intl/gettext.c: Likewise. * intl/l10nflist.c: Likewise. * intl/loadmsgcat.c: Likewise. * intl/localealias.c: Likewise. * intl/ngettext.c: Likewise. * intl/textdomain.c: Likewise. * intl/gettext.h: Assume exists. 2001-11-27 Ulrich Drepper * stdio-common/Makefile (tests): Add scanf11. * stdio-common/scanf11.c: New file. 2001-11-26 Ulrich Drepper * version.h (RELEASE): Define as development. (VERSION): Set to 2.2.90. 2001-11-22 Thorsten Kukuk * nis/nss_compat/compat-grp.c: Print group id as unsigned long. * nis/nss_nis/nis-grp.c: Likewise. * nis/nss_nisplus/nisplus-grp.c: Likewise. * nis/nss_compat/compat-pwd.c: Print user id as unsigned long. * nis/nss_nis/nis-pwd.c: Likewise. * nis/nss_nisplus/nisplus-pwd.c: Likewise. * nis/nss_nis/nis-publickey.c: Use strtoul instead of atoi. * nis/nss_nisplus/nisplus-parser.c: Likewise. * nis/nss_nisplus/nisplus-publickey.c: Likewise. * nscd/grpcache.c: Use strtoul instead of atol. * nscd/pwdcache.c: Likewise. * nss/getent.c: Likewise. 2001-11-27 Paul Eggert * sysdeps/posix/tempname.c (__gen_tempname): Try at least ATTEMPTS_MIN or TMP_MAX times, whichever is greater. 2001-11-19 Bruno Haible * locale/programs/simple-hash.c (insert_entry_2): Resize at 75%, not 90%. (compute_hashval): Shift by 9 bits, not by 4 bits. This drastically improves the quality of the hash function, especially for short strings. 2001-11-26 Ulrich Drepper * stdio-common/vfscanf.c: If incomplete nan of inf(inity) strings are found call conv_error and not input_error [PR libc/2669]. * math/bits/mathcalls.h: Mark ceil and floor as const. Reported by David Mosberger. 2001-11-21 Jim Meyering * posix/regex.c (iswctype, mbrtowc, wcslen, wcscoll, wcrtomb) [_LIBC]: Define to be __-prefixed. Remove unnecessary duplication in `#ifdef _LIBC' blocks. 2001-11-26 Andreas Jaeger * sysdeps/unix/sysv/linux/hppa/brk.c: Remove __brk_addr alias, avoid warning. 2001-11-26 Stephen L Moshier * sysdeps/ieee754/ldbl-128/e_log10l.c (L102B): Fix typo in initialization. * sysdeps/ieee754/ldbl-128/e_coshl.c (__ieee754_coshl): Remove unused variables. Fix threshold for returning 1.0. * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (neval, deval): Constify argument. * sysdeps/ieee754/ldbl-128/s_erfl.c (neval, deval): Likewise, and remove unused variables. * sysdeps/ieee754/ldbl-128/e_j0l.c (neval, deval): Likewise. * sysdeps/ieee754/ldbl-128/e_j1l.c (neval, deval): Likewise, and include local math header files. 2001-11-22 Andreas Jaeger * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Add brace to avoid warning. 2001-11-21 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h: New file. * sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_headers): Add sys/debugreg.h 2001-11-15 Andreas Jaeger * include/features.h (__GLIBC_HAVE_LONG_LONG): Define for compilers that support it. * posix/sys/types.h: Use __GLIBC_HAVE_LONG_LONG. * sysdeps/unix/sysv/linux/bits/types.h: Likewise. * stdlib/stdlib.h: Likewise. 2001-11-17 Ulrich Drepper * posix/regex.c (byte_re_match_2_internal): For gcc replace switch statement with gotos. Based on a patch by Paolo Bonzini . 2001-11-16 Stephen L Moshier * sysdeps/ieee754/ldbl-96/s_erfl.c (__erfcl): Fix K&R header. 2001-11-15 Ulrich Drepper * sysdeps/generic/unwind-dw2-fde.c: Don't use recursive mutexes. 2001-10-02 Jakub Jelinek H.J. Lu * Versions.def (libc): Add GCC_3.0. * configure.in (libc_cv_gcc_static_libgcc): Set to -static-libgcc if gcc supports this flag. (EXPORT_UNWIND_FIND_FDE): Define unless target configure disables it. (gcc3): Allow glibc to be compiled with gcc 3.x. * config.h.in (EXPORT_UNWIND_FIND_FDE): Add. * config.make.in (static-libgcc, unwind-find-fde): Add. * Makerules (build-shlib-helper, build-module-helper): Use it. * scripts/versions.awk: Make sure GLIBC_ versions come first. * elf/soinit.c (__libc_global_ctors): Set tbases and dbases if necessary. (_fini): Call __deregister_frame_info_bases if __register_frame_info_bases was used to register. * elf/Versions (__register_frame_info, __deregister_frame_info): Add for GLIBC_2.0. (__register_frame_info_bases, __register_frame_info_table_bases, __deregister_frame_info_bases, _Unwind_Find_FDE): Add for GCC_3.0. * elf/Makefile (routines): Add unwind-dw2-fde. (shared-only-routines): Add unwind-dw2-fde. * sysdeps/alpha/gccframe.h: New file. * sysdeps/arm/gccframe.h: New file. * sysdeps/generic/framestate.c: New file. * sysdeps/generic/dwarf2.h: New file. * sysdeps/generic/gccframe.h (struct object): Update from gcc 3.0. * sysdeps/generic/unwind-dw2-fde.c: New file. * sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c: New file. * sysdeps/generic/unwind-dw2-fde.h: New file. * sysdeps/generic/unwind-dw2.c: New file. * sysdeps/generic/unwind-pe.h: New file. * sysdeps/generic/unwind.h: New file. * sysdeps/hppa/gccframe.h: New file. * sysdeps/i386/gccframe.h: New file. * sysdeps/m68k/gccframe.h: New file. * sysdeps/mips/gccframe.h: New file. * sysdeps/powerpc/gccframe.h: New file. * sysdeps/s390/gccframe.h: New file. * sysdeps/sh/gccframe.h: New file. * sysdeps/sparc/gccframe.h: New file. * sysdeps/vax/gccframe.h: New file. * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde): Set on all architectures except ia64. * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Set for i386. * sysdeps/mach/hurd/i386/Versions (__register_frame_info, __deregister_frame_info): Move to elf/Versions. * sysdeps/unix/sysv/linux/m68k/Versions: Likewise. * sysdeps/unix/sysv/linux/arm/Versions: Likewise. * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. * sysdeps/unix/sysv/linux/i386/Versions: Likewise. * sysdeps/unix/sysv/linux/mips/Versions: Likewise. * sysdeps/unix/sysv/linux/powerpc/Versions: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. * sysdeps/mach/hurd/i386/Makefile (sysdep-routines): Add framestate. * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. * sysdeps/unix/sysv/linux/mips/Makefile: Likewise. * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. * sysdeps/unix/sysv/linux/sparc/Makefile: Likewise. 2001-11-15 Jeff Law * posix/regex.c (uintptr_t): Do not provide a definition if the system provided one. 2001-11-13 Roland McGrath * stdio-common/tmpfile.c: Moved to ... * sysdeps/generic/tmpfile.c: ... here. * sysdeps/mach/hurd/tmpfile.c: New file. * hurd/fopenport.c (__fopenport): Renamed from fopenport. [USE_IN_LIBIO] (fopencookie): #define as _IO_fopencookie. (fopenport): Define as weak alias. * libio/iofopncook.c (_IO_fopencookie): Move forward declaration ... * libio/libioP.h: ... to here. 2001-11-12 Ulrich Drepper * elf/dl-reloc.c (_dl_relocate_object): Avoid iterating over program header twice. Construct list with the needed information. 2001-11-10 Ulrich Drepper * po/ca.po: Update from translation team. * elf/dl-load.c (_dl_map_object_from_fd): Remove use of _dl_pf_to_prot. Use arithmetic operation using PF_TO_PROT macro. * sysdeps/generic/ldsodefs.h (PF_TO_PROT): New macro. * elf/dl-reloc.c (_dl_relocate_object): Likewise. 2001-11-10 Andreas Jaeger * sysdeps/ieee754/ldbl-128/e_log2l.c: New file. * sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise. Contributed by Stephen L Moshier . 2001-11-09 Ulrich Drepper * elf/dl-minimal.c (realloc): Handle NULL for first parameter correctly. * elf/dl-load.c (is_dst): New function. (_dl_dst_count): Use is_dst to check for DST variable. (_dl_dst_substitute): Likewise. 2001-11-09 Roland McGrath Hurd/PowerPC port contributed by Peter Bruin . * sysdeps/mach/hurd/powerpc/exc2signal.c: New file. * sysdeps/mach/hurd/powerpc/init-first.c: New file. * sysdeps/mach/hurd/powerpc/intr-msg.h: New file. * sysdeps/mach/hurd/powerpc/longjmp-ts.c: New file. * sysdeps/mach/hurd/powerpc/register-dump.h: New file. * sysdeps/mach/hurd/powerpc/sigreturn.c: New file. * sysdeps/mach/hurd/powerpc/static-start.S: New file. * sysdeps/mach/hurd/powerpc/trampoline.c: New file. * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: New file. * sysdeps/mach/hurd/powerpc/Dist: New file. * hurd/privports.c (__get_privileged_ports): Only contact the proc server if necessary for this call. Suggested by Neal H Walfield . Check error return for mach_port_mod_refs. 2001-11-09 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/bits/resource.h: New file. 2001-11-09 Ulrich Drepper * elf/dl-load.c (lose): Remove some unnecessary code. The new object is always the last in the list. (_dl_map_object_from_fd): Delete code to remove from object list when DF_1_NOOPEN is seen. This is done in lose. 2001-11-08 Ulrich Drepper * elf/dl-object.c (_dl_new_object): Various small optimizations. 2001-11-07 Ulrich Drepper * sysdeps/generic/dl-cache.c: Optimize SEARCH_CACHE and HWCAP_CHECK macro code. * elf/dl-misc.c (_dl_sysdep_read_whole_file): Optimize code a bit. Now returns MAP_FAILED on error. * elf/rtld.c: Adjust caller. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/ldsodefs.h: Adjust description. * elf/dl-version.c (match_symbol): Optimize error handling for size. (_dl_check_map_versions): Likewise. 2001-11-06 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): Don't call _dl_signal_error directly, always use lose. Set fd to -1 after file is closed. (lose): Don't call close if fd == -1. 2001-11-07 Kaoru Fukui * manual/charset.texi: Fix typo @w[ISO 6937] to @w{ISO 6937}. Also fix typo @code {mbsinit} to @code{mbsinit}. 2001-11-06 Ulrich Drepper * elf/dl-profile.c: Replace state variable with simple flag named running. Remove commented-out code. * elf/dl-load.c (decompose_rpath): Optimize error handling for size. (_dl_init_paths): Likewise. (_dl_map_object_from_fd): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Likewise. 2001-11-06 Roland McGrath * sysdeps/mach/powerpc/sysdep.h: Include sysdeps/unix/powerpc/sysdep.h instead of sysdeps/powerpc/elf/sysdep.h and sysdeps/unix/sysdep.h. * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Don't include sysdeps/powerpc/elf/sysdep.h. Reported by Kaoru Fukui . 2001-11-05 Ulrich Drepper * elf/rtld.c (process_dl_debug): Rewritten. Optimized for size not speed. (process_envvars): Some more optimizations. * sysdeps/generic/ldsodefs.h (DL_DEBUG_HELP): New macro. * elf/elf.h: Add dynamic tag definitions for prelinking. * elf/rtld.c (process_envvars): Avoid using array of string pointers. Rewrite code to remove environment varables for SUID binaries. Small optimization in LD_PROFILE handling. * sysdeps/generic/unsecvars.h: Adjust format for process_envvars changes. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * sysdeps/generic/dl-sysdep.c: Don't initialize _dl_cpuclock_offset. * elf/dl-reloc.c (_dl_reloc_bad_type): Rewrite to not use writable strings. Change type of second parameter. * sysdeps/generic/ldsodefs.h: Adjust _dl_reloc_bad_type prototype for last change. * io/fts.h: Prevent using with _FILE_OFFSET_BITS=64. 2001-11-04 Joseph S. Myers * manual/string.texi: Fix typos. * manual/examples/argp-ex2.c: Likewise. 2001-11-05 Roland McGrath * sysdeps/powerpc/elf/sysdep.h: Remove this file, because it overrides the more-specific unix/sysv/linux/powerpc file and breaks everything. * sysdeps/powerpc/sysdep.h (ALIGNARG, ASM_TYPE_DIRECTIVE, ASM_SIZE_DIRECTIVE, CALL_MCOUNT, ENTRY, EALIGN, DO_CALL, JUMPTARGET, PSEUDO, PSEUDO_RET, PSEUDO_END, L, C_TEXT): These macros moved here here, put under [__ELF__]. 2001-11-05 Ulrich Drepper * manual/charset.texi: Extensive editing work. * manual/nss.texi: Likewise. Changes by Dennis Grace . 2001-11-04 Roland McGrath * hurd/set-host.c (_hurd_set_host_config): Use O_WRONLY in flags parameter to dir_mkfile. 2001-11-02 Jakub Jelinek * string/bits/string2.h (__strndup): If n is smaller than len, set len to n + 1. * string/tester.c (test_strndup): New function. (main): Call it. 2001-11-01 Ulrich Drepper * sunrpc/rpc_main.c: Optimize variable definitions a bit. * sunrpc/Makefile (rpcgen-cmd): Use ../scripts/cpp in rpcgen calls. * scripts/cpp: New file. * elf/dl-load.c (_dl_map_object): Correct test of DF_1_NODEFLIB for rtld_search_dirs content. Minor optimizations. 2001-10-31 Ulrich Drepper * elf/dl-load.c (_dl_map_object): Make code a bit more compact by avoiding unnecessary duplication. 2001-10-31 Jakub Jelinek * elf/dl-load.c (_dl_map_object): If library was found using LD_LIBRARY_PATH, don't try RUNPATH list. 2001-10-31 Martin Schwidefsky * sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h (REGISTER_DUMP): Correct second argument of register_dump call. * sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h (REGISTER_DUMP): Likewise. 2001-10-31 Ulrich Drepper * iconvdata/Makefile: Add support for IBM1132, IBM1133, and IBM1162 modules. * iconvdata/TESTS: Likewise. * iconvdata/gconv-modules: Likewise. * iconvdata/ibm1132.c: New file. * iconvdata/ibm1132.h: New file. * iconvdata/ibm1133.c: New file. * iconvdata/ibm1133.h: New file. * iconvdata/ibm1162.c: New file. * iconvdata/ibm1162.h: New file. * iconvdata/testdata/IBM1132: New file. * iconvdata/testdata/IBM1132..UTF8: New file. * iconvdata/testdata/IBM1133: New file. * iconvdata/testdata/IBM1133..UTF8: New file. * iconvdata/testdata/IBM1162: New file. * iconvdata/testdata/IBM1162..UTF8: New file. Patches by Masahide Washizawa . * string/string.h: Fix typo in comment. * wcsmbs/wchar.h: Likewise. 2001-10-30 Joseph S. Myers * manual/getopt.texi (getopt_long, getopt_long_only): Include const in type of longopts parameter. 2001-10-29 Andreas Jaeger * sysdeps/ieee754/dbl-64/mpa.h: Add prototypes for internal functions. 2001-10-29 Kevin Ryde * manual/stdio.texi (Integer Conversions): Corrections to sample printf output, clarify `#' behaviour on 0. (Floating-Point Conversions): Clarify that %g only uses %e when the exponent would be greater than 1. 2001-10-28 Roland McGrath Support for Mach/PowerPC contributed by Peter Bruin . * sysdeps/mach/powerpc/machine-sp.h: New file. * sysdeps/mach/powerpc/sysdep.h: New file. * sysdeps/mach/powerpc/thread_state.h: New file. * sysdeps/mach/hurd/i386/Makefile: File removed; crt0.o rules moved ... * sysdeps/mach/hurd/Makefile: ... to here. For the time being, we can expect to need the same thing on every platform. * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: File moved ... * sysdeps/generic/sys/ucontext.h: ... to replace this one. * sysdeps/unix/sysv/linux/powerpc/sysdep.h (ALIGNARG, ASM_TYPE_DIRECTIVE, ASM_SIZE_DIRECTIVE, CALL_MCOUNT, ENTRY, EALIGN, DO_CALL, JUMPTARGET, PSEUDO, PSEUDO_RET, PSEUDO_END, L, C_TEXT): Move all these assembly-related definitions to ... * sysdeps/powerpc/elf/sysdep.h: ... this new file. * sysdeps/mach/powerpc/machine-lock.h: Assembly code rewritten by Peter Bruin . * hurd/hurdselect.c (_hurd_select): Check SELECT_RETURNED bit when packing results for a `poll' call. 2001-10-26 Ulrich Drepper * posix/fnmatch_loop.c: Recognize - at end of bracket expression correctly. * posix/tst-fnmatch.input: Add tests for - at beginning and end of bracket expression. * string/strxfrm.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get nrules value. * string/tst-strxfrm.c (test): Also test __strxfrm_l. 2001-10-24 H.J. Lu * sysdeps/generic/bits/dlfcn.h (DL_CALL_FCT): Cast to void *. Use __BEGIN_DECLS/__END_DECLS around prototypes. * sysdeps/mips/bits/dlfcn.h (DL_CALL_FCT): Likewise. 2001-10-21 Jim Meyering * malloc/obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise, this code would end up calling gettext even in packages built with --disable-nls. * posix/getopt.c (_): Likewise. * posix/regex.c (_): Likewise. 2001-10-26 Ulrich Drepper * resolv/gethnamaddr.c (gethostbyaddr): Use ip6.addr for reverse lookup not ip6.int. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. Reported by Martin.v.Loewis@t-online.de [PR libc/2598]. 2001-10-19 Jakub Jelinek * misc/sys/cdefs.h (__attribute_used__): Define. * elf/rtld.c (_dl_start): Add __attribute_used__. * elf/dl-runtime.c (fixup, profile_fixup): Likewise. 2001-10-25 Andreas Schwab * stdlib/a64l.c: Expect least significant digit first. * stdlib/l64a.c: Produce least significant digit first. * stdlib/Makefile (tests): Add test-a64l. * stdlib/test-a64l.c: New file. Reported by Masaki Hasegawa . 2001-10-21 Ulrich Drepper * po/sk.po: Update from translation team. 2001-10-18 Ulrich Drepper * sysdeps/i386/elf/start.S (_fp_hw): Define object type. 2001-10-18 Andreas Schwab * math/libm-test.inc (print_ulps): Print ulp values rounded to next whole number. (print_function_ulps): Likewise. (print_complex_function_ulps): Likewise. (print_max_error): Likewise. (print_complex_max_error): Likewise. Handle ignore_max_ulp. 2001-10-16 Andreas Schwab * sysdeps/m68k/fpu/libm-test-ulps: Updated for fixed cbrtl implementation. * sysdeps/m68k/setjmp.c: Also define setjmp and _setjmp if BSD_SETJMP or BSD__SETJMP is defined, resp. * sysdeps/m68k/bsd-setjmp.c: Inline setjmp code instead of making a tail call to __sigsetjmp that would require extending the caller's frame. * sysdeps/m68k/bsd-_setjmp.c: Likewise. * sysdeps/m68k/bsd-setjmp.S: Deleted. * sysdeps/m68k/bsd-_setjmp.S: Deleted. Reported by Jes Sorensen . 2001-10-16 Andreas Jaeger * sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Fix parentheses. Reported by David Byron , close PR libc/2589. 2001-10-15 Ulrich Drepper * po/ca.po: New file. Contributed by the translation team. 2001-10-15 Ralf Baechle * sysdeps/unix/sysv/linux/mips/sys/sysmips.h: Make sysmips() prototype a varargs prototype. Remove dependency from kernel header files. * sysdeps/unix/sysv/linux/mips/bits/termios.h: General cleanup, use __USE_MISC / __USE_XOPEN not __USE_BSD where appropriate. 2001-10-14 Ulrich Drepper * locale/programs/ld-collate.c (handle_ellipsis): Use %lX not %lx to generate hexadecimal identifier. Patch by Jungshik Shin . 2001-10-09 Stephen L Moshier * sysdeps/ieee754/ldbl-96/s_cbrtl.c (__cbrtl): Fix algorithm. 2001-10-14 Ulrich Drepper * sysdeps/ieee754/ldbl-128/e_powl.c: New file. * sysdeps/ieee754/ldbl-128/s_cbrtl.c: New file. Contributed by Stephen L Moshier . * sysdeps/ieee754/ldbl-128/e_j0l.c: Constify float variables. * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise * sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise * sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise * timezone/africa: Update from tzdata2001d. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/backward: Likewise. * timezone/europe: Likewise. * timezone/leapseconds: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * timezone/zone.tab: Likewise. 2001-10-09 Martin Schwidefsky * sysdeps/s390/s390-32/sys/ucontext.h: Correct __psw_t typedef. * sysdeps/s390/s390-64/sys/ucontext.h: Likewise. 2001-10-12 Ulrich Drepper * elf/elf.h (PT_TLS): New definition. 2001-10-10 Jeff Bailey * sysdeps/mach/hurd/Makefile: Add $(CFLAGS) for generation of bits/errno.h 2001-10-07 Roland McGrath * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Never return ENOSYS. 2001-10-10 Ulrich Drepper * elf/elf.h: Add more ELFOSABI_* constants. 2001-10-04 Ben Collins * sysdeps/generic/inttypes.h: Fix typo (define, not defined) in decleration of __need_wchar_t. 2001-10-03 Jakub Jelinek * string/bits/string2.h (__strsep_g): Add prototype. (__strsep): Use it. * string/Versions (__strsep): Remove. * sysdeps/generic/strsep.c (__strsep_g): Add alias to __strsep. 2001-10-07 Ulrich Drepper * manua/llio.texi: Clarify file references added by mmap. Patch by Marcus Brinkmann . 2001-09-29 Jes Sorensen * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): Add sc_loadrs and sc_rbs_bas to match current kernel. 2001-09-27 Jakub Jelinek * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Fix erfc(-inf). 2001-09-27 Jakub Jelinek * elf/dl-open.c (dl_open_worker): If l_opencount of freshly loaded object has been bumped because of relocation dependency, avoid duplicates in l_scope. (show_scope): Fix typos. * elf/Makefile: Add rules to build and run reldep6. * elf/reldep6.c: New file. * elf/reldep6mod0.c: New file. * elf/reldep6mod1.c: New file. * elf/reldep6mod2.c: New file. * elf/reldep6mod3.c: New file. * elf/reldep6mod4.c: New file. 2001-09-26 Jakub Jelinek * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Call sparc64_fixup_plt. (sparc64_fixup_plt): Moved from elf_machine_fixup_plt. Optimize near jumps and 0xfffff800XXXXXXXX target addresses, no thread safety for non-lazy binding. Fix .plt[32768+] handling. (elf_machine_plt_value): Don't add addend. (elf_machine_rela): Call sparc64_fixup_plt instead of elf_machine_fixup_plt. (elf_machine_runtime_setup, TRAMPOLINE_TEMPLATE): Optimize for dynamic linker at 0xfffff800XXXXXXXX. * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update. 2001-09-28 Ulrich Drepper * elf/elf.h: Define SHF_GROUP and SHF_TLS. 2001-09-25 Jakub Jelinek * sysdeps/unix/bsd/bsd4.4/bits/socket.h (struct cmsghdr): Don't declare __cmsg_data field if its size would be bigger than 0. (CMSG_DATA): Adjust accordingly. * sysdeps/unix/sysv/aix/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise. 2001-09-25 Ulrich Drepper * iconvdata/TESTS: Add entries for IBM1160 and IBM1161. * iconvdata/testdata/IBM1160: New file. * iconvdata/testdata/IBM1160..UTF8: New file. * iconvdata/testdata/IBM1161: New file. * iconvdata/testdata/IBM1161..UTF8: New file. Patch by Masahide Washizawa . 2001-09-24 Ulrich Drepper * sysdeps/unix/bsd/ulimit.c (ulimit): Handle overflow in UL_SETFSIZE computations better. * rt/Makefile: Remove use of filter for librt again. * sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Handle overflow in UL_SETFSIZE computations better. * string/Versions: Export __strsep for GLIBC_2.2.5. * string/bits/string2.h: Define all __STRING_INLINE functions if _FORCE_INLINES is defined. Use int instead of char of parameter types. (__strsep): Don't use __strsep_g. Don't define it. (__strsep_1c, __strsep_2c, __strsep_3c): Optimize. * sysdeps/i386/i486/string.h (__strcpy_a_small): Renamed from __strcpy_small. (__stpcpy_a_small): Renamed from __stpcpy_small. (__strcspn_c1): Don't define if _FORCE_INLINES. (__strspn_c1): Likewise. 2001-09-22 Ben Collins * sysdeps/sparc/bits/sigaction.h: Define SA_RESTART and friends when _UNIX98_SOURCE is defined too. Matches generic/bits/sigaction.h. * sysdeps/ia64/bits/sigaction.h: Likewise. * sysdeps/s390/s390-64/bits/sigaction.h: Likewise. 2001-09-24 Andrew Haley * sysdeps/unix/sysv/linux/sh/Makefile (sysdep_headers): Add sys/io.h. 2001-09-24 Jakub Jelinek * elf/dl-open.c (dl_open_worker): Update l_scope_max. 2001-09-24 Ulrich Drepper * wcsmbs/wchar.h: Add __attribute_pure__ to mbsinit prototype. 2001-09-20 H.J. Lu * include/dlfcn.h (__RTLD_SPROF): New definiton. * elf/dl-open.c (dl_open_worker): Return immediately after loading for __RTLD_SPROF. * elf/sprof.c (main): Default to the filename if soname doesn't exist. (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF'. 2001-09-20 H.J. Lu * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, don't add 1. 2001-09-22 Ulrich Drepper * nss/getent.c: Accept -s parameter to overwrite rules in nsswitch.conf. Patch by Nalin Dahyabhai . * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string with as many ".0" as necessary to form a complete address inet_network understands. * nss/getent.c: Various cleanups. Use simpler and fewer function calls. 2001-09-20 Martin Schwidefsky * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in _JMPBUF_UNWINDS. * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. 2001-09-22 Ulrich Drepper * iconvdata/Makefile: Add rules to build and distribute IBM1160 and IBM1161. * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. * iconvdata/ibm1160.c: New file. * iconvdata/ibm1160.h: New file. * iconvdata/ibm1161.c: New file. * iconvdata/ibm1161.h: New file. Patch by Masahide Washizawa . 2001-09-19 Jakub Jelinek * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the difference between base address and first PT_LOAD's virtual address, not the base address. 2001-09-11 Tom Rix * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG ifdef for __getopt_clean_environment. * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. 2001-09-22 Andreas Jaeger * elf/reldep4.c (main): Add proper prototype to fix warning. * elf/reldep5.c (main): Remove unused variable. * math/math_private.h: Add prototypes. 2001-09-21 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/Dist: New file. * sysdeps/x86_64/Dist: New file. * sysdeps/x86_64/soft-fp/Dist: New file. * sysdeps/gnu/Dist: Remove eval.c. 2001-09-20 Ulrich Drepper * malloc/memusage.c (realloc): Don't count already allocated memory in the sums. (me): Always use dlsym() to find the real implementations. * malloc/memusage.sh: Make -n option actually do something. 2001-09-20 Andreas Jaeger * elf/elf.h (R_390_NUM): Correct value. * Versions.def: Add missing versions 2.2.3 for libthread_db and libpthread. * sysdeps/unix/sysv/linux/configure.in: Add minimal kernel version for x86-64, install x86-64 into */lib64. * shlib-versions: Add x86-64. * elf/elf.h: Add x86-64 relocations. 2001-09-19 Ulrich Drepper * po/fr.po: Update from translation team. 2001-09-19 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/Makefile: New file. * sysdeps/unix/sysv/linux/x86_64/Versions: New file. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/time.h: New file. * sysdeps/unix/sysv/linux/x86_64/bits/types.h: New file. * sysdeps/unix/sysv/linux/x86_64/brk.c: New file. * sysdeps/unix/sysv/linux/x86_64/clone.S: New file. * sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: New file. * sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: New file. * sysdeps/unix/sysv/linux/x86_64/fxstat.c: New file. * sysdeps/unix/sysv/linux/x86_64/fxstat64.c: New file. * sysdeps/unix/sysv/linux/x86_64/getdents.c: New file. * sysdeps/unix/sysv/linux/x86_64/getdents64.c: New file. * sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: New file. * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: New file. * sysdeps/unix/sysv/linux/x86_64/glob64.c: New file. * sysdeps/unix/sysv/linux/x86_64/lxstat.c: New file. * sysdeps/unix/sysv/linux/x86_64/lxstat64.c: New file. * sysdeps/unix/sysv/linux/x86_64/mmap64.c: New file. * sysdeps/unix/sysv/linux/x86_64/pread64.c: New file. * sysdeps/unix/sysv/linux/x86_64/profil-counter.h: New file. * sysdeps/unix/sysv/linux/x86_64/pwrite64.c: New file. * sysdeps/unix/sysv/linux/x86_64/readdir.c: New file. * sysdeps/unix/sysv/linux/x86_64/readdir64.c: New file. * sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: New file. * sysdeps/unix/sysv/linux/x86_64/readdir_r.c: New file. * sysdeps/unix/sysv/linux/x86_64/recv.c: New file. * sysdeps/unix/sysv/linux/x86_64/register-dump.h: New file. * sysdeps/unix/sysv/linux/x86_64/send.c: New file. * sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: New file. * sysdeps/unix/sysv/linux/x86_64/sigaction.c: New file. * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: New file. * sysdeps/unix/sysv/linux/x86_64/sigpending.c: New file. * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c: New file. * sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: New file. * sysdeps/unix/sysv/linux/x86_64/statfs64.c: New file. * sysdeps/unix/sysv/linux/x86_64/sys/perm.h: New file. * sysdeps/unix/sysv/linux/x86_64/sys/procfs.h: New file. * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: New file. * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: New file. * sysdeps/unix/sysv/linux/x86_64/sys/user.h: New file. * sysdeps/unix/sysv/linux/x86_64/syscall.S: New file. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: New file. * sysdeps/unix/sysv/linux/x86_64/sysdep.S: New file. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: New file. * sysdeps/unix/sysv/linux/x86_64/time.c: New file. * sysdeps/unix/sysv/linux/x86_64/truncate64.c: New file. * sysdeps/unix/sysv/linux/x86_64/umount.c: New file. * sysdeps/unix/sysv/linux/x86_64/vfork.S: New file. * sysdeps/unix/sysv/linux/x86_64/xstat.c: New file. * sysdeps/unix/sysv/linux/x86_64/xstat64.c: New file. * sysdeps/unix/x86_64/sysdep.S: New file. * sysdeps/unix/x86_64/sysdep.h: New file. * sysdeps/x86_64/Implies: New file. * sysdeps/x86_64/Makefile: New file. * sysdeps/x86_64/Versions: New file. * sysdeps/x86_64/__longjmp.S: New file. * sysdeps/x86_64/abort-instr.h: New file. * sysdeps/x86_64/atomicity.h: New file. * sysdeps/x86_64/bits/endian.h: New file. * sysdeps/x86_64/bits/setjmp.h: New file. * sysdeps/x86_64/bits/string.h: New file. * sysdeps/x86_64/bp-asm.h: New file. * sysdeps/x86_64/bsd-_setjmp.S: New file. * sysdeps/x86_64/bsd-setjmp.S: New file. * sysdeps/x86_64/dl-machine.h: New file. * sysdeps/x86_64/elf/initfini.c: New file. * sysdeps/x86_64/elf/start.S: New file. * sysdeps/x86_64/ffs.c: New file. * sysdeps/x86_64/ffsll.c: New file. * sysdeps/x86_64/fpu/bits/fenv.h: New file. * sysdeps/x86_64/fpu/bits/mathdef.h: New file. * sysdeps/x86_64/fpu/e_acosl.c: New file. * sysdeps/x86_64/fpu/e_atan2l.c: New file. * sysdeps/x86_64/fpu/e_exp2l.S: New file. * sysdeps/x86_64/fpu/e_expl.c: New file. * sysdeps/x86_64/fpu/e_fmodl.S: New file. * sysdeps/x86_64/fpu/e_log10l.S: New file. * sysdeps/x86_64/fpu/e_log2l.S: New file. * sysdeps/x86_64/fpu/e_logl.S: New file. * sysdeps/x86_64/fpu/e_powl.S: New file. * sysdeps/x86_64/fpu/e_rem_pio2l.c: New file. * sysdeps/x86_64/fpu/e_scalbl.S: New file. * sysdeps/x86_64/fpu/e_sqrtl.c: New file. * sysdeps/x86_64/fpu/fclrexcpt.c: New file. * sysdeps/x86_64/fpu/fedisblxcpt.c: New file. * sysdeps/x86_64/fpu/feenablxcpt.c: New file. * sysdeps/x86_64/fpu/fegetenv.c: New file. * sysdeps/x86_64/fpu/fegetexcept.c: New file. * sysdeps/x86_64/fpu/fegetround.c: New file. * sysdeps/x86_64/fpu/feholdexcpt.c: New file. * sysdeps/x86_64/fpu/fesetenv.c: New file. * sysdeps/x86_64/fpu/fesetround.c: New file. * sysdeps/x86_64/fpu/fgetexcptflg.c: New file. * sysdeps/x86_64/fpu/fraiseexcpt.c: New file. * sysdeps/x86_64/fpu/fsetexcptflg.c: New file. * sysdeps/x86_64/fpu/ftestexcept.c: New file. * sysdeps/x86_64/fpu/libm-test-ulps: New file. * sysdeps/x86_64/fpu/math_ldbl.h: New file. * sysdeps/x86_64/fpu/printf_fphex.c: New file. * sysdeps/x86_64/fpu/s_atanl.c: New file. * sysdeps/x86_64/fpu/s_cosl.S: New file. * sysdeps/x86_64/fpu/s_expm1l.S: New file. * sysdeps/x86_64/fpu/s_fpclassifyl.c: New file. * sysdeps/x86_64/fpu/s_isinfl.c: New file. * sysdeps/x86_64/fpu/s_isnanl.c: New file. * sysdeps/x86_64/fpu/s_log1pl.S: New file. * sysdeps/x86_64/fpu/s_logbl.c: New file. * sysdeps/x86_64/fpu/s_nextafterl.c: New file. * sysdeps/x86_64/fpu/s_nexttoward.c: New file. * sysdeps/x86_64/fpu/s_nexttowardf.c: New file. * sysdeps/x86_64/fpu/s_rintl.c: New file. * sysdeps/x86_64/fpu/s_significandl.c: New file. * sysdeps/x86_64/fpu/s_sincosl.S: New file. * sysdeps/x86_64/fpu/s_sinl.S: New file. * sysdeps/x86_64/fpu/s_tanl.S: New file. * sysdeps/x86_64/gmp-mparam.h: New file. * sysdeps/x86_64/hp-timing.c: New file. * sysdeps/x86_64/hp-timing.h: New file. * sysdeps/x86_64/htonl.S: New file. * sysdeps/x86_64/memusage.h: New file. * sysdeps/x86_64/setjmp.S: New file. * sysdeps/x86_64/soft-fp/sfp-machine.h: New file. * sysdeps/x86_64/stackinfo.h: New file. * sysdeps/x86_64/sysdep.h: New file. * sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed: New file. * sysdeps/ieee754/ldbl-128/s_erfl.c: New file, contributed Stephen L Moshier. 2001-09-18 Ulrich Drepper * malloc/malloc.c (ptmalloc_init): Handle _environ==NULL. Reported by B. D. Elliott [PR libc/2541]. 2001-09-18 Andreas Schwab * elf/dl-load.c (_dl_map_object_from_fd): Update handling of scope list, now that l_scope is a pointer. * elf/dl-open.c (dl_open_worker): Fix thinko when enlarging the scope list. 2001-09-18 kaz Kojima * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix reverse condition. (elf_machine_rela_relative): Add a missing declaration. 2001-09-18 Jakub Jelinek * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New file. * sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New file. * sysdeps/unix/sysv/linux/configure.in: Add ia64 and s390 ldd-rewrite scripts. 2001-09-18 Ulrich Drepper * elf/ldd.bash.in: Update copyright message. 2001-09-17 H.J. Lu * hurd/hurdmalloc.c (bcopy): Removed. (realloc): Replace bcopy with memcpy. * hurd/path-lookup.c (file_name_path_scan): Likewise. * resolv/gethnamaddr.c (map_v4v6_address): Likewise. * sunrpc/rpcinfo.c (pmapdump): Likewise. * resolv/gethnamaddr.c (getanswer): Replace bcopy with memmove. (gethostbyaddr): Likewise. * sunrpc/rpcinfo.c (get_inet_address): Likewise. 2001-09-18 Ulrich Drepper * sysdeps/gnu/eval.c: Removed. 2001-09-18 Andreas Jaeger * sysdeps/i386/fpu/s_logbl.S: Move to ... * sysdeps/i386/fpu/s_logbl.c: ...here, use inline assembler. * sysdeps/i386/fpu/s_rintl.S: Move to ... * sysdeps/i386/fpu/s_rintl.c: ...here, use inline assembler. * sysdeps/i386/fpu/s_significandl.S: Move to ... * sysdeps/i386/fpu/s_significandl.c: ...here, use inline assembler. 2001-09-16 Ulrich Drepper * string/strcoll.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get nrules value. 2001-09-14 H.J. Lu * sysdeps/mips/fpu/libm-test-ulps: Updated. 2001-09-14 Ulrich Drepper * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix a typo. Patch by Florian La Roche . * string/bits/string2.h (__strtok_r_1c): Optimize a bit. * sysdeps/unix/sysv/linux/net/ethernet.h: Correct references to ETHER_CRC_LEN. 2001-09-14 Andreas Schwab * posix/execl.c: Fix last argument of memcpy. Reported by Brian Sumner . * posix/execlp.c: Likewise. 2001-09-13 Jakub Jelinek * elf/dl-deps.c (_dl_map_object_deps): Fix filter handling if filter is already found earlier in the search scope. 2001-09-12 Jakub Jelinek * rt/Makefile (LDFLAGS-rt.so): Use shared thread library as librt's filter. 2001-09-13 Ulrich Drepper * sysdeps/powerpc/fpu/libm-test-ulps: Adjust expected errors for j0. 2001-09-12 Ulrich Drepper * config.h.in: Enforce optimization to be used. * Makeconfig (preprocess-versions): Define ASSEMBLER. * stdlib/Makefile (isomac-CFLAGS): Define to -O. * posix/Makefile (annexc-CFLAGS): Define to -O. * sysdeps/unix/make-syscalls.sh: Define __OPTIMIZE__ in use of asm_CPP. 2001-09-11 Ulrich Drepper * nscd/nscd_gethst_r.c: Don't expect IPv6 addresses for IPv4 lookup. Patch by Stephan Kulow. 2001-09-08 Ben Collins * sysdeps/arm/dl-machine.h (elf_machine_rel): Fix thinko in usage of RESOLVE() (r_type, not reloc->r_type). 2001-09-08 Ulrich Drepper * elf/dl-object.c: Avoid allocating extra memory block for name. * elf/dl-close.c (_dl_close): Don't free l_libname if it is not allocated separately. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. 2001-09-08 H.J. Lu * po/zh_TW.po: Fix a typo. 2001-09-07 Tom Rix * sysdeps/unix/sysv/aix/sysv_termio.h: New file. 2001-08-26 Tom Rix * sysdeps/unix/sysv/aix/Makefile (aix-syscalls.o): More linker command line options. * sysdeps/unix/sysv/aix/start.s: New file, rework of start.c * sysdeps/unix/sysv/aix/start.c: Removed. * sysdeps/unix/sysv/aix/start-libc.c: New file. * sysdeps/unix/sysv/aix/init-first.c: New file. * sysdeps/unix/sysv/aix/fcntl.c: Alias __libc_fcntl to __fcntl. 2001-09-08 Ben Collins * sysdeps/arm/dl-machine.h: Fix usage of new _dl_signal_error() format. * sysdeps/generic/dl-machine.h: Likewise. * sysdeps/hppa/dl-fptr.c: Likewise. * sysdeps/ia64/dl-fptr.c: Likewise. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/mips/dl-machine.h: Likewise. * sysdeps/mips/mips64/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.c: Likewise. 2001-09-07 Ben Collins * sysdeps/sparc/sparc32/dl-machine.h: Fix typo. * sysdeps/hppa/dl-lookupcfg.h: Forward declare struct link_map. 2001-09-08 Ulrich Drepper * elf/dl-lookup.c (add_dependency): Bump l_opencount of all dependencies if necessary. * elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't loaded directly) determine length if l_initfini list by iterating over its elements. Minor optimizations. * elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini for dependency objects. If object was already loaded check whether any of the dependencies is already on the relocation dependency list. If yes, remove the latter. Minor optimizations. * elf/dl-lookup.c (add_dependency): Add check for self reference of maps here. Search l_initfini list only if the object was loaded directly and not only as a dependency. (_dl_lookup_symbol): Add relocation dependency also if object is not in global scope. Remove test for self-reference here. (_dl_lookup_versioned_symbol): Likewise. * elf/dl-object (_dl_new_object): Cleanup. Initialize dont_free element of first name record. * elf/loadtest.c: Add some more test to recognize early if an object wasn't unloaded. * elf/Makefile: Add rules to build and run reldep5. * elf/reldep5.c: New file. * elf/reldepmod5.c: New file. * elf/reldepmod6.c: New file. * elf/reldep2.c: Fix typo. 2001-09-07 Ulrich Drepper * include/link.h (struct link_map): Add l_scope_mem and l_scope_max elements. Change l_scope to be a pointer only. * elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max. * elf/dl-open.c (dl_open_worker): If dependency wasn't just opened here add searchlist of newly open file to the dependency's scope. * elf/dl-close.c (_dl_close): If dependency is used otherwise remove only searchlist from its scope. Free own scope array if necessary. * elf/Makefile (tests): Add dblload and dblunload now. 2001-09-06 Andreas Jaeger * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: New file, contributed Stephen L Moshier. 2001-09-05 Ulrich Drepper * elf/Makefile: Add rules to build new tests. Don't run them yet since they both fail. * elf/dblload.c: New file. * elf/dblloadmod1.c: New file. * elf/dblloadmod2.c: New file. * elf/dblloadmod3.c: New file. * elf/dblunload.c: New file. 2001-09-04 Richard Henderson * elf/elf.h (R_ALPHA_OP_*, R_ALPHA_IMMED_*): Remove. (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16. 2001-09-04 Ulrich Drepper Correct very misleading message for error in failed runtime relocation. * elf/dl-error.c (_dl_signal_error): Take extra parameter to describe place of the error. (_dl_signal_cerror): Likewise. * sysdeps/generic/ldsodefs.h: Adjust prototypes. * elf/dl-close.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. 2001-09-04 Jakub Jelinek * iconv/strtab.c (strtabinit): Initialize null Strent. (newstring): Move len == 0 handling... (strtabadd): ...here. If len == 1, return null Strent. When inserting a suffix of an existing string, check if it is not equal to some suffix already recorded. Copy left and right members over if adding longer string. 2001-09-04 Jakub Jelinek * sunrpc/rpc_cout.c (upcase): Account for trailing '\0'. * sysdeps/unix/sysv/linux/alpha/gethostname.c: Include . (__syscall_gethostname): Add prototype. 2001-09-04 Ulrich Drepper * elf/dl-object.c (_dl_new_object): Remove unnecessary if. 2001-09-02 Ulrich Drepper * elf/rtld.c (dl_main): Increment l_opencount for main binary. 2001-08-27 Roland McGrath * sysdeps/unix/sysv/gethostname.c (__gethostname): When LEN is too short, copy that much into NAME anyway before returning error. 2001-09-01 Richard Henderson * sysdeps/alpha/elf/Dist: Remove file. * sysdeps/alpha/elf/Makefile: Remove file. * sysdeps/alpha/elf/crtbegin.S: Remove file. * sysdeps/alpha/elf/crtend.S: Remove file. * sysdeps/alpha/elf/initfini.c: New file. 2001-09-01 Mark Kettenis * iconv/tst-iconv1.c: Include for wchar_t. * iconv/tst-iconv3.c: Likewise. 2001-09-01 Jakub Jelinek * sysdeps/generic/inttypes.h (__gwchar_t): Define to wchar_t for C++. 2001-09-01 Ulrich Drepper * iconv/gconv_cache.c: Rename variable cache to __gconv_cache and export it. * iconv/Versions (libc) [GLIBC_2.2.5]: Export __gconv_cache. * iconv/iconv_prog.c (insert_cache): New function. (print_known_names): If cache is used call insert_cache to use the information from the cache [PR libc/2509]. 2001-08-31 Ulrich Drepper * time/strptime.c (strptime_internal): Recognize 'l' format and handle it like 'I' for symmetry with strftime. 2001-08-31 Richard Henderson * elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL. (HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present. * elf/rtld.c (HP_TIMING_AVAIL): Likewise. (print_statistics): Make scalar unsigned long long. * sysdeps/alpha/hp-timing.h: New file. 2001-08-31 Jakub Jelinek * stdio-common/perror.c (perror): Save errno early, pass it down to perror_internal. (perror_internal): Add errnum argument. 2001-08-31 Jakub Jelinek * sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code. Don't add old memory content for R_ALPHA_REFQUAD. 2001-08-30 Ulrich Drepper * crypt/md5-crypt.c (__md5_crypt_r): Compute used and required memory correctly. * sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Use __open instead of open, __close instead of close, __getpagesize instead of getpagesize. * string/argz-stringify.c (__argz_stringify): Use __strnlen instead of strnlen. * include/string.h (strndupa): Redefine here to use __strnlen instead of strnlen. * string/strndup.c (__strndup): Use __strnlen not strnlen. * misc/syslog.c (vsyslog): Fix typo in last change (connect -> connected). 2001-08-30 Jakub Jelinek * sysdeps/alpha/dl-machine.h (elf_machine_rela): Don't handle R_ALPHA_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC. Only check for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined. * sysdeps/i386/dl-machine.h (elf_machine_rel): Similarly. * sysdeps/ia64/dl-machine.h (elf_machine_rel): Similarly. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rel): Similarly. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rel): Similarly. 2001-08-30 Ulrich Drepper * sysdeps/alpha/fpu/libm-test-ulps: Adjust j0 ULPs. 2001-08-30 Andreas Jaeger * sysdeps/ieee754/ldbl-128/e_jnl.c: New file, contributed Stephen L Moshier. 2001-08-30 Jakub Jelinek * sunrpc/etc.rpc (sgi_fam): Add. 2001-08-30 Ulrich Drepper * sysdeps/unix/sysv/linux/alpha/gethostname.c: New file. 2001-08-29 Ulrich Drepper * nis/nis_findserv.c (__nis_findfastest): Don't fail if reply received first is from a previous call. Patch by Alexander Belopolsky for [PR libc/3670]. 2001-08-29 Andreas Schwab * sysdeps/ia64/fpu/libm-test-ulps: Updated. 2001-08-25 Maciej W. Rozycki * config.make.in (INSTALL_SCRIPT): Define. * Makeconfig (INSTALL_SCRIPT): Define. * Makerules (do-install-script): New macro to install scripts using INSTALL_SCRIPT. (install-bin-script): New rule to install scripts with do-install-script. (install-bin-script-nosubdir): New rule. (install-no-libc.a-nosubdir): Add install-bin-script-nosubdir. (distinfo-vars): Add $(install-bin-script). * Rules (others): Likewise. * Makefile (glibcbug): Install with install-bin-script. * debug/Makefile (xtrace): Likewise. (catchsegv): Likewise. * elf/Makefile (ldd): Likewise. * malloc/Makefile (mtrace): Likewise. * timezone/Makefile (tzselect): Likewise. 2001-08-29 H.J. Lu * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Pass ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to _dl_lookup_versioned_symbol () and _dl_lookup_symbol (). 2001-08-29 Andreas Schwab * sysdeps/m68k/fpu/libm-test-ulps: Updated. 2001-08-28 H.J. Lu * Makeconfig (combreloc-LDFLAGS): New variable. Add it to LDFLAGS.so, LDFLAGS-rtld, and +link. * config.make.in (have-z-combreloc): New variable. * configure.in: Substitute libc_cv_z_combreloc. 2001-08-29 Ulrich Drepper * po/sv.po: Update from translation team. * po/fr.po: Likewise. * po/da.po: Likewise. 2001-08-28 Maciej W. Rozycki * Makerules: Fix a typo: MD% -> MD5. 2001-08-28 Ulrich Drepper * sunrpc/rpc_hout.c (pargdef): Function must take pointer to object. Patch by Patrick Duval . 2001-08-28 Andreas Jaeger * manual/libc-texinfo.sh: Add entry about free manuals. * manual/contrib.texi (Contributors): Fix cross reference. * manual/libc.texinfo (Copying): Include freemanuals. * manual/Makefile (appendices): Add freemanuals. * manual/freemanuals.texi: New file. Patch by Brian Youmans <3diff@gnu.org>. * manual/libm-err-tab.pl: Pretty print more platforms, print a smaller table. * manual/math.texi (Errors in Math Functions): Fix grammar, start table on separate page. Patch by Brian Youmans <3diff@gnu.org>. 2001-08-27 Ulrich Drepper * misc/syslog.c (vsyslog): Try a bit harder to use syslogd. If the connection went down after we first used it try to connect again and resend the message before printing to the console. Reported by Coserea Gh. Tudor . 2001-08-27 Jakub Jelinek * string/tst-strlen.c (main): Test strnlen (, -1) too. * sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top bit set. 2001-08-27 Ulrich Drepper * iconv/strtab.c (searchstring): Use correct length for comparison. (strtabadd): Account total size correct if new string has old string as substring. 2001-08-27 Jakub Jelinek * elf/rtld.c (dl_main): Update call to _dl_lookup_symbol. 2001-08-27 Andreas Jaeger * sysdeps/i386/fpu/libm-test-ulps (float): Add ulps for new tests. * math/libm-test.inc (j0_test): Add extra tests. * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Use |x|, not x, in Hankel approximation. Patches by Stephen L Moshier. 2001-08-26 Ulrich Drepper * sysdeps/ia64/dl-lookupcfg.h: Add forward declaration for struct link_map. * configure.in: Fix test for .rela.dyn section. * elf/dl-runtime.c: Update calls to _dl_lookup_*. 2001-08-26 Jakub Jelinek * elf/dl-reloc.c (RESOLVE_MAP, RESOLVE): Use elf_machine_type_class instead of elf_machine_lookup_noexec_p and elf_machine_lookup_noplt_p. Pass type_class to _dl_lookup_*. * elf/dl-lookup.c (_dl_lookup_symbol): Take type_class parameter now. Pass around just type_class instead of noexec, noplt pair. (_dl_lookup_versioned_symbol): Likewise. (_dl_lookup_symbol_skip): Pass around just type_class instead of noexec, noplt pair. (_dl_lookup_versioned_symbol_skip): Likewise. (_dl_do_lookup, _dl_do_lookup_versioned): Likewise. * elf/do-lookup.h (do_lookup): Likewise. * include/link.h (struct link_map): Replace noexec and noplt fields in l_lookup_cache with type_class field. * sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_PLT, ELF_RTYPE_CLASS_COPY): Define. Adjust prototypes for _dl_lookup_symbol and _dl_lookup_versioned_symbol. * sysdeps/alpha/dl-machine.h (elf_machine_lookup_noplt_p, elf_machine_lookup_noexec_p): Remove. (elf_machine_type_class): Define. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/mips/mips64/dl-machine.h: Likewise. * sysdeps/mips/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.h: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. 2001-08-26 Ulrich Drepper * manual/message.texi (Advanced gettext functions): Change description of plural forms for Slovak. Reported by Marcel Telka . * manuaL/time.texi (Low-Level Time String Parsing): Fix description of %z. Reported by C. Scott Ananian . 2001-08-26 Jakub Jelinek * sysdeps/s390/s390-32/dl-machine.h (elf_machine_lazy_rel): Fix a typo. Patch by Florian La Roche . 2001-08-26 Ulrich Drepper * include/link.h (struct link_map): Add l_lookup_cache element. * elf/dl-reloc.c (RESOLVE): Add symbol caching here. (RESOLVE_MAP): Likewise. (_dl_relocate_object): Remove cache initialization. * elf/dl-lookup.c: Rip out cache handling code. * sysdeps/generic/ldsodefs.h: Remove lookup_cache struct and variable declarations. * elf/dl-lookup.c (_dl_lookup_symbol): Reorder some conditions and remove some __builtin_expect. (_dl_lookup_versioned_symbol): Likewise. * config.h.in: Add HAVE_Z_COMBRELOC. * configure.in: Add test for -z combreloc. * sysdeps/i386/dl-machine.h (elf_machine_rel): Minor cleanups and optimizations. Use HAVE_Z_COMBRELOC to avoid generaton of R_386_RELATIVE handling for ld.so startup. Reduce RTLD_BOOTSTRAP case to almost no code. 2001-08-25 Ulrich Drepper * po/tr.po: Update from translation team. 2001-08-24 Andreas Jaeger * iconv/Makefile (extra-objs): Add iconvconfig-modules so that make clean works. 2001-08-24 Ulrich Drepper * elf/rtld.c (print_statistics): Printf % after percent values. * elf/dl-misc.c (_dl_debug_vdprintf): Implement %%. * elf/dl-lookup.c (_dl_lookup_symbol): If we use the cache we don't have to compute the hash value and initialize current_value. Move reference_name variable to where it is needed. (_dl_lookup_versioned_symbol): Likewise. 2001-08-24 Roland McGrath * string/tester.c (test_strerror): Don't use _sys_errlist/_sys_nerr. Just test that strerror returns non-null for a few errno codes. 2001-08-23 Roland McGrath * hurd/Versions (libc: GLIBC_2.2.5): New set; add _hurd_raise_signal, _hurdsig_interrupt_timeout, _hurdsig_fault_preemptor. * sysdeps/posix/shm_unlink.c (shm_unlink): __unlink -> unlink. * mach/Versions (libc: GLIBC_2.2.5): New set; add __mach_msg_destroy, __mach_reply_port. 2001-08-24 Ulrich Drepper * nss/test-netdb.c (test_hosts): Don't segfault if gethostname returns NULL. * elf/do-rel.h (elf_dynamic_do_rel): Fix problem with ld.so startup. Explicitly remove lazy part for RTLD_BOOTSTRAP since gcc doesn't do it. * elf/rtld.c: Include . * elf/dl-reloc.c: Likewise. 2001-08-24 Maciej W. Rozycki * sysdeps/unix/sysv/linux/mips/configure.in: Define AC_SUBST to empty to prevent junk from being generated. * sysdeps/unix/sysv/linux/mips/configure: Regenerated. 2001-08-24 Jakub Jelinek * elf/do-rel.h (elf_dynamic_do_rel): If l_addr is 0, skip relative records. Rename endrel to relative, initialize it to r, and use it in elf_machine_rel_relative calls. Point r after relative relocs. 2001-08-24 Ulrich Drepper * sysdeps/i386/dl-machine.h (elf_machine_rel): Correct prediction of R_386_NONE. 2001-08-24 Jakub Jelinek * elf/do-rel.h (elf_machine_rel_relative): Define for rela if necessary. Undefine newly defined macros at the end. * sysdeps/hppa/dl-machine.h (elf_machine_rela_relative): Rename from elf_machine_rel_relative. * sysdeps/cris/dl-machine.h (elf_machine_rela_relative): Likewise. * sysdeps/m68k/dl-machine.h (elf_machine_rela_relative): Likewise. * sysdeps/powerpc/dl-machine.h (elf_machine_rela_relative): Likewise. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela_relative): Likewise. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela_relative): Likewise. * sysdeps/ia64/dl-machine.h (elf_machine_rela_relative): Likewise. Fix argument types. * sysdeps/alpha/dl-machine.h (elf_machine_rela_relative): Likewise. Fix argument types. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela_relative): Likewise. Fix argument types. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela_relative): Likewise. Fix argument types. * sysdeps/sh/dl-machine.h (elf_machine_rela_relative): Likewise. Fix argument types. * sysdeps/mips/dl-machine.h (elf_machine_rel_relative): Use ElfW(Rel) in argument. * sysdeps/mips/mips64/dl-machine.h (elf_machine_rel_relative): New function. 2001-08-24 Alexandre Oliva * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix typo. 2001-08-24 Andreas Jaeger * sysdeps/ieee754/ldbl-128/e_j1l.c: New file, contributed by Stephen L Moshier . 2001-08-24 Ulrich Drepper * elf/do-rel.h (elf_dynamic_do_rel): RELATIVE relocations comes first if RELCOUNT is set. * elf/do-rel.h (elf_dynamic_do_rel): If not relocating lazily, don't call elf_machine_rel for the last DT_RELCOUNT relocations but instead elf_machine_rel_relative. * sysdeps/alpha/dl-machine.h: Define elf_machine_rel_relative. Minor optimizations. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/mips/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. 2001-08-23 Roland McGrath * rt/tst-aio4.c [! SIGRTMIN] (SIGRTMIN, SIGRTMAX): Define as -1. * 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. * sysdeps/generic/bits/libc-lock.h: Same changes. * 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 file. * 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.