1999-02-24 Ulrich Drepper * elf/elf.h: Add 32bit HPPA definitions. 1999-02-23 Andreas Schwab * malloc/malloc.c (mALLOC_SET_STATe): Handle the case where a non-checked heap is restored when malloc checking was requested by the user. (struct malloc_state): Add using_malloc_checking. (MALLOC_STATE_VERSION): Increment minor. (using_malloc_checking, disallow_malloc_check): New variables. (__malloc_check_init): Use them. (mALLOC_GET_STATe): Use mALLOc to allocate the malloc_state, so that it can the chunk is properly instrumented when malloc checking is enabled. Set the new using_malloc_checking field. (malloc_hook_ini): Correct signature when _LIBC is not defined. 1999-02-23 Andreas Schwab * sysdeps/unix/sysv/linux/i386/dl-librecon.h (DISTINGUISH_LIB_VERSIONS): Don't relocate DT_STRTAB a second time. * elf/rtld.c (dl_main): Rename paths_initialized to rtld_is_main. Don't call elf_get_dynamic_info and _dl_setup_hash a second time if ld.so is the main program. 1999-02-23 Ulrich Drepper * stdio-common/vfprintf.c (vfprintf): If precision or width is too large for work_buffer, allocate new buffer. (printf_unknown): Likewise. [PR libc/988] 1999-02-22 Ulrich Drepper * sysdeps/unix/sysv/linux/ttyname.c: Use __xstat and __fxstat instead of stat and fstat. * sysdeps/unix/sysv/linux/ttyname_r.c: Likewise. 1999-02-23 Andreas Schwab * elf/dl-error.c (_dl_signal_cerror): New function. (_dl_signal_error): Don't call receiver function. * elf/dl-lookup.c (_dl_lookup_symbol): Call _dl_signal_cerror instead of _dl_signal_error when reporting references to undefined symbols or versions. (_dl_lookup_versioned_symbol): Likewise. (_dl_lookup_versioned_symbol_skip): Likewise. * elf/dl-version.c (match_symbol): Likewise. * elf/ldsodefs.h: Declare _dl_signal_cerror. 1999-02-22 Ulrich Drepper * misc/getttyent.c (getttyent): Release lock on stream later to also protect global variable zapchar. * sysdeps/unix/sysv/linux/clock.c: Don't test return value of __times [PR libc/990]. 1999-02-21 David S. Miller * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: Fix parentheses in Feb 2 changes. * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h: Likewise. 1999-02-21 Andreas Jaeger * sysdeps/generic/glob.c (glob): Save previous errno. 1999-02-21 Ulrich Drepper * sysdeps/generic/glob.c (glob): Enlarge buffers for reentrant lookup functions if it is too small. 1999-02-20 Ulrich Drepper * elf/dl-deps.c (_dl_map_object_deps): Don't add dummy objects created for tracing to the scope lists. * elf/do-lookup.h: Remove test for l_opencount == 0 after above change. DT_SYMTAB is always available according to ELF spec. * elf/dl-lookup.c (_dl_lookup_symbol_skip): Before first do_lookup call test whether there is any scope left. (_dl_lookup_versioned_symbol_skip): Likewise. * elf/Makefile (distribute): Add do-lookup.h. * elf/do-lookup.h: New file. Split out from dl-lookup.c. * elf/dl-lookup.c: Move do_lookup function in separate file and include the file twice, for handling versioning and without it. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): DT_PLTGOT entry is already relocated. * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/mips/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/mips/mips64/dl-machine.h (elf_machine_runtime_setup): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Take new argument with load address. Relocate d_ptr in DT_DTRTAB, DT_SYMTAB, DT_RELA, DT_REL, DT_JMPREL, DT_PLTGOT, and DT_VERSYM l_info entry. (_ELF_DYNAMIC_DO_RELOC): Take extra argument which specifies whether rel and rela relocations can both happen and skip one test if this is not possible. (ELF_DYNAMIC_DO_RELA, ELF_DYNAMIC_DO_REL): Call _ELF_DYNAMIC_DO_RELOC appropriately. * elf/dl-addr.c (_dl_addr): DT_SYMTAB and DT_STRTAB entries are already relocated. * elf/dl-deps.c (_dl_map_object_deps): DT_STRTAB entry is already relocated. * elf/dl-load.c (_dl_init_paths): DT_STRTAB entry is already relocated. (_dl_map_object_from_fd): Call elf_get_dynamic_info with new argument. (_dl_map_object): DT_STRTAB entry is already relocated. * elf/dl-lookup.c (do_lookup): DT_STRTAB and DT_SYMTAB entries are already relocated. * elf/dl-reloc.c (_dl_relocate_object): DT_STRTAB entry is already relocated. * elf/dl-runtime.c (fixup): DT_SYMTAB, DT_STRTAB, DT_JMPREL, and DT_VERSYM entries are already relocated. (profile_fixup): Likewise. * elf/dl-version.c: Rename VERSTAG macro into VERSYMIDX. Replace all users. (match_symbol): DT_STRTAB entry is already relocated. (_dl_check_map_versions): Likewise. Also fo DT_VERSYM. * elf/do-rel.h (elf_dynamic_do_rel): reladdr is now assumed to be relocated already. DT_SYMTAB and DT_VERSYM entries are also relocated. * elf/rtld.c (_dl_start): Pass extra argument to elf_get_dynamic_info. (find_needed): DT_STRTAB entry is already relocated. (dl_main): Pass extra argument to elf_get_dynamic_info. DT_STRTAB entry is already relocated. * sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): DT_JMPREL and DT_PLTGOT entries are already relocated. (elf_machine_rela): Likewise for DT_SYMTAB. * sysdeps/arm/dl-machine.h (elf_machine_rel): DT_STRTAB is already relocated. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/powerpc/dl-machine.c (__process_machine_rela): Likewise. * sysdeps/mips/dl-machine.h (elf_machine_got_rel): Likewise. (elf_machine_got_rel): Likewise for DT_SYMTAB and DT_STRTAB. * sysdeps/mips/mips64/dl-machine.h: Likewise. * grp/initgroups.c (initgroups): If function in current module was successful don't stop but continue to process to get all the groups. * elf/dl-load.c (_dl_map_object_from_fd): Use global _dl_pf_to_proot array to convert p_flags value. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Use memset instead of loop to clear `info'. * sysdeps/i386/i486/bits/string.h: If fill byte is constant let gcc do the work and don't use inline assembler. 1999-02-19 Ulrich Drepper * elf/ldsodefs.h (_dl_signal_error): Mark as __noreturn__. * elf/dl-load.c (lose): Make it a function at the toplevel, mark as noreturn, and prevent it from being inlined. Define LOSE appropriately. (_dl_map_object_from_fd): Compare all bytes in e_ident at once. Optimize decoding of p_flags for certain platforms. 1999-02-19 Philip Blundell * Makeconfig (link-libc): When doing a static link, make sure that libgcc.a is included both before and after libc.a. 1999-02-18 Thorsten Kukuk * nis/nss_compat/compat-spwd.c: Fix handling of default values for sp_warn, sp_inact, sp_expire and sp_flag. 1999-02-18 Ulrich Drepper * elf/link.h (link_map): Add l_dev and l_ino. * elf/dl-load.c (_dl_map_object_from_fd): Test dev/ino of newly loaded shared object with all laoded objects. Initialize l_ino and l_dev in case it's new. * elf/rtld.c (dl_main): Explain situation is l_dev/l_ino with main object. * elf/Makefile: Compile and run new test. * elf/multiload.c: New file. * nss/nsswitch.h (service_user): Change name field from const char * to char[0]. (name_database_entry): Likewise. * nss/nsswitch.c (nss_parse_service_list): Adjust memory allocation for change of `service_user'. (nss_getline): Adjust memory allocation for change of `name_database_entry'. * catgets/catgets.c: Correctly handle NLSPATH from environment [PR libc/980]. * io/Makefile (routines): Add lock64. * io/Versions: Add lockf64 for GLIBC_2.1.1. * sysdeps/generic/lockf64.c: New file. 1999-02-16 Ulrich Drepper * string/bits/string2.h: Only use strncmp optimization if count argument is constant. 1999-02-16 Roland McGrath * sysdeps/mach/hurd/revoke.c: New file. 1999-02-16 Ulrich Drepper * wctype/wctype.h (_ISwbit): Cast result of shift operations to int to avoid warning about `ISO C restricts enumerator values to range of `int''. 1999-02-16 Andreas Jaeger * elf/dlfcn.h: Fix typo. * sysdeps/generic/bits/dlfcn.h: Likewise. * sysdeps/mips/bits/dlfcn.h: Likewise. 1999-02-16 Ulrich Drepper * sysdeps/i386/i486/bits/string.h (memcmp): Correctly set flags for the case N == 0. * db2/Makefile (distribute): Add LICENSE. 1999-02-03 Jeff Bailey * sysdeps/unix/make_errlist.c: Add i18n and copyright to generated files. * sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c: Fix typo. 1999-02-16 Ulrich Drepper * time/mktime.c: Use ISO C form for function definitions and remove unnecessary prototypes. * sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix typo in last change. * time/time.h: Avoid unneccesary #ifdef. 1999-02-15 Geoff Keating * stdio-common/_itoa.c (_itoa): Correct parameters to udiv_qrnnd_preinv. 1999-02-14 Andreas Jaeger * misc/sys/cdefs.h: Undefine __PMT since it might be defined before (e.g. in glob.h). Closes PR libc/959. 1999-02-16 Andreas Jaeger * sysdeps/mips/fpu_control.h: Fix typo. Patch by Sylvain Pion . Remove __setfpucw. 1999-02-10 Roland McGrath * sysdeps/mach/hurd/pipe.c (__pipe): Don't call __socket_shutdown on the "unused" ends of the sockets. Let pipes be bidirectional. 1999-02-15 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (getaddrinfo): Correct test for invalid ai_flags. 1999-02-15 Andreas Jaeger * manual/llio.texi (Waiting for I/O): Correct meaning. Patch by Jochen Voss [PR libc/969]. * manual/setjmp.texi (Non-Local Exits and Signals): Fix typo. Patch by Jochen Voss [PR libc/970]. 1999-02-15 Ulrich Drepper * string/Versions: Add __strverscmp to GLIBC_2.1.1. 1999-02-13 Andreas Schwab * misc/syslog.c (vsyslog): Remember errno for %m format. Fix check for priority mask. 1999-02-14 Ulrich Drepper * resolv/netdb.h (AI_NUMERICHOST): Change to 4. Reported by Craig Metz . 1999-02-14 Andreas Jaeger * stdio-common/Makefile (tests): tllformat added. * stdio-common/tllformat.c: New program, based on tiformat.c with examples from Franz Sirl . 1999-02-14 Andreas Schwab * posix/test-vfork.c: Fix exit status test. 1999-02-14 Andreas Jaeger * sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Add some missing cases. Reported by Craig Metz [PR libc/964]. 1999-02-14 Andreas Schwab * sysdeps/m68k/fpu/s_modf.c: Optimized by using __m81_test instead of separare explicit comparisons. 1999-02-11 Andreas Schwab * sysdeps/wordsize-64/inttypes.h: Always define ldiv_t if not yet defined. * sysdeps/wordsize-32/inttypes.h: Always define lldiv_t if not yet defined. 1999-02-09 Ulrich Drepper * po/el.po: Update from translation team. 1999-02-09 Andreas Jaeger * intl/locale.alias: Fix slovenian entry [PR libc/948]. 1999-02-09 Andreas Jaeger * elf/sprof.c: assert.h isn't used anymore, remove inclusion. * inet/ruserpass.c: Likewise. * locale/programs/stringtrans.c: Likewise. * locale/programs/localedef.c: Likewise. * nscd/grpcache.c: Likewise. * nss/nss_files/files-XXX.c: Likewise. * stdlib/canonicalize.c: Likewise. * sysdeps/posix/sigwait.c: Likewise. 1999-02-09 Andreas Jaeger * sunrpc/pmap_rmt.c (clnt_broadcast): We need 32 bit comparison even on 64 bit platforms. * sunrpc/clnt_tcp.c (clnttcp_call): Likewise. Patch by Loic Prylli . 1999-02-09 Ulrich Drepper * intl/dcgettext.c: Include locale.h is available. 1999-02-08 Ulrich Drepper * po/nl.po: Update from translation team. * sysdeps/libm-i387/s_asinhf.S: Correct computing absolute value. * Makefile: Allow calling goals for po subdir. * sysdeps/unix/sysv/linux/alpha/bits/signum.h: Add missing RT signal definitions. * po/el.po: New file. 1999-02-07 Andreas Schwab * elf/dl-load.c (_dl_map_object_from_fd): Replace magic constant when processing DT_SYMBOLIC objects. 1999-02-07 Andreas Schwab * elf/dl-load.c (_dl_map_object_from_fd): When looking for the program headers without PT_PHDR only require that they are contained within one of the loaded segments. Don't use assert, since that would be a bug in the object, not the dynamic linker. 1999-02-08 Richard Henderson * sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Save and restore all call-clobbered fp regs. 1999-02-08 Ulrich Drepper * po/cs.po: New file. * resolv/res_hconf.c (_res_hconf_init): Don't use ENV_HOSTCONF for SUID binaries. 1999-02-07 Ulrich Drepper * signal/signal.h: Don't declare __libc_allocate_rtsig. * include/signal.h: Declare __libc_allocate_rtsig here. * elf/dl-lookup.c: Increment _dl_num_relocations in the four entry point functions, not do_lookup since the later can be called more than once. 1999-02-03 Jakub Jelinek * sysdeps/generic/segfault.c: Add ADVANCE_STACK_FRAME macro, so that architectures which need to add some special offset to stack pointer can share this file. * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/bits/mman.h: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/mman.h: Remove. * sysdeps/unix/sysv/linux/sparc/bits/mman.h: New file - common between sparc32 and sparc64. * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Remove. * sysdeps/unix/sysv/linux/sparc/vfork.S: New file - common between sparc32 and sparc64. * sysdeps/unix/sysv/linux/sparc/sparc32/fork.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/fork.S: Remove. * sysdeps/unix/sysv/linux/sparc/fork.S: New file - common between sparc32 and sparc64. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S: Remove. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.S: Remove. * sysdeps/unix/sysv/linux/sparc/sysdep.S: New file - common between sparc32 and sparc64. 1999-02-07 Ulrich Drepper * Versions.def: New version GLIBC_2.1.1 for libc. * stdlib/Versions: Add _Exit, imaxdiv, and imaxdiv to GLIBC_2.1.1. * stdlib/labs.c: Moved to... * sysdeps/generic/labs.c: ...here. * stdlib/llabs.c: Moved to... * sysdeps/generic/llabs.c: ...here. * stdlib/stdlib.h: Allow definition of ldiv_t and lldiv_t in other header. Declare _Exit. * sysdeps/generic/_exit.c: Add alias _Exit. * sysdeps/mach/hurd/_exit.c: Likewise. * sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise. * sysdeps/standalone/i960/nindy960/_exit.c: Likewise. * sysdeps/standalone/m68k/m68020/mvme136/_exit.c: Likewise. * sysdeps/unix/_exit.c: Likewise. * sysdeps/wordsize-32/inttypes.h: Define imaxdiv_t and declare imaxdiv and imaxabs. Declare lldiv_t if necessary. * sysdeps/wordsize-64/inttypes.h: Likewise. * sysdeps/wordsize-32/llabs.c: New file. * sysdeps/wordsize-32/lldiv.c: New file. * sysdeps/wordsize-64/labs.c: New file. * sysdeps/wordsize-64/ldiv.c: New file. * manual/arith.texi: Document imaxabs, imaxdiv_t, and imaxdiv. * manual/startup.texi: Document _Exit. 1999-02-07 Andreas Jaeger * nscd/cache.c: Include for inet_ntop. 1999-02-06 Ulrich Drepper * Versions.def: Add versions for ld.so. * csu/Versions: Remove __libc_stack_end here. * elf/Versions: Split libc definitions in libc and ld.so definitions. * elf/Makefile (ld-map): Change to ld.so.map. * scripts/versions.awk: Recognize dot in library names. * ctype/ctype.h: Remove definitions of __tolower and __toupper. Don't use __tolower and __toupper in inline functions. Add optimizing macros for tolower and toupper. * ctype/ctype-extn.c (_tolower): Don't use __tolower. (_toupper): Don't use __toupper. * ctype/ctype.c (tolower): Don't use __tolower. (toupper): Don't use toupper. * nscd/cache.c (prune_cache): Correct printing of debugging messages. * resolv/Versions (libresolv): Export __ns_name_unpack and __ns_name_ntop. * resolv/res_comp.c: Rename ns_name_unpack to __ns_name_unpack and make it global. Change all users. Similar for ns_name_ntop. * resolv/nss_dns/dns-host.c: Don't use dn_expand when extracting in user-provided buffer. Use __ns_name_unpack and __ns_name_ntop directly to detect too small buffer. * resolv/nss_dns/dns-network.c: Likewise. * stdio-common/Makefile (tests): Add scanf12. * stdio-common/scanf12.c: New file. * stdio-common/scanf12.input: New file. * stdio-common/vfscanf.c (__vfscanf): Handle +/- at beginning of floating-point correctly if the number is invalid. * stdio-common/vfscanf.c: Don't use non-reentrant multibyte conversion functions. * stdio-common/printf_fp.c: Likewise. * stdio-common/printf_fphex.c: Likewise. * stdio-common/vfprintf.c: Likewise. See ChangeLog.9 for earlier changes.