2000-04-17 Andreas Jaeger * sysdeps/mips/add_n.S: Add newline at EOF. * sysdeps/mips/rshift.S: Likewise. * sysdeps/mips/mul_1.S: Likewise. * sysdeps/mips/lshift.S: Likewise. * sysdeps/mips/addmul_1.S: Likewise. 2000-04-17 Ulrich Drepper * sysdeps/powerpc/fpu/s_isnan.c: Pretty printing. * elf/dl-reloc.c (_dl_relocate_object): Add more __builtin_expect. * elf/dl-lookup.c: Likewise. * elf/dl-init.c (_dl_init): Likewise. * elf/dl-fini.c (_dl_fini): Likewise. * elf/dl-deps.c (_dl_map_object_deps): Likewise. * elf/dl-close.c (_dl_close): Likewise. * elf/rtld.c (_dl_start_final): Likewise. * elf/dl-lookup.c (add_dependency): Correct __builtin_expect use. 2000-04-15 Ulrich Drepper * csu/Makefile ($(objpfx)version-info.h): Get OS name from uname and only fall back on using Linux. * elf/dl-version.c (_dl_check_map_versions): New argument trace_mode. Before testing versions check that we actually loaded the object and whether we are in trace mode. If not loaded during tracing don't test versions in this object. (_dl_check_all_versions): Take new parameter and pass to _dl_check_map_versions. * sysdeps/generic/ldsodefs.h: Update prototypes for _dl_check_all_versions and _dl_check_map_versions. * elf/rtld.c (struct version_check_args): Add dotrace. (version_check_doit): Pass args->dotrace to _dl_check_all_versions. (dl_main): Pass info about trace mode to version_check_doit. * elf/dl-open.c (dl_open_worker): Pass zero as new argument to _dl_check_all_versions. * manual/users.texi (XPG Functions): Document utmpxname, getutmp, and getutmpx. Patch by Bryan Henderson . * manual/argp.texi: Document index parameter of argp_parse. Fix typo. Reported by Andrew Schulman . 2000-04-14 Andreas Jaeger * sysdeps/unix/sysv/linux/shm_open.c: Include linux_fsinfo for SHMFS_SUPER_MAGIC. Remove definition of SHMFS_SUPER_MAGIC. * sysdeps/unix/sysv/linux/linux_fsinfo.h (SHMFS_SUPER_MAGIC): Added. 2000-04-15 Ulrich Drepper * sysdeps/unix/sysv/linux/alpha/adjtime.c: Fix typo in compat_symbol call for old adjtime. * sysdeps/alpha/dl-machine.h (RTLD_START): Rewrite for new init function interface. Patch by Richard Henderson . * posix/Makefile (headers): Add spawn.h. (distribute): Add spawn_int.h. (routines): Add spawn_faction_init, spawn_faction_destroy, spawn_faction_addclose, spawn_faction_addopen, spawn_faction_adddup2, spawnattr_init, spawnattr_destroy, spawnattr_getdefault, spawnattr_setdefault, spawnattr_getflags, spawnattr_setflags, spawnattr_getpgroup, spawnattr_setpgroup, spawn, spawnp, and spawni. * posix/Versions [libc] (GLIBC_2.2): Add posix_spawn_file_actions_init, posix_spawn_file_actions_destroy, posix_spawn_file_actions_addclose, posix_spawn_file_actions_addopen, posix_spawn_file_actions_adddup2, posix_spawnattr_init, posix_spawnattr_destroy, posix_spawnattr_getdefault, posix_spawnattr_setdefault, posix_spawnattr_getflags, posix_spawnattr_setflags, posix_spawnattr_getpgroup, posix_spawnattr_setpgroup, posix_spawn, and posix_spawnp. * posix/spawn.c: New file. * posix/spawn.h: New file. * posix/spawn_faction_addclose.c: New file. * posix/spawn_faction_adddup2.c: New file. * posix/spawn_faction_addopen.c: New file. * posix/spawn_faction_destroy.c: New file. * posix/spawn_faction_init.c: New file. * posix/spawn_int.h: New file. * posix/spawnattr_destroy.c: New file. * posix/spawnattr_getdefault.c: New file. * posix/spawnattr_getflags.c: New file. * posix/spawnattr_getpgroup.c: New file. * posix/spawnattr_getschedparam.c: New file. * posix/spawnattr_getschedpolicy.c: New file. * posix/spawnattr_getsigmask.c: New file. * posix/spawnattr_init.c: New file. * posix/spawnattr_setdefault.c: New file. * posix/spawnattr_setflags.c: New file. * posix/spawnattr_setpgroup.c: New file. * posix/spawnattr_setschedparam.c: New file. * posix/spawnattr_setschedpolicy.c: New file. * posix/spawnattr_setsigmask.c: New file. * posix/spawni.c: New file. * posix/spawnp.c: New file. * sysdeps/mach/hurd/bits/posix_opt.h: Add _POSIX_SPAWN. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise. 2000-04-14 Ulrich Drepper * malloc/Versions [libc] (GLIBC_2.2): Add posix_memalign. * malloc/malloc.c: Implement posix_memalign for glibc. * include/stdlib.h: Add prototype for __posix_memalign. * stdlib/stdlib.h: Add prototype for posix_memalign. 2000-04-14 Andreas Jaeger * sysdeps/mips/dl-machine.h (elf_machine_got_rel): Initialize symidx correctly. (elf_machine_got_rel): Cast sym correctly. * sysdeps/mips/add_n.S: Use __PIC__, add end directive. * sysdeps/mips/addmul_1.S: Likewise. * sysdeps/mips/lshift.S: Likewise. * sysdeps/mips/mul_1.S: Likewise. * sysdeps/mips/rshift.S: Likewise. * sysdeps/mips/sub_n.S: Likewise. * sysdeps/mips/submul_1.S: Likewise. * stdlib/stdlib.h: Fix typo in comment. * shlib-versions (mips.*-.*-linux.*): Support only GLIBC 2.0 and 2.2 for libdl, ld and libm. * sysdeps/generic/madvise.c: Fix typos. * sysdeps/unix/sysv/linux/mips/clone.S (error): Use __PIC__. * sysdeps/mips/bits/setjmp.h: Remove K&R compatibility. * sysdeps/mips/setjmp_aux.c (__sigsetjmp_aux): Silence gcc warnings. 2000-04-14 Ulrich Drepper * include/sys/statfs.h: Add prototypes for __statfs64 and __fstatfs64. * sysdeps/generic/fstatfs64.c (__fstatfs64): Renamed to fstatfs64. Make old name weak alias. * sysdeps/unix/sysv/linux/fstatfs64.c: Likewise. * sysdeps/generic/statfs64.c (__statfs64): Renamed to statfs64. Make old name weak alias. * sysdeps/unix/sysv/linux/statfs64.c: Likewise. * io/Makefile (routines): Add posix_fadvise, posix_fadvise64, posix_fallocate, and posix_fallocate64. * io/Versions [libc] (GLIBC_2.2): Add posix_fadvise, posix_fadvise64, posix_fallocate, and posix_fallocate64. * io/fcntl.h: Declare posix_fadvise, posix_fadvise64, posix_fallocate, and posix_fallocate64. * sysdeps/generic/fadvise.c: New file. * sysdeps/generic/fadvise64.c: New file. * sysdeps/generic/fallocate.c: New file. * sysdeps/generic/fallocate64.c: New file. * sysdeps/posix/fallocate.c: New file. * sysdeps/posix/fallocate64.c: New file. * sysdeps/generic/bits/fcntl.h: Define POSIX_FADV_NORMAL, POSIX_FADV_RANDOM, POSIX_FADV_SEQUENTIAL, POSIX_FADV_WILLNEED, POSIX_FADV_DONTNEED, and POSIX_FADV_NOREUSE. * sysdeps/mach/hurd/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. * sysdeps/generic/madvise.c (__madvise): Renamed to posix_madvise. * sysdeps/unix/sysv/linux/syscalls.list: Likewise. 2000-04-13 Ulrich Drepper * misc/Versions [libc] (GLIBC_2.2): Add posix_madvice. * misc/sys/mman.h (posix_madvise): Add prototype. * sysdeps/generic/madvise.c (madvise): Renamed to __madvise. Make old name and posix_madvise weak aliases. * sysdeps/unix/sysv/linux/syscalls.list: Likewise. * sysdeps/generic/bits/mman.h: Add POSIX_MADV_* constants. * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise. 2000-04-13 Andreas Jaeger * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Handle symbol versioning. (elf_machine_got_rel): Only add runtime display if needed. (elf_machine_got_rel): Handle symbol versioning. 2000-04-13 Andreas Jaeger * sysdeps/unix/sysv/linux/mips/clone.S: Fix function. * sysdeps/unix/mips/pipe.S: Reorder instructions since .reorder is default. * sysdeps/mips/__longjmp.c (__longjmp): Use $25 to fix problems with some applications. Patches by Ralf Baechle . * sysdeps/mips/bsd-setjmp.S: Use __PIC__. * sysdeps/mips/bsd-_setjmp.S: Likewise. * sysdeps/mips/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/mips/pipe.S: New file. 2000-04-13 Ulrich Drepper * posix/globtest.sh: Work around inconsistency with expanding ~/ in shell (PR libc/1690). Reported by patsmith@pobox.com. 2000-04-12 Ulrich Drepper * posix/getconf.c: Add support for many more POSIX options. * sysdeps/posix/sysconf.c: Likewise. * sysdeps/generic/bits/confname.h: Add many more POSIX options. * sysdeps/mach/hurd/bits/posix_opt.h: Add _POSIX_REGEXP and _POSIX_SHELL. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise. * sysdeps/unix/sysv/linux/i386/bits/time.h: Rename __CLOCK_HIGHRES to CLOCK_PROCESS_CPUTIME_ID. Add define CLOCK_MONOTONIC and CLOCK_THREAD_CPUTIME_ID. * sysdeps/unix/i386/clock_getcpuclockid.c: Set *clock_id to CLOCK_PROCESS_CPUTIME_ID. * sysdeps/unix/i386/i586/clock_getres.c: Change for renaming of __CLOCK_HIGHRES to CLOCK_PROCESS_CPUTIME_ID. Handle CLOCK_THREAD_CPUTIME_ID and CLOCK_MONOTONIC the same. * sysdeps/unix/i386/i586/clock_gettime.c: Likewise. * malloc/Makefile (tests): Add tst-calloc. * malloc/tst-calloc.c: New file. * sysdeps/arm/libm-test-ulps: New file. * malloc/malloc.c: Undo all of today's changes. * locale/programs/locale.c (show_info): Don't try to look into data for LC_ALL (there is none). * malloc/malloc.c (cALLOc): Clear only what the user asked for and avoid writing over boundary. Patch by Greg McGary . * sysdeps/arm/memprof.h: New file. 2000-04-12 Andreas Jaeger * sysdeps/unix/i386/i586/clock_gettime.c: Fix typo. * sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Include for memmem declaration. 2000-04-12 Ulrich Drepper * sysdeps/unix/clock_gettime.c (clock_gettime): Initialize retval to -1. * sysdeps/posix/clock_getres.c (clock_getres): Likewise. * libio/iopopen.c (_IO_new_proc_open): Close pipes in case the mode is invalid. * libio/oldiopopen.c (_IO_old_proc_open): Likewise. Patch by Bart Veer . * sysdeps/arm/dl-machine.h (RTLD_START): Rewrite for new init function interface. 2000-04-11 Andreas Jaeger * sysdeps/mips/dl-machine.h: Update some comments. (ELF_MACHINE_ALIGN_MASK): Removed, it's not needed. 2000-04-11 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/posix_opt.h: Add _POSIX_SHARED_MEMORY_OBJECTS. * rt/Makefile (tests): Add tst-shm. Add rules to generate tst-shm. * rt/tst-shm.c: New file. * sysdeps/unix/sysv/linux/shm_open.c (shm_open): Set FD_CLOEXEC for descriptor. * misc/sys/mman.h: Add prototypes for shm_open and shm_unlink. * rt/Makefile (librt-routines): Add shm_open and shm_unlink. * rt/Versions [librt] (GLIBC_2.2): Add shm_open and shm_unlink. * sysdeps/generic/shm_open.c: New file. * sysdeps/generic/shm_unlink.c: New file. * sysdeps/unix/sysv/linux/shm_open.c: New file. * sysdeps/unix/sysv/linux/shm_unlink.c: New file. * sysdeps/unix/sysv/linux/Versions [libc] (GLIBC_2.2): Export __endmntent, __getmntent_r, __setmntent, and __statfs. * libio/vasprintf.c (_IO_vasprintf): Try to avoid memory fragmentation by allocating new memory at the end instead of reallocating. * posix/globtest.sh: Fix last change. 2000-04-10 Philip Blundell * sysdeps/unix/sysv/linux/bits/in.h (IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP): New names for IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP. * sysdeps/generic/bits/in.h (IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP): Likewise. 2000-04-11 Ulrich Drepper * elf/readlib (process_file): Close streams in case of an error. 2000-04-09 Andreas Jaeger * elf/readlib.c (process_file): Check if file is big enough to contain aout and ELF headers. Reported by Reinhard Moosauer . 2000-04-10 Jes Sorensen * elf/dl-fini.c: Include alloca.h to get proper prototype for alloca(). 2000-04-11 Ulrich Drepper * test-skeleton.c (main): If STDOUT_UNBUFFERED is defined, make stdout stream unbuffered. * rt/Makefile (tests): Add tst-clock. Add rules to build tst-clock. * rt/tst-clock.c: New file. * sysdeps/unix/i386/i586/clock_getres.c: Correct expression to decide about initialization of nsec. * sysdeps/unix/i386/i586/clock_gettime.c: Correct expression to decide about initialization of freq. Set retval to zero if successful. * sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Cache result. 2000-04-10 Ulrich Drepper * Versions.def (librt): Add GLIBC_2.2. * rt/Makefile (librt-routines): Add get_clockfreq, clock_getcpuclockid, clock_getres, clock_gettime, clock_settime, timer_create, timer_delete, timer_getoverr, timer_gettime, and timer_settime. * rt/Versions [librt] (GLIBC_2.2): Add clock_getres, clock_gettime, clock_settime, timer_create, timer_delete, timer_getoverrun, timer_gettime, and timer_settime. * sysdeps/generic/clock_getcpuclockid.c: New file. * sysdeps/generic/get_clockfreq.c: New file. * sysdeps/unix/i386/clock_getcpuclockid.c: New file. * sysdeps/unix/sysv/linux/i386/get_clockfreq.c: New file. * sysdeps/mach/hurd/i386/bits/time.h: New file. * sysdeps/unix/i386/i586/clock_getres.c: New file. * sysdeps/unix/i386/i586/clock_gettime.c: New file. * sysdeps/unix/i386/i686/Implies: New file. * sysdpes/unix/sysv/linux/i386/bits/time.h: New file. * time/Makefile (routines): Move clock_getres, clock_gettime, clock_settime, timer_create, timer_delete, timer_getoverr, timer_gettime, and timer_settime to rt/Makefile. * time/Versions [libc] (GLIBC_2.2): Remove clock_getres, clock_gettime, clock_settime, timer_create, timer_delete, timer_getoverrun, timer_gettime, and timer_settime. * time/time.h: Define pid_t. Add prototype for clock_getcpuclockid. * sysdeps/mach/hurd/bits/time.h: Drop K&R compatibility. Use __const__ and not const as attribute name. 2000-04-10 Thorsten Kukuk * elf/cache.c (save_cache): Make sure /etc/ld.so.cache is mode 644. 2000-04-10 Andreas Schwab * posix/globtest.sh: Skip tests that depend on unreadable directories if run as root. 2000-04-10 Ulrich Drepper * sysdeps/unix/clock_settime.c (clock_settime): Test tv_nsec value for correct range. From code by Kaz Kylheku . 2000-04-09 Ulrich Drepper * sysdeps/unix/clock_gettime.c: New file. * sysdeps/unix/clock_settime.c: New file. * sysdeps/posix/clock_getres.c: New file. * conform/data/ftw.h-data: Add allow-header sys/stat.h. * sysdeps/unix/sysv/linux/getdents.c (__getdents): Avoid initial lseek call be passing in a buffer which never allow a successful first getdents syscall if not at leas the initial entry can be stored in the user buffer. * localedata/Makefile: Add rules to clean up directories created by new strfmon tests. 2000-04-09 Geoff Clare * localedata/tst-fmon.data: Added new tests for strfmon() using test locales with all combinations of cs_precedes, sign_posn and sep_by_space. * localedata/tst-fmon.sh: Updated to support the new tests. * localedata/tst-fmon-locales/tstfmon_n01y12: New file containing the localedef source for the new strfmon() test locale. * localedata/tst-fmon-locales/tstfmon_n02n40: Likewise. * localedata/tst-fmon-locales/tstfmon_n10y31: Likewise. * localedata/tst-fmon-locales/tstfmon_n11y41: Likewise. * localedata/tst-fmon-locales/tstfmon_n12y11: Likewise. * localedata/tst-fmon-locales/tstfmon_n20n32: Likewise. * localedata/tst-fmon-locales/tstfmon_n30y20: Likewise. * localedata/tst-fmon-locales/tstfmon_n41n00: Likewise. * localedata/tst-fmon-locales/tstfmon_y01y10: Likewise. * localedata/tst-fmon-locales/tstfmon_y02n22: Likewise. * localedata/tst-fmon-locales/tstfmon_y22n42: Likewise. * localedata/tst-fmon-locales/tstfmon_y30y21: Likewise. * localedata/tst-fmon-locales/tstfmon_y32n31: Likewise. * localedata/tst-fmon-locales/tstfmon_y40y00: Likewise. * localedata/tst-fmon-locales/tstfmon_y42n21: Likewise. * stdlib/strfmon.c: Correct problems with missing or extra spaces for unusual combinations of sign_posn and sep_by_space. Improved left-precision alignment code. 2000-04-07 Andreas Jaeger * posix/Makefile (CFLAGS-regex.c): Remove DEBUG. 2000-04-10 Andreas Jaeger * intl/Makefile: Don't run do-gettext-test when cross-compiling. 2000-04-09 Ulrich Drepper Implement handling of restartable conversion functions according to ISO C. * iconv/gconv.h (__gconv_fct): Add additional parameter. * iconv/gconv_int.h (__BUILTIN_TRANS): Likewise. * iconv/gconv.c: Pass additional parameter to conversion function. * iconv/gconv_simple.c (internal_ucs4_loop_single): New function. (internal_ucs4le_loop_single): New function. (__gconv_transform_ascii_internal): Define ONE_DIRECTION. (__gconv_transform_internal_ascii): Likewise. (__gconv_transform_internal_utf8): Likewise. (__gconv_transform_utf8_internal): Likewise. (__gconv_transform_ucs2_internal): Likewise. (__gconv_transform_internal_ucs2): Likewise. (__gconv_transform_ucs2reverse_internal): Likewise. (__gconv_transform_internal_ucs2reverse): Likewise. (internal_ucs4le_loop_unaligned): Before return __GCONV_INCOMPLETE_INPUT check that the remaining bytes really form a valid character. Otherwise return __GCONV_ILLEGAL_INPUT. (__gconv_transform_utf8_internal): Define STORE_REST and UNPACK_BYTES. * iconv/loop.c: Fit in definition of function to convert one character for processing of left-over bytes from the state object. * iconv/skeleton.c (gconv): Rename inbuf to inptrp and inbufend to inend to match names in loop functions. (RESET_INPUT_BUFFER): Change apprpriately. (gconv): If needed, call function to process bytes from the state object. Similar at the end: store left over bytes if input is incomplete. Take extra argument and add new argument to all calls of the conversion function. * iconvdata/iso-2022-cn.c: Adjust numeric values used to store information in the state object to not conflict with length count. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/unicode.c: Adjust for change change in parameters of skeleton function. * iconvdata/utf-16.c: Likewise. * libio/iofwide.c: Add new parameter to all calls of conversion function. * wcsmbs/btowc.c: Likewise. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise. * iconvdata/gbgbk.c: Always define MAX_NEEDED_OUTPUT and MAX_NEEDED_INPUT. 2000-04-07 Andreas Jaeger * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h: Updated for newer kernels. 2000-04-07 Ulrich Drepper * wcsmbs/wchar.h (__mbstate_t): Rename elements. Make __value element a union to allow byte access. * iconvdata/iso-2022-cn.c: Adjust for change of element name in mbstate_t. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * wcsmbs/mbsinit.c: Likewise. * stdlib/mblen.c: Likewise. * stdio-common/printf-parse.h: Likewise. 2000-04-06 Ulrich Drepper * sysdeps/unix/sysv/linux/getdents.c (__getdents): The Linux kernel does not allow relative seeks on descriptors associated with directories. Go back to get the position in the directory every time we enter the function. Return -1 and set errno if one entry could be read from the kernel but does not fit into the buffer passed in by the user. * locale/programs/charmap.c (charmap_new_char): Add parameter step. Support ..(2).. ellipsis. (parse_charmap): Recognize ..(2).. etc and pass step down. Correctly generate names for UCS4 characters. * locale/programs/ld-ctype.c (struct translit_ignore_t): Add step. (ctype_finish): We know the wide character value for , don't search. (charclass_symbolic_ellipsis): Handle ..(2).. ellipsis. (charclass_ucs4_ellipsis): Likewise. (read_translit_ignore_entry): Store ellipsis step. (ctype_read): Recognize ..(2).. etc and pass step down. * locale/programs/linereader.c (lr_token): When seeing comment character ignore only rest of line in sources but stop at escaped newline. Recognize ..(2).. and ....(2)..... * locale/programs/locfile-token.h (enum token_t): Add tok_ellipsis2_2 and tok_ellipsis4_2. 2000-04-06 Andreas Jaeger * sysdeps/unix/sysv/linux/alpha/Dist: init-first.h has been removed, remove it here also. * sysdeps/unix/sysv/linux/arm/Dist: Likewise. * sysdeps/unix/sysv/linux/powerpc/Dist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Likewise. 2000-04-06 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h: Don't include bits/sigcontext.h. * sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h: Likewise. 2000-04-06 Ulrich Drepper * locale/programs/ld-collate.c (collate_read): Handle ellipsis in collation symbol definition. Value in quivalence definition must be defined, don't check that it is not. * locale/programs/charmap.c (parse_charmap): Recognize values as character names. * locale/programs/ld-ctype.c (get_character): Handle missing repertoire map correctly. 2000-04-05 Cristian Gafton * ctype/ctype.h (__isctype_l): Define even if not __OPTIMIZE__ because it is used in generic code. * wctype/wctrans.c: Define __ctype32_toupper and __ctype32_tolower. * wcsmbs/wcwidth.h: Declare __ctype32_b. * intl/gettext.c: Include . * intl/ngettext.c: Likewise. 2000-04-05 Jakub Jelinek * resolv/inet_ntop.c (inet_ntop4, inet_ntop6, inet_ntop): Use socklen_t type for size. * sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Rewrite for new init function interface. * sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Don't include sys/ucontext.h. (__jmp_buf): Declare the whole type structure here, don't use ucontext. 2000-04-05 Ulrich Drepper * iconv/skeleton.c (put16u): Fix typo. Reported by Bruno Haible . * sysdeps/unix/sysv/linux/alpha/init-first.h: Not needed anymore. * sysdeps/unix/sysv/linux/arm/init-first.h: Likewise. * sysdeps/unix/sysv/linux/mips/init-first.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise. * sysdeps/unix/sysv/linux/Dist: Remove getresuid and getresgid. * Makefile (distribute): Add abi-versions.awk and firstversions.awk. Patches by Torsten Duwe . 2000-04-05 Andreas Schwab * nss/Makefile ($(objpfx)makedb): Move $(libdl) after db-open.o. 2000-04-05 Andreas Schwab * sysdeps/m68k/dl-machine.h (RTLD_START): Readd _dl_start_user entry point, used on Hurd. 2000-04-04 Andreas Jaeger * intl/Makefile: Only run the gettext test with shared libraries. 2000-03-16 Mark Kettenis * sysdeps/unix/sysv/linux/i386/sys/procfs.h (prfpregset_t): Typedef for elf_fpregset_t instead of `elf_fpregset_t *'. 2000-04-05 Roland McGrath * Makeconfig: Undo last change. * configure.in: If --disable-shared was given, don't set VERSIONING, don't define DO_VERSIONING, and don't give scare warning for no versioning. * configure: Regenerated. 2000-04-04 Roland McGrath * Makeconfig [$(build-shared) != yes] (versioning): Set to `no'. 2000-04-04 Andreas Jaeger * sysdeps/generic/fgetexcptflg.c: Use shlib-compat macros. 2000-04-04 Ulrich Drepper * elf/dl-runtime.c (fixup): Correct handling of symbols marked STV_HIDDEN and STV_INTERNAL during lookup. (profile_fixup): Likewise. * elf/dl-reloc.c (RESOLVE): Likewise. * iconv/skeleton.c (FUNCTION_NAME): Reorder initialization of unaligned so that it compiles for system which need unaligned access handling. 2000-04-04 Andreas Schwab * elf/cache.c (print_entry): Only look at the type field when printing the type. 2000-04-04 Andreas Schwab * iconvdata/big5.c (BODY): Fix typo. 2000-04-04 Andreas Schwab * sysdeps/m68k/dl-machine.h (RTLD_START): Rewrite for new init function interface. Remove unused _dl_start_user entry point. 2000-04-03 Andreas Jaeger * include/arpa/inet.h (__inet_aton): Add protoype. 2000-04-01 Andreas Jaeger * sysdeps/mach/hurd/mips/init-first.c: Use SHARED instead of PIC. * sysdeps/unix/mips/sysdep.h: Use __PIC__ instead of PIC. * sysdeps/mach/mips/thread_state.h: Likewise. * sysdeps/generic/fclrexcpt.c: Use shlib-compat macros. * sysdeps/generic/fegetenv.c: Likewise. * sysdeps/generic/fesetenv.c: Likewise. * sysdeps/generic/feupdateenv.c: Likewise. * sysdeps/generic/fraiseexcpt.c: Likewise. * sysdeps/generic/fsetexcptflg.c: Likewise. * sysdeps/unix/sysv/linux/alpha/glob.c: Likewise. * sysdeps/unix/sysv/linux/arm/errlist.c: Likewise. * sysdeps/unix/sysv/linux/errlist.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. 2000-04-02 H.J. Lu * elf/ldconfig.h (FLAG_IA64_LIB64): New. Defined. 2000-04-03 Ulrich Drepper * elf/dl-load.c (_dl_dst_substitute): Pretty print comment. (add_name_to_object): Add cast in malloc call. (fillin_rpath): Optimize loop to initialize ->status a bit. * sysdeps/i386/dl-machine.h: Undo last change. * sysdeps/mach/hurd/i386/dl-machine.h (RTLD_START_SPECIAL_INIT): Restore %edx register after call here. * sysdeps/arm/atomicity.h: New file. Contributed by Jesper Skov . 2000-04-03 Roland McGrath * Makeconfig (preprocess-versions): Undo last change. Instead, pass -I$(common-objdir) -I$(..)include instead of $(CPPFLAGS). * sysdeps/mach/hurd/i386/init-first.c (init): Don't set __environ here, before we might move the stack. (posixland_init): Set __libc_argc, __libc_argc, and __environ here. (init1): And not here. * sysdeps/i386/dl-machine.h (RTLD_START): Fix code broken by last change, to restore argc value in call-clobbered register after RTLD_START_SPECIAL_INIT, which will contain a call. * elf/dl-deps.c (_dl_map_object_deps): Fix size calculations for allocating and initializing L->l_initfini. * resolv/Makefile (headers): Add bits/netdb.h, so it gets installed. 2000-04-03 Ulrich Drepper * elf/dl-load.c (_dl_init_paths): Use (void*) -1 to signal non-existing RUNPATH, RPATH, and LD_LIBRARY_PATH. (open_path): Change type of fourth parameter. Make pointer to array of pointers. Create variable dirs with original type. Track whether any directory for the object exists and if not, change *DIRSP to (void*) -1 to signal there is no such search path. (_dl_map_object): Change all calls of open_path. Rewrite decompose_rpath calls. 2000-03-31 Andreas Schwab * string/strfry.c: Declare STATE as array of char instead of int and do not initialize it (done by initstate_r). Pass correct size. 2000-04-03 Ulrich Drepper * sysdeps/generic/ldsodefs.h: Fix typo in comment. * sysdeps/i386/dl-machine.h (RTLD_START): Squeeze one more instruction out of the code. 2000-04-02 Ulrich Drepper * elf/dl-fini.c (_dl_fini): Increment j counter after swapping in element at this position. * elf/Versions [ld.so] (GLIBC_2.2): Export _dl_load_lock. * elf/link.h (struct link_map): Add l_reldepsmax, l_reldepsact, and l_reldeps elements. * elf/dl-lookup.c (add_dependency): New function. (_dl_lookup_symbol): Use it whenever symbol was found in a global, dynamically loaded object. (_dl_lookup_symbol_skip): Likewise. (_dl_lookup_versioned_symbol): Likewise. (_dl_lookup_versioned_symbol_skip): Likewise. * elf/dl-open.c: Don't define _dl_load_lock here... * elf/rtld.c: ...but here... * elf/dl-support.c: ...and here. * elf/dl-close.c (_dl_close): Close also dependent objects introduce through relocation. * elf/dl-fini.c (_dl_fini): Also take dependencies introduced through relocations. * dlfcn/Makefile (glrefmain.out): Test is not expected to fail anymore. * dlfcn/glrefmain.c: Add one more debug message. * Makeconfig (preprocess-versions): Don't add $(CPPFLAGS) to compiler command line. * Makerules (sysd-versions): Use ( ) instead of { }. * elf/dl-load.c: Use __builtin_expect to signal that compiler should optimize for the non-debugging case. * elf/dl-lookup.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. 2000-04-02 Roland McGrath * sysdeps/mach/hurd/i386/init-first.c: Replace PIC #ifdefs with SHARED. (init1): Don't initialize __environ here, since init already does it. (first_init): New function, broken out of _init. (_hurd_stack_setup): Use it. [SHARED] (_dl_init_first): New function, renamed from old _init. (init1) [SHARED]: Don't call posixland_init here. (posixland_init): Take ENVP arg, so signature is usual for initializer. [SHARED] (_init): Define as alias for posixland_init. [! SHARED] (__libc_first_init): Define as alias for posixland_init. * sysdeps/i386/dl-machine.h (RTLD_START): Insert the macro RTLD_START_SPECIAL_INIT before calling initializers. (RTLD_START_SPECIAL_INIT): Define to empty if undefined. * sysdeps/mach/hurd/i386/dl-machine.h: New file. * sysdeps/mach/hurd/dl-sysdep.c (_dl_init_first): New weak function. * elf/Versions ({libc,ld.so}: GLIBC_2.2): Add _dl_init_first. * stdio-common/tmpfile.c [! USE_IN_LIBIO]: No alias needed, since we define the function with the name `tmpfile'. * mach/Versions: Define SHARED instead of PIC to affect shlib-compat.h. * hurd/Versions: Likewise. 2000-04-02 Ulrich Drepper * elf/dl-runtime.c (fixup): Fix typo in comment. * resolv/netdb.h (getnameinfo): All length parameters are of type socklen_t. * inet/getnameinfo.c: Likewise. 2000-04-01 Ulrich Drepper * posix/unistd.h (socklen_t): Define if it has not yet happened. (gethostname): Change type of second parameter to socklen_t. * include/unistd.h (__gethostname): Change type of second parameter to socklen_t. * sysdeps/generic/gethostname.c (__gethostname): Likewise. * sysdeps/mach/hurd/gethostname.c (__gethostname): Likewise. * sysdeps/unix/sysv/gethostname.c (__gethostname): Likewise. * sysdeps/unix/sysv/sysv4/solaris2/gethostname.c (__gethostname): Likewise. * sysdeps/unix/sysv/linux/gethostname.c: Removed. * sysdeps/generic/bits/socket.h: Use __socklen_t to define socklen_t. Allow definition elsewhere. * sysdeps/unix/sysv/aix/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise. * sysdeps/generic/bits/types.h: Define __socklen_t. * sysdeps/unix/sysv/aix/bits/types.h: Likewise. * sysdeps/unix/sysv/hpux/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Likewise. * inet/arpa/inet.h (inet_addr): Change return type to in_addr_t. (inet_lnaof): Likewise. (inet_netof): Likewise. (inet_network): Likewise. (inet_aton): Likewise. (inet_makeaddr): Change parameter types to in_addr_t. (inet_neta): Likewise. (inet_ntop): Change type of last parameter to socklen_t. (inet_aton): Only make available if __USE_MISC. (inet_neta): Likewise. (inet_net_ntop): Likewise. (inet_net_pton): Likewise. (inet_nsap_ntoa): Likewise. * inet/in.h: Define in_port_t type. Define in_addr_t type. (struct in_addr): Use in_addr_t in definition. (IN_CLASSA): Use cast to in_addr_t. (IN_CLASSB): Likewise. (IN_CLASSC): Likewise. (IN_CLASSD): Likewise. (IN_EXPERIMENTAL): Likewise. (IN_BADCLASS): Likewise. (INADDR_ANY): Likewise. (INADDR_BROADCAST): Likewise. (INADDR_NONE): Likewise. (INADDR_LOOPBACK): Likewise. (INADDR_UNSPEC_GROUP): Likewise. (INADDR_ALLHOSTS_GROUP): Likewise. (INADDR_ALLRTRS_GROUP): Likewise. (INADDR_MAX_LOCAL_GROUP): Likewise. (struct sockaddr_in): Use in_port_t for sin_port element. (struct sockaddr_in6): Use in_port_t for sin6_port element. Use uint8_t instead of u_int8_t. * resolv/inet_addr.c (inet_addr): Change return type to in_addr_t. Call __inet_aton instead of inet_aton. (__inet_aton): Renamed from inet_aton. Add weak alias under old name. * resolv/netdb.h (gethostbyname2): Define only is __USE_MISC. (innetgr): Likewise. (struct addrinfo): Use socklen_t for ai_addrlen element. * sysdeps/unix/sysv/linux/bits/in.h (IPV6_MTU_DISCOVER, IPV6_MTU, IPV6_RECVERR): New defines. * include/netdb.h: Change type of first parameter of __getnetbyaddr_r. * inet/getnetbyad.c: Likewise. * inet/getnetbyad_r.c: Likewise. * nis/nss_nis/nis-network.c: Likewise. * nis/nssplus_nis/nisplus-network.c: Likewise. * nss/nss_files/files-network.c: Likewise. * resolv/netdb.h: Define uint32_t if not already happened. Include bits/netdb.h. Remove definition of struct netent. Change type of first parameter of getnetbyaddr_r and getnetbyaddr. * sysdeps/generic/stdint.h: Allow definition of uint32_t elsewhere. * sysdeps/generic/bits/netdb.h: New file. * sysdeps/unix/sysv/linux/alpha/bits/netdb.h: New file. * dlfcn/Makefile (distribute): Add glreflib1.c and glreflib2.c. (tests): Add glrefmain. Add rules to build modules and run tests. Ignore result of glrefmain for now since it fails. * dlfcn/glrefmain.c: New file. * dlfcn/glreflib1.c: New file. * dlfcn/glreflib2.c: New file. * test-skeleton.c: Include for strsignal prototype. * locale/programs/ld-collate.c (check_duplicate): Allow repertoire to be missing. * sysdeps/unix/sysv/linux/init-first.c (init): Add code from former init-first.h. Initialize __libc_multiple_libcs. 2000-03-31 Ulrich Drepper * iconv/skeleton.c: Define access macros with u suffix. Adjust #if expression for use of unaligned function to the one used in the definition of these functions. * iconv/loop.c: Undefined `unaligned' before recursive inclusion. * iconv/gconv_simple.c (internal_ucs4_loop_unaligned): New function. (internal_ucs4le_loop_unaligned): New function. * elf/Makefile (distribute): Add dep1.c, dep2.c, dep3.c, and dep4.c. (tests): Add order. (module-names): Add dep1, dep2, dep3, and dep4. Add dependencies for dep* modules and order. Define rule for order.out which checks the result. * elf/dep1.c: New file. * elf/dep2.c: New file. * elf/dep3.c: New file. * elf/dep4.c: New file. * elf/order.c: New file. * elf/dl-init.c: Fix typo in comment. 2000-03-31 Andreas Jaeger * sysdeps/mips/dl-machine.h (RTLD_START): Rewritten to match new init function interface. * sysdeps/mips/mips64/dl-machine.h (RTLD_START): Likewise. 2000-03-31 Andreas Jaeger * sysdeps/mips/fpu/fgetexcptflg.c: Fix last patch to use #if. * sysdeps/mips/fpu/fegetenv.c: Likewise. * sysdeps/mips/fpu/feupdateenv.c: Likewise. * sysdeps/mips/fpu/fclrexcpt.c: Likewise. * sysdeps/mips/fpu/fesetenv.c: Likewise. * sysdeps/generic/ldsodefs.h: DT_INIT_ARRAY is not relocated anymore, update comment. * sysdeps/unix/sysv/linux/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/semctl.c (struct __old_semid_ds): Remove SHLIB_COMPAT - the struct is always needed. 2000-03-31 Ulrich Drepper * sysdeps/i386/dl-machine.h (RTLD_START): Optimize for i686. * elf/dl-support.c: Define _dl_starting_up. 2000-03-30 Ulrich Drepper * elf/dl-init.c (_dl_init): Clear _dl_starting_up at end of function. * sysdeps/i386/dl-machine.h: Remove code to clear _dl_starting_up. * misc/sys/cdefs.h: Don't allow gcc in traditional mode to be used. * elf/Makefile (dl-routines): Remove preinit. * elf/Versions: Remove _dl_preinit. * elf/dl-preinit.c: Removed. Move content into... * elf/dl-init.c: ...here. * sysdeps/i386/dl-machine.h (RTLD_START): Remove call to _dl_preinit. * sysdeps/generic/bits/shm.h (struct shmid_ds): Correct names of elements. 2000-03-29 Geoff Clare * stdlib/strfmon.c: Corrected problems with the code that sets default values for [np]_sep_by_space and [np]_sign_posn; also the new positive/negative alignment code from the previous patch was not quite right for [np]_sign_posn = 0. * localedata/tst-fmon.data: Changes corresponding to the two sets of fixes made to stdlib/strfmon.c. 2000-03-29 Jes Sorensen * malloc/malloc.c: Declare bit flags UL so that they will not default to int size when being inverted. 2000-03-29 Andreas Jaeger * sysdeps/unix/sysv/linux/arm/errlist.c: Use shlib-compat macros. * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. 2000-03-29 Andreas Jaeger , Ralf Baechle * Makeconfig: Introduce new variable SHARED to mark code used in the shared library. * elf/dl-close.c: Use it instead of PIC. * elf/dl-load.c: Likewise. * elf/dl-open.c: Likewise. * hurd/geteuids.c: Likewise. * include/libc-symbols.h: Likewise. * include/shlib-compat.h: Likewise. * libio/freopen.c: Likewise. * linuxthreads/cancel.c: Likewise. * linuxthreads/pthread.c: Likewise. * linuxthreads/wrapsyscall.c: Likewise. * nss/nsswitch.c: Likewise. * stdio-common/vfprintf.c: Likewise. * sysdeps/arm/init-first.c: Likewise. * sysdeps/i386/init-first.c: Likewise * sysdeps/generic/init-first.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/mips/init-first.c: Likewise. * sysdeps/powerpc/elf/libc-start.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. * sysdeps/unix/sysv/linux/arm/errlist.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. * sysdeps/mips/machine-gmon.h (asm): Use __PIC__ as check. 2000-03-29 Andreas Jaeger * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup): Use D_PTR to access relocated entries in l_info. (elf_machine_rela): Likewise. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): Likewise. (elf_machine_rela): Likewise. * sysdeps/powerpc/dl-machine.c (__elf_machine_runtime_setup): Likewise. (__elf_machine_fixup_plt): Likewise. (__process_machine_rela): Likewise. * sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise. (elf_machine_rela): Likewise. * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Likewise. (elf_machine_rel): Likewise. * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Likewise. (elf_machine_fixup_plt): Likewise. (elf_machine_rela): Likewise. 2000-03-29 Andreas Jaeger * sysdeps/unix/sysv/linux/msgctl.c: Use shlib-compat macros. * sysdeps/unix/sysv/linux/semctl.c: Likewise. * sysdeps/unix/sysv/linux/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise. * sysdeps/unix/sysv/linux/i386/getrlimit64.c: Likewise. * sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Likewise. * sysdeps/unix/sysv/linux/i386/semctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise. * sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise. * sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise. * sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/alpha/adjtime.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. * sysdeps/unix/sysv/linux/alpha/oldglob.c: Use shlib-compat macros, remove K&R prototypes. 2000-03-30 Ulrich Drepper * posix/getopt.c (_getopt_internal): Return -1 if argc < 1. Reported by Andrew Wiseman (PR libc/1677). 2000-03-30 Andreas Jaeger * misc/sys/cdefs.h: Remove K&R support. 2000-03-30 Ulrich Drepper * iconv/skeleton.c: Avoid compiling unaligned versions in some with size of dynamic sectionmore cases. * iconv/loop.c: Likewise. 2000-03-29 Bruno Haible * iconv/loop.c (put16): Remove __const. Fix access index. (put32): Remove __const. Use uint32_t instead of uint16_t. * iconv/skeleton.c: Likewise. 2000-03-30 Roland McGrath * mach/Versions (libc: GLIBC_2.0) [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Conditionalize __vm_allocate on this. [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)]: Conditionalize mutex- and spinlock-related symbols on this. [!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3): New version set. Lock-related symbols go here instead in this case. * sysdeps/mach/hurd/Versions (libc: GLIBC_2.0): Remove _cthread_exit_routine, _cthread_init_routine, cthread_keycreate, cthread_getspecific, cthread_setspecific, __libc_getspecific. * hurd/Versions [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: GLIBC_2.0): Put them here instead. [!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3): New version set. Those cthreads symbols go here instead in this case. * Versions.def (libc) [USE_IN_LIBIO]: Add HURD_CTHREADS_0.3 version. 2000-03-30 Ulrich Drepper * elf/dl-init.c (_dl_init): We don't need to call constructors recursively. Fold _dl_init_rec in _dl_init and optimize a bit more. 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-16 Mark Kettenis * sysdeps/unix/sysv/linux/i386/sys/procfs.h (prfpregset_t): Typedef for elf_fpregset_t instead of `elf_fpregset_t *'. 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.