2000-03-30 Ulrich Drepper Implement dynamic determination of constructor/destructor order in the dynamic linker. * elf/Versions [ld.so] (GLIBC_2.0): Remove _dl_init_next. (GLIBC_2.2): Add _dl_init. * elf/dl-close.c: Also call all destructors in FINI_ARRAY. r_duplist is not anymore allocated separately. l_initfini is and therefore free it if necessary. * elf/dl-deps.c: If a searchlist has to be allocated, put all in one malloc block. Otherwise allocate l_initfini list only. Put dependencies for the object in l_initfini list. Sort dependencies for the object to be loaded topologically. * elf/dl-fini.c: Before running the destructors sort the topologically. * elf/dl-init.c (_dl_init): Renamed from _dl_init_next. Rewrite to call constructors instead of iterating over the pointers. Get list of objects for which to run constructors from l_initfini element. Accept argc, argv, and env as parameters and pass them to the constructors. * elf/ld-load.c (_dl_map_object_from_fd): Initialize l_ldnum member with size of dynamic section. * elf/dl-open.c (dl_open_worker): Only call _dl_init instead of _dl_init_next and calling constructors ourself. * elf/dl-preinit.c (_dl_preinit): Renamed from _dl_preinit_next. Take argc, argv, and env as parameters and pass them to the constructors. Rewrite to call all constructors and not iterate over the pointers. * elf/dynamic-link.h: Don't relocate DT_FINI_ARRAY entry. Don't precompute l_initcount and l_preinitcount. * elf/link.h (struct link_map): Add l_ldnum member. Make l_phdr_allocated part of the bitfield. Remove l_runcount, l_initcount, and l_preinitcount. Add l_initfini. * sysdeps/generic/ldsodefs.h: Replace _dl_init_next prototype with one for _dl_init. * sysdeps/i386/dl-machine (RTLD_START): Rewrite to match new init function interface. * sysdeps/unix/sysv/linux/init-first.h: Removed. * sysdeps/unix/sysv/linux/Dist: Delete file here as well. * sysdeps/unix/sysv/linux/init-first.c [PIC]: Don't use SYSDEP_CALL_INIT. Make _init a strong alias of init. The calling conventions now match. * sysdeps/generic/libc-start.c: Calling __libc_init_first has no effect for shared objects. Don't emit message and call only for static library. 2000-03-29 Ulrich Drepper * iconvdata/testdata/CSA_Z243.4-1985-1..UCS-2BE: Renamed from CSA_Z243.4-1985-1..UCS2. * iconvdata/testdata/ISO-8859-10..UCS-2BE: Renamed from ISO-8859-10..UCS2. 2000-03-29 Andreas Jaeger * include/unistd.h: Remove duplicate entry for __rmdir. Remove declaration of __mkdir since __mkdir is declared in sys/stat.h. * manual/creature.texi (Feature Test Macros): Fix typo, reported by Michael Deutschmann . * sysdeps/mips/fpu/fclrexcpt.c: Use shlib-compat macros. * sysdeps/mips/fpu/fegetenv.c: Likewise. * sysdeps/mips/fpu/fesetenv.c: Likewise. * sysdeps/mips/fpu/feupdateenv.c: Likewise. * sysdeps/mips/fpu/fgetexcptflg.c: Likewise. 2000-03-28 Andreas Jaeger * sysdeps/i386/fpu/bits/mathinline.h (__sincos): Remove redundant declaration, the prototype is defined via bits/mathcalls.h. (__sincosf): Likewise. (__sincosl): Likewise. (ldexp): Likewise. (ldexpf): Likewise. (ldexpl): Likewise. (__finite): Likewise. (__inline_mathcodeNP): New macro without prototype declarations. (__inline_mathcodeNP2): Likewise. (__inline_mathcodeNP3): Likewise. (__inline_mathcodeNP_): Likewise. (__inline_mathcodeNP2_): Likewise. (__inline_mathcodeNP3_): Likewise. (__inline_mathopNP): Likewise. (__inline_mathop_declNP): Likewise. (__inline_mathop_declNP_): Likewise. (__inline_mathcode_): Use __inline_mathcodeNP_. (__inline_mathcode2_): Use __inline_mathcodeNP2_. (__inline_mathcode3_): Use __inline_mathcodeNP3_. (__inline_mathop_decl_): Use __inline_mathop_declNP__. (__expm1l): Don't define prototype, the prototype is defined via bits/mathcalls.h. (exp): Likewise. (__expl): Likewise. (tan): Likewise. (atan2): Likewise. (__atan2l): Likewise. (fmod): Likewise. (pow): Likewise. (fabsf): Likewise. (fabsl): Likewise. (__fabsl): Likewise. (asin): Likewise. (acos): Likewise. (sinh): Likewise. (cosh): Likewise. (tanh): Likewise. (floor): Likewise. (ceil): Likewise. (expm1): Likewise. (log1p): Likewise. (asinh): Likewise. (acosh): Likewise. (atanh): Likewise. (hypot): Likewise. (logb): Likewise. (fma): Likewise. (drem): Likewise. (sqrt): Likewise. (__sqrtl): Likewise. (sin): Likewise. (cos): Likewise. (atan): Likewise. (log): Likewise. (log10): Likewise. (asinh): Likewise. (log2): Likewise. (rint): Likewise. 2000-03-28 Ulrich Drepper * Makerules: If make variable md5 is defined to yes after generating dependencies generate MD5 sum for the object. * iconv/gconv_builtin.h: Fix length in transformation definition for UNICODEBIG. * iconvdata/TESTS: Use UCS-2BE instead of UCS2. * iconv/loop.c: Define get16, get32, put16, and put32 macros to allow as well reading from/writing to unaligned addresses on machines which don't support this in hardware. Use FCTNAME macro to define function name. Include the file a second time for platforms which need special unaligned handling. * iconv/skeleton.c: Define get16u, get32u, put16u, and put32u macros to access potentially unaligned addresses. These macros are intended to be used only outside the loops. (unaligned): New definition. In case the machine can handle unaligned access define as zero. Otherwise as a variable which is initialized as nonzero in case the buffer passed in at runtime is unaligned with respect to the character set encoding involved. Call aligned or unaligned looop functions according to unaligned variable. * iconvdata/8bit-gap.c: Use get16, get32, put16, and put32 instead of direct casting pointer to potentially handle unaligned memory accesses. * iconvdata/8bit-generic.c: Likewise. * iconvdata/ansi_x3.110.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/euc-cn.c: Likewise. * iconvdata/euc-jp.c: Likewise. * iconvdata/euc-kr.c: Likewise. * iconvdata/euc-tw.c: Likewise. * iconvdata/gbk.c: Likewise. * iconvdata/iso-2022-cn.c: Likewise. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso_6937-2.c: Likewise. * iconvdata/iso_6937.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t.61.c: Likewise. * iconvdata/uhc.c: Likewise. * iconvdata/unicode.c: Likewise. * iconvdata/utf-16.c: Likewise. * locale/programs/simple-hash.c: Little optimizations. Remove K&R prototypes. * malloc/Versions [libc] (GLIBC_2.2): Add mcheck_check_all. * malloc/mcheck.c (mcheck_check_all): Renamed from check_all and made public. * malloc/mcheck.h (mcheck_check_all): Declare. * stdio-common/Makefile (tests): Add tst-obprintf. 2000-03-28 Roland McGrath * sysdeps/generic/bits/sigthread.h: Clean up conditionals. Declare pthread_sigmask. * csu/version.c: Add 2000 to copyright years. Remove Emacs local variables section. 2000-03-23 Bruno Haible * iconv/gconv_int.h (__gconv_transform_ucs2little_internal, __gconv_transform_internal_ucs2little): Remove declarations. * iconv/gconv_simple.c (__gconv_transform_ucs2_internal, __gconv_transform_internal_ucs2): Never need to bswap_16. (__gconv_transform_ucs2reverse_internal, __gconv_transform_internal_ucs2reverse): Always need to bswap_16. 2000-03-27 Roland McGrath * include/shlib-compat.h (SHLIB_COMPAT): Make the test handle the obsoleting version not being defined at all, in which case the result is always true. * Makeconfig (preprocess-versions): New canned sequence for running cpp on shlib-versions and the like. (soversions.i): Use it. * Makerules (Versions.all, sysd-versions): Use it to preprocess the Versions.def and Versions files. 2000-03-27 Ulrich Drepper * stdio-common/tst-obprintf.c (main): Add another check to see obstack_printf handling all possible beginnings of the block inside an obstack chunk. * locale/programs/localedef.c: Use __malloc_initialize_hook to install mcheck handler. * libio/obprintf.c (_IO_obstack_vprintf): Fix one more memory handling problem. 2000-03-27 Roland McGrath * stdio-common/tmpfile.c: Use macros. * include/shlib-compat.h: Conditionalize include on [HAVE_ELF && DO_VERSIONING]. 2000-03-27 Ulrich Drepper * stdio-common/tst-obprintf.c: New file. 2000-03-26 Ulrich Drepper * libio/genops.c (_IO_default_xsputn): Little optimization. Call _IO_OVERFLOW directly instead through __overflow. * locale/programs/localedef.c (construct_output_path): If path contains a / compute the end of the directory name correctly. * include/features.h: Undef and document __USE_XOPEN2K. * malloc/mcheck.c: Implement pedantic checking of all allocated blocks whenever a function is called. Initiated by calling mcheck_pedantic instead of mcheck. * malloc/mcheck.h: Declare mcheck_pedantic. * malloc/Versions [libc] (GLIBC_2.2): Add mcheck_pedantic. * locale/programs/localdef.c: Use mcheck_pedantic instead of mcheck for now. 2000-03-26 Roland McGrath * dlfcn/dlopen.c: Use macros. * dlfcn/dlopenold.c: Likewise. * nss/getXXbyYY_r.c: Likewise. * nss/getXXent_r.c: Likewise. * hurd/hurdinit.c: Likewise. * hurd/compat-20.c: Likewise. * libio/oldiofopen.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/oldiofdopen.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldstdfiles.c: Likewise. * libio/oldiofsetpos.c: Likewise. * libio/oldiofgetpos.c: Likewise. * libio/oldiofgetpos64.c: Likewise. * libio/oldiofsetpos64.c: Likewise. * libio/oldiopopen.c: Likewise. * libio/oldpclose.c: Likewise. * libio/oldtmpfile.c: Likewise. * libio/freopen.c (freopen): Likewise. * libio/iofclose.c (_IO_new_fclose): Likewise. * sysdeps/mach/sys/reboot.h: Include . (reboot): Declare it. * libio/Makefile (headers): Add bits/stdio-lock.h here. * sysdeps/mach/hurd/bits/stdio-lock.h: New file. * include/shlib-compat.h: Include unconditionally. * posix/unistd.h (intptr_t): Conditionalize on [__USE_MISC || __USE_XOPEN_EXTENDED] rather than on [__USE_UNIX98]. We need this for the sbrk decl, which can be included without Unix98. 2000-03-20 Richard Henderson * nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Last argument to yperr2nss is an int, not size_t. * posix/regex.c (print_partial_compiled_pattern): Cast all ptrdiff_t to long for printing. (print_compiled_pattern): Use Z for printing size_t. * posix/testfnm.c (tests): Avoid trigraphs. * sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Use a C comment, not an assembly comment. * sysdeps/unix/sysv/linux/alpha/msgctl.c: Clarify use of __ASSUME_32BITUIDS. 2000-03-26 Ulrich Drepper * libio/iofopncook.c: Remove K&R prototypes. 2000-03-26 Roland McGrath * hurd/hurdrlimit.c (init_rlimit): Give the RLIMIT_NOFILE soft limit an initial value of 1024 instead of RLIM_INFINITY. * Versions.def (libmachuser, libhurduser): Remove these sections, since these libraries do not presently use symbol versions. * sysdeps/mach/hurd/getdtsz.c (__getdtablesize): If the resource limit is RLIM_INFINITY, return -1 instead. 2000-03-24 Andreas Jaeger * Makefile (postclean): Added soversions.i. 2000-03-24 Scott Bambrough * sysdeps/arm/fpu/fpu_control.h: Define _FPU_MASK_IM, _FPU_MASK_ZM, _FPU_MASK_OM, _FPU_MASK_UM, _FPU_MASK_PM, _FPU_MASK_DM, _FPU_DEFAULT, and _FPU_IEEE. Change _FPU_RESERVED. 2000-03-24 Scott Bambrough * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: New file. 2000-03-24 Roland McGrath * sysdeps/posix/getaddrinfo.c: Include for if_nametoindex. (gaih_inet): Remove unused duplicate variable. * inet/getnameinfo.c (getnameinfo): Use IFNAMSIZ, not MAXHOSTNAMELEN. Don't use __libc_sa_len, which only exists for Linux. Just handle AF_INET and AF_INET6 directly as well as AF_LOCAL, since those are the only flavors supported by this function anyway. 2000-03-24 Geoff Clare * stdlib/strfmon.c: corrected problems with missing signs and missing or extra spaces; allow for sign strings longer than one character; add padding to ensure positive and negative formats are aligned when a left precision is used. 2000-03-26 Ulrich Drepper * stdlib/random_r.c (__setstate_r): Allow RNGs of type 4. Patch by John Mizel . 2000-03-25 Ulrich Drepper * manual/install.texi: Remove references to crypt add-on. 2000-03-25 Roland McGrath * sysdeps/mach/hurd/setrlimit.c (setrlimit): Go into a critical section while taking the _hurd_rlimit_lock. * sysdeps/mach/hurd/getrlimit.c (__getrlimit): Likewise. 2000-03-24 Roland McGrath * Makerules [$(cross-compiling) = yes] (symbolic-link-prog): Define using $(LN_S). * sysdeps/mach/hurd/if_index.c: New file. * sysdeps/unix/sysv/linux/net/if.h: Moved to ... * sysdeps/gnu/net/if.h: here. (_IOT_ifconf, _IOT_ifreq): Hurd ioctl type macros moved from ... * sysdeps/mach/hurd/net/if.h: ... here; this file now removed. * sysdeps/generic/net/if.h: New file. Declares just the standard functions and `struct if_nameindex' type. * socket/Makefile (headers): Add net/if.h here. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Not here. * sysdeps/mach/hurd/Dist: Remove it here. * sysdeps/unix/sysv/linux/Dist: And here. * sysdeps/generic/if_index.c: Include . 2000-03-24 Andreas Jaeger * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Use D_PTR to access relocated entries in l_info. (elf_machine_got_rel): Likewise. (elf_machine_runtime_setup): Likewise. * sysdeps/mips/mips64/dl-machine.h (elf_machine_got_rel): Likewise. (elf_machine_runtime_setup): Likewise. (__dl_runtime_resolve): Likewise. 2000-03-23 Ulrich Drepper * resolv/netdb.h (SCOPE_DELIMITER): New definitions. * inet/netinet/in.h (struct sockaddr_in6): Add sin6_scope_id according to RFC 2553. * sysdeps/posix/getaddrinfo.c: Change to follow latest RFC draft. * inet/getnameinfo.c: Likewise. Patches by YOSHIFUJI Hideaki . 2000-03-23 Bruno Haible * iconv/gconv_simple.c (internal_ucs4_loop, internal_ucs4le_loop): Remove no-op pointer increment. 2000-03-23 Andreas Jaeger * stdio-common/tst-cookie.c (cookieseek): Change prototype to follow change for libio.h from 2000-03-10. 2000-03-23 Andreas Jaeger * elf/dl-addr.c: Adjust include paths for ldsodefs location change. * elf/dl-debug.c: Likewise. * 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-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-preinit.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-symbol.c: Likewise. * elf/dl-version.c: Likewise. * elf/rtld.c: Likewise. * elf/sprof.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-origin.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/elf/backtracesyms.c: Likewise. * sysdeps/generic/elf/backtracesymsfd.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/powerpc/dl-machine.c: Likewise. * sysdeps/powerpc/elf/libc-start.c: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/ldsodefs.h: Move file to ... * sysdeps/generic/ldsodefs.h: ... here. * sysdeps/generic/ldsodefs.h: Add definition for D_PTR. * sysdeps/mips/elf/ldsodefs.h: New file. * elf/dl-version.c (match_symbol): Use D_PTR to access relocated entries in l_info. (_dl_check_map_versions): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * elf/dl-load.c (_dl_init_paths): Likewise. (_dl_map_object): Likewise. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Likewise. (elf_get_dynamic_info): Likewise. * elf/do-lookup.h (FCT): Likewise. * elf/do-rel.h (elf_dynamic_do_rel): Likewise. * elf/dl-deps.c (_dl_map_object_deps): Likewise. * elf/dl-addr.c (_dl_addr): Likewise. * elf/dl-runtime.c (profile_fixup): Likewise. (fixup): Likewise. * elf/dl-init.c (_dl_init_next): Likewise. * sysdeps/generic/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h (DISTINGUISH_LIB_VERSIONS): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Likewise. (elf_machine_rel): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Only change l_info for writable dynamic section. 2000-03-22 Ulrich Drepper * inet/getnameinfo.c (getnameinfo): Check that addrlen value is large enough. Patch by YOSHIFUJI Hideaki . 2000-03-22 Andreas Jaeger * sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MADV_*): Add flags from latest Linux kernel. 2000-03-21 Andreas Jaeger * Versions.def: Add version 2.1.4. 2000-03-21 Ulrich Drepper * libio/oldtmpfile.c: Update for new SHLIB_COMPAT definition. * libio/oldiofopen.c: Likewise. * libio/oldiofclose.c: Likewise. * sysdeps/unix/sysv/linux/errlist.c: Likewise. 2000-03-22 Roland McGrath * include/shlib-compat.h (SHLIB_COMPAT): Take a third argument, indicating the first version set to obsolete the conditionalized code. (compat_symbol): New macro. * scripts/abi-versions.awk: For subsumed versions, make ABI_* defn's rhs be the ABI_* macro for the subsuming version. Assign increasing integer values to the ABI_* macros for supported versions. * sysdeps/gnu/siglist.c: Use new SHLIB_COMPAT convention, and use compat_symbol macro. 2000-03-21 Ulrich Drepper * nscd/connections.c (nscd_run): Pretty print. * elf/dl-runtime.c: Include stdlib.h for alloca prototype. * manual/charset.texi: Fix typos. Rephrase. * manual/process.texi: Likewise. * manual/signal.texi: Likewise. Patches by Mike Coleman . * libio/oldtmpfile.c: Use new macros from shlib-compat.h to define versions. * libio/iofdopen.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofopen.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/iopopen.c: Likewise. * libio/oldiofopen.c: Likewise. * libio/pclose.c: Likewise. * sysdeps/gnu/siglist.c: Likewise. * sysdeps/unix/sysv/linux/errlist.c: Likewise. * include/shlib-compat.h (versioned_symbol): Give preprocessor the chance to expand VERSION_##lib##_##version. * libio/fileops.c: Use new macros from shlib-compat.h to define versions. * libio/iofclose.c: Likewise. * libio/oldiofclose.c: Likewise. Patch by Roland McGrath . 2000-03-21 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h: Clean up namespace. Lay out struct sigcontext according to what really gets passed on the stack. * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Don't include asm/elf.h. (elf_gregset_t, elf_greg_t, elf_fpregset_t, ELF_NGREG): Define. (prgregset_t, prfpregset_t): Define to elf_* types. * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h (PTRACE_WRITEDATA): Define to correct value. * sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h: Use struct sigcontext. * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: Likewise. 2000-03-21 Roland McGrath * scripts/firstversions.awk: Allow multiple version sets in the "earliest version" specification, meaning that version sets in the gaps between listed versions should be folded into the earliest later version that is explicitly listed. * shlib-versions (mips.*-.*-linux.*): Use that syntax for to say we support GLIBC_2.0 and GLIBC_2.2 but not the intervening sets. 2000-03-21 Ulrich Drepper * iconv/gconv_builtin.c: Include . * iconv/gconv_builtin.h: Add UCS-BE aliases. Add UCS-4LE transformation. Define UNICODEBIG and UNICODELITTLE according to current platform. * iconv/gconv_int.h: Declare __gconv_transform_ucs2reverse_internal, __gconv_transform_internal_ucs2reverse, and __gconv_transform_internal_ucs4le. * iconv/gconv_simple.c: Implement __gconv_transform_internal_ucs4le, __gconv_transform_ucs2reverse_internal and __gconv_transform_internal_ucs2reverse. * iconvdata/Makefile (modules): Add UNICODE. (distribute): Add unicode.c. * iconvdata/gconv-modules: Add definitions for UNICODE module. * iconvdata/unicode.c: New file. * iconvdata/utf-16.c: Rewrite code to emit BOM. Correct code to determine byte order of input and convert accordingly. * iconvdata/utf-16.c (gconv_init): Fix typo. 2000-03-20 Ulrich Drepper * iconvdata/gconv-modules: Fix typo. * sysdeps/unix/sysv/linux/configure.in: Remove `crypt' from one more messages. * sysdeps/unix/sysv/aix/*: Add initial code for port to AIX 4.3. 2000-03-16 Thorsten Kukuk * sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h: New. 2000-03-20 Ulrich Drepper * misc/Makefile (routines): Add mincore. 2000-03-20 Andreas Jaeger * sysdeps/generic/mincore.c: New stub file. * sysdeps/unix/sysv/linux/arm/bits/mman.h (MADV_*): Add flags from latest Linux kernel. 2000-03-20 Ulrich Drepper * grp/initgroups.c (compat_call): Use _SC_GETGR_R_SIZE_MAX instead of _SC_GETPW_R_SIZE_MAX. 2000-03-20 Richard Henderson * sysdeps/unix/sysv/linux/alpha/Versions: Put pciconfig_iobase in GLIBC_2.1.4. 2000-03-20 Richard Henderson * sysdeps/alpha/fpu/fraiseexcpt.c: Use get/set_fp_control instead of arithmetic instructions. * sysdeps/alpha/fpu/s_ceil.c: Use round to -inf instead of playing with the fpcr. Protect from INV exception. * sysdeps/alpha/fpu/s_ceilf.c: Likewise. * sysdeps/alpha/fpu/s_floor.c: Protect from INV exception. * sysdeps/alpha/fpu/s_floorf.c: Likewise. * sysdeps/alpha/fpu/s_copysign.c: New. * sysdeps/alpha/fpu/s_copysignf.c: New. * sysdeps/alpha/fpu/s_fabs.c: New. * sysdeps/alpha/fpu/s_fabsf.c: New. * sysdeps/alpha/fpu/s_rint.c: New. * sysdeps/alpha/fpu/s_rintf.c: New. * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Add MADV constants. * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Kill sethae. * sysdeps/unix/sysv/linux/alpha/Versions: Add pciconfig_iobase. * sysdeps/unix/sysv/linux/alpha/ioperm.c (all address constants): Use physical addresses not KSEG addresses. (io_system): Add PYXIS. (io): Remove hae.reg, sys, hae_shift. (stb_mb, stw_mb, stl_mb, __sethae): New. (inline_outb, inline_outw, inline_outl): Don't set hae. (inline_inb, inline_inw, inline_inl): Likewise. (dense_sethae): New null function. (struct cpuinfo_data): New. (process_cpuinfo): Use local and stack variables, not static. Move readlink check here from init_iosys. (init_iosys): Use __pciconfig_iobase first. Know SX and LX as PYXIS. (_iopl): Simplify. (_hae_shift): Calculate it here. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove sethae, add pciconfig_iobase. 2000-03-20 Roland McGrath * locale/programs/ld-time.c (time_finish): Use %Z instead of %z. * locale/programs/ld-ctype.c (ctype_finish, ctype_class_new): Likewise. * scripts/versions.awk: Fixed version renaming code to distinguish libraries properly. 2000-03-19 Ulrich Drepper * include/stdlib.h: Add prototype for __cxa_atexit. * sysdeps/unix/sysv/linux/i386/sys/debugreg.h: Update comment about _SLOWDOWN flags. Patch by Jim Blandy . 2000-03-17 Cristian Gafton * elf/Makefile ($(rtld-version-installed-name)): Delay replacing existing rtld-installed-name. ($(rtld-installed-name)): Request libc-$(version) be installed too. replace existing rtld-installed-name using $(symbolic-link-prog). 2000-03-17 Roland McGrath * locale/programs/ld-collate.c (collate_read): Remove bogus cast. (insert_value, handle_ellipsis, collate_read): Replace %zu in format strings with %Zu, because gcc-2.95.2's -Wformat knows about the latter but not the former. 2000-03-19 Ulrich Drepper * sysdeps/generic/glob.c [_LIBC]: Always use __xstat64, not only for glob64. Since there is no glob64 in the LFS proposal applications can assume that glob handles LFS situations. glob64 is only needed if alternative filesystem functions are used. 2000-03-19 Geoff Clare * sysdeps/generic/glob.c: Correct gl_pathc value returned when GLOB_DOOFFS is set; correct handling of patterns containing escaped wildcards (and no unescaped ones); GLOB_ERR flag was being ignored in some situations. * posix/globtest.c, posix/globtest.sh: Updated to include tests for the problems fixed by the above changes to glob.c. * manual/pattern.texi (Calling Glob): Update description of gl_pathc. 2000-03-19 Roland McGrath * Makeconfig (soversion.i): Use only first match for each lib. * Makeconfig (soversion.i): Pass -undef to $(CC) -E. * Makerules (Versions.all, sysd-versions): Test $(sysd-sorted-done) rather than $(sysd-dirs-done) to protect these rules. * Makerules (version-renames.def): Target removed. (Versions.all): Depend on soversions.i directly and parse it. * Makeconfig (soversions.i): New target, input-reading parts of soversions.mk generation moved here; result is a canonicalized list "LIB VERSION [SET]" for this configuration. (soversions.mk): Use that as input. Don't emit map-firstversions. * Makerules (version-renames.def): New target, generated from soversions.i with contents that was in $(map-firstversions). (Versions.all): Don't depend on soversions.mk, depend on version-renames.def instead; just cat it into the input. * Makerules (Versions.all): Use $(foreach ...) instead of sh for loop for $(map-firstversions), which better handles it being empty. * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu*): Set earliest supported version for libc 0.2.90.libio to GLIBC_2.2. * Makeconfig (soversions.mk): Grok new third column in shlib-versions, and use it to emit new variable `map-firstversions'. * scripts/firstversions.awk: New file. * Makerules (Versions.all): Use scripts/firstversions.awk and the $(map-firstversions) value to generate a modified versions list that includes renames in "A = B" syntax for each version set earlier than the "earliest symbol version" named in shlib-versions. * scripts/versions.awk: Recognize "A = B" lines in the input to mean rename version set A to B in the output to the intermediate file. * scripts/abi-versions.awk: New file. * Makerules (abi-versions.h): New target, generated by that script. [$(versioning) = yes] (before-compile): Prepend abi-versions.h. * include/shlib-compat.h: New file, uses that generated header. 2000-03-18 Roland McGrath * Makeconfig (soversions.mk): Convert % -> # in shlib-versions after stripping # comments, and then run it through cpp. This allows things like "%ifdef FOO" based on config.h settings. * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu*): libc=0.2.90.libio * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): For MACH_SEND_INTERRUPTED and other errors that indicate a pseudo-receive happened, grok through the message buffer for port rights that need references fixed up. 2000-03-16 Andreas Jaeger * sysdeps/unix/sysv/linux/syscalls.list: Added madvise and mincore. * sysdeps/unix/sysv/linux/madvise.c: Remove. * sysdeps/unix/sysv/linux/sparc/bits/mman.h (MADV_*): Add flags from latest Linux kernel. * sysdeps/unix/sysv/linux/i386/bits/mman.h (MADV_*): Likewise. * misc/sys/mman.h: Add prototype for mincore. 2000-03-17 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/syscalls.list: Add oldsetrlimit entry for GLIBC_2.0 version of setrlimit. Patch by Shinya Hanataka . 2000-03-16 Thorsten Kukuk * nis/nss_nis/nis-ethers.c: Return with error if malloc fails. * nis/nss_compat/compat-initgroups.c: Likewise. * nis/nss_nis/nis-initgroups.c: Likewise. * nis/nss_nis/nis-netgrp.c: Likewise. * nis/nss_nis/nis-proto.c: Likewise. * nis/nss_nis/nis-rpc.c: Likewise. * nis/nss_nis/nis-service.c: Likewise. * nis/ypclnt.c: Likewise. 2000-03-16 Andreas Jaeger * manual/Makefile: MAKEINFO is set to `:' from configure if it doesn't exist, correct checks. Fixes PR libc/1649. 2000-03-16 Thorsten Kukuk * nscd/hstcache.c: Restore correct UID. * nscd/pwdcache.c: Likewise. Patch from Gabor Gombas . 2000-03-17 Roland McGrath * sysdeps/i386/sys/ucontext.h: Prepend REG_ to enum values and macros for register names, in line with 2000-03-14 linux change. * sysdeps/mach/sched_yield.c: New file. 2000-03-13 Roland McGrath * sysdeps/generic/lockfile.c: Include (_IO_flockfile, _IO_funlockfile, _IO_ftrylockfile): #undef these in case defined them. (__flockfile, __funlockfile, __ftrylockfile): Functions renamed from __internal_*. (flockfile, _IO_flockfile, funlockfile, _IO_funlockfile, ftrylockfile, _IO_ftrylockfile): Fix aliases accordingly. * sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Use ... for more pleasing parse error. 2000-03-16 Ulrich Drepper * locale/lc-time.c (_nl_init_era_entries): Correct allocation of memory for eras. Patch by Shinya Hanataka . * elf/Makefile: Add rules to compile and run constload1 test. * elf/constload1.c: New file. * elf/constload2.c: New file. * elf/constload3.c: New file. 2000-03-15 Ulrich Drepper * sysdeps/posix/open64.c: Make __open64 weak alias. * sysdeps/posix/pread64.c: Make __pread64 weak alias. * sysdeps/unix/sysv/linux/pread64.c: Likewise. * sysdeps/unix/sysv/linux/i386/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise. * sysdeps/posix/pwrite64.c: Make __pwrite64 weak alias. * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/i386/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise. 2000-03-14 Ulrich Drepper * sysdeps/unix/sysv/linux/alpha/ioperm.c (platform): Add entry for Nautilus. Patch by Soohoon Lee . 2000-03-08 Andreas Jaeger * sysdeps/unix/sysv/linux/scsi/sg.h: Sync with Linux 2.3.50. 2000-03-14 Ulrich Drepper * timezone/africa: Update from tzdata2000d. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * po/fr.po: Update from translation team. * po/de.po: Likewise. * elf/dl-deps.c (_dl_map_object_deps): Change return type and remove last parameter. Move code to add map to global scope from here... * elf/dl-open.c (dl_open_worker): ...here. * elf/ldsodefs.h: Adjust declaration of _dl_map_object_deps. * elf/rtld.c: Adjust call to _dl_map_object_deps. * locale/programs/ld-collate.c (collate_read): Fix warning. * sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Prepend REG_ to enum values and macros for register names. * libio/iofopncook.c (_IO_cookie_seek): Return error only if value returned by seek cookie function is -1. 2000-03-14 Andreas Jaeger * locale/localeconv.c (localeconv): Fix typo. Reported by Andre Charbonneau . 2000-03-14 Ulrich Drepper * iconv/skeleton.c: Increment __invocation_counter in inner loop since modules depend on it counting the number of times the conversion function got called. * iconv/gconv_open.c: Optimize loop to setup step data structure. * iconv/gconv.h: Pretty print. 2000-03-04 Ulrich Drepper * posix/wordexp-test.c: Correct one of the tests added in the last change. Really get the root passwd entry to check again ~root. 2000-03-10 Andreas Jaeger * manual/filesys.texi (Working Directory): Fix last patch. Patch by Martin Buchholz . 2000-03-10 Andreas Jaeger * manual/creature.texi (Feature Test Macros): Fix language. 2000-03-10 Roland McGrath * mach/devstream.c (devstream_write, devstream_read): New functions. (input, output): Functions removed. (mach_open_devstream): Use devstream_{read,write} as cookie functions, using only the vanilla fopencookie interface. * hurd/fopenport.c [! USE_IN_LIBIO] (cookie_io_functions_t): Define as macro for __io_functions. (funcsio): Use cookie_io_functions_t type name. (fopenport): Renamed from __fopenport. Rewrite to call fopencookie. * libio/iofopncook.c (_IO_cookie_init): New function, broken out of fopencookie. (fopencookie): Use it. * libio/libio.h: Declare _IO_cookie_init. * hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Implement using _IO_cookie_init. * libio/libio.h (__io_seek_fn): Fix second argument type to be a pointer, in line with the manual and the old stdio. * libio/iofopncook.c (_IO_cookie_seek): Fix (sole) caller. * sysdeps/generic/bits/stdio-lock.h: New file. This is a stub with #error, but that's better than no file at all. 2000-03-09 Martin Buchholz * sysdeps/unix/sysv/linux/alpha/syscall.S: * manual/message.texi (Using gettextized software): * manual/message.texi (Message Translation): Doc Fixes. * manual/filesys.texi (File Size): * manual/charset.texi (glibc iconv Implementation): * locale/programs/ld-collate.c (collate_output): * iconv/gconv_db.c (find_derivation): * manual/install.texi: * manual/search.texi (Hash Search Function): * manual/stdio.texi (Output Conversion Syntax): * FAQ.in: * config.h.in: * sysdeps/generic/dl-sysdep.c: Doc Fixes. `allows to' is not correct English. * elf/rtld.c: Doc fixes. * manual/creature.texi (Feature Test Macros): Doc fixes. * manual/memory.texi (Hooks for Malloc): Doc Fixes. * manual/filesys.texi (Working Directory): Check for ERANGE to avoid infloop. 2000-02-23 Roland McGrath * string/argz-stringify.c (__argz_stringify): Fix loop termination conditions so as not to clobber the final '\0' when there is only one element in the vector. 2000-03-09 Roland McGrath * io/sys/stat.h: Fix inverted sense of `defined __S_IFSOCK' test, broken by 2000-02-27 change. * sysdeps/generic/bits/poll.h (POLLRDNORM, POLLRDBAND): New macros. 2000-02-23 Roland McGrath * sysdeps/mach/hurd/sigstack.c (sigstack): Remove `const' from argument type, for 2000-02-22 change in signal/signal.h declaration. 2000-03-09 Roland McGrath * sysdeps/generic/getdents64.c (__getdirentries64): Renamed to getdirentries64 (no __), since the Linux implementation has no __ name, and there is no declaration for the __ name. * sysdeps/mach/bits/libc-lock.h (__libc_cleanup_end): New macro. * sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Tighten up sed regexp so as not to break directory names including /../ within. * sysdeps/unix/bsd/bits/waitflags.h: File removed. The sysdeps/generic file is right for BSD. This file was in fact the Hurd file, but the only difference was the WNOREAP flag that was never actually implemented or used anywhere. * configure.in (PERL, INSTALL_INFO): Don't AC_SUBST these, since AC_PATH_PROG already does it for us. (PERL): Rewrite check added in 2000-02-29 change for syntactic correctness and sh portability. I replaced the broken check with a more sensible implementation of the apparently intended semantics, which might still be questionable. Using expr causes a non-numeric value for `perl -V:apiversion` to be accepted, refusing to use only a perl that reports a number less than 5; on my system, perl (5.004_04) -V:apiversion produces UNKNOWN. * configure: Regenerated. 2000-03-08 Andreas Jaeger * manual/crypt.texi: Fix paths. 2000-03-07 Andreas Jaeger * resolv/netdb.h: The descriptions of rresvport and rresvport_af were swapped. Patch by YOSHIFUJI Hideaki , closes PR libc/1636. 2000-03-06 Andreas Jaeger * sysdeps/i386/fpu/bits/mathinline.h: Fix union definition error in __sgn1l, otherwise g++ fails to parse this. Reported by Sean Chen . 2000-03-03 Geoff Keating * configure.in: Compute sizeof-long-double. * configure: Regenerated. * config.make.in: Make sizeof-long-double available to sub-makes. 2000-03-03 Ulrich Drepper * sysdeps/unix/sysv/linux/init-first.c: Remove trace of personality call. 2000-03-03 Geoff Keating * Makeconfig (rpath-dirs): Add crypt. (all-subdirs): Remove md5crypt. * crypt/sysdeps/unix/crypt.c: Move to crypt/. * crypt/sysdeps/unix/crypt-entry.c: Move to crypt/. * sysdeps/generic/crypt-entry.c: Delete. * crypt/sysdeps/unix/crypt.h: Move to crypt/. * sysdeps/generic/crypt.h: Delete. * crypt/sysdeps/unix/crypt-private.h: Move to crypt/. * crypt/sysdeps/unix/crypt_util.c: Move to crypt/. * crypt/sysdeps/unix/des_impl.c: Move to sunrpc/. * sysdeps/generic/des_impl.c: Delete. * crypt/sysdeps/unix/ufc-crypt.h: Move to crypt/. * crypt/sysdeps: Delete. * crypt/crypt_util.c: Don't use `patchlevel.h'. * md5-crypt/Versions: Move to crypt/. * md5-crypt/md5-crypt.c: Move to crypt/. * md5-crypt/md5.c: Move to crypt/. * md5-crypt/md5c-test.c: Move to crypt/. * md5-crypt/md5test.c: Move to crypt/. * md5-crypt: Delete. * crypt/Makefile: Adjust for new structure. 2000-03-03 Paul Eggert * posix/regex.c (MB_LEN_MAX): Include to define; define to 1 if not defined. 2000-03-03 Andreas Jaeger * sunrpc/xdr.c (xdr_hyper): Correctly handle lower half of llp. 2000-03-03 Andreas Jaeger * sunrpc/xdr_intXX_t.c (xdr_uint16_t): Fix ENCODE and DECODE cases. (xdr_int64_t): Correctly handle lower half. Fix by Sten Dahlgren , closes PR libc/1623. 2000-03-03 Ulrich Drepper * sysdeps/unix/sysv/linux/init-first.c: Remove trace of personality call. 2000-03-02 Andreas Jaeger * sysdeps/unix/sysv/linux/scsi/sg.h: Integrate changes from Linux 2.3.43. 2000-03-02 Andreas Jaeger * resolv/Makefile (headers): Add arpa/nameser_compat.h. 2000-03-01 Andreas Jaeger * time/Makefile (tst-getdate-ENV): New flag to pass DATEMSK. (tests): Added tst-getdate. * time/tst-getdate.c: New file. * time/datemsk: New file, needed for tst-getdate. 2000-02-29 Cristian Gafton * configure.in (CCVERSION): Require at least veersion 5 of perl API. 2000-02-17 H.J. Lu * sunrpc/rpc/svc.h (SVCXPRT): Add a "xp_pad" field at the end. * sunrpc/svc_udp.c (svcudp_bufcreate): Turn on IP_PKTINFO if available. (svcudp_recv): Set up message with the new "xp_pad" field for IP_PKTINFO. (svcudp_reply): Support IP_PKTINFO if available. 2000-03-01 Andreas Jaeger * time/getdate.c (check_mday): Fix check for february. Reported by ane@np.bs1.fc.nec.co.jp and Akira YOSHIYAMA , closes PR libc/1617 and PR libc/1619. 2000-03-02 Andreas Jaeger * posix/unistd.h: __THROW has to precede __attribute__, otherwise g++ fails to parse this. Reported by Sean Chen . 2000-02-28 Ulrich Drepper * io/creat.c: Moved to... * sysdeps/generic/creat.c: ...here. * io/creat64.c: Moved to... * sysdeps/generic/creat64.c: ...here. * io/lockf.c: Moved to... * sysdeps/generic/lockf.c: ...here. * crypt/crypt.texi: Moved to... * manual/crypt.texi: ...here. * crypt/examples/genpass.c: Moved to... * manual/examples/genpass.c: ...here. * crypt/examples/mygenpass.c: Moved to... * manual/examples/mygenpass.c: ...here. * crypt/examples/testpass.c: Moved to... * manual/examples/testpass.c: ...here. * manual/Makefile (chapters): Add crypt. * manual/conf.texi: Add usual header for not-last chapter. * manual/crypt.texi: Add special header for last chapter. 2000-02-28 Geoff Keating * Makeconfig (all-subdirs): Add 'crypt' subdirectory. * sysdeps/unix/sysv/linux/configure.in (inhibit_glue): Don't complain if there is no crypt add-on. * crypt/configure: Removed. * crypt/crypt.texi: Update documentation of US export restrictions to match the 14 Jan 2000 regulations. 2000-02-28 Geoff Keating * crypt: New subdirectory, merged in from the crypt add-on. 2000-02-28 Ulrich Drepper * include/unistd.h: Add __rmdir and __mkdir prototypes. See ChangeLog.10 for earlier changes.