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.