diff -durpN glibc-2.2.4/ChangeLog glibc-2.2.5/ChangeLog --- glibc-2.2.4/ChangeLog Wed Aug 15 18:49:57 2001 +++ glibc-2.2.5/ChangeLog Sun Jan 20 19:20:18 2002 @@ -1,10098 +1,2256 @@ -2001-08-15 Ulrich Drepper - - * libio/iofwide.c (_IO_fwide): Don't reset file position to - beginning of file, really get current position. - -2001-08-15 Andreas Schwab - - * sysdeps/m68k/m68020/atomicity.h (atomic_add): Don't allow - address register for operand 0. - -2001-08-14 Ulrich Drepper - - * stdio-common/perror.c (perror): Use _IO_fwide instead of fwide. - - * libio/libio.h (_IO_fwide): Handle zero as second parameter more - efficiently in macro. - -2001-08-14 Jakub Jelinek - - * resolv/nss_dns/dns-host.c (RESOLVSORT): Define. - (addrsort): New function. - * resolv/gethnamaddr.c (RESOLVSORT): Define. - -2001-08-14 Jakub Jelinek - - * string/strsignal.c (free_mem): Remove. - -2001-08-14 Andreas Jaeger - - * inet/inet_ntoa.c (free_mem): Remove, it's not used anymore. - Closes PR libc/2477, reported by Dylan Alex Simon - . - -2001-08-14 Ulrich Drepper - - * locale/Makefile (aux): Add xlocale. - * locale/xlocale.c: New file. - * include/locale.c (_nl_C_locobj): Declare. - * iconv/gconv_charset.h: Use __tolower_l, __isdigit_l, __isspace_l - with _nl_C_locobj instead of tolower, isdigit, isspace. - * iconv/gconv_conf.c: Likewise. - * iconv/gconv_int.h: Likewise. - * iconv/gconv_open.c: Likewise. - - * locale/newlocale.c: Minor cleanups. - -2001-08-14 Andreas Jaeger - - * sysdeps/ieee754/ldbl-128/w_expl.c: New file, copy from - ldbl-96/w_expl.c with tweaked constants. Patch by Stephen L - Moshier. - -2001-08-13 Ulrich Drepper - - * malloc/memusage.c (me): Allow creating the output file. - - * sysdeps/unix/sysv/linux/Makefile: Remove -fkeep-inline-functions - flag for init-first. - - * po/fr.po: Update from translation team. - -2001-08-13 Andreas Jaeger - - * sysdeps/mips/machine-gmon.h (MCOUNT): Don't use delay slot for - jal since it's a macro. - Patch by Simon Gee . - -2001-08-12 Ulrich Drepper - - * iconvdata/Makefile: Add rules to build ISO-IR-209 and MAC-SAMI. - * iconvdata/iso-ir-209.c: New file. - * iconvdata/mac-sami.c: New file. - * iconvdata/gconv-modules: Add entries for ISO-IR-209 and MAC-SAMI. - * iconvdata/tst-tables.sh: Likewise. - - * posix/getopt.c: Remove store_args_and_env which is not needed since - USE_NONOPTION_FLAGS is undefined anyhow. Use __libc_argc and - __libc_argv variables. - -2001-08-12 Roland McGrath - - * sysdeps/mach/hurd/clock.c: New file. - * sysdeps/mach/hurd/times.c: New file. - * sysdeps/mach/hurd/getclktck.c (__getclktck): Always return 1000000. - * sysdeps/mach/hurd/init-posix.c: New file. - - * hurd/hurdlookup.c (__hurd_file_name_lookup): Comment fix. - -2001-08-11 Roland McGrath - - * sysdeps/mach/hurd/bits/time.h - (CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID): New macros. - * sysdeps/mach/hurd/i386/bits/time.h: File removed. - - * posix/getopt.c (nonoption_flags_max_len, nonoption_flags_len): - Make these defns conditional on [USE_NONOPTION_FLAGS]. - -2001-08-11 Ulrich Drepper - - * config.h.in: Add #undef line for USE_NONOPTION_FLAGS. - * posix/getopt_init.c: Produce code only if USE_NONOPTION_FLAGS is - defined. - * posix/getopt.c: Use __getopt_nonoption_flags only if - USE_NONOPTION_FLAGS is defined. - * sysdeps/mach/hurd/i386/init-first.c: Use __getopt_clean_environment - only if USE_NONOPTION_FLAGS is defined. - * sysdeps/mach/hurd/mips/init-first.c: Likewise. - * sysdeps/unix/sysv/linux/init-first.c: Likewise. - * sysdeps/arm/init-first.c: Likewise. - * sysdeps/generic/init-first.c: Likewise. - * sysdeps/i386/init-first.c: Likewise. - * sysdeps/sh/init-first.c: Likewise. - -2001-08-11 Andreas Jaeger - - * sysdeps/ieee754/ldbl-128/e_j0l.c: New file. - Contributed by Stephen L Moshier . - -2001-08-11 Ulrich Drepper - - * assert/assert.c (set_progname): Removed. - (__assert_fail): Use __progname instead of __assert_program_name. - * assert/assert-perr.c (__assert_perror_fail): Likewise. - - * malloc/malloc.c (ptmalloc_init): Don't call getenv five times. - Instead use new function next_env_entry which iterates over the - environment once. - - * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Only set - _dl_profile_map for the right object. - - * elf/dl-reloc.c (_dl_relocate_object): Allocate l_reloc_result - only if consider_profiling is != 0, not if _dl_profile != NULL. - - * sysdeps/generic/dl-environ.c (_dl_next_ld_env_entry): Optimize a bit. - Now returns pointer to first character after "LD_". - * elf/rtld.c (process_envvars): Adjust for change above. - * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Likewise. - * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): - Likewise. - -2001-08-10 Wolfram Gloger - - * malloc/malloc.c (grow_heap): Use mmap() rather than mprotect() - to allocate new memory, for better performance with Linux-2.4.x. - -2001-08-10 Ulrich Drepper - - * posix/getopt_init.c (__getopt_clean_environment): Avoid making - the strncmp calls most of the time by testing for '_' as the first - character of the name. - - * elf/dl-open.c (add_to_global): Remove stale comment. - - * elf/dl-load.c (fillin_rpath): In SUID binaries, don't mark - non-system-dirs in LD_LIBRARY_PATH as nonexisting, simply drop them. - - * libio/iovdprintf.c (_IO_vdprintf): Set _IO_USER_LOCK flag for - temporary stream. Don't define lock. - * libio/obprintf.c (_IO_obstack_vprintf): Likewise. - * libio/strops.c (_IO_str_init_static): Likewise. - * libio/vasprintf.c (_IO_vasprintf): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - * libio/iovsprintf.c: Likewise. - * libio/iovsnprintf.c: Likewise. - * libio/iovswprintf.c: Likewise. - * libio/iovsscanf.c: Likewise. - * libio/iovswscanf.c: Likewise. - * stdio-common/vfprintf.c [USE_IN_LIBIO] (buffered_vfprintf): Likewise. - * libio/genops.c (_IO_no_init): Don't call _IO_lock_init if _lock - is NULL. - (_IO_default_finish): Likewise. - * libio/wgenops.c (_IO_wdefault_finish): Likewise. - -2001-08-10 Andreas Jaeger - - * stdio-common/stdio_ext.h: Fix typo. - -2001-08-09 Ulrich Drepper - - * posix/fnmatch_loop.c: Fix computation of alignment. - -2001-08-09 Isamu Hasegawa - - * posix/regex.c (wcs_regex_compile): Use appropriate string - to compare with collating element. - Fix the padding for the alignment. - -2001-08-09 Isamu Hasegawa - - * locale/programs/ld-collate.c (collate_output): Exclude - characters from elem_table. - Reduce if clause to write collating elements correctly. - * posix/Makefile (tests): Add bug-regex5. - * posix/bug-regex5.c: New file. - -2001-08-09 Ulrich Drepper - - * locale/lc-time.c (_nl_parse_alt_digit): New function. - * locale/localeinfo.h: Add prototype for it. - * time/strptime.c (get_alt_number): Use _nl_parse_alt_digit to get - the value. Correct computation of hour for %OI. If no %EC given - but %Ey use numeric formular. - - * dlfcn/Makefile (tststatic-ENV): Also add $(common-objpfx)elf for - ld.so. - - * time/tst-strptime.c: Add tests in different locales. - * time/Makefile (tst-strptime-ENV): Define. - -2001-08-09 Jakub Jelinek - - * catgets/catgets.c (catclose): Be liberal about catalog_desc in - catclose too. - -2001-08-09 Ulrich Drepper - - * time/strptime.c (strptime_internal): Add handling of year + - %U/%W week + week day. - * time/tst-strptime.c: Add test case for %U and %W handling. - - * stdio-common/vfscanf.c: Fix reading of wide chars and strings if - not COMPILE_WSCANF. - - * libio/vswprintf.c (_IO_vswprintf): Fix return value handling - which is different from snprintf. - * libio/tst_swprintf.c: Add tests for too small output buffer. - - * stdio-common/vfscanf.c: Fix handling of %[] for COMPILE_WSCANF. - * libio/Makefile (tests): Add tst-swscanf. - * libio/tst-swscanf.c: New file. - -2001-08-09 Jakub Jelinek - - * posix/globtest.sh: Robustify tilde tests. - -2001-08-09 Andreas Jaeger - - * locale/programs/ld-ctype.c (DEFAULT): Fix expression. - (EMPTY): New. - (wctype_table_finalize): Use it. - (find_idx): Likewise. - (wctype_table_get): Likewise. - - * configure.in: Add check for GCC 3.x. - -2001-08-09 Ulrich Drepper - - * libio/wfileops.c (_IO_wfile_seekoff): Don't even try to handle - seeking with backup buffer present. - Correct determining of internal buffer position. - Reset also wide buffers if we reset the internal buffers. - * libio/iofwide.c (_IO_fwide): Always determine file offset for wide - streams. - * libio/ioseekoff.c: Catch one unimplemented case. - * libio/ftello.c: Don't abort if the wide stream has backup buffer. - * libio/ftello64.c: Likewise. - * libio/iofgetpos.c: Likewise. - * libio/iofgetpos64.c: Likewise. - * libio/ftell.c: Likewise. - * libio/Makefile (tests): Add tst-ungetwc2. - * libio/tst-ungetwc2.c: New file. - -2001-08-08 Ulrich Drepper - - * locale/elem-hash.h (elem_hash): Correct stupid mistake and - create real hash values now. - Patch by Isamu Hasegawa . - - * libio/iofgetpos.c (_IO_new_fgetpos): Correct a few problems in - the handling of wide streams. - - * libio/ioungetwc.c (ungetwc): Orient stream first. - * libio/Makefile (tests): Add tst-ungetwc1. - * libio/tst-ungetwc1.c: New file. - - * libio/wfileops.c (_IO_wfile_underflow): Remove incorrect test - for possible conversion using __codecvt_do_in. - * libio/Makefile (tests): Add tst-fgetws. - * libio/tst-fgetws.c: New file. - - * libio/iofgetws.c: Use _IO_ferror_unlocked macros instead of - coding the test here. - - * catgets/open_catalog.c: Rewrite code to assume that the function - is called at catopen time and not delayed in catgets. - * catgets/catgets.c (catopen): Call __open_catalog and fail if that - function failed. - (catgets): Remove code for delayed opening of catalog. - * catgets/catgetsinfo.h: Remove now unnecessary information from - struct catalog_info. Change __open_catalog prototype. - * catgets/gencat.c: Adjust __open_catalog call. - * catgets/test-gencat.c: Stop program if catopen failed. - - * locale/C-monetary.c (_nl_C_LC_MONETARY): Provide correct value - for CRNCYSTR. - - * locale/programs/ld-messages.c (messages_finish): Provide POSIX - locale compliant default values for fields without definition. - * locale/programs/ld-time.c (time_finish): Likewise. - * locale/programs/ld-monetary.c (monetary_finish): Likewise. - -2001-08-08 Andreas Jaeger - - * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Fix test for - infinity. - -2001-08-07 Ulrich Drepper - - * sysdeps/ia64/memusage.h (GETTIME): Define using hp-timing.h - functionality. - - * sysdeps/ia64/hp-timing.h (HP_TIMING_NOW): Fix comment. - -2001-08-07 Jakub Jelinek - - * malloc/memusage.c (initialized): New variable. - (init): If not yet initialized, call me(). - (me): Do all dlsym calls here. - (malloc, realloc, calloc, free): If not yet initialized, - call me(). If in the middle of initializing, return NULL or - do nothing. - -2001-08-07 Jakub Jelinek - - * sysdeps/unix/seekdir.c (seekdir): Set dirp->filepos. - - * dirent/tst-seekdir.c (main): Check whether telldir right after - seekdir returns 2nd argument given to seekdir. - -2001-08-07 Franz Sirl - - * dlfcn/Makefile (tststatic-ENV): Add $(common-objpfx) to - LD_LIBRARY_PATH. - -2001-08-07 Andreas Jaeger - Andreas Schwab - Bruno Haible - - * locale/programs/3level.h (EMPTY): New macro. - (*_get, *_add, *_iterate, *_finalize): Use it instead of ~(uint32_t) 0. - -2001-08-08 GOTO Masanori - - * locale/iso-3166.def: Updates from latest official list. - -2001-08-07 Andreas Jaeger - - * stdlib/tst-strtod.c: Disable HUGE_VAL tests for older GCCs. - - * iconv/gconv_charset.h (upstr): Add unused attribute to avoid warning. - - * libio/iopopen.c (_IO_new_proc_open): Fix typos, it's _IO_MTSAFE_IO. - (_IO_new_proc_close): Likewise. - * libio/oldiopopen.c (_IO_old_proc_open): Likewise. - (_IO_old_proc_close): Likewise. - -2001-08-06 Ulrich Drepper - - * manual/locale.texi: Add documentation for rpmatch. - Patch by Jochen Hein . - -2001-08-06 Jakub Jelinek - - * stdlib/strtod.c (STRTOF): Skip whole infinity, not just inf. - * stdio-common/vfscanf.c (__vfscanf): +- can be followed by i in +-Inf. - - * stdlib/tst-strtod.c (tests): Add Inf tests. - * stdio-common/tstscanf.c (main): Add tests for +- before Inf. - -2001-08-06 Ulrich Drepper - - * locale/weightwc.h (findidx): Change type of i to int32_t. - - * wcsmbs/wcsmbs-tst1.c (main): Avoid warning. Pretty printing. - -2001-08-05 Roland McGrath - - * sysdeps/unix/bsd/bsd4.4/bits/dirent.h (struct dirent): Rename member - d_fileno to d_ino. - (struct dirent64): Likewise. - (d_fileno): Define as macro. - -2001-08-04 Roland McGrath - - * sysdeps/mach/hurd/getrusage.c: Use TASK_EVENTS_INFO if implemented - by the microkernel (which it's not). - -2001-08-04 Ulrich Drepper - - * libio/fileops.c (_IO_new_file_underflow): Don't call - _IO_flush_all_linebuffered. This isn't required in any standard. - Instead flush only stdout. - * libio/wfileops.c (_IO_wfile_underflow): Likewise. - -2001-08-04 Franz Sirl - - * dlfcn/Makefile: Add rules for new testcase tststatic. - * dlfcn/tststatic.c: New file. - * dlfcn/modstatic.c: New file. - -2001-08-04 Ulrich Drepper - - * manual/summary.awk: Fix value used for FF. - - * elf/rtld.c: Correct use of __builtin_expect. - - * elf/dl-close.c: Remove commented-out code. - - * libio/genops.c (_IO_unbuffer_write): Force streams in narrow - orientation so that conversion modules aren't used anymore. - * malloc/set-freeres.c: Call _IO_cleanup before running subfreeres - functions to avoid using wide streams afterwards. - - * iconvdata/Makefile: Add rules to build GEORGIAN-PS and - GEORGIAN-ACADEMY. - * iconvdata/georgian-ps.c: New file. - * iconvdata/georgian-academy.c: New file. - * iconvdata/gconv-modules: Add entries for GEORGIAN-PS and - GEORGIAN-ACADEMY. - * iconvdata/tst-tables.sh: Add GEORGIAN-PS and GEORGIAN-ACADEMY. - -2001-08-03 Ulrich Drepper - - * locale/programs/ld-collate (insert_value): If symbol in order - definition does not exist create it as a sequence without - associated multibyte and wide representation. - -2001-07-30 Roland McGrath - - * sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start): Diddle - syntax so both function and pointer-to-function arguments work right. - -2001-08-03 Tom Rix +2002-01-18 Andreas Schwab - * config.h.in: Add HAVE_XCOFF for AIX. - * configure.in: Add --with-xcoff option. - * include/libc-symbols.h: Disable the .stabs macros. + * sysdeps/unix/sysv/linux/configure.in + (libc_cv_gcc_unwind_find_fde): Set for m68k, too. -2001-08-03 Ulrich Drepper +2002-01-17 Ulrich Drepper - * iconvdata/8bit-gap.c: Correctly use __builtin_expect. - * 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/gb18030.c: Likewise. - * iconvdata/gbbig5.c: Likewise. - * iconvdata/gbgbk.c: Likewise. - * iconvdata/gbk.c: Likewise. - * iconvdata/ibm930.c: Likewise. - * iconvdata/ibm932.c: Likewise. - * iconvdata/ibm933.c: Likewise. - * iconvdata/ibm935.c: Likewise. - * iconvdata/ibm939.c: Likewise. - * iconvdata/ibm943.c: Likewise. - * iconvdata/iso-2022-cn.c: Likewise. - * iconvdata/iso-2022-kr.c: Likewise. - * iconvdata/iso646.c: Likewise. - * iconvdata/iso8859-1.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. - * iconv/gconv_simple.c: Likewise. Convert assert() in real error - handling. + * nscd/nscd.c (drop_privileges): Removed. Adjust caller. + * nscd/connections.c (begin_drop_privileges): New function. + (finish_drop_privileges): New function. + (nscd_init): Call the new functions which also install all groups + for the server user. + Patch by Christopher Allen Wing . - * iconvdata/Makefile: Add rules to build KOI8-T module. - * iconvdata/koi8-t.c: New file. - * iconvdata/gconv-modules: Add entries for KOI8-T. - * iconvdata/tst-tables.sh: Add KOI8-T. +2002-01-17 Martin Schwidefsky - * locale/iso-639.def: Correct Javanese 2 letter code. Add Tonga. - Add Tigrinya. + * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Use 64 bit + instructions for pointer operations. + * sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: Likewise. -2001-08-02 Ulrich Drepper +2002-01-17 Andreas Jaeger - * locale/programs/ld-collate.c (collate_read): Handle collating-element - and reorder_after following copy statement correctly. + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: GCC 3.1 has + __uint128_t build-in. -2001-08-02 Andreas Jaeger + * sysdeps/unix/sysv/linux/configure.in: Fix check for S390 and + PowerPC. - * libio/bits/stdio.h (printf): Remove printf optimization since - GCC 3.0 can optimize printf. +2002-01-16 Ulrich Drepper -2001-08-02 Ulrich Weigand + * posix/getconf.c: Update copyright year. + * nss/getent.c: Likewise. + * nscd/nscd_nischeck.c: Likewise. + * iconv/iconvconfig.c: Likewise. + * iconv/iconv_prog.c: Likewise. + * elf/ldconfig.c: Likewise. + * catgets/gencat.c: Likewise. + * csu/version.c: Likewise. + * elf/ldd.bash.in: Likewise. + * elf/sprof.c (print_version): Likewise. + * locale/programs/locale.c: Likewise. + * locale/programs/localedef.c: Likewise. + * nscd/nscd.c (print_version): Likewise. + * debug/xtrace.sh: Likewise. + * malloc/memusage.sh: Likewise. + * malloc/mtrace.pl: Likewise. - * sysdeps/s390/s390-32/memcpy.S: Fixed incorrect use of - mvcle introduced by 2001-07-12 change. - * sysdeps/s390/s390-64/memcpy.S: Likewise. +2002-01-16 Andreas Schwab -2001-07-31 Ulrich Drepper + * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Fix regexp to + reliably remove "-ia64" from rtld name. - * sysdeps/unix/sysv/linux/i386/getcontext.S: Don't touch the %gs - register so that contexts can be used in different threads. - * sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise. - * sysdeps/unix/sysv/linux/i386/swapcontext.S: Likewise. +2002-01-16 Martin Schwidefsky - * sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Correct - test for cmsg struct size. - * sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Likewise. + * sysdeps/unix/sysv/linux/s390/swapcontext.c: Remove. + * sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: New file. - * sysdeps/unix/sysv/linux/i386/makecontext.S: Remove unnecessary - initializations. +2002-01-14 Martin Schwidefsky - * libio/iopopen.c: Add lock for proc_file_chain access. - * libio/oldiopopen.c: Add lock for old_proc_file_chain access. - Reported by Padraig Brady . + * sysdeps/s390/fpu/libm-test-ulps: Update. -2001-07-31 Andreas Jaeger +2002-01-11 Martin Schwidefsky - * sysdeps/unix/sysv/linux/sparc/bits/poll.h (NPOLLFILE): Removed. - * sysdeps/unix/sysv/linux/mips/bits/poll.h (NPOLLFILE): Removed. - * sysdeps/unix/sysv/linux/m68k/bits/poll.h (NPOLLFILE): Removed. - * sysdeps/unix/sysv/linux/bits/poll.h (NPOLLFILE): Removed. - * sysdeps/generic/bits/poll.h (NPOLLFILE): Removed. + * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde): + Set for s390 and s390x architectures. + (arch_minimum_kernel): Set for s390 and s390x. + * sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline + assembly contraints. + * sysdeps/unix/sysv/linux/s390/profil-counter.h: Move/copy to ... + * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: ... here, + remove high order bit from the program counter. + * sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h: ... and here. + * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate. - * libio/genops.c (flush_cleanup): Guard list_all_lock to allow - compilation without threads. +2002-01-09 Jakub Jelinek -2001-07-30 Ulrich Drepper + * sysdeps/alpha/fpu/e_sqrt.c (__ieee754_sqrt): Don't use multi-line + string literals. + (__full_ieee754_sqrt): Add __attribute_used__. - * po/fr.po: Update from translation team. +2002-01-10 Ulrich Drepper -2001-07-30 Andreas Jaeger + * sysdeps/generic/group_member.c (__group_member): Also check + groups[0] [PR libc/2781]. - * sysdeps/ieee754/ldbl-128/e_atanhl.c: New file, contributed by - Stephen L Moshier. +2001-12-02 Roland McGrath - * posix/regex.c: Declare wcs functions only if compiling with - MBS_SUPPORT. - Don't use #elif for traditional C. + * mach/Makefile, mach/Machrules: Move comments out of \ continuations. -2001-07-29 Mark Kettenis + * hurd/hurd.h (__hurd_fail): Add `break;' to silence new gcc-3 warning. + Reported by Jeff Bailey . - * sysdeps/mach/hurd/recvmsg.c: New file. - * sysdeps/mach/hurd/sendmsg.c: New file. + * hurd/hurd.h (_hurd_umask): Remove volatile qualifier from decl. + Reported by Jeff Bailey . -2001-07-27 Ulrich Drepper + * mach/Makefile ($(objpfx)mach-syscalls.mk): Pass $(CFLAGS) to $(CC). + * mach/Machrules ($(objpfx)%.udeps static pattern rule): Likewise. + Reported by Jeff Bailey . - * version.h (VERSION): Bump to 2.2.4. +2002-01-07 Roland McGrath - * sysdeps/mips/Dist: Remove non-existing files. - * sysdeps/mips/mips64/Dist: Likewise. - * sysdeps/mips/mipsel/Dist: Removed. - * iconv/Makefile (distribute): Add strtab.c and iconvconfig.h. - * sysdeps/generic/Dist: Add bits/link.h. - * sysdeps/unix/sysv/linux/m68k/Dist: Add sys/procfs.h. - * sysdeps/unix/sysv/aix/Dist: Add dl-support.c, dl-addr.c, and - dl-error.c. - * sysdeps/ia64/Dist: Add bits/link.h. + * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Use + volatile on type of ARGC so the compiler doesn't get clever. - * libio/vasprintf.c (_IO_vasprintf): Don't copy uninitialized byte - from stream buffer to result buffer. - Reported by Michael Meeks . +2002-01-08 Ulrich Drepper - * libio/Makefile: Add rules to check output of tst-fopenloc and - for memory leaks. - * libio/tst-fopenloc.c: New file. + * version.h (VERSION): Bump to 2.2.5. - * iconv/gconv_cache.c (__gconv_compare_alias_cache): New function. - * iconv/gconv_int.h: Add prototype for __gconv_compare_alias_cache. - * iconv/gconv_charset.h: Replace __gconv_lookup_alias prototype with - __gconv_compare_alias prototype. - * iconv/gconv_db.c (__gconv_lookup_alias): Removed. - (__gconv_compare_alias): New function. - * locale/findlocale.c (_nl_find_locale): Use __gconv_compare_alias - instead of calling __gconv_lookup_alias twice and compare here. + * Makefile (distribute): Add scripts/cpp. + * elf/Makefile (distribute): Add reldep6mod[01234].c, + unwind-dw2.c, unwind-dw2-fde.c, unwind.h, unwind-pe.h, + unwind-dw2-fde.h, and dwarf2.h. + * sysdeps/unix/bsd/bsd4.4/Dist: New file. + * sysdeps/unix/sysv/aix/Dist: Add sysv_termio.h and start-libc.c. + * sysdeps/unix/sysv/linux/ia64/Dist: Add ldd-rewrite.sed. + * sysdeps/unix/sysv/linux/s390/Dist: Likewise. -2001-07-26 Mark Kettenis +2002-01-07 Andreas Jaeger - * hurd/hurdsig.c (_hurd_internal_post_signal): Fix handling of - SA_RESETHAND and SA_NODEFER. + * sysdeps/generic/bits/byteswap.h: Prevent double inclusion. + * sysdeps/i386/bits/byteswap.h: Likewise. + * sysdeps/ia64/bits/byteswap.h: Likewise. + * sysdeps/m68k/bits/byteswap.h: Likewise. + * sysdeps/s390/s390-32/bits/byteswap.h: Likewise. + * sysdeps/s390/s390-64/bits/byteswap.h: Likewise. -2001-07-27 Ulrich Drepper +2002-01-02 Bruno Haible - * libio/fileops.c (_IO_new_file_fopen): Correctly locate ccs= - substring. Don't handle ccs= if no descriptor was allocated. - Normalize codeset name before calling __wcsmbs_named_conv. - Initialize transliteration elements. Free step data structure. - * libio/iofclose.c (_IO_new_fclose): Correct freeing of the step data. - * libio/iofwide.c (__libio_translit): Renamed from libio_translit - and made public. Various little cleanup changes. - * wcsmbs/wcsmbsload.h (struct gconv_fcts): Add towc_nsteps and - tomb_nsteps member. - * wcsmbs/wcsmbsload.c: Add some casts to avoid warnings. - (__wcsmbs_gconv_fcts): Initialize towc_nsteps and tomb_nsteps member. - (getfct): Take additional parameter with pointer to variable where the - number of steps is stored in. Disable code which allows to use more - than one step for now. Adjust all callers. - (free_mem): New function. Frees data associated with currently - selected converters. + * intl/plural.y: Fix %expect count. - * malloc/mtrace.pl: Extract addresses from DSOs. +2002-01-07 Stephen L Moshier -2001-07-26 Ulrich Drepper + * sysdeps/ieee754/ldbl-96/s_erfl.c (erfcl): Fix K&R header. - * malloc/mcheck.c (checkhdr): Disable mcheck before reporting an - error. Don't run any tests if mcheck is disabled. + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Fix typo in test + for x < 0.25 and restore original range reduction method. + (__ieee754_lgammal_r): Make sure signgam is set before returning. - * elf/dl-support.c (_dl_important_hwcaps): Avoid using malloc - early in the program. +2001-12-31 Ulrich Drepper -2001-07-27 Andreas Jaeger + * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Always use C + locale to parse /proc/loadavg [PR libc/2760]. - * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h (SC_GPRS): Fix - value following change from 2001-05-30. +2001-12-22 Roland McGrath - * sysdeps/s390/s390-64/bits/setjmp.h (_JMPBUF_UNWINDS): Follow - rename change from 2001-07-12 for __jmp_buf. - Patches by Ulrich Weigand . + * hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set, + _hurd_port_init, and __hurd_self_sigstate. -2001-07-26 Roland McGrath + * mach/Versions (libc: GLIBC_2.2.5): Add mig_strncpy. - * sysdeps/generic/bits/termios.h (EXTA, EXTB): Make these conditional - on __USE_MISC rather than __USE_BSD. - (B57600, B115200, B230400, B460800, B500000, B576000, B921600, - B1000000, B1152000, B1500000, B2000000, B2500000, B3000000, - B3500000, B4000000): New macros. - * sysdeps/generic/tcsetattr.c (bad_speed): Accept those values. - * termios/cfsetspeed.c (speeds): Likewise. +2001-12-18 Jakub Jelinek -2001-07-26 kaz Kojima + * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (clone): Subtract + stack bias from child stack pointer before passing it to clone syscall. - * sysdeps/sh/dl-machine.h (elf_machine_load_address): Don't use - multi-line strings. - (FUN_ADDR, FGR_SAVE, ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. - (elf_machine_rela): Handle unaligned relocation. +2001-12-14 Ulrich Drepper -2001-06-07 David Mosberger + * crypt/md5.h: Define md5_uintptr. - * sysdeps/ia64/dl-symaddr.c (_dl_symbol_address): Update call to - __ia64_make_fptr() for new interface. - (_dl_function_address): Remove. +2001-11-29 Andreas Jaeger - * sysdeps/ia64/dl-machine.h (IA64_BOOT_FPTR_TABLE_LEN): Rename - from IA64_BOOT_FPTR_SIZE and reduce its value from 256 to 200. - (struct ia64_fdesc): Rename from struct ia64_fptr and drop "next" - pointer. Rename member "func" to "ip". - (struct ia64_fdesc_table): New type. - (__ia64_make_fptr): Change prototype. - (__ia64_init_bootstrap_fdesc_table): New function. - (ELF_MACHINE_BEFORE_RTLD_RELOC): New macro. - (__boot_ldso_fptr): Removed. - (__fptr_next): Removed. - (__fptr_root): Removed. - (__fptr_count): Removed. - (TRAMPOLINE_TEMPLATE): Fix typo in comment. Don't use multi-line - strings to avoid warning from gcc3. - (RTLD_START): Don't use multi-line strings. - (ELF_MACHINE_START_ADDRESS): Use DL_STATIC_FUNCTION_ADDRESS. - (elf_machine_fixup_plt): Update the code entry point in the - function descriptor through a "volatile" pointer to ensure proper - write ordering. - (elf_machine_rela): Simplify handling of FPTR relocs: always call - __ia64_make_fptr(). + * sysdeps/unix/sysv/linux/x86_64/Versions: Add arch_prctl. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add arch_prctl call. - * sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): New macro. - (DL_STATIC_FUNCTION_ADDRESS): Likewise. - (DL_DT_INIT_ADDRESS): Use DL_AUTO_FUNCTION_ADDRESS. - (DL_DT_FINI_ADDRESS): Likewise. +2001-12-13 Andreas Schwab - * sysdeps/ia64/dl-fptr.c: Rewrite for better scalability and to - avoid deadlocks. + * stdio-common/vfprintf.c (process_string_arg): Correctly handle + zero precision with wide character string format. - * include/link.h: Add member machine specific "l_mach" member to - link_map. +2001-12-13 Thorsten Kukuk - * sysdeps/generic/bits/link.h: New file. - * sysdeps/ia64/bits/link.h: Likewise. + * sysdeps/posix/cuserid.c (cuserid): If we don't find the UID, + but have a user supplied buffer, return the empty buffer, not NULL. - * elf/rtld.c (_dl_start): Fix typo in comment. - (_dl_start_final): Copy new "l_mach" member from temporary to - final bootstrap map. +2001-12-13 Ulrich Drepper -2001-07-25 Ulrich Drepper + * crypt/md5.c (md5_process_bytes): Correct handling of alignment. + Patch by Eric Sharkey . - * csu/gmon-start.c: Use ENTRY_POINT_DECL if defined instead of a - declaration using ENTRY_POINT. - * sysdeps/ia64/elf/entry.h (ENTRY_POINT_DECL): New definition. +2001-12-12 Ulrich Drepper -2001-07-25 H.J. Lu + * nis/nis_findserv.c (__nis_findfastest_with_timeout): Mostly the code + from __nis_findfastest. Take timeout value from parameter. + (__nis_findfastest): Call __nis_findfastest_with_timeout repeatedly. + * nis/nis_intern.h: Define parameters controlling __nis_findfastest + [PR libc/2520]. Patch by Alexander Belopolsky . - * csu/gmon-start.c: Include - (_start): Replaced with ENTRY_POINT. +2001-12-12 Andreas Jaeger -2001-07-25 Mark Kettenis + * configure.in: Use -nostartfiles -nostdlib for linker tests, fix + combreloc test so that it works in this case. - * sysdeps/unix/bsd/bsd4.4/bits/socket.h: New file. +2001-12-11 Ulrich Drepper -2001-07-25 Ulrich Drepper + * resolv/nss_dns/dns-host.c (getanswer_r): Remove MAX_NR_ADDRS + limitation [PR libc/2564]. - * iconv/iconvconfig.c (main): Don't write an output file if we - have seen an error. - (write_output): Don't overwrite old cache file until we know we - have a new one. +2001-12-10 Roland McGrath - * iconv/Makefile (install-sbin): Add iconvconfig. + * sysdeps/mach/hurd/bind.c (bind): Don't deallocate IFSOCK if we never + set it. -2001-07-25 Jakub Jelinek + * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Set default + set to GLIBC_2.2.5, not GLIBC_2.2.4. - * elf/Makefile (routines): Add dl-iteratephdr and - dl-iteratephdr-static. - (elide-routines.os): Add dl-iteratephdr-static. - * elf/dl-iteratephdr.c: New file. - * elf/link.h (struct dl_phdr_info): New definition. - (dl_iterate_phdr): New prototype. - * elf/Versions (dl_iterate_phdr): Add at GLIBC_2.2.4. - * include/link.h (struct dl_phdr_info): New definition. - (dl_iterate_phdr, __dl_iterate_phdr): New prototypes. - * sysdeps/generic/dl-iteratephdr-static.c: New file. - * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: New file. + * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): + Fix conditionals so this is set by default for stdio and not for libio. + * sysdeps/mach/hurd/configure: Regenerated. -2001-07-24 Igor Khavkine +2001-12-10 Thorsten Kukuk - * hurd/hurdsig.c (_hurdsig_init): Fix incorrect initialization - of pending signals. + * io/ftw.c (ftw_startup): Check, if the path is search and readable. -2001-06-22 Jakub Jelinek +2001-12-10 Ulrich Drepper - * sysdeps/powerpc/dl-machine.c (__elf_preferred_address): Prefer - gaps below main executable. + * sysdeps/generic/glob.c (glob): Return only pattern if nothing + matches and GLOB_NOCHECK is set. + * posix/globtest.sh: Correct expected result for NOCHECK test. -2001-07-22 Bruno Haible + * po/ca.po: Update from translation team. - * intl/libintl.h (ngettext, dngettext, dcngettext): Use both msgid1 - and msgid2 for printf format argument checking. +2001-12-05 Ulrich Drepper -2001-07-24 Ulrich Drepper + * timezone/zic.c: Fix handling of turnaround times. + Patch by Arthur David Olson . - * iconv/gconv_cache.c (find_module): Don't allocate room for the - filename. Use alloca, we don't need it beyond this function. - (__gconv_release_cache): New function. - * iconv/gconv_db.c (__gconv_close_transform): Call - __gconv_release_cache after the steps are handled. - * iconv/gconv_dl.c (__gconv_find_shlib): Allocate file name in the - record as well. - * iconv/gconv_int.h: Add prototype for __gconv_release_cache. +2001-12-01 Roland McGrath - * iconv/gconv_cache.c (__gconv_lookup_cache): Catch one more - boundary case and reject it. + * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Add + missing backslash in test arguments. + * sysdeps/mach/hurd/configure: Regenerated. -2001-07-24 Andreas Jaeger +2001-12-02 Moshe Olshansky - * manual/examples/longopt.c (main): Fix which options take arguments. + * sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder): Fix + overflow problem. -2001-07-24 Ulrich Drepper +2001-11-29 Jakub Jelinek - * iconvdata/Makefile: Add dependencies for tst-loading test. + * sysdeps/generic/glob.c (next_brace_sub): Return NULL if braces + don't match, fix {{a,b},c} globbing, clean up. + Patch by Flavio Veloso . + * posix/globtest.sh: Add new tests. -2001-07-24 Andreas Jaeger +2001-11-28 Ulrich Drepper - * iconv/iconvconfig.c (name_insert): Make static to avoid warning. + * libio/genops.c (_IO_flush_all_lockp): New function. The same code + as the old _IO_flush_all but lock only if parameter is nonzero. + (_IO_flush_all): Call _IO_flush_all_lockp with 1 as parameter. + * libio/libioP.h: Add prototype for _IO_flush_all_lockp. + * sysdeps/generic/abort.c (fflush): Define to _IO_flush_all_lockp(0) + if libio is used [PR libc/2575]. -2001-07-23 Ulrich Drepper +2001-11-28 Jakub Jelinek - * locale/programs/locale.c (write_locales): Disable implicit - locking for the stream. Use feof_unlocked instead of feof. + * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit, + __signbitl): Only define for ISO C99. - * sysdeps/unix/sysv/linux/i386/makecontext.S: Initialize %fs, %gs, - and floating-point status as well. +2001-11-22 Thorsten Kukuk - * libio/iofclose.c (_IO_new_fclose): Unlink descriptor first to - avoid deadlock. - * libio/oldiofclose.c (_IO_old_fclose): Likewise. - * libio/genops.c (_IO_un_link): Get stream lock since it's not - always done in the caller. - (_IO_link_in): Likewise. + * nss/nss_files/files-hosts.c (_nss_files_get##name##_r): Set + herrnop to NETDB_INTERNAL if we run out of buffer space. - * libio/genops.c (_IO_list_all_stamp): New variable. - (_IO_un_link): Bump _IO_list_all_stamp after removing from list. - (_IO_link): Likewise for insertion. - (flush_cleanup): New function. - (_IO_flush_all): Get list_all_lock and all individual locks for the - streams. Detect and handle changes to the _IO_list_all list. - (_IO_flush_all_linebuffered): Likewise. - * sysdeps/generic/bits/stdio-lock.h: Define - _IO_cleanup_region_start_noarg. - * sysdeps/mach/hurd/bits/stdio-lock.c: Likewise. +2001-11-28 Ulrich Drepper - * stdio-common/printf.h: Fix typo in comment. + * nss/nss_files/files-XXX.c (internal_getent): Correct input + overflow test for platforms with signed char. + Reported by Andrew Haley . - * iconv/gconv_cache.c (__gconv_lookup_cache): Handle encoding from - and to INTERNAL. - * iconv/iconvconfig.c: Create a special record for the INTERNAL - encoding name in the output file. +2001-11-26 Ulrich Drepper -2001-07-23 Jakub Jelinek + * stdio-common/vfscanf.c: If incomplete nan of inf(inity) strings + are found call conv_error and not input_error [PR libc/2669]. - * sunrpc/svc_tcp.c (svctcp_rendezvous_abort): New function. - (svctcp_rendezvous_op): Use it. - * sunrpc/svc_unix.c (svcunix_rendezvous_abort): New function. - (svcunix_rendezvous_op): Use it. +2001-11-26 Stephen L Moshier -2001-07-23 Andreas Schwab + * sysdeps/ieee754/ldbl-128/e_log10l.c (L102B): Fix typo in + initialization. - * math/Makefile (CPPFLAGS-test-ifloat.c, CPPFLAGS-test-idouble.c, - CPPFLAGS-test-ildoubl.c): Renamed from CFLAGS-*. - (math-CPPFLAGS): Set this instead of CPPFLAGS. + * sysdeps/ieee754/ldbl-128/e_coshl.c (__ieee754_coshl): Remove + unused variables. Fix threshold for returning 1.0. -2001-07-23 Ulrich Drepper + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (neval, deval): Constify + argument. - * elf/elf.h: Add more definitions from Sun's latest version. + * sysdeps/ieee754/ldbl-128/s_erfl.c (neval, deval): Likewise, and + remove unused variables. -2001-07-23 Stephen L Moshier + * sysdeps/ieee754/ldbl-128/e_j0l.c (neval, deval): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): Return proper - sign for 0 input and set divide by zero exception for -1 input. - Return argument if NaN or infinity. + * sysdeps/ieee754/ldbl-128/e_j1l.c (neval, deval): Likewise, and + include local math header files. -2001-07-23 Andreas Jaeger +2001-11-15 Ulrich Drepper - * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Add some deltas. + * sysdeps/generic/unwind-dw2-fde.c: Don't use recursive mutexes. -2001-07-23 Ulrich Drepper +2001-10-02 Jakub Jelinek + H.J. Lu - * iconv/gconv_cache.c (__gconv_lookup_cache): Select correct - module for conversion direction. + * Versions.def (libc): Add GCC_3.0. + * configure.in (libc_cv_gcc_static_libgcc): Set to -static-libgcc + if gcc supports this flag. + (EXPORT_UNWIND_FIND_FDE): Define unless target configure disables it. + (gcc3): Allow glibc to be compiled with gcc 3.x. + * config.h.in (EXPORT_UNWIND_FIND_FDE): Add. + * config.make.in (static-libgcc, unwind-find-fde): Add. + * Makerules (build-shlib-helper, build-module-helper): Use it. + * scripts/versions.awk: Make sure GLIBC_ versions come first. + * elf/soinit.c (__libc_global_ctors): Set tbases and dbases if + necessary. + (_fini): Call __deregister_frame_info_bases if + __register_frame_info_bases was used to register. + * elf/Versions (__register_frame_info, __deregister_frame_info): Add + for GLIBC_2.0. + (__register_frame_info_bases, __register_frame_info_table_bases, + __deregister_frame_info_bases, _Unwind_Find_FDE): Add for GCC_3.0. + * elf/Makefile (routines): Add unwind-dw2-fde. + (shared-only-routines): Add unwind-dw2-fde. + * sysdeps/alpha/gccframe.h: New file. + * sysdeps/arm/gccframe.h: New file. + * sysdeps/generic/framestate.c: New file. + * sysdeps/generic/dwarf2.h: New file. + * sysdeps/generic/gccframe.h (struct object): Update from gcc 3.0. + * sysdeps/generic/unwind-dw2-fde.c: New file. + * sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c: New file. + * sysdeps/generic/unwind-dw2-fde.h: New file. + * sysdeps/generic/unwind-dw2.c: New file. + * sysdeps/generic/unwind-pe.h: New file. + * sysdeps/generic/unwind.h: New file. + * sysdeps/hppa/gccframe.h: New file. + * sysdeps/i386/gccframe.h: New file. + * sysdeps/m68k/gccframe.h: New file. + * sysdeps/mips/gccframe.h: New file. + * sysdeps/powerpc/gccframe.h: New file. + * sysdeps/s390/gccframe.h: New file. + * sysdeps/sh/gccframe.h: New file. + * sysdeps/sparc/gccframe.h: New file. + * sysdeps/vax/gccframe.h: New file. + * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde): + Set on all architectures except ia64. + * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Set + for i386. + * sysdeps/mach/hurd/i386/Versions (__register_frame_info, + __deregister_frame_info): Move to elf/Versions. + * sysdeps/unix/sysv/linux/m68k/Versions: Likewise. + * sysdeps/unix/sysv/linux/arm/Versions: Likewise. + * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. + * sysdeps/unix/sysv/linux/i386/Versions: Likewise. + * sysdeps/unix/sysv/linux/mips/Versions: Likewise. + * sysdeps/unix/sysv/linux/powerpc/Versions: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. + * sysdeps/mach/hurd/i386/Makefile (sysdep-routines): Add framestate. + * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. + * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise. + * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. + * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. + * sysdeps/unix/sysv/linux/mips/Makefile: Likewise. + * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. + * sysdeps/unix/sysv/linux/sparc/Makefile: Likewise. -2001-07-23 Stephen L Moshier +2001-11-15 Jeff Law - * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Return proper - sign for 0 input. Return NaN with no exception for NaN input. + * posix/regex.c (uintptr_t): Do not provide a definition if the + system provided one. -2001-07-23 Ulrich Drepper +2001-11-13 Roland McGrath - * iconv/gconv_builtin.h: ISO-106464/UTF-8/ transformation must - really be an alias. + * stdio-common/tmpfile.c: Moved to ... + * sysdeps/generic/tmpfile.c: ... here. + * sysdeps/mach/hurd/tmpfile.c: New file. -2001-07-23 Andreas Jaeger + * hurd/fopenport.c (__fopenport): Renamed from fopenport. + [USE_IN_LIBIO] (fopencookie): #define as _IO_fopencookie. + (fopenport): Define as weak alias. - * iconv/iconvconfig.c: Include and use - __attribute_malloc__ for older GCC versions. - * iconv/strtab.c: Likewise. - Add prototypes to avoid warnings. + * libio/iofopncook.c (_IO_fopencookie): Move forward declaration ... + * libio/libioP.h: ... to here. -2001-07-22 Roland McGrath +2001-11-12 Ulrich Drepper - * hurd/hurdsig.c (_hurd_internal_post_signal): Support SA_RESETHAND - and SA_NODEFER options. Spurred to action by Igor Khavkine. + * elf/dl-reloc.c (_dl_relocate_object): Avoid iterating over + program header twice. Construct list with the needed information. - * sysdeps/generic/bits/sigaction.h [__USE_UNIX98 || __USE_MISC] - (SA_NODEFER, SA_RESETHAND): New macros, same bit values as FreeBSD. - [__USE_MISC] (SA_INTERRUPT): New macro, value 0. - [__USE_MISC] (SA_NOMASK, SA_ONESHOT, SA_STACK): New macros, aliases - as in other sysdeps versions of this file. +2001-11-10 Ulrich Drepper - * sysdeps/generic/bits/sigaction.h (struct sigaction): Use a union - and provide sa_handler and sa_sigaction member names as macros, as - done in other sysdeps versions of this file. - Suggested by Igor Khavkine . + * po/ca.po: Update from translation team. -2001-07-23 Ulrich Drepper + * elf/dl-load.c (_dl_map_object_from_fd): Remove use of + _dl_pf_to_prot. Use arithmetic operation using PF_TO_PROT macro. + * sysdeps/generic/ldsodefs.h (PF_TO_PROT): New macro. + * elf/dl-reloc.c (_dl_relocate_object): Likewise. - * posix/regex.c: Revamp memory allocation for WCHAR functions to - not use too much stack. +2001-11-10 Andreas Jaeger -2001-07-22 Ulrich Drepper + * sysdeps/ieee754/ldbl-128/e_log2l.c: New file. + * sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise. + Contributed by Stephen L Moshier . - * iconv/iconvconfig.c (write_output): Update comment explaining - output format. +2001-11-09 Ulrich Drepper - * elf/dl-load.c (_dl_dst_count): In SUID binaries expand $ORIGIN - if it is alone. + * elf/dl-minimal.c (realloc): Handle NULL for first parameter + correctly. + * elf/dl-load.c (is_dst): New function. + (_dl_dst_count): Use is_dst to check for DST variable. (_dl_dst_substitute): Likewise. - * iconv/iconvconfig.c: Remove --verbose option. Comment out - mcheck_verbose call. - - * iconv/strtab.c (morememory): Fix little memory handling problem. - -2001-07-22 Andreas Schwab - - * sysdeps/unix/sysv/linux/m68k/sysdep.h (INLINE_SYSCALL): Don't - mark asm input operand as clobbered. - * sysdeps/unix/sysv/linux/m68k/brk.c (__brk): Likewise. - -2001-07-22 Ulrich Drepper - - * iconv/gconv_builtin.c (struct builtin_map): Remove init and end - elements. - (BUILTIN_TRANSFORMATION): Remove Init and End parameters. - (__gconv_get_builtin_trans): Initialize __init_fct and __end_fct to - NULL. - * iconv/gconv_builtin.h: Remove NULL parameters for Init and End in - all BUILTIN_TRANSFORMATION calls. - * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Remove Init and End - parameters. - * iconv/gconv_simple.c: Likewise. - * iconv/gconv_db.c (gen_steps): Internal converters don't have - initializers, move the code accordingly. - - * iconv/gconv_conf.c (__gconv_read_conf): Don't read configuration - file if STATIC_GCONV is defined. - - * iconv/gconv_conf.c (__gconv_path_envvar): New global variable. - (__gconv_get_path): Use it instead of call getenv. - (__gconv_read_conf): First see whether cache can be used. If yes, - don't do any work here. - * iconv/gconv_db.c (__gconv_release_step): Renamed from release_step - and exported. Change callers. - (__gconv_find_transform): First call __gconv_lookup_cache and only - continue if it signals no cache available. Remove some unnecessary - tests. - * iconv/gconv_int.h: Declare __gconv_path_envvar, __gconv_lookup_cache, - __gconv_release_step, and __gconv_loaded_cache. - * iconv/gconv_cache.c: New file. - * iconv/iconvconfig.c: New file. - * iconv/iconvconfig.h: New file. - * iconv/strtab.c: New file. - * iconv/Makefile: Add rules to build new files and programs. - -2001-07-20 Roland McGrath - - * sysdeps/generic/device-nrs.h (DEV_TTY_P): Change argument type - from `dev_t' (st_rdev value) `const struct stat *'. - * sysdeps/unix/sysv/linux/device-nrs.h (DEV_TTY_P): Likewise. - * libio/filedoalloc.c (_IO_file_doallocate): Change caller. - * sysdeps/mach/hurd/device-nrs.h: New file. - - * libio/stdio_ext.h: Moved to ... - * stdio-common/stdio_ext.h: ... here. - * libio/Makefile (headers): Move stdio_ext.h from here ... - * stdio-common/Makefile (headers): ... to here. - * include/stdio_ext.h: New file. - * stdio/Makefile (routines): Add the stdio_ext.h functions here. - * stdio/Versions (GLIBC_2.2.4): Export the stdio_ext.h functions. - * stdio/__flbf.c: New file. - * stdio/__fbufsize.c: New file. - * stdio/__fpending.c: New file. - * stdio/__fpurge.c: New file. - * stdio/__freadable.c: New file. - * stdio/__freading.c: New file. - * stdio/__fsetlocking.c: New file. - * stdio/__fwritable.c: New file. - * stdio/__fwriting.c: New file. - -2001-07-20 Ulrich Drepper - Andreas Jaeger - - * elf/ldconfig.c (search_dir): Avoid use of uninitialized memory. - Add a few __builtin_expect to mark unlikely error cases. - -2001-07-20 Andreas Jaeger - - * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Synch with kernel. - Patch by Daniel Jacobowitz . - -2001-07-19 Ulrich Drepper - - * intl/localealias.c: Remove unnecessary prototype. - - * Makefile: Add html goal. - * manual/Makefile: Likewise. - -2001-07-18 Ulrich Drepper - - * libio/filedoalloc.c (_IO_file_doallocate): A few more minor - cleanups and improvements. - -2001-07-18 Andreas Schwab - - * posix/regex.c (WORDCHAR_P) [WCHAR]: Also return true for the - underscore character. - -2001-07-18 Jakub Jelinek - - * malloc/malloc (new_heap): Don't call munmap for zero length. - -2001-07-18 Ulrich Drepper - - * libio/filedoalloc.c (_IO_file_doallocate): Use DEV_TTY_P if - available to determine whether descriptor is for tty before - calling isatty. - - * sysdeps/unix/sysv/linux/device-nrs.h: Define DEV_TTY_P. - * sysdeps/generic/device-nrs.h: Likewise. - -2001-07-18 Andreas Jaeger - - * time/Makefile (tst-getdate-ENV): Add TZDIR to environment. - - * time/Depend: New, add dependency on timezone. - - * time/tst-getdate.c: Add testcase for bug report by Hendrik - Uhlmann . - * time/datemsk: Likewise. - -2001-07-17 Ulrich Drepper - - * elf/ldconfig.c (parse_conf): Disable implicit locking for the - stream. Remove some unnecessary initializers. - -2001-07-17 Andreas Jaeger - - * elf/ldconfig.c: Add new variable hwcap_mask to honour LD_HWCAP_MASK. - (is_hwcap_platform): Use it. - (set_hwcap): New function to set hwcap_mask. - (main): Call set_hwcap. - -2001-07-17 Jakub Jelinek - - * time/getdate.c (__getdate_r): Initialize tm_isdst, tm_gmtoff and - tm_zone before calling strptime. - -2001-07-17 Andreas Schwab - - * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Fix last change. - -2001-07-17 Ulrich Drepper - - * inet/rcmd.c (iruserfopen): Disable implicit locking for the stream. - * inet/ruserpass.c (ruserpass): Likewise. - * nss/nsswitch.c (nss_parse_file): Likewise. - * resolv/res_hconf.c (_res_hconf_init): Likewise. - * resolv/res_init.c (__res_vinit): Likewise. - * gmon/bb_exit_func.c (__bb_exit_func): Likewise. - * misc/getpass.c (getpass): Likewise. - * misc/getusershell.c (initshells): Likewise. - * misc/getttyent.c (setttyent): Likewise. - * misc/mntent_r.c (__setmntent): Likewise. - * time/getdate.c (__getdate_r): Likewise. - * time/tzfile.c (__tzfile_read): Likewise. - * iconv/gconv_conf.c (read_conf_file): Likewise. - * intl/localealias.c (read_alias_file): Disable implicit locking - for the stream. Use _unlocked functions for glibc. - * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Disable - implicit locking for the stream. - (__get_nprocs_conf): Likewise. - (phys_pages_info): Likewise. - -2001-07-16 Ulrich Drepper - - * nscd/connections.c: Print messages caused by user application - only if debug_level > 0. Add little performance improvements. - Use TEMP_FAILURE_RETRY around write calls. - * nscd/grpcache.c: Likewise. - * nscd/hstcache.c: Likewise. - * nscd/pwdcache.c: Likewise. - -2001-07-13 H.J. Lu - - * sysdeps/mips/dl-machine.h (MAP_BASE_ADDR): Removed. - (elf_machine_got_rel): Defined only if RTLD_BOOTSTRAP is not defined. - (RESOLVE_GOTSYM): Rewrite to use RESOLVE. - - * sysdeps/mips/rtld-ldscript.in: Removed. - * sysdeps/mips/rtld-parms: Likewise. - * sysdeps/mips/mips64/rtld-parms: Likewise. - * sysdeps/mips/mipsel/rtld-parms: Likewise. - -2001-07-16 Ulrich Drepper - - * catgets/test-gencat.sh: Use <<"EOF" instead of < - - * sysdeps/posix/spawni.c: Fix typo when iterating over signal numbers. - -2001-07-16 Andreas Schwab - - * math/libm-test.inc (check_float_internal): Fix sign bit test of - infinities. - -2001-07-16 Jakub Jelinek - - * sysdeps/i386/fpu/e_expl.c (__ieee754_expl): Make it PIC friendly. - -2001-07-15 Ulrich Drepper - - * malloc/obstack.c: Define __attribute__ for non-gcc compilers. - Patch by Jim Meyering . - -2001-07-12 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Reorder - fields in the sigaction struct to match the definition in the kernel. - -2001-07-12 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Correct the - test for ENOSYS. - -2001-07-12 Martin Schwidefsky - - * sysdeps/s390/s390-32/bits/setjmp.h: Add leading underscores - to the entries in the __jmp_buf structure. - * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. - -2001-07-12 Martin Schwidefsky - - * sysdeps/s390/s390-32/bcopy.S: Use mvcle for big blocks - (> 64K) and a mvc loop for small blocks. - * sysdeps/s390/s390-32/memcpy.S: Likewise. - * sysdeps/s390/s390-64/bcopy.S: Likewise. - * sysdeps/s390/s390-64/memcpy.S: Likewise. - -2001-07-15 Andreas Schwab - - * sysdeps/unix/sysv/linux/m68k/sys/procfs.h: New file. - * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: New file. - - * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Check _dl_pagesize - first. Default to 4096, not EXEC_PAGESIZE. - - * iconv/loop.c (put16) [!_STRING_ARCH_unaligned && BIG_ENDIAN]: - Fix index. - -2001-07-09 Andreas Jaeger - - * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Name entry for xmm2. - - * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Add HWCAP_I386_XMM, - HWCAP_I386_XMM2 to enum. - -2001-07-13 Andreas Jaeger - - * libio/fileops.c: Include unistd.h for lseek64 prototype. Closes - PR libc/2372. - -2001-07-12 Ulrich Drepper - - * Makeconfig: Add some more changes to handle AIX linker better. - -2001-07-12 H.J. Lu - - * sysdeps/generic/segfault.c: Include . - -2001-07-01 Andreas Jaeger - - * sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk): Remove duplicate - sbrk. Closes PR libc/2312. - -2001-07-01 Andreas Jaeger - - * sysdeps/generic/segfault.c (install_handler): Handle case that - the output file does not exists. Closes PR libc/2345. - -2001-07-11 Ulrich Drepper - - * intl/locale.alias: Use he language code for hebrew, not il - [PR libc/2382]. - -2001-07-11 Jakub Jelinek - - * iconv/gconv_int.h: Fix comment typo. - -2001-07-11 Igor Khavkine - - * hurd/hurdsig.c (_hurdsig_init): Remove a useless line of code. - -2001-07-07 Roland McGrath - - * hurd/hurdsig.c (_hurd_thread_sigstate): Use MACH_PORT_NULL, not 0. - -2001-07-10 Stephen L Moshier - - * sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Fix - backwards conditional in test for x == 1.0. - -2001-07-10 Andreas Jaeger - - * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Add ulps for tanh - (-0.7). - -2001-07-09 Andreas Jaeger - - * sysdeps/unix/sysv/linux/configure.in: Revert patch from - 2001-07-05 for sysconfdir handling. - * config.make.in (sysconfdir): Likewise. - * configure.in: Likewise. - - * configure.in: Always assign libc_cv_sysconfdir. - -2001-07-08 Ulrich Drepper - - * Makerules [AIX] (build-shlib-helper): Precede linker options - with -Wl. - - * Makeconfig (config-LDFLAGS): Add ld.so only for ELF. - - * sysdeps/unix/make_errlist.c: Adjust sys_errlist declaration to - what we define in . - - * iconv/iconv_prog.c (main): Don't unconditionally define - variables only use if _POSIX_MAPPED_FILES is defined. - - * sysdeps/unix/sysv/aix/sendmsg.c (sendmsg): Fix return type. - * sysdeps/unix/sysv/aix/recvmsg.c (recvmsg): Likewise. - - * sysdeps/unix/sysv/aix/recv.c: New file. - - * sysdeps/unix/sysv/aix/recvfrom.c: Fix various types. - -2001-07-07 Ulrich Drepper - - * sysdeps/generic/recv.c: Fix return type. - - * sysdeps/unix/sysv/aix/dl-libc.c (__libc_dlclose): Fix typo. - - * sysdeps/unix/sysv/aix/gettimeofday.c (__gettimeofday): Add - declarations for asm functions. - - * include/libc-symbols.h: Provide more dummy definitions for the - case if GNU ld isn't used. - - * libio/freopen.c: Include for free declaration. - * libio/freopen64.c: Likewise. - - * sysdeps/alpha/fpu/libm-test-ulps: Add deltas for tanh(-0.7). - -2001-07-06 Jakub Jelinek - - * sysdeps/unix/sysv/linux/i386/sigaction.c (RESTORE2): Put asm - explicitly into .text section. - -2001-04-16 Jes Sorensen - - * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): - Add 16 longwords reserved for future use to match changes in the - kernel. - -2001-07-03 Jes Sorensen - - * sysdeps/ia64/strncpy.S: Call strnlen() when determining the - string length rather than strlen(). Solves the performance problem - of doing strlen on a 5MB string when strncpy was called with a - length argument of 5 bytes. - -2001-07-02 Jakub Jelinek - - * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle - R_SPARC_UA16 and R_SPARC_UA32. - * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. - -2001-07-01 Stephen L Moshier - - * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): - acosh(x) = ln(2x) if x > 2^30. - * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): - acosh(x) = ln(2x) if x > 2^54. - -2001-07-07 Mark Kettenis - - * sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal): - Generate SIGSEGV instead of SIGBUS for KERN_INVALID_ADDRESS and - KERN_WRITE_PROTECTION_FAILURE. - -2001-07-07 Ulrich Drepper - - * posix/regex.c: Limit string length printed in debug messages to - 100 chars. - - * configure.in: Don't warn about versioning if not on ELF system. - -2001-07-07 Andreas Jaeger - - * sysdeps/*: Put files from GNU MP Library under LGPL v2.1. - -2001-07-06 Ulrich Drepper - - * po/gl.po: Update from translation team. - -2001-07-06 Andreas Jaeger - - * sysdeps/unix/sysv/linux/configure.in: Fix handling of - sysconfdir. - - * manual/libc-texinfo.sh: Add note for the FDL. - - * manual/argp.texi (Argp Example 4): Fix texinfo warning. - - * manual/libc.texinfo: Regenerated. - - * manual/fdl.texi: Fix node. - - * config.make.in (sysconfdir): Replace correctly. - Closes PR libc/2369, reported by Peter Simons . - - * sysdeps/unix/sysv/linux/alpha/configure.in: Removed, it's no - longer needed. - - * sysdeps/unix/sysv/linux/configure.in (libc_cv_linuxVER): Add - case for alpha. - Rework handling of missing linuxthreads add-on. - - * configure.in: Remove unused sysconfdir substitution. - - * manual/Makefile (texis): Add fdl.texi. - * manual/fdl.texi: New. - * manual/socket.texi (Host Names): Improve grammar, fix overflow hbox. - * manual/libc.texinfo: Add fdl, update titlepage. - Patches by Brian Youmans <3diff@gnu.org>. - - * sysdeps/unix/make_errlist.c (main): Print LGPL v2.1 for - generated file. - -2001-07-06 Paul Eggert - - * manual/argp.texi: Remove ignored LGPL copyright notice; it's - not appropriate for documentation anyway. - * manual/libc-texinfo.sh: "Library General Public License" -> - "Lesser General Public License". - * COPYING: Fix Y2k bug in sample copyright notices. - * manual/lesser.texi: Renamed from manual/lgpl.texinfo, - as fsf.org uses the name "lesser.texi". - * manual/Makefile (texis): Follow rename. - -2001-07-06 Andreas Jaeger - - * All files under GPL/LGPL version 2: Place under LGPL version - 2.1. - -2001-07-05 Andreas Jaeger - - Synch with Linux 2.4.6: - * sysdeps/unix/sysv/linux/sparc/bits/socket.h (PF_BLUETOOTH): - New. - (AF_BLUETOOTH): New. - - * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h - (PF_BLUETOOTH): New. - (AF_BLUETOOTH): New. - - * sysdeps/unix/sysv/linux/mips/bits/socket.h (AF_BLUETOOTH): New. - (PF_BLUETOOTH): New. - - * sysdeps/unix/sysv/linux/ia64/bits/socket.h (AF_BLUETOOTH): New. - (PF_BLUETOOTH): New. - - * sysdeps/unix/sysv/linux/alpha/bits/socket.h (PF_BLUETOOTH): New. - (AF_BLUETOOTH): New. - - * sysdeps/unix/sysv/linux/bits/socket.h (PF_BLUETOOTH): New. - (AF_BLUETOOTH): New. - - * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_IEEE80211): New. - - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (N_HCI): New. - - * sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h (N_HCI): New. - - * sysdeps/unix/sysv/linux/bits/ioctl-types.h (N_HCI): New. - -2001-07-04 Roland McGrath - - * hurd/hurdsig.c (_hurd_internal_post_signal): For SS->suspended - wakeup message, use MACH_MSG_TYPE_MAKE_SEND for the receiver port - rather than doing a mach_port_insert_right call first. - -2001-06-26 Roland McGrath - - * hurd/hurdioctl.c: Include for memcpy decl. - -2001-07-03 Andreas Jaeger - - * sysdeps/unix/sysv/sysv4/solaris2/configure.in: Remove check for - crypt add-on. - -2001-07-01 Mark Kettenis - - * sysdeps/mach/hurd/if_index.c: Redone to use new interfaces in - the Hurd pfinet server, using equivalent code from the Linux - version in sysdeps/unix/sysv/linux/if_index.c. In detail: - Include , , , and - . Don't include and - anymore. - (if_nametoindex): New implementation using SIOCGIFINDEX. - (if_freenameindex): Straight copy of the Linux version. - (if_nameindex): New implementation based on pfinet_siocgifconf and - SIOCGIFINDEX. - (if_indextoname): New implementation using SIOCGIFNAME. - (map_interfaces): Function removed. - From Marcus Brinkmann . - -2001-06-30 Jakub Jelinek - - * sysdeps/powerpc/dl-machine.c (__elf_preferred_address): Prefer - gaps below main executable. - -2001-06-19 Andreas Jaeger - - * sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): - Handle profiling. - -2001-06-29 Andreas Jaeger - - * sysdeps/ieee754/ldbl-128/s_asinhl.c: New file. - Patch by Stephen L Moshier . - -2001-06-28 Ulrich Drepper - - * manual/argp.texi: Tons of cleanups. - Patch by Clifford U. Smith . - -2001-06-28 Mark Kettenis - - * manual/users.texi (Setting Groups): Correct initgroups - documentation. Add documentation for getgrouplist. - -2001-06-28 H.J. Lu - - * locale/findlocale.c (locale_file_list): Renamed to ... - (_nl_locale_file_list): This. Make it extern. - (free_mem): Move to ... - * locale/setlocale.c (free_mem): Here. - -2001-06-28 Mark Kettenis - - * sysdeps/mach/hurd/read.c: Include . - (__libc_read): Don't call __pread. Use _hurd_fd_read directly - instead. - * sysdeps/mach/hurd/write.c: Include . - (__libc_write): Don't call __pwrite. Use _hurd_fd_write directly - instead. - - * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Add back - -Wl,-soname option lost in 2001-06-16 change. - -2001-06-27 Ulrich Drepper - - * posix/tst-regex.c: Pass REG_NEWLINE to regcomp. Add extra tests. - Restrict printing of string in debug mode to 100 characters to make - the output useful for long input texts. - - * posix/Makefile: Add rules to build and run tst-regex. - -2001-06-20 Isamu Hasegawa - - * posix/regex.c (FREE_WCS_BUFFERS): New macro to free buffers. - (re_search_2): Invoke convert_mbs_to_wcs and FREE_WCS_BUFFERS. - (wcs_re_match_2_internal): Check whether the wcs buffers need - seting up or not, and skip seting up routin if not needed. - -2001-06-26 Isamu Hasegawa - - * posix/regex.c (count_mbs_length): Use binary search for optimization. - -2001-06-27 Ulrich Drepper - - * posix/tst-regex.c: Fix several bugs. Add more tests. - -2001-06-26 Mark Kettenis - - * hurd/Makefile (user-interfaces): Add pfinet. - * hurd/hurdioctl.c: Include , and - . - (siocgifconf): New function. Register it with HURD_HANDLE_IOCTL - as the handler for SIOCGIFCONF. - * sysdeps/mach/hurd/bits/ioctls.h: Modify SIOCSIFFLAGS and - SIOCGIFFLAGS to be of IOC type ifreq_short. Modify SIOCSIFMETRIC - and SIOCGIFMETRIC to be of IOC type ifreq_int. Add new macro - definitions for SIOCGIFMTU, SIOCSIFMTU, SIOCGIFINDEX and - SIOCGIFNAME. - From Marcus Brunkmann . - -2001-06-25 Ulrich Drepper - - * sysdeps/gnu/net/if.h: Correct _IOT_ifreq and add _IOT_ifreq_short - and _IOT_ifreq_int. Patch by Mark Kettenis . - - * elf/dl-deps.c (_dl_map_object_deps): Fix handling of failing - _dl_catch_error calls. - -2001-06-22 Jakub Jelinek - - * posix/regex.c (regex_compile, re_match_2_internal): Fix comment - typos. - -2001-06-01 Wolfram Gloger - - * malloc/malloc.c (malloc_atfork, free_atfork): Use a unique value - ATFORK_ARENA_PTR, not 0, for the thread-specific arena pointer - when malloc_atfork is in use. - -2001-06-22 Andreas Jaeger - - * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Add parenthese - to avoid warnings. - - * sysdeps/i386/fpu/e_expl.c (__ieee754_expl): Remove unused - variable. - Add unused attributes to avoid warnings. - - * elf/reldep4mod4.c: Add prototype to avoid warning. - * elf/reldep4mod2.c: Likewise. - - * sysdeps/i386/fpu/e_expl.c: Include for - prototypes. - -2001-06-18 Roland McGrath - - * hurd/hurd/fd.h (_hurd_fd_error_signal): Change return type to int. - -2001-06-20 Alexandre Oliva - - * sysdeps/unix/sysv/settimeofday.c: Include time.h. - -2001-06-19 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h: New file. - -2001-05-09 Michael Keezer - - * Makeconfig: Added AIX-ld support for DSO. - * Makerules: Likewise. - * dlfcn/Makefile (defaultmod1.so): Added libc_nonshared. - (defaultmod2.so): Likewise. - * debug/Makefile: Conditionalize use of elf/ld.so. - * iconvdata/Makefile: Moved LDFLAG rpath/soname info into Makeconfig. - - * sysdeps/unix/sysv/aix/Makefile: Added dl-support.c and dl-error.c. - * sysdeps/unix/sysv/aix/Makefile: Made (f/g)rsave(0/1) & - (f/g)prrest(0/1) static only. - * sysdeps/unix/sysv/aix/gettimeofday.c: Removed #if 0. - * sysdeps/unix/sysv/aix/start.c: Define __dso_handle if not ELF but - shared. - * sysdeps/unix/sysv/aix/setitimer.c: New file. - * sysdeps/unix/sysv/aix/sleep.c: New file. - * sysdeps/unix/sysv/aix/usleep.c: New file. - * sysdeps/unix/sysv/aix/dl-addr.c: New file. - * sysdeps/unix/sysv/aix/dl-error.c: New file. - * sysdeps/unix/sysv/aix/dl-support.c: New file. - * sysdeps/unix/sysv/aix/powerpc/register-dump.h: New file. - -2001-06-19 Ulrich Drepper - - * po/es.po: Update from translation team. - -2001-06-19 Andreas Jaeger - - * sysdeps/ieee754/ldbl-128/s_tanhl.c: New file. - - * math/libm-test.inc (tanh_test): Test for 2^-56. - - * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Make sure result - equals argument when x < 2^-55. - Patches by Stephen L. Moshier . - -2001-06-17 Alan Modra - - * sysdeps/hppa/dl-machine.h (elf_machine_rela): Handle relocs - at unaligned address. - -2001-06-18 Ulrich Drepper - - * posix/regex.c: Reorganize code to build code twice, once for single - byte, once for multi-byte charsets. Choose function set adequate for - locale at runtime. - Patch by Isamu Hasegawa . +2001-11-09 Roland McGrath - * po/nl.po: Update from translation team. + Hurd/PowerPC port contributed by Peter Bruin . + * sysdeps/mach/hurd/powerpc/exc2signal.c: New file. + * sysdeps/mach/hurd/powerpc/init-first.c: New file. + * sysdeps/mach/hurd/powerpc/intr-msg.h: New file. + * sysdeps/mach/hurd/powerpc/longjmp-ts.c: New file. + * sysdeps/mach/hurd/powerpc/register-dump.h: New file. + * sysdeps/mach/hurd/powerpc/sigreturn.c: New file. + * sysdeps/mach/hurd/powerpc/static-start.S: New file. + * sysdeps/mach/hurd/powerpc/trampoline.c: New file. + * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: New file. + * sysdeps/mach/hurd/powerpc/Dist: New file. -2001-06-09 Bruno Haible + * hurd/privports.c (__get_privileged_ports): + Only contact the proc server if necessary for this call. + Suggested by Neal H Walfield . + Check error return for mach_port_mod_refs. - * iconvdata/gconv-modules (BIG5HKSCS): New alias BIG5-HKSCS. - (ISO-8859-14): New aliases ISO_8859-14 and ISO-CELTIC. - * iconvdata/tst-tables.sh: For BIG5HKSCS, use BIG5-HKSCS charmap. +2001-11-09 Andreas Schwab -2001-05-26 Bruno Haible + * sysdeps/unix/sysv/linux/m68k/bits/resource.h: New file. - * iconvdata/tst-tables.sh: For SJIS module, use SHIFT_JIS charmap. - * manual/charset.texi: Write Shift_JIS, not Shift-JIS. +2001-11-09 Ulrich Drepper -2001-06-17 Roland McGrath + * elf/dl-load.c (lose): Remove some unnecessary code. The new + object is always the last in the list. + (_dl_map_object_from_fd): Delete code to remove from object list + when DF_1_NOOPEN is seen. This is done in lose. - * sysdeps/pthread/aio_misc.h (LIO_DSYNC): Define to LIO_NOP + 1, - not LIO_READ + 1 (which is the value of LIO_WRITE!). +2001-11-08 Ulrich Drepper - * Makerules (build-module-helper-objlist): New variable, - broken out of build-module. Insert --whole-archive/--no-whole-archive - immediately each *_pic.a file in the link object list. - (whole-archive): New variable, used by that. - (build-module-objlist): New variable using build-module-helper-objlist. - (build-module, build-module-helper): Use it. - (build-shlib-objlist): New variable using build-module-helper-objlist. - (build-shlib): Use that. - * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Likewise. + * elf/dl-object.c (_dl_new_object): Various small optimizations. - * posix/spawni.c: Moved to ... - * sysdeps/posix/spawni.c: ... here. - * sysdeps/generic/spawni.c: New file. +2001-11-07 Ulrich Drepper -2001-06-16 Roland McGrath + * sysdeps/generic/dl-cache.c: Optimize SEARCH_CACHE and + HWCAP_CHECK macro code. - * hurd/Makefile (routines): Add lookup-retry. - * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Broken out ... - * hurd/lookup-retry.c: ... into here, new file. - * sysdeps/mach/hurd/dl-sysdep.c (open_file): Call that instead - using of duplicate code here. + * elf/dl-misc.c (_dl_sysdep_read_whole_file): Optimize code a bit. + Now returns MAP_FAILED on error. + * elf/rtld.c: Adjust caller. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/generic/ldsodefs.h: Adjust description. - * hurd/hurdexec.c (_hurd_exec): Be robust for DTABLESIZE==0. + * elf/dl-version.c (match_symbol): Optimize error handling for size. + (_dl_check_map_versions): Likewise. -2001-06-17 Ulrich Drepper +2001-11-06 Ulrich Drepper - * po/ja.po: Update from translation team. + * elf/dl-load.c (_dl_map_object_from_fd): Don't call + _dl_signal_error directly, always use lose. Set fd to -1 after + file is closed. + (lose): Don't call close if fd == -1. -2001-06-04 Bruno Haible +2001-11-07 Kaoru Fukui - * locale/programs/locfile.c (siblings_uncached, siblings, full_read, - compare_files): New functions. - (write_locale_data): Use xmalloc. Compare the file with the locale - data files for the same category in other locales, and reuse it if - possible and safe. + * manual/charset.texi: Fix typo @w[ISO 6937] to @w{ISO 6937}. + Also fix typo @code {mbsinit} to @code{mbsinit}. -2001-06-07 Mark Kettenis +2001-11-06 Ulrich Drepper - * grp/initgroups.c (initgroups): Factor out re-usable code into... - (internal_getgrouplist): ... new function. - (getgrouplist): New function. - * grp/grp.h (getgrouplist): New prototype. - * grp/Versions [2.2.4]: Add getgrouplist. + * elf/dl-profile.c: Replace state variable with simple flag named + running. Remove commented-out code. -2001-06-16 Ulrich Drepper + * elf/dl-load.c (decompose_rpath): Optimize error handling for size. + (_dl_init_paths): Likewise. + (_dl_map_object_from_fd): Likewise. + * elf/dl-reloc.c (_dl_relocate_object): Likewise. - * inet/netinet/ip6.h: Fix comments in ip6_hdr. - Patch by Pekka Savola . +2001-11-06 Roland McGrath -2001-06-15 Roland McGrath + * sysdeps/mach/powerpc/sysdep.h: Include sysdeps/unix/powerpc/sysdep.h + instead of sysdeps/powerpc/elf/sysdep.h and sysdeps/unix/sysdep.h. - * rt/Makefile (aio-routines, clock-routines, timer-routines): New - variables, broken out of librt-routines. - (librt-routines): Set using those. - (extra-libs, extra-libc-others, tests): Set these unconditionally. - (distribute): No need for $(librt-map) or $(librt-routines:=.c) here. - * sysdeps/generic/aio_fsync.c: New file. - * sysdeps/generic/aio_misc.c: New file. - * sysdeps/generic/aio_write.c: New file. - * sysdeps/generic/aio_write64.c: New file. - * sysdeps/generic/aio_read64.c: New file. - * sysdeps/generic/aio_read.c: New file. - * sysdeps/generic/aio_notify.c: New file. - * sysdeps/generic/lio_listio64.c: New file. - * sysdeps/generic/lio_listio.c: New file. - * sysdeps/generic/aio_cancel.c: New file. - * sysdeps/generic/aio_misc.h: New file. - * sysdeps/generic/aio_suspend.c: New file. - * rt/aio_cancel.c: Moved to ... - * sysdeps/pthread/aio_cancel.c: ... here. - * rt/aio_fsync.c: Moved to ... - * sysdeps/pthread/aio_fsync.c: ... here. - * rt/aio_misc.c: Moved to ... - * sysdeps/pthread/aio_misc.c: ... here. - * rt/aio_misc.h: Moved to ... - * sysdeps/pthread/aio_misc.h: ... here. - * rt/aio_notify.c: Moved to ... - * sysdeps/pthread/aio_notify.c: ... here. - * rt/aio_read.c: Moved to ... - * sysdeps/pthread/aio_read.c: ... here. - * rt/aio_read64.c: Moved to ... - * sysdeps/pthread/aio_read64.c: ... here. - * rt/aio_suspend.c: Moved to ... - * sysdeps/pthread/aio_suspend.c: ... here. - * rt/aio_write.c: Moved to ... - * sysdeps/pthread/aio_write.c: ... here. - * rt/aio_write64.c: Moved to ... - * sysdeps/pthread/aio_write64.c: ... here. - * rt/lio_listio.c: Moved to ... - * sysdeps/pthread/lio_listio.c: ... here. - * rt/lio_listio64.c: Moved to ... - * sysdeps/pthread/lio_listio64.c: ... here. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Don't include + sysdeps/powerpc/elf/sysdep.h. + Reported by Kaoru Fukui . -2001-06-14 Roland McGrath +2001-11-05 Ulrich Drepper - * configure.in: Let sysdeps Implies files in add-ons bring in - sysdeps directories from the main source and other add-ons too. + * elf/rtld.c (process_dl_debug): Rewritten. Optimized for size not + speed. + (process_envvars): Some more optimizations. + * sysdeps/generic/ldsodefs.h (DL_DEBUG_HELP): New macro. -2001-06-15 Jakub Jelinek + * elf/elf.h: Add dynamic tag definitions for prelinking. - * math/test-misc.c (main): Add tests for nextafter and nexttoward - with +-Inf as second argument. + * elf/rtld.c (process_envvars): Avoid using array of string pointers. + Rewrite code to remove environment varables for SUID binaries. + Small optimization in LD_PROFILE handling. + * sysdeps/generic/unsecvars.h: Adjust format for process_envvars + changes. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. - * sysdeps/generic/s_nexttowardf.c (__nexttowardf): Only check for - NaN, not Inf. - * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Fix check for NaN. - * sysdeps/i386/fpu/s_nexttoward.c: New. - * sysdeps/i386/fpu/s_nexttowardf.c: New. - * sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Simplify - check for NaN, optimize x==+-0 handling. - * sysdeps/ieee754/ldbl-96/s_nexttowardf.c (__nexttowardf): Likewise. - * sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Simplify - check for NaN, fix sign in x==+-0 case. - * sysdeps/ia64/fpu/s_nexttoward.c: New. - * sysdeps/ia64/fpu/s_nexttowardf.c: New. + * sysdeps/generic/dl-sysdep.c: Don't initialize _dl_cpuclock_offset. -2001-06-15 H.J. Lu + * elf/dl-reloc.c (_dl_reloc_bad_type): Rewrite to not use writable + strings. Change type of second parameter. + * sysdeps/generic/ldsodefs.h: Adjust _dl_reloc_bad_type prototype + for last change. - * rt/tst-aio2.c (do_test): Initialize cb.aio_offset to 0. - * rt/tst-aio3.c (do_test): Likewise. - * rt/tst-aio4.c (do_test): Likewise. - * rt/tst-aio5.c (do_test): Likewise. - * rt/tst-aio6.c (do_test): Likewise. + * io/fts.h: Prevent using with _FILE_OFFSET_BITS=64. -2001-06-15 Andreas Schwab +2001-11-04 Joseph S. Myers - * sysdeps/m68k/fpu/bits/mathinline.h: Don't define log2 as inline. - * sysdeps/m68k/fpu/mathimpl.h: Define __ieee754_log2 as inline. + * manual/string.texi: Fix typos. + * manual/examples/argp-ex2.c: Likewise. -2001-06-15 Andreas Jaeger +2001-11-05 Roland McGrath - * gmon/tst-sprofil.c (fac): Make static to avoid compiler warning. + * sysdeps/powerpc/elf/sysdep.h: Remove this file, because it overrides + the more-specific unix/sysv/linux/powerpc file and breaks everything. + * sysdeps/powerpc/sysdep.h (ALIGNARG, ASM_TYPE_DIRECTIVE, + ASM_SIZE_DIRECTIVE, CALL_MCOUNT, ENTRY, EALIGN, DO_CALL, JUMPTARGET, + PSEUDO, PSEUDO_RET, PSEUDO_END, L, C_TEXT): These macros moved here + here, put under [__ELF__]. -2001-06-14 Andreas Schwab +2001-11-05 Ulrich Drepper - * elf/ldconfig.c (search_dir): Fix check for regular file. + * manual/charset.texi: Extensive editing work. + * manual/nss.texi: Likewise. + Changes by Dennis Grace . - * sysdeps/m68k/fpu/e_log2f.c: Fix typo. - * sysdeps/m68k/fpu/e_log2l.c: Fix typo. +2001-11-04 Roland McGrath -2001-06-14 Roland McGrath + * hurd/set-host.c (_hurd_set_host_config): Use O_WRONLY in flags + parameter to dir_mkfile. - * sysdeps/mach/hurd/bits/fcntl.h [ __USE_POSIX199309 || __USE_UNIX98]: - (O_DSYNC, O_RSYNC): New macros, both defined to O_SYNC as Linux does. +2001-11-02 Jakub Jelinek -2001-06-13 Roland McGrath + * string/bits/string2.h (__strndup): If n is smaller than len, set + len to n + 1. + * string/tester.c (test_strndup): New function. + (main): Call it. - * rt/aio_notify.c: Include for _POSIX_REALTIME_SIGNALS. +2001-11-01 Ulrich Drepper - * sysdeps/mach/hurd/fork.c (LOSE): Put `goto lose' in dead code - so the label is not considered unused. + * sunrpc/rpc_main.c: Optimize variable definitions a bit. - * sysdeps/mach/hurd/pwrite64.c: New file. - * sysdeps/mach/hurd/pread64.c: New file. + * sunrpc/Makefile (rpcgen-cmd): Use ../scripts/cpp in rpcgen calls. + * scripts/cpp: New file. - * sysdeps/mach/hurd/pread.c - (__libc_pread): Define this name, with __pread as an alias. - * sysdeps/mach/hurd/pwrite.c - (__libc_pwrite): Define this name, with __pwrite as an alias. + * elf/dl-load.c (_dl_map_object): Correct test of DF_1_NODEFLIB + for rtld_search_dirs content. Minor optimizations. - Implement POSIX "shared memory objects" as regular - files residing in the /var/run/shm/ directory. - This works on any system that supports _POSIX_MAPPED_FILES, - to make it also support _POSIX_SHARED_MEMORY_OBJECTS. - * sysdeps/posix/shm_open.c: New file. - * sysdeps/posix/shm_unlink.c: New file. - * sysdeps/mach/hurd/bits/posix_opt.h - (_POSIX_SHARED_MEMORY_OBJECTS): Define it. +2001-10-31 Ulrich Drepper - * rt/aio_notify.c (__aio_notify_only) [! _POSIX_REALTIME_SIGNALS]: - Use raise instead of __aio_sigqueue. + * elf/dl-load.c (_dl_map_object): Make code a bit more compact by + avoiding unnecessary duplication. - * sysdeps/mach/hurd/pread.c: Fail with EINVAL if OFFSET is negative. - * sysdeps/mach/hurd/pwrite.c: Likewise. +2001-10-31 Jakub Jelinek - * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): libc=0.3 - [USE_IN_LIBIO && !GLIBC_OLDEST_ABI] (.*-.*-gnu-gnu.*): Use GLIBC_2.2.4 - as default version set. + * elf/dl-load.c (_dl_map_object): If library was found using + LD_LIBRARY_PATH, don't try RUNPATH list. -2001-06-13 Ulrich Drepper +2001-10-31 Martin Schwidefsky - * libio/iolibio.h (_IO_freopen): Correct last parameter to - _IO_file_open. - (_IO_freopen64): Likewise. - Reported by simanek@quantum.karlov.mff.cuni.cz [PR libc/2326]. + * sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h (REGISTER_DUMP): + Correct second argument of register_dump call. + * sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h (REGISTER_DUMP): + Likewise. - * elf/elf.h: Add a few more EM_* constants. +2001-10-31 Ulrich Drepper -2001-06-12 Bruno Haible + * iconvdata/Makefile: Add support for IBM1132, IBM1133, and IBM1162 + modules. + * iconvdata/TESTS: Likewise. + * iconvdata/gconv-modules: Likewise. + * iconvdata/ibm1132.c: New file. + * iconvdata/ibm1132.h: New file. + * iconvdata/ibm1133.c: New file. + * iconvdata/ibm1133.h: New file. + * iconvdata/ibm1162.c: New file. + * iconvdata/ibm1162.h: New file. + * iconvdata/testdata/IBM1132: New file. + * iconvdata/testdata/IBM1132..UTF8: New file. + * iconvdata/testdata/IBM1133: New file. + * iconvdata/testdata/IBM1133..UTF8: New file. + * iconvdata/testdata/IBM1162: New file. + * iconvdata/testdata/IBM1162..UTF8: New file. + Patches by Masahide Washizawa . - * intl/dcigettext.c (DCIGETTEXT): Release the lock before returning. + * string/string.h: Fix typo in comment. + * wcsmbs/wchar.h: Likewise. -2001-06-09 Ben Collins +2001-10-30 Joseph S. Myers - * sysdeps/unix/sysv/linux/bits/termios.h: Define __MAX_BAUD. - * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. - * sysdeps/unix/sysv/linux/speed.c: Use __MAX_BAUD instead of - hardcoded B400000. + * manual/getopt.texi (getopt_long, getopt_long_only): Include + const in type of longopts parameter. -2001-06-13 Ulrich Drepper +2001-10-29 Andreas Jaeger - * time/sys/time.h: Don't use enum __itimer_which ever for - __itimer_which_t for C++. - Reported by Martin Buchholz . + * sysdeps/ieee754/dbl-64/mpa.h: Add prototypes for internal functions. - * po/fr.po: Update from translation team. +2001-10-29 Kevin Ryde -2001-06-12 H.J. Lu + * manual/stdio.texi (Integer Conversions): Corrections to sample printf + output, clarify `#' behaviour on 0. + (Floating-Point Conversions): Clarify that %g only uses %e when + the exponent would be greater than 1. - * configure.in: Fix typos in missing program names. - * configure: Regenerated. +2001-10-28 Roland McGrath -2001-06-12 Andreas Jaeger + Support for Mach/PowerPC contributed by Peter Bruin . + * sysdeps/mach/powerpc/machine-sp.h: New file. + * sysdeps/mach/powerpc/sysdep.h: New file. + * sysdeps/mach/powerpc/thread_state.h: New file. - * iconvdata/tst-table-to.c: Include string.h for strcmp prototype. + * sysdeps/mach/hurd/i386/Makefile: File removed; crt0.o rules moved ... + * sysdeps/mach/hurd/Makefile: ... to here. For the time being, we can + expect to need the same thing on every platform. - * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ULPs for tanh (-0.7). + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: File moved ... + * sysdeps/generic/sys/ucontext.h: ... to replace this one. -2001-06-11 Andreas Jaeger + * sysdeps/unix/sysv/linux/powerpc/sysdep.h (ALIGNARG, + ASM_TYPE_DIRECTIVE, ASM_SIZE_DIRECTIVE, CALL_MCOUNT, ENTRY, EALIGN, + DO_CALL, JUMPTARGET, PSEUDO, PSEUDO_RET, PSEUDO_END, L, C_TEXT): + Move all these assembly-related definitions to ... + * sysdeps/powerpc/elf/sysdep.h: ... this new file. - * sysdeps/ieee754/ldbl-128/e_coshl.c: New file. Contributed by - Stephen L Moshier . + * sysdeps/mach/powerpc/machine-lock.h: Assembly code rewritten + by Peter Bruin . - * aclocal.m4: Quote AC_FD_MSG and AC_FD_CC. + * hurd/hurdselect.c (_hurd_select): Check SELECT_RETURNED bit when + packing results for a `poll' call. - * sysdeps/powerpc/fpu/libm-test-ulps: Add ULPs for tanh (-0.7). - * sysdeps/s390/fpu/libm-test-ulps: Likewise. +2001-10-26 Ulrich Drepper -2001-06-11 Michael Deutschmann + * posix/fnmatch_loop.c: Recognize - at end of bracket expression + correctly. + * posix/tst-fnmatch.input: Add tests for - at beginning and end of + bracket expression. - * rt/tst-aio4.c (do_test): Test whether rt signals are supported. - Use my_signo instead of MY_SIGNO and initialize it so that the - used signal is always available. + * string/strxfrm.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get + nrules value. + * string/tst-strxfrm.c (test): Also test __strxfrm_l. -2001-06-11 Andreas Jaeger , - Michael Deutschmann +2001-10-24 H.J. Lu - * io/test-lfs.c (do_prepare): Clean up error messages. - (test_ftello): Check for EFBIG and ENOSPC, clean up error messages. - (do_test): Likewise. + * sysdeps/generic/bits/dlfcn.h (DL_CALL_FCT): Cast to void *. + Use __BEGIN_DECLS/__END_DECLS around prototypes. + * sysdeps/mips/bits/dlfcn.h (DL_CALL_FCT): Likewise. -2001-06-11 Andreas Jaeger +2001-10-21 Jim Meyering - * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (IXANY, IUCLC, - IMAXBEL): Make always visible since they're needed by POSIX. - Closes PR libc/2320, reported by Chris Yeoh . + * malloc/obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise, + this code would end up calling gettext even in packages built + with --disable-nls. + * posix/getopt.c (_): Likewise. + * posix/regex.c (_): Likewise. -2001-06-10 Ben Collins +2001-10-26 Ulrich Drepper - * sysdeps/arm/elf/start.S: Use #function, not @function, for - .type of _start. + * resolv/gethnamaddr.c (gethostbyaddr): Use ip6.addr for reverse + lookup not ip6.int. + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. + Reported by Martin.v.Loewis@t-online.de [PR libc/2598]. - * sysdeps/ieee754/ldbl-128/s_ilogbl.c: Include limits.h to get - INT_MAX. +2001-10-19 Jakub Jelinek -2001-06-07 H.J. Lu + * misc/sys/cdefs.h (__attribute_used__): Define. + * elf/rtld.c (_dl_start): Add __attribute_used__. + * elf/dl-runtime.c (fixup, profile_fixup): Likewise. - * sunrpc/rpc/rpc.h: Add __BEGIN_DECLS/__END_DECLS. +2001-10-25 Andreas Schwab -2001-06-10 Roland McGrath + * stdlib/a64l.c: Expect least significant digit first. + * stdlib/l64a.c: Produce least significant digit first. + * stdlib/Makefile (tests): Add test-a64l. + * stdlib/test-a64l.c: New file. + Reported by Masaki Hasegawa . - * elf/reldep4mod2.c: Use fully typed decls to avoid warnings. - * elf/reldep4mod4.c: Likewise. +2001-10-21 Ulrich Drepper -2001-06-10 Mark Kettenis + * po/sk.po: Update from translation team. - * hurd/hurd/threadvar.h: Add prototype for __hurd_errno_location. +2001-10-18 Ulrich Drepper -2001-06-08 Andreas Schwab + * sysdeps/i386/elf/start.S (_fp_hw): Define object type. - * posix/regex.c (re_match_2_internal) [case wordbeg, wordend]: - Don't dereference at end of string. +2001-10-18 Andreas Schwab -2001-06-06 Roland McGrath + * math/libm-test.inc (print_ulps): Print ulp values rounded to + next whole number. + (print_function_ulps): Likewise. + (print_complex_function_ulps): Likewise. + (print_max_error): Likewise. + (print_complex_max_error): Likewise. Handle ignore_max_ulp. - * sysdeps/mach/hurd/getsockopt.c: Fix handling of returned buffer size. - From Robert Bihlmeyer . +2001-10-16 Andreas Schwab -2001-06-06 Ulrich Drepper + * sysdeps/m68k/fpu/libm-test-ulps: Updated for fixed cbrtl + implementation. - * po/ko.po: Update from translation team. + * sysdeps/m68k/setjmp.c: Also define setjmp and _setjmp if + BSD_SETJMP or BSD__SETJMP is defined, resp. + * sysdeps/m68k/bsd-setjmp.c: Inline setjmp code instead of making + a tail call to __sigsetjmp that would require extending the + caller's frame. + * sysdeps/m68k/bsd-_setjmp.c: Likewise. + * sysdeps/m68k/bsd-setjmp.S: Deleted. + * sysdeps/m68k/bsd-_setjmp.S: Deleted. + Reported by Jes Sorensen . -2001-06-06 Andreas Jaeger +2001-10-16 Andreas Jaeger - * manual/llio.texi (Memory-mapped I/O): Clarify that mapping is to - offset+length-1. - Reported by Robert Bernecky . + * sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Fix + parentheses. Reported by David Byron , + close PR libc/2589. -2001-06-06 Jakub Jelinek +2001-10-15 Ulrich Drepper - * sysdeps/cris/elf/start.S: Fix a typo introduced by last patch. - * sysdeps/ia64/elf/start.S: Likewise. - * sysdeps/sh/elf/start.S: Likewise. - * sysdeps/s390/s390-32/elf/start.S: Likewise. - * sysdeps/s390/s390-64/elf/start.S: Likewise. + * po/ca.po: New file. Contributed by the translation team. -2001-06-05 Matthew Wilcox +2001-10-15 Ralf Baechle - * sysdeps/hppa/bsd-_setjmp.S: New. - * sysdeps/hppa/bsd-setjmp.S: New. + * sysdeps/unix/sysv/linux/mips/sys/sysmips.h: Make sysmips() prototype + a varargs prototype. Remove dependency from kernel header files. - * sysdeps/hppa/dl-machine.h: Reformat asm statements to remove new - gcc warnings about multi-line strings. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: General cleanup, use + __USE_MISC / __USE_XOPEN not __USE_BSD where appropriate. - * sysdeps/unix/sysv/linux/hppa/getrlimit.c: Remove. - * sysdeps/unix/sysv/linux/hppa/setrlimit.c: Remove. +2001-10-14 Ulrich Drepper - * sysdeps/unix/sysv/linux/hppa/syscalls.list: Call getrlimit, - setrlimit directly instead of using wrappers. + * locale/programs/ld-collate.c (handle_ellipsis): Use %lX not %lx + to generate hexadecimal identifier. + Patch by Jungshik Shin . -2001-05-01 Richard Hirst +2001-10-09 Stephen L Moshier - * sysdeps/unix/sysv/linux/hppa/syscall.S: remove dummy syscall. - * sysdeps/unix/sysv/linux/hppa/sysdep.c: implement syscall. + * sysdeps/ieee754/ldbl-96/s_cbrtl.c (__cbrtl): Fix algorithm. -2001-06-05 Philipp Thomas +2001-10-14 Ulrich Drepper - * nis/nis_call.c (__nisbind_connect): Don't mark for translation - what can't be translated. + * sysdeps/ieee754/ldbl-128/e_powl.c: New file. + * sysdeps/ieee754/ldbl-128/s_cbrtl.c: New file. + Contributed by Stephen L Moshier . -2001-06-06 Ulrich Drepper + * sysdeps/ieee754/ldbl-128/e_j0l.c: Constify float variables. + * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise + * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise + * sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise + * sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise - * timezone/zic.c: Update from tzcode2001c. - * timezone/private.h: Likewise. - * timezone/africa: Update from tzdata2001c. + * timezone/africa: Update from tzdata2001d. * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/backward: Likewise. * timezone/europe: Likewise. + * timezone/leapseconds: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * timezone/zone.tab: Likewise. -2001-06-04 Bruno Haible - - * iconv/loop.c (UNICODE_TAG_HANDLER): New macro. - * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Invoke - UNICODE_TAG_HANDLER. - (__gconv_transform_internal_ucs2): Likewise. - (__gconv_transform_internal_ucs2reverse): Likewise. - * iconvdata/8bit-gap.c (BODY for TO_LOOP): Invoke UNICODE_TAG_HANDLER. - * iconvdata/8bit-generic.c (BODY for TO_LOOP): Likewise. - * iconvdata/ansi_x3.110.c (BODY for TO_LOOP): Likewise. - * iconvdata/big5.c (BODY for TO_LOOP): Likewise. - * iconvdata/big5hkscs.c (BODY for TO_LOOP): Likewise. - * iconvdata/cp1255.c (BODY for TO_LOOP): Likewise. - * iconvdata/cp1258.c (BODY for TO_LOOP): Likewise. - * iconvdata/euc-cn.c (BODY for TO_LOOP): Likewise. - * iconvdata/euc-jp.c (BODY for TO_LOOP): Likewise. - * iconvdata/euc-kr.c (BODY for TO_LOOP): Likewise. - * iconvdata/euc-tw.c (BODY for TO_LOOP): Likewise. - * iconvdata/gbk.c (BODY for TO_LOOP): Likewise. - * iconvdata/ibm930.c (BODY for TO_LOOP): Likewise. - * iconvdata/ibm932.c (BODY for TO_LOOP): Likewise. - * iconvdata/ibm933.c (BODY for TO_LOOP): Likewise. - * iconvdata/ibm935.c (BODY for TO_LOOP): Likewise. - * iconvdata/ibm937.c (BODY for TO_LOOP): Likewise. - * iconvdata/ibm939.c (BODY for TO_LOOP): Likewise. - * iconvdata/ibm943.c (BODY for TO_LOOP): Likewise. - * iconvdata/iso646.c (BODY for TO_LOOP): Likewise. - * iconvdata/iso8859-1.c (BODY for TO_LOOP): Likewise. - * iconvdata/iso_6937.c (BODY for TO_LOOP): Likewise. - * iconvdata/iso_6937-2.c (BODY for TO_LOOP): Likewise. - * iconvdata/iso-2022-cn.c (BODY for TO_LOOP): Likewise. - * iconvdata/iso-2022-cn-ext.c (BODY for TO_LOOP): Likewise. - * iconvdata/iso-2022-kr.c (BODY for TO_LOOP): Likewise. - * iconvdata/johab.c (BODY for TO_LOOP): Likewise. - * iconvdata/sjis.c (BODY for TO_LOOP): Likewise. - * iconvdata/t.61.c (BODY for TO_LOOP): Likewise. - * iconvdata/uhc.c (BODY for TO_LOOP): Likewise. - * iconvdata/unicode.c (BODY for TO_LOOP): Likewise. - * iconvdata/iso-2022-jp.c (TAG_none, TAG_language, TAG_language_j, - TAG_language_ja, TAG_language_k, TAG_language_ko, TAG_language_z, - TAG_language_zh, CURRENT_TAG_MASK): New enum values. - (EMIT_SHIFT_TO_INIT): Don't emit an escape sequence if ASCII_set - is already selected but set2 or tag are set. - (conversion): New enum type. - (cvlist_t): New type. - (CVLIST, CVLIST_FIRST, CVLIST_REST): New macros. - (conversion_lists): New array. - (BODY for TO_LOOP): Keep track of Unicode 3.1 language tag. If "ja", - prefer conversion to Japanese character sets. If "zh", prefer - conversion to GB2312. If "ko", prefer conversion to KSC5601. Small - optimizations. - (INIT_PARAMS): Add tag. - (UPDATE_PARAMS): Add tag. - -2001-06-04 Bruno Haible - - * locale/programs/locfile.c (write_locale_data): Before creat(), - unlink the file, to avoid crashing the processes that mmap it. Change - a double slash to a single slash. Free fname in case of error return. - -2001-06-02 Jakub Jelinek - - * sysdeps/i386/fpu/s_frexpl.S (__frexpl): Mostly revert 2000-12-03 - changes, do the special handling for denormal numbers, not for - normalized numbers (patch by ). - - * math/test-misc.c (main): Test frexpl with denormal arguments. - -2001-06-04 Jakub Jelinek - - * math/libm-test.inc (llround_test): Add two new llround tests. - * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Don't allow - overflow when rounding away from zero. - -2001-06-04 Jakub Jelinek - - * math/Makefile (libm-calls): Add e_log2, w_log2, remove s_log2. - * math/math_private.h (__ieee754_log2, __ieee754_log2f, - __ieee754_log2l): New prototypes. - * sysdeps/generic/w_log2.c: New file. - * sysdeps/generic/w_log2f.c: New file. - * sysdeps/generic/w_log2l.c: New file. - * sysdeps/generic/s_log2l.c: Move... - * sysdeps/generic/e_log2l.c: ...to here. Rename to __ieee754_log2l. - * sysdeps/ieee754/k_standard.c (__kernel_standard): Handle log2(0) - and log2(x < 0). - * sysdeps/i386/fpu/s_log2.S: Move... - * sysdeps/i386/fpu/e_log2.S: ...to here. Rename to __ieee754_log2. - * sysdeps/i386/fpu/s_log2f.S: Move... - * sysdeps/i386/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f. - * sysdeps/i386/fpu/s_log2l.S: Move... - * sysdeps/i386/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l. - * sysdeps/m68k/fpu/s_log2.c: Move... - * sysdeps/m68k/fpu/e_log2.c: ...to here. Rename to __ieee754_log2. - * sysdeps/m68k/fpu/s_log2f.c: Move... - * sysdeps/m68k/fpu/e_log2f.c: ...to here. Rename to __ieee754_log2f. - * sysdeps/m68k/fpu/s_log2l.c: Move... - * sysdeps/m68k/fpu/e_log2l.c: ...to here. Rename to __ieee754_log2l. - * sysdeps/ieee754/dbl-64/s_log2.c: Move... - * sysdeps/ieee754/dbl-64/e_log2.c: ...to here. Rename to - __ieee754_log2. - * sysdeps/ieee754/flt-32/s_log2f.c: Move... - * sysdeps/ieee754/flt-32/e_log2f.c: ...to here. Rename to - __ieee754_log2f. - -2001-06-04 Jakub Jelinek - - * sysdeps/generic/w_exp2.c (u_threshold): Lower threshold so that - even arguments which result in denormalized exp2 are accepted. - (__exp2): Arguments equal to u_threshold already result into - underflow. - * sysdeps/generic/w_exp2f.c (u_threshold, __exp2f): Likewise. - * sysdeps/generic/w_exp2l.c (u_threshold, __exp2l): Likewise. - * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Lomark was too - low, with corrected lowmark use greaterequal, not greater. - * sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise. - -2001-06-04 Jakub Jelinek - - * math/libm-test.inc (ilogb_test): Test that ilogb(+-Inf) == INT_MAX. - * sysdeps/i386/fpu/s_ilogb.S (__ilogb): Return INT_MAX for +-Inf. - * sysdeps/i386/fpu/s_ilogbf.S (__ilogbf): Likewise. - * sysdeps/i386/fpu/s_ilogbl.S (__ilogbl): Likewise. - * sysdeps/ieee754/dbl-64/s_ilogb.c (__ilogb): Likewise. - * sysdeps/ieee754/flt-32/s_ilogbf.c (__ilogbf): Likewise. - * sysdeps/ieee754/ldbl-128/s_ilogbl.c (__ilogbl): Likewise. - * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Likewise. - -2001-06-04 Jakub Jelinek - - * sysdeps/generic/w_coshl.c (__coshl): Test if finite argument - gave non-finite result instead of using constant in generic - version. - * sysdeps/generic/w_coshf.c (__coshf): Likewise. - * sysdeps/generic/w_cosh.c (__cosh): Likewise. - * sysdeps/generic/w_exp10.c (o_threshold, u_threshold): Remove. - (__exp10): Test if finite argument gave non-finite result. - * sysdeps/generic/w_exp10f.c (o_threshold, u_threshold, __exp10f): - Likewise. - * sysdeps/generic/w_exp10l.c (o_threshold, u_threshold, __exp10l): - Likewise. - -2001-06-04 Jakub Jelinek - - * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Fix - overflow threshold constant (log(LDBL_MAX)+M_LN2l). - -2001-05-29 Bruno Haible - - * locale/programs/ld-ctype.c (idx_table): New struct type. - (idx_table_init, idx_table_get, idx_table_add): New functions. - (MAX_CHARNAMES_IDX): Remove macro. - (locale_ctype_t): Change type of charnames_idx field. - (ctype_startup): Change initialization of charnames_idx field. - (find_idx): Use idx_table_get and idx_table_add for speed. - - * locale/programs/charmap.c (charmap_new_char): Fix ucs4 value - computation of characters in a range. - -2001-05-29 Bruno Haible - - * iconvdata/gb18030.c (__fourbyte_to_ucs1): Add mappings for , - . - (__ucs_to_gb18030_tab1): Likewise. - (BODY for FROM_LOOP): Add mapping for ... - (BODY for TO_LOOP): Likewise. - * iconvdata/tst-table-charmap.sh: Update for charmaps containing - syntax. - * iconvdata/tst-table-from.c (bmp_only): New variable. - (utf8_decode): If bmp_only, don't return characters outside Unicode - plane 0. - (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print - a conversion line if utf8_decode returns NULL. - * iconvdata/tst-table-to.c (main): When testing encodings other than - UTF-8 and GB18030, loop upto U+30000 instead of U+10000. Use UTF-8 - instead of UCS-2 as input. - * iconvdata/tst-table.sh: For GB18030, use only the part < 0x10000 - of the charmap. - -2001-05-29 Bruno Haible - - * iconvdata/cns11643l1.c: Update to Unicode 3.1. - (__cns11643l1_to_ucs4_tab): Regenerated. - (__cns11643l1_from_ucs4_tab12): Regenerated. - * iconvdata/cns11643.c: Update to Unicode 3.1. - (__cns11643l14_to_ucs4_tab): Remove array. - (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, - __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, - __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New arrays. - (__cns11643_from_ucs4p0_tab): Renamed from __cns11643_from_ucs4_tab. - (__cns11643_from_ucs4p2_tab): New array. - * iconvdata/cns11643.h (__cns11643l14_to_ucs4_tab): Remove declaration. - (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, - __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, - __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New declarations. - (cns11643_to_ucs4): Treat planes 3, 4, 5, 6, 7, 15 instead of 14. - (__cns11643_from_ucs4_tab): Remove declaration. - (__cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): New - declarations. - (ucs4_to_cns11643): Update for new arrays. Treat U+3400..U+4DFF and - U+20000..U+2A6D6. - * iconvdata/cns11643l2.h (__cns11643_from_ucs4_tab): Remove - declaration. - (__cns11643_from_ucs4p0_tab): New declaration. - (ucs4_to_cns11643l2): Update for new arrays. - * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Handle planes - 3 to 7. - (BODY for TO_LOOP): Handle planes 3 to 7, instead of plane 14. - * iconvdata/EUC-TW.irreversible: New file. - * iconvdata/tst-table.sh: Use it. - * iconvdata/Makefile (distribute): Add CP1255.irreversible, - CP1258.irreversible, EUC-TW.irreversible. - -2001-05-29 Bruno Haible - - * locale/C-translit.h.in: Add transliterations for new Unicode 3.1 - mathematical symbols. - -2001-06-05 Andreas Jaeger - - * manual/stdio.texi (Portable Positioning): Fix description of - fpos_t and fpos64_t. - -2001-06-06 Ulrich Drepper - - * sysdeps/generic/wordexp.c: Undo last patch. Use strndupa instead. - - * po/sk.po: Update from translation team. - -2001-06-05 Andreas Jaeger - - * sysdeps/unix/sysv/linux/shm_open.c (where_is_shmfs): Recognize - tmpfs, patch by Stanislav Brabec . - Closes PR libc/2315. - -2001-06-05 Ulrich Drepper - - * sysdeps/generic/wordexp.c: Add missing free. - Patch by yeti@physics.muni.cz. - -2001-06-02 Tom Browder - - * misc/tst-tsearch.c (mangle_tree): Ensure array indices are - within bounds when lag > 0. - -2001-06-05 Ulrich Drepper - - * po/tr.po: New file. - -2001-06-05 Andreas Jaeger - - * manual/libm-err-tab.pl (parse_ulps): Fix typo. - -2001-06-04 H.J. Lu - - * sysdeps/alpha/elf/start.S: Add .type for the entry point. - * sysdeps/arm/elf/start.S: Likewise. - * sysdeps/hppa/elf/start.S: Likewise. - * sysdeps/i386/elf/start.S: Likewise. - * sysdeps/m68k/elf/start.S: Likewise. - * sysdeps/mips/elf/start.S: Likewise. - * sysdeps/ia64/elf/start.S: Likewise. - * sysdeps/sh/elf/start.S: Likewise. - * sysdeps/s390/s390-32/elf/start.S: Likewise. - * sysdeps/s390/s390-64/elf/start.S: Likewise. - * sysdeps/cris/elf/start.S: Likewise. - -2001-06-04 Bruce Mitchener - - * manual/resource.texi: Correct setpriority/nice documentation. - - * sysdeps/unix/nice.c: Correct nice() implementation. - -2001-06-04 Andreas Jaeger - - * sysdeps/ieee754/ldbl-128/e_sinhl.c: New file, contributed by - Stephen L Moshier . - -2001-06-03 Roland McGrath - - * Makefile (postclean): Remove obsolete sysd-Makefile. - -2001-06-01 Roland McGrath - - * sysdeps/alpha/fpu/fclrexcpt.c: #include - and use compat_symbol/versioned_symbol instead of plain - symbol_version/default_symbol_version. - * sysdeps/alpha/fpu/fegetenv.c: Likewise. - * sysdeps/alpha/fpu/fesetenv.c: Likewise. - * sysdeps/alpha/fpu/feupdateenv.c: Likewise. - * sysdeps/alpha/fpu/fgetexcptflg.c: Likewise. - * sysdeps/alpha/fpu/fraiseexcpt.c: Likewise. - * sysdeps/alpha/fpu/fsetexcptflg.c: Likewise. - * sysdeps/arm/fpu/fclrexcpt.c: Likewise. - * sysdeps/arm/fpu/fegetenv.c: Likewise. - * sysdeps/arm/fpu/fesetenv.c: Likewise. - * sysdeps/arm/fpu/fraiseexcpt.c: Likewise. - * sysdeps/arm/fpu/fsetexcptflg.c: Likewise. - * sysdeps/i386/fpu/fclrexcpt.c: Likewise. - * sysdeps/i386/fpu/fegetenv.c: Likewise. - * sysdeps/i386/fpu/fesetenv.c: Likewise. - * sysdeps/i386/fpu/feupdateenv.c: Likewise. - * sysdeps/i386/fpu/fgetexcptflg.c: Likewise. - * sysdeps/i386/fpu/fraiseexcpt.c: Likewise. - * sysdeps/i386/fpu/fsetexcptflg.c: Likewise. - * sysdeps/m68k/fpu/fclrexcpt.c: Likewise. - * sysdeps/m68k/fpu/fegetenv.c: Likewise. - * sysdeps/m68k/fpu/fesetenv.c: Likewise. - * sysdeps/m68k/fpu/feupdateenv.c: Likewise. - * sysdeps/m68k/fpu/fgetexcptflg.c: Likewise. - * sysdeps/m68k/fpu/fraiseexcpt.c: Likewise. - * sysdeps/m68k/fpu/fsetexcptflg.c: Likewise. - * sysdeps/powerpc/fclrexcpt.c: Likewise. - * sysdeps/powerpc/fpu/fegetenv.c: Likewise. - * sysdeps/powerpc/fpu/fesetenv.c: Likewise. - * sysdeps/powerpc/fpu/feupdateenv.c: Likewise. - * sysdeps/powerpc/fpu/fgetexcptflg.c: Likewise. - * sysdeps/powerpc/fpu/fraiseexcpt.c: Likewise. - * sysdeps/powerpc/fpu/fsetexcptflg.c: Likewise. - - * iconvdata/cp1258.c: Include for abort decl. - * iconvdata/iso-2022-cn-ext.c: Likewise. - -2001-06-01 Andreas Jaeger - - * Versions.def: Add version 2.2.4. - -2001-06-01 Ulrich Drepper - - * socket/Makefile (routines): Add sockatmark. - * socket/Versions [GLIBC_2.2.4]: Add sockatmark. - * socket/sys/socket.h: Add prototype for sockatmark. - * sysdeps/generic/sockatmark.c: New file. - * sysdeps/unix/sockatmark.c: New file. - -2001-06-01 Andreas Jaeger - - * sysdeps/unix/sysv/linux/speed.c (cfsetispeed): Max speed is - B4000000. - (cfsetospeed): Likewise. - Reported by Lukasz Trabinski . - -2001-05-31 Joseph S. Myers - - * misc/sys/cdefs.h (__restrict_arr): Define to empty for C++. - -2001-05-30 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: greg_t - needs to have the same aligment as the kernel structure. - -2001-05-29 Jakub Jelinek - - * sunrpc/rpc/types.h (u_char, u_short, u_int, u_long, quad_t, - u_quad_t, fsid_t, daddr_t, caddr_t): Make sure the types are defined. - * posix/sys/types.h (u_char, u_short, u_int, u_long, quad_t, - u_quad_t, fsid_t, daddr_t, caddr_t): Protect the __USE_BSD typedefs - against multiple definition. - -2001-05-30 Ulrich Drepper - - * po/da.po: Update from translation team. - -2001-05-29 Andreas Jaeger - - * sysdeps/ieee754/ldbl-128/e_acosl.c: New file, contributed by - Stephen L Moshier . - - * math/libm-test.inc (sinh_test): Add new test case. - - * sysdeps/ieee754/ldbl_96/e_sinhl.c (__ieee754_sinhl): sinhl(x) = - x when x < 2^-32. - Patch by Stephen L Moshier . - -2001-05-23 Andreas Jaeger - - * iconvdata/testdata/WINDOWS-1255..UTF-8: Renamed to... - * iconvdata/testdata/WINDOWS-1255..UTF8: this. - -2001-05-27 Andreas Jaeger - - * manual/stdio.texi (String Streams): Fix fmemopen description. - Reported by Michal Kochanowicz . - -2001-05-26 H.J. Lu - - * sysdeps/unix/sysv/linux/mips/syscalls.list: Change sigsuspend - to s_sigsuspend. Add s_mmap2. - - * sysdeps/mips/atomicity.h: New file. - - * sysdeps/unix/sysv/linux/mips/getsysstats.c: New file. - - * sysdeps/unix/sysv/linux/mips/bits/ipc.h (ipc_perm): Put - back __key. - -2001-05-25 Bruce Mitchener - - * manual/ctype.texi: Minor fix. - * manual/install.texi: Likewise. - * manual/startup.texi: Likewise. - * manual/examples/dir.c: Use perror() rather than puts(). - -2001-05-25 David Mosberger - - * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Put stuff following - #endif directive inside a comment to avoid compiler warnings. - -2001-05-25 Philipp Thomas - - * nis/nis_print.c (nis_nstype2str): Don't mark names of - naming services for translation, only UNKNOWN needs it. - Add comment to prevent it for the future. - -2001-05-25 Joseph S. Myers - - * misc/sys/cdefs.h (__restrict_arr): Define appropriately for GCC - 3.1 and non-GCC C99 compilers. - -2001-05-22 David Mosberger - - * sysdeps/ia64/memmove.S: Increase MEMLAT from 6 to 21 for better - performance. - * sysdeps/ia64/memcpy.S: Likewise. - - * sysdeps/ia64/bcopy.S: New file. - - * sysdeps/ia64/bzero.S: New file (derived from memset.S). - -2001-05-26 Ulrich Drepper - - * sysdeps/ia64/fpu/libm-test-ulps: Add deltas for tanh(-0.7). - -2001-05-24 Ulrich Drepper - - * iconvdata/Makefile: Add rules for CP10007. - * iconvdata/gconv-modules: Add entries for CP10007 ad MacCyrillic. - * iconvdata/cp10007.c: New file. - * iconvdata/tst-tables.sh: Add CP10007. - -2001-05-23 kaz Kojima - - * sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT. - (_dl_runtime_profile): Likewise.. - -2001-05-23 Thorsten Kukuk - - * sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out. - * posix/tst-getaddrinfo.c: Remove AF_UNIX test. - -2001-05-19 H.J. Lu - - * elf/dl-deps.c (_dl_map_object_deps): Pass objname and - errstring of the failed DSO to _dl_signal_error (). - -2001-05-23 Ulrich Drepper - - * iconvdata/gconv-modules: Add more aliases to enable use in - locale names. - -2001-05-23 Andreas Jaeger - - * sysdeps/unix/sysv/linux/ia64/Makefile (CFLAGS-initfini.s): - Remove, it's not used anywhere anymore. - * sysdeps/unix/sysv/linux/s390/s390-64/Makefile - (CFLAGS-initfini.s): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/Makefile - (CFLAGS-initfini.s): Likewise. - * sysdeps/unix/sysv/linux/powerpc/Makefile (CFLAGS-initfini.s): - Likewise. - * sysdeps/unix/sysv/linux/i386/Makefile (CFLAGS-initfini.s): - Likewise. - -2001-05-21 Bruno Haible - - * wcsmbs/mbrtowc.c (mbrtowc): Remove local variable 'flush', always - use 0 instead, and rely on the converter to do the flush. - * wcsmbs/tst-mbrtowc.c (utf8_test_1): New function, taken from - utf8_test. - (utf8_test_2, utf8_test_3): New function. - (utf8_test): Call utf8_test_1, utf8_test_2, utf8_test_3. - -2001-05-22 Jakub Jelinek - - * elf/dl-close.c (_dl_close): Save imap->l_reldeps, not map->l_reldeps. - - * elf/Makefile (distribute): Add reldep4mod[1234].c. - (tests): Add reldep4. - (modules-names): Add reldep4mod[1234]. - (reldep4mod1.so, reldep4mod2.so, reldep4, reldep4.out): New rules. - * elf/reldep4.c: New file. - * elf/reldep4mod1.c: Likewise. - * elf/reldep4mod2.c: Likewise. - * elf/reldep4mod3.c: Likewise. - * elf/reldep4mod4.c: Likewise. - -2001-05-18 Jakub Jelinek - - * elf/dl-lookup.c (PROTECTED): Remove defines. - (add_dependency): Mark it with internal_function. - (_dl_do_lookup, _dl_do_lookup_versioned): New functions. - (_dl_lookup_symbol, _dl_lookup_symbol_skip, - _dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip): Use - it if we don't want do_lookup* inlined. - -2001-05-18 Jakub Jelinek - - * include/link.h (struct r_scope_elem): Remove r_duplist and - r_nduplist fields. - * elf/dl-load.c (_dl_map_object_from_fd): Don't initialize them. - * elf/dl-lookup.c (_dl_lookup_symbol_skip): Look in r_list, not - r_duplist. - (_dl_lookup_versioned_symbol_skip): Likewise. - * elf/dl-deps.c (struct list): Remove dup field, rename unique to next. - (_dl_map_object_deps): Don't compute duplicate list. - - * elf/dl-symbol.c: Removed. - * elf/Makefile (routines): Remove dl-symbol. - -2001-05-22 Ulrich Drepper - - * po/el.po: Update from translation team. - * po/sv.po: Likewise. - -2001-05-20 Bruno Haible - - * iconvdata/cp1255.c: Completely rewritten. - * iconvdata/Makefile (gen-8bit-gap-modules): Remove cp1255. - * iconvdata/testdata/WINDOWS-1255: New file. - * iconvdata/testdata/WINDOWS-1255..UTF8: New file. - * iconvdata/TESTS: Add WINDOWS-1255 test. - * iconvdata/CP1255.irreversible: New file. - -2001-05-20 Bruno Haible - - * iconvdata/cp1258.c: Completely rewritten. - * iconvdata/Makefile (gen-8bit-gap-modules): Remove cp1258. - * iconvdata/testdata/WINDOWS-1258: New file. - * iconvdata/testdata/WINDOWS-1258..UTF8: New file. - * iconvdata/TESTS: Add WINDOWS-1258 test. - * iconvdata/tst-table-from.c (try): Reset the iconv descriptor before - the main call, and flush it afterwards. - (utf8_decode): Return a string, possibly containing several Unicode - characters. - (main): Update all utf8_decode calls. - * iconvdata/CP1258.irreversible: New file. - -2001-05-20 Bruno Haible - - * iconv/gconv.c (__gconv): For flush without output, pass do_flush = 2. - * iconv/skeleton.c: Distinguish do_flush = 1 and do_flush = 2. In the - first case, set outbuf, outstart, outend, and call PREPARE_LOOP before - EMIT_SHIFT_TO_INIT; then pass the output produced by this step down to - the next step. In the second case, clear the state without calling - EMIT_SHIFT_TO_INIT. - * iconvdata/ibm930.c (EMIT_SHIFT_TO_INIT): Use outbuf instead of - data->__outbuf, and outend instead of data->__outbufend. - * iconvdata/ibm933.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/ibm935.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/ibm937.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/ibm939.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/iso-2022-cn.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/iso-2022-cn-ext.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/iso-2022-kr.c (EMIT_SHIFT_TO_INIT): Likewise. - * iconvdata/utf-7.c (EMIT_SHIFT_TO_INIT): Likewise. - -2001-05-21 Jakub Jelinek - - * elf/rtld.c (dl_main): Compute l_map_end for the main program. - * elf/dl-sym.c (_dl_sym): Don't check for l_addr == 0. - If match == _dl_loaded, caller can still come from the main program. - (_dl_vsym): Likewise. - * elf/dl-open.c (dl_open_worker): Don't check for l_addr == 0. - * elf/dl-error.c (_dl_signal_error): Change NULL objname into "". - * elf/restest2.c: New test. - * elf/Makefile (tests): Add restest2. - (restest2, LDFLAGS-restest2): Add rules. - -2001-05-22 Ulrich Drepper - - * intl/Makefile: Add a few more dependencies to avoid races in the - test shell scripts. - -2001-05-22 Andreas Jaeger - - * sysdeps/ieee754/ldbl-128/s_log1pl.c: New file, contributed by - Stephen L Moshier . - -2001-05-22 Martin Schwidefsky - - * sysdeps/s390/s390-32/backtrace.c: Make backtrace return the - return addresses instead of the stack pointers. - * sysdeps/s390/s390-64/backtrace.c: Likewise. - -2001-05-21 Jakub Jelinek - - * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Include - bits/sigcontext.h instead of bits/sigstack.h. - * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Add - multiple-inclusion guards. - -2001-05-21 Andreas Jaeger - - * locale/programs/ld-collate.c (handle_ellipsis): Fix message. - Patch by Philipp Thomas . - -2001-05-17 Bruce Mitchener - - * manual/arpg.texi: Spelling, misc fixes. - * manual/arith.texi: Likewise. - * manual/crypt.texi: Likewise. - * manual/debug.texi: Likewise. - * manual/getopt.texi: Likewise. - * manual/intro.texi: Likewise. - * manual/memory.texi: Likewise. - * manual/nss.texi: Likewise. - * manual/pattern.texi: Likewise. - * manual/process.texi: Likewise. - * manual/resource.texi: Likewise. - * manual/search.texi: Likewise. - * manual/setjmp.texi: Likewise. - * manual/signal.texi: Likewise. - * manual/socket.texi: Likewise. - * manual/stdio.texi: Likewise. - * manual/string.texi: Likewise. - * manual/sysinfo.texi: Likewise. - * manual/terminal.texi: Likewise. - * manual/llio.texi: Document madvise(). - -2001-05-20 Roland McGrath - - * Makeconfig (sysdep-makeconfigs): Include any Makeconfig files - found within $(add-ons) directories too. - [linuxthreads add-on]: Move variable settings for linuxthreads - to new file linuxthreads/Makeconfig. - -2001-05-20 Franz Sirl - - * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_STD_AUXV): - Define for linux >= 2.4.5 on powerpc. - (__ASSUME_MMAP2_SYSCALL): Likewise. - -2001-05-19 Roland McGrath - - * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Don't leak the - result port when failing with ELOOP. Do the ELOOP check when - following an absolute symlink target as well as relative. - Remove #ifdef SYMLOOP_MAX conditional--it should always be defined. - -2001-05-18 Andreas Jaeger - - * po/fr.po: Free software is "logiciel libre". - Patch by Martin Michlmayr . - - * sysdeps/powerpc/elf/libc-start.c: Use __cxa_atexit. - Patch by ekato@ees.hokudai.ac.jp, closes PR libc/2271. - -2001-05-17 David Mosberger - - * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: New file. - -2001-05-17 Ulrich Drepper - - * elf/dl-profile.c (_dl_mcount): Check whether state is - GMON_PROF_ON before doing anything. - -2001-05-17 H.J. Lu - - * elf/sprof.c (read_symbols): Move "++symtab" into the while loop. - -2001-05-17 Ulrich Drepper - - * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Use - CHECK_SIGSET_NULL_OK and not CHECK_SIGSET for all parameters. - Reported by Mark Burton . - -2001-05-17 Jakub Jelinek - - * elf/ldconfig.c (add_dir): Only warn about stat failure if - opt_verbose. - (search_dir): Likewise. - -2001-05-17 Ulrich Drepper - - * sysdeps/i386/i486/atomicity.h (exchange_and_add): Correct second - parameter of xaddl. Patch by H . J . Lu . - -2001-05-14 Bruno Haible - - * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): If SO is seen - without previous announcement, reject it regularly, don't abort. - -2001-05-16 Ulrich Drepper - - * math/tgmath.h: Fix handling of int parameters to binary and - ternary functions. Reported by mitr@volny.cz. - - * math/test-tgmath.c: Add tests for calls with integer parameters. - -2001-05-15 Jakub Jelinek - - * sunrpc/rpc_thread.c (rpc_default): Remove. - (__rpc_thread_destroy): Use __libc_tsd_RPC_VARS_mem instead of - rpc_default. - (rpc_thread_multi, __rpc_thread_svc_fdset, __rpc_thread_createerr, - __rpc_thread_svc_pollfd, __rpc_thread_svc_max_pollfd): Likewise. - * sunrpc/auth_none.c (authnone_private): Fix a typo. - -2001-05-16 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Fix stack allocation. - -2001-05-16 Bruce Mitchener - - * manual/llio.texi: Many grammar and typo fixes to the section on AIO. - -2001-05-15 Andreas Jaeger - - * sysdeps/ieee754/ldbl-128/s_expm1l.c: New file, contributed by - Stephen L Moshier . - - * sysdeps/i386/fpu/libm-test-ulps: Adjust for change. - - * math/libm-test.inc: Add comment with ToDo. - - * sysdeps/i386/fpu/e_expl.c: Rewritten to C and using a more - accurate algorithm. Patch by Stephen L Moshier . - - * sysdeps/i386/fpu/e_expl.S: Removed. - -2001-05-14 Roland McGrath - - * csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into a - static pattern rule also that also covers - $(objpx)g$(static-start-installed-name). - [$(start-installed-name) != $(static-start-installed-name)] - (extra-objs, omit-deps, install-lib): Add - $(static-start-installed-name) and g$(static-start-installed-name). - * sysdeps/mach/hurd/i386/Makefile: Don't add crt0.o to those here; - just setting static-start-installed-name is now sufficient. - (extra-objs): Add static-start.o here. - (CFLAGS-initfini.s): Remove obsolete variable. - * sysdeps/mach/hurd/i386/Makeconfig: New file. - Define static-start-installed-name here. - - * Makeconfig: Include existing $(full_config_sysdirs:=/Makeconfig). - * Make-dist (+sysdep-tsrcs): Look for Makeconfig files. - - * Makerules ($(+sysdir_pfx)sysd-Makefile): Remove this target and - associated hair. Instead, just use $(wildcard ...) in the include. - - * configure.in (critic_missing, aux_missing): Collect in these vars - the names of the missing programs, and include them in the error msgs. - * configure: Regenerated. - -2001-05-14 Andreas Jaeger - - * sysdeps/i386/fpu/libm-test-ulps: Adjust for new tests. - - * math/libm-test.inc (tanh_test): Add testcases for last tanh bug. - -2001-05-14 Stephen L Moshier - - * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Fix sign test. - -2001-05-11 Jakub Jelinek - - * posix/regex.c (re_match_2_internal): Swap mbs_offset and csize - as well if swapping strings. - Make sure stop is not past end of second string. - * posix/bug-regex4.c: New test. - * posix/Makefile (tests): Add bug-regex4. - -2001-05-10 Andreas Jaeger - - * manual/install.texi (Linux): Clarify that Linux 2.2 is minimal - requirement. - -2001-05-12 Andreas Jaeger - - * sysdeps/ieee754/dbl-64/s_sin.c: Include "math_private.h" for - internal prototypes. - * sysdeps/ieee754/dbl-64/doasin.c: Likewise. - * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. - * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. - * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. - * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. - * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. - * sysdeps/ieee754/dbl-64/branred.c: Likewise. - - * math/math_private.h: Add prototypes for internal functions of - the IBM Accurate Mathematical Library. - - * sysdeps/ieee754/dbl-64/s_atan.c: Include "math.h" for - prototypes. - * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. - - * sysdeps/ieee754/dbl-64/e_asin.c: Include "math_private.h" for - internal prototypes. - * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. - * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. - * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. - * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. - * sysdeps/ieee754/dbl-64/e_log.c: Likewise. - * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. - * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. - * sysdeps/generic/e_rem_pio2l.c: Likewise. - (__ieee754_rem_pio2l): Fix prototype. - - * math/math_private.h (__copysign): Add internal prototype. - -2001-05-11 Andreas Jaeger - - * sysdeps/unix/sysv/linux/configure.in: Move binutils check to... - * sysdeps/unix/sysv/linux/mips/configure.in: ...here. New file. - -2001-05-11 Andreas Jaeger - - * sysdeps/unix/sysv/linux/configure.in: Check binutils version on - MIPS. - - * sysdeps/mips/rtld-ldscript.in: Removed unneeded binary output - format directive. Patch by Steven J. Hill . - -2001-05-11 Roland McGrath - - * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Don't use - $(build-module) here, since we don't need the full magilla. - Just use $(build-module-helper) and append our special options. - -2001-05-09 Andreas Schwab - - * sysdeps/unix/readdir.c: Make sure we don't modify errno when we - reached EOF. - -2001-05-07 H.J. Lu +2001-10-09 Martin Schwidefsky - * elf/ldconfig.c (dir_entry): Add ino and dev. - (add_single_dir): Compare ino and dev to check if 2 directory - paths are the same or not. Free entry->path for duplicates. - (add_dir): Initialize ino and dev for entry. - (search_dir): Handle symlink to directory. + * sysdeps/s390/s390-32/sys/ucontext.h: Correct __psw_t typedef. + * sysdeps/s390/s390-64/sys/ucontext.h: Likewise. -2001-05-07 Andreas Jaeger +2001-10-12 Ulrich Drepper - * sysdeps/i386/fpu/libm-test-ulps: Add ulps for new exp tests. + * elf/elf.h (PT_TLS): New definition. - * math/libm-test.inc (exp_test): Add some more tests. - (pow_test): Run double only test also for long double. +2001-10-10 Jeff Bailey - * math/test-ldouble.c (TEST_LDOUBLE): Define. - * math/test-ildoubl.c (TEST_LDOUBLE): Likewise. + * sysdeps/mach/hurd/Makefile: Add $(CFLAGS) for generation of + bits/errno.h - * sysdeps/generic/bits/confname.h: Remove extra comma at end of - enumeration. - Closes PR libc/2240. +2001-10-07 Roland McGrath - * scripts/config.guess: Imported from gnu.org. - * scripts/config.sub: Likewise. + * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Never return ENOSYS. -2001-05-05 Jakub Jelinek +2001-10-10 Ulrich Drepper - * include/features.h (__USE_EXTERN_INLINES): Don't define if - __NO_INLINE__ is defined. - * ctype/ctype.h (tolower, toupper): Change the guard condition to - __USE_EXTERN_INLINES check only. - * stdlib/stdlib.h (strtod, ...): Likewise. - * wcsmbs/wchar.h (mbrlen): Likewise. - * string/string.h: Only include bits/string.h and bits/string2.h - if __NO_INLINE__ is not defined. + * elf/elf.h: Add more ELFOSABI_* constants. -2001-05-07 Andreas Jaeger +2001-10-04 Ben Collins - * debug/Makefile ($(objpfx)xtrace): Substitute @SLIBDIR@ instead - of @LIBDIR@. + * sysdeps/generic/inttypes.h: Fix typo (define, not defined) in + decleration of __need_wchar_t. -2001-05-04 H.J. Lu +2001-10-03 Jakub Jelinek - * malloc/Makefile ($(objpfx)memusage): Substitute @SLIBDIR@ - not @LIBDIR@. + * string/bits/string2.h (__strsep_g): Add prototype. + (__strsep): Use it. + * string/Versions (__strsep): Remove. + * sysdeps/generic/strsep.c (__strsep_g): Add alias to __strsep. -2001-05-06 Andreas Jaeger +2001-10-07 Ulrich Drepper - * sysdeps/i386/fpu/e_fmodl.c: New, rewrite of e_fmodl.S. - * sysdeps/i386/fpu/e_fmodl.S: Removed. - * sysdeps/i386/fpu/e_atan2l.c: New, rewrite of e_atan2l.S. - * sysdeps/i386/fpu/e_atan2l.S: Removed. - * sysdeps/i386/fpu/e_acosl.c: New, rewrite of e_acos.S. - * sysdeps/i386/fpu/s_atanl.c: New, rewrite of e_atanl.S. - * sysdeps/i386/fpu/e_sqrtl.c: New, rewrite of e_sqrt.S. - * sysdeps/i386/fpu/e_acosl.S: Removed. - * sysdeps/i386/fpu/s_atanl.S: Removed. - * sysdeps/i386/fpu/e_sqrtl.S: Removed. + * manua/llio.texi: Clarify file references added by mmap. + Patch by Marcus Brinkmann . -2001-05-05 Mark Kettenis +2001-09-29 Jes Sorensen - * sysdeps/mach/hurd/bits/environments.h: Add comment from - sysdeps/generic/bits/environments.h. Define _POSIX_V6_* values. + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): + Add sc_loadrs and sc_rbs_bas to match current kernel. -2001-04-30 Jakub Jelinek +2001-09-27 Jakub Jelinek - * posix/confstr.c (confstr) [_CS_V6_WIDTH_RESTRICTED_ENVS]: Move so - that _CS_LFS_CFLAGS can fall through to the empty returned string - case. Add FALLTHROUGH comment. + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. -2001-04-29 Ralf Baechle + * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Fix erfc(-inf). - * sysdeps/unix/sysv/linux/mips/bits/sem.h: Make structure - definitions match the kernel definitions. - * sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. +2001-09-27 Jakub Jelinek -2001-04-29 Ben Collins + * elf/dl-open.c (dl_open_worker): If l_opencount of freshly loaded + object has been bumped because of relocation dependency, avoid + duplicates in l_scope. + (show_scope): Fix typos. + * elf/Makefile: Add rules to build and run reldep6. + * elf/reldep6.c: New file. + * elf/reldep6mod0.c: New file. + * elf/reldep6mod1.c: New file. + * elf/reldep6mod2.c: New file. + * elf/reldep6mod3.c: New file. + * elf/reldep6mod4.c: New file. - * sysdeps/sparc/sparc64/dl-machine.h: Fix multiline strings - warnings. - * sysdeps/sparc/sparc64/soft-fp/qp_add.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_div.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_feq.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_fge.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_fle.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_flt.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_fne.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_mul.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Likewise. - * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Likewise. +2001-09-26 Jakub Jelinek -2001-04-29 Andreas Schwab + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Call + sparc64_fixup_plt. + (sparc64_fixup_plt): Moved from elf_machine_fixup_plt. Optimize + near jumps and 0xfffff800XXXXXXXX target addresses, no thread safety + for non-lazy binding. Fix .plt[32768+] handling. + (elf_machine_plt_value): Don't add addend. + (elf_machine_rela): Call sparc64_fixup_plt instead of + elf_machine_fixup_plt. + (elf_machine_runtime_setup, TRAMPOLINE_TEMPLATE): Optimize for + dynamic linker at 0xfffff800XXXXXXXX. - * sysdeps/unix/sysv/linux/kernel-features.h: Fix missing backslash - in last change. + * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update. -2001-04-29 Andreas Jaeger +2001-09-28 Ulrich Drepper - * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_FCNTL64): - Define for Arm, PowerPC and SH if kernel is 2.4.4 or newer. + * elf/elf.h: Define SHF_GROUP and SHF_TLS. - * sysdeps/unix/sysv/linux/bits/socket.h (PF_WANPIPE): New, from - Linux 2.4.4. - (AF_WANPIPE): Likewise. - (MSG_MORE): New. +2001-09-25 Jakub Jelinek - * sysdeps/unix/sysv/linux/alpha/bits/socket.h: Add same changes as - for Linux generic version. + * sysdeps/unix/bsd/bsd4.4/bits/socket.h (struct cmsghdr): Don't + declare __cmsg_data field if its size would be bigger than 0. + (CMSG_DATA): Adjust accordingly. + * sysdeps/unix/sysv/aix/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/socket.h: Likewise. - - * sysdeps/gnu/netinet/tcp.h (TCP_QUICKACK): New. - -2001-04-27 Ulrich Drepper - - * nis/nss-nis.h: Correct test for invalid error number. - * nis/nss-nisplus.h: Likewise. - - * nis/Makefile (libnss_compat-rountines): Add nss-nisplus. - -2001-04-26 Ulrich Drepper - - * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add getunwind. - - * string/strcoll.c: Fix two memory allocation problems. - * string/Makefile (tests): Add bug-strcoll1. - * string/bug-strcoll1.c: New file. - - * malloc/mcheck.c (mcheck): Call malloc once before setting the - hooks to allow the internal check hooks to be set up if necessary. - - * nis/nss-nis.h: Move yperr2nss_tab definition into separate file - and rename to __yperr2nss_tab. Change YPERR_COUNT into variable - __yperr2nss_count. - * nis/nss-nis.c: New file. - * nis/nss-nisplus.h: Move niserr2nss_tab definition into separate file - and rename to __niserr2nss_tab. Change NISERR_COUNT into variable - __niserr2nss_count. - * nis/nss-nisplus.c: New file. - * nis/Makefile (libnss_compat-routines): Add nss-nis. - (libnss_nis-routines): Likewise. - (libnss_nisplus-routines): Add nss-nisplus. - - * nis/nss_nisplus/nisplus-alias.c: Remove unnecessary initializations. - * nis/nss_nisplus/nisplus-ethers.c: Likewise. - * nis/nss_nisplus/nisplus-grp.c: Likewise. - * nis/nss_nisplus/nisplus-hosts.c: Likewise. - * nis/nss_nisplus/nisplus-network.c: Likewise. - * nis/nss_nisplus/nisplus-proto.c: Likewise. - * nis/nss_nisplus/nisplus-pwd.c: Likewise. - * nis/nss_nisplus/nisplus-rpc.c: Likewise. - * nis/nss_nisplus/nisplus-service.c: Likewise. - * nis/nss_nisplus/nisplus-spwd.c: Likewise. - * nis/nss_nis/nis-alias.c: Likewise. - * nis/nss_nis/nis-ethers.c: Likewise. - * nis/nss_nis/nis-grp.c: Likewise. - * nis/nss_nis/nis-network.c: Likewise. - * nis/nss_nis/nis-proto.c: Likewise. - * nis/nss_nis/nis-pwd.c: Likewise. - * nis/nss_nis/nis-spwd.c: Likewise. - * nis/nss_compat/compat-grp.c: Likewise. - * nis/nss_compat/compat-initgroups.c: Likewise. - * nis/nss_compat/compat-pwd.c: Likewise. - * nis/nss_compat/compat-spwd.c: Likewise. - - * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Some more - optimizations. Patch by Jakub Jelinek . - -2001-04-26 Andreas Jaeger - - * po/zh_TW.po: Update. - Patch by Tung-Han Hsieh . - -2001-04-25 Ulrich Drepper - - * malloc/malloc.c: Allow MALLOC_ALIGNMENT to be defined on the - compiler command line. - * sysdeps/hppa/Makefile: Add -DMALLOC_ALIGNMENT=16 to compiler - command line for malloc.c. - -2001-04-25 Jakub Jelinek - - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: Move to... - * sysdeps/unix/sysv/linux/sparc/bits/time.h: ...here. - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: Remove. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/socket.h: Move to... - * sysdeps/unix/sysv/linux/sparc/bits/socket.h: ...here. Adjust - struct msghdr for __WORDSIZE == 32. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statvfs.h: Move to... - * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: ...here. Adjust - for __WORDSIZE == 32. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Remove. - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c: New - file. - * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S (__libc_siglongjmp): - Rename from longjmp, make longjmp weak alias to it. - -2001-04-24 David S. Miller - - * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: New file. - -2001-04-25 Matthew Wilcox - - * sysdeps/hppa/stackinfo.h: New file. - * sysdeps/unix/sysv/linux/hppa/getdents64.c: New file. - * sysdeps/unix/sysv/linux/hppa/mmap64.c: New file. - * sysdeps/unix/sysv/linux/hppa/bits/resource.h: New file. - * sysdeps/unix/sysv/linux/kernel-features.h: Add descriptions - of PA kernel features. - -2001-04-25 Ulrich Drepper - - * locale/programs/localedef.c (main): Always set a file name for - the initial locale. - * locale/programs/locfile.c (locfile_read): filename is allowed to - be NULL. - -2001-04-12 Paul Bame - - * sysdeps/hppa/fpu/fclrexcpt.c: Clear the exception flags, not the - enable flags. - -2001-04-24 Ulrich Drepper - - * sysdeps/generic/bits/environments.h (_POSIX_V6_LPBIG_OFFBIG, - _XBS5_LPBIG_OFFBIG): Define to -1. - Fix typos. - - * sysdeps/generic/bits/confname.h: Add _CS_V6_WIDTH_RESTRICTED_ENVS. - * posix/confstr.c: Handle _CS_V6_WIDTH_RESTRICTED_ENVS. - * posix/getconf.c: Handle _POSIX_V6_WIDTH_RESTRICTED_ENVS. - * posix/tst-getconf.sh: Add _POSIX_V6_WIDTH_RESTRICTED_ENVS. - - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/Implies: New file. - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: Removed. - -2001-03-21 Alan Modra - - * sysdeps/hppa/dl-machine.h (RTLD_START): Set up dp with DT_PLTGOT - value from application so that constructors in non-PIC libs work. - -2000-12-13 Jes Sorensen - - * sysdeps/hppa/dl-machine.h (RTLD_START): _dl_init now returns a - function pointer, hence load the jump address and gp from the - function pointer before jumping. - -2001-04-24 Andreas Jaeger - - * sysdeps/generic/send.c (__send): Return ssize_t. - * sysdeps/mach/hurd/send.c (__send): Likewise. - * sysdeps/mach/hurd/recv.c (recv): Likewise. - * sysdeps/mach/hurd/sendto.c (sendto): Likewise. - * sysdeps/generic/sendto.c (sendto): Likewise. - * sysdeps/generic/recvmsg.c (recvmsg): Likewise. - * sysdeps/mach/hurd/recvfrom.c (recvfrom): Likewise. - * sysdeps/generic/recvfrom.c (recvfrom): Likewise. - * sysdeps/generic/sendmsg.c (sendmsg): Likewise. - - * socket/sys/socket.h: send* and recv* return ssize_t. - - * include/sys/socket.h: send returns ssize_t. - - * sysdeps/i386/fpu_control.h: Fix comments. - -2001-04-24 Ulrich Drepper - - * sysdeps/ia64/Dist: Add hp-timing.c. - * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Add ucontext_i.h. - * posix/Makefile (distribute): Add tst-getconf.sh. - * po/Makefile (distribute): Add $(BROKEN_LINGUAS:=.po). - -2001-04-23 Ulrich Drepper - - * sysdeps/ia64/Makefile [subdir=csu] (sysdep_routines): Add hp-timing. - * sysdeps/ia64/Versions: Add _dl_cpuclock_offset for ld in 2.2.3. - * sysdeps/ia64/hp-timing.c: New file. - * sysdeps/ia64/hp-timing.h: New file. - * sysdeps/unix/sysv/linux/ia64/bits/time.h: Add definitions for - CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. - - * sysdeps/generic/clock_getcpuclockid.c: Make function generic, test - using #ifdef whether the clock is available. - * sysdeps/unix/i386/clock_getcpuclockid.c: Not needed anymore. - - * sysdeps/generic/dl-sysdep.c: Initialize _dl_cpuclock_offset to move - it into data section. - - * sysdeps/unix/i386/i586/clock_getres.c: Removed. - * sysdeps/unix/i386/i586/clock_gettime.c: Removed. - * sysdeps/unix/i386/i586/clock_nanosleep.c: Removed. - * sysdeps/unix/i386/i586/clock_settime.c: Removed. - * sysdeps/unix/i386/i586/cpuclock-init.h: Removed. - * sysdeps/generic/cpuclock-init.h: Removed. - * sysdeps/unix/i386/i686/Implies: Removed. - * sysdeps/unix/i386/i686/tempname.c: Removed. - * sysdeps/i386/i686/Versions: New file. - * sysdeps/unix/i386/i586/Versions: Removed. - - * sysdeps/posix/clock_getres.c: If HP_TIMING_AVAIL is nonzero handle - CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. - * sysdeps/unix/clock_gettime.c: Likewise. - * sysdeps/unix/clock_nanosleep.c: Likewise. - * sysdeps/unix/clock_settime.c: Likewise. - * sysdeps/posix/tempname.c: Is HP_TIMING_AVAIL is nonzero define - RANDOM_BITS use CPU clock. - - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: New file. - * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: New file. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: New file. - * sysdeps/sparc/Versions: New file. - - * elf/dl-support.c: Don't use cpuclock-init.h definitions, use - hp-timing.h definitions. - * sysdeps/generic/dl-sysdep.c: Likewise. - - * include/libc-internal.h: Include hp-timing.h. Use hp_timing_t in - __get_clockfreq prototype. - - * sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq): - Use hp_timing_t type. - * sysdeps/generic/get_clockfreq.c (__get_clockfreq): Likewise. - - * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: New file. - - * sysdeps/posix/pathconf.c (__pathconf): For _PC_ASYNC_IO test - whether named file is a regular file or a block device. - * sysdeps/posix/fpathconf.c (__fpathconf): Likewise. - -2001-04-23 Andreas Jaeger - - * nscd/nscd.h: Add noreturn attribute for start_threads. - -2001-04-22 Ulrich Drepper - - * posix/getconf.c: Fix names of XBS5 LFS test variables. - Add missing configuration variables from XPG6. - * posix/tst-getconf.c: New file. - * posix/Makefile (generated): Add tst-getconf.out. - (tests): Add ($objpfx)tst-getconf.out. - Add rule to run tst-getconf.sh. - * sysdeps/generic/bits/confname.h: Add missing _PC_ and _SC_ values - from XPG6. - * sysdeps/posix/fpathconf.c: Add handling of _PC_ALLOC_SIZE_MIN and - _PC_SYMLINK_MAX. - * sysdeps/posix/pathconf.c: Likewise. - * sysdeps/posix/sysconf.c: Correct spelling of _SC_MULTI_PROCESS - and _SC_SYMLOOP_MAX. - -2001-04-22 Philip Blundell - - * sysdeps/arm/fpu/feenablxcpt.c: New file. - * sysdeps/arm/fpu/fedisablxcpt.c: New file. - * sysdeps/arm/fpu/fegetexcpt.c: New file. - -2001-04-22 Philip Blundell - - * sysdeps/unix/sysv/linux/arm/sys/user.h (struct user_fpregs): - Renamed from struct user_fp. - (struct user_regs): New. - (struct user): Use struct user_regs rather than struct pt_regs to - avoid dependency on asm/ptrace.h. Use struct user_fpregs in place - of struct user_fp and struct user_fp_struct. - * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Include sys/procfs.h - not sys/elf.h. - -2001-04-22 Philip Blundell - - * sysdeps/unix/sysv/linux/arm/sys/elf.h: Move contents to - sys/procfs.h, and tell the user to include that file instead. - * sysdeps/unix/sysv/linux/arm/sys/procfs.h: Remove old cruft - surrounded with #if 0. - (elf_greg_t, ELF_NGREG, elf_gregset_t, elf_fpregset_t): Moved here - from sys/elf.h. - (prgregset_t, prfpregset_t): Define in terms of elf_gregset_t and - elf_fpregset_t respectively. - -2001-04-22 Philip Blundell - - * sysdeps/unix/sysv/linux/arm/register-dump.h: Also print the - address that faulted. - -2001-04-21 Ulrich Drepper - - * sysdeps/generic/bits/confname.h: Add _SC_V6_* and _CS_POSIX_V6_* - values. - * sysdeps/generic/bits/environments.h: Define _POSIX_V6_* values. - * posix/confstr.c: Handle _CS_POSIX_V6_* values. - * posix/getconf.c: Handle _CS_POSIX_V6_* and _SC_V6_* values. - * sysdeps/posix/sysconf.c: Handle _SC_V6_* values. - - * sysdeps/powerpc/fpu/libm-test-ulps: Add deltas for atan2f. - * sysdeps/s390/fpu/libm-test-ulps: Likewise. - * sysdeps/sh/sh4/fpu/libm-test-ulps: Likewise. - * sysdeps/mips/fpu/libm-test-ulps: Likewise. - -2001-04-21 Franz Sirl - - * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Correct check for invalid - offset. - -2001-04-21 Ulrich Drepper - - * posix/getopt.h: Treat __cplusplus like __STDC__. - -2001-04-20 John S. Marvin - - * sysdeps/unix/sysv/linux/hppa/clone.S: Fix clone system call - entry point stub. - -2001-04-20 Richard Hirst - - * elf/elf.h: Corrected R_PARISC_DIR14R (should be 6, not 5), - and added R_PARISC_DPREL21L and R_PARISC_DPREL14R for modutils. - - * sysdeps/unix/sysv/linux/hppa/syscalls.list: Removed ptrace - entry so the ptrace.c wrapper is used. - -2001-04-20 Alan Modra - - * sysdeps/hppa/dl-lookupcfg.h (_dl_function_address): Prototype. - (DL_FUNCTION_ADDRESS): Define. - (DL_DT_INIT_ADDRESS): Define. - (DL_DT_FINI_ADDRESS): Define. - * sysdeps/hppa/Versions: Add _dl_function_address. - * sysdeps/hppa/dl-machine.h (ELF_MACHINE_START_ADDRESS): Define. - * sysdeps/hppa/dl-symaddr.c (_dl_start_address): Rename to - _dl_function_address. - -2001-04-21 Andreas Jaeger - - * rt/aio_misc.c (handle_fildes_io): Add noreturn attribute. - * resolv/gai_misc.c (handle_requests): Likewise. - * malloc/obstack.c (print_and_abort): Likewise. - * malloc/mcheck.c (mabort): Likewise. - - * sysdeps/unix/i386/i586/clock_settime.c: Include - "libc-internal.h" for __get_clockfreq declaration. - -2001-04-21 Ulrich Drepper - - * elf/dl-support.c: Include cpuclock-init.h. Use CPUCLOCK_VARDEF and - CPUCLOCK_INIT if defined. - * sysdeps/generic/dl-sysdep.c: Likewise. - * sysdeps/generic/cpuclock-init.h: New file. - * sysdeps/unix/i386/i586/cpuclock-init.h: New file. - * sysdeps/unix/i386/i586/Versions: New file. - * sysdeps/unix/i386/i586/clock_settime.c: New file. - * sysdeps/unix/i386/i586/clock_gettime.c: Handle thread CPU clock - separately by calling __pthread_clock_gettime if this function is - available. Subtract offset from tsc value before computing time value. - -2001-04-20 Ulrich Drepper - - * iconv/iconv_prog.c (print_known_names): If printing goes not to - a tty print in a more machine-friendly way. - - * sysdeps/ieee754/ldbl-128/e_asinl.c: New file. - Contributed by Stephen L Moshier . - -2001-04-20 Andreas Jaeger - - * intl/Makefile (tests): Reorder conditions, tst-gettext needs msgfmt. - -2001-04-20 Andreas Schwab - - * sysdeps/m68k/fpu/libm-test-ulps: Update. - -2001-04-19 Alan Modra - - * Makerules (libc_pic.os): Add $(LDFLAGS-c_pic.os). - * sysdeps/hppa/Makefile (LDFLAGS-c_pic.os): Define. - (CFLAGS-.os): Remove. - - * sysdeps/unix/sysv/linux/hppa/sysdep.h (CALL_MCOUNT): Update comment. - - * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (NGREG, NFPREG, - gregset): Correct for new kernel definitions. - -2001-04-19 Alan Modra - - * sysdeps/hppa/elf/initfini.c: Change dlt reg save to r3 and - generate unwind info by hand. - -2001-04-19 Ulrich Drepper - - * sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Optimize a bit. - - * configure.in: Correct regular expression for msgfmt. - Patch by Bruno Haible . - -2001-04-19 Andreas Jaeger - - * po/el.po: Add comment explaining what's broken. - - * po/Makefile (BROKEN_LINGUAS): New. - (ALL_LINGUAS): Don't add broken languages. - -2001-04-19 Roland McGrath - - * sysdeps/mach/hurd/mlock.c: New file. - * sysdeps/mach/hurd/munlock.c: New file. - * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_MEMLOCK_RANGE): Define it. - - * misc/Makefile (routines): Add mlock munlock mlockall munlockall. - * sysdeps/generic/mlock.c: New file. - * sysdeps/generic/munlock.c: New file. - * sysdeps/generic/mlockall.c: New file. - * sysdeps/generic/munlockall.c: New file. - * sysdeps/generic/bits/mman.h (MCL_CURRENT, MCL_FUTURE): New macros. - * sysdeps/unix/sysv/linux/syscalls.list (mlock, munlock, - mlockall, munlockall): Change caller field to - from EXTRA. - Don't use __ names; not used (and not declared in include/sys/mman.h). - - * hurd/privports.c (__get_privileged_ports): Renamed with __. - Use __ names for calls we make. - (get_privileged_ports): Add alias. - * hurd/hurd.h: Declare it with the __ name. - * sysdeps/mach/hurd/reboot.c (reboot): Use __get_privileged_ports. - * sysdeps/mach/hurd/adjtime.c (__adjtime): Likewise. - * sysdeps/mach/hurd/settimeofday.c (__settimeofday): Likewise. - - * hurd/hurdsig.c (write_corefile): Check RLIMIT_CORE limit and do - nothing if it's zero. - -2001-04-19 Matthew Wilcox - - * sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL): - Change to return a signed result for compatibility with other - architectures, and correctness. - -2001-04-19 Ulrich Drepper - - * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_32BITUIDS): - HPPA always had them. Patch by Matthew Wilcox . - -2001-04-19 Andreas Jaeger - - * configure.in: Require gettext 0.10.36 or newer. - - * manual/install.texi (Tools for Compilation): Mention gettext 0.10.36. - - * po/zh_TW.po: Remove extraneous backslashes. - - * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Remove unused - variables b and n. - -2001-04-18 Jakub Jelinek - - * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. - * sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c: New file. - * sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c: New file. - * sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S (__setcontext): - Copy first word of uc_sigmask into __uc_sigmask. - * sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S (__getcontext): - Save uc_link around trap. Copy __uc_sigmask into first word of - uc_sigmask, clear the rest. Make sure setcontext to the created - context doesn't do this though. - * sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h: New file. - * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Add - uc_stack and uc_sigmask, rename old uc_sigmask to __uc_sigmask in the - 64bit version, make uc_sigmask __sigset_t in the 32bit version. - -2001-04-19 Andreas Jaeger - - * sysdeps/unix/sysv/linux/hppa/umount.c: Fix typos in last patch. - - * rt/Makefile (otherlibs): Added for static NSS. - - * glibcbug.in (BUGGLIBC): Send to new alias. - -2001-04-02 Andreas Schwab - - * Makerules (build-module): Make sure exit codes get checked - properly and remove unnecessary slashes. - -2001-04-17 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq): - Handle kernels which report only three digits after the decimal point. - Reported by Van Okamura . - - * sysdeps/alpha/fpu/libm-test-ulps: Adjust error values for atan2f. - -2001-04-17 David S. Miller - - * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update for new atan2 tests. - * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise. - -2001-04-17 Jakub Jelinek - - * sysdeps/ieee754/ldbl-128/e_logl.c (__ieee754_logl): Make sure - desired exceptions are raised for exceptional values. - * math/libm-test.inc (acosh_test, atan_test, atan2_test, cacos_test, - cacosh_test, casin_test, casinh_test, catan_test, catanh_test, - clog_test, log_test, log1p_test, tan_test): Increase precision of - expected values to satisfy ldbl-128. - * sysdeps/alpha/fpu/libm-test-ulps: Adjust accordingly. - * sysdeps/arm/libm-test-ulps: Likewise. - * sysdeps/i386/fpu/libm-test-ulps: Likewise. - * sysdeps/ia64/fpu/libm-test-ulps: Likewise. - * sysdeps/m68k/fpu/libm-test-ulps: Likewise. - * sysdeps/mips/fpu/libm-test-ulps: Likewise. - * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. - * sysdeps/s390/fpu/libm-test-ulps: Likewise. - * sysdeps/sh/sh4/fpu/libm-test-ulps: Likewise. - * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Likewise. - * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise. - -2001-04-17 Andreas Jaeger - - * configure.in: Move test for critical programs up. - -2001-04-16 Stephen L Moshier - - * sysdeps/ieee754/flt-32/e_asinf.c (pio2_hi, pio2_lo, pio4_hi): - Correct the values. - (pSx, qSx): Replace by shorter approximation. - Use f suffix on float constants. - -2001-04-16 Ulrich Drepper - - * sysdeps/ieee754/ldbl-128/k_tanl.c: New file. - Contributed by Stephen L Moshier . - - * string/string.h: Replace const in attribute list with __const__. - -2001-04-16 Roland McGrath - - * grp/initgroups.c (initgroups) [NGROUPS_MAX != 0]: Always use sysconf - instead of the constant NGROUPS_MAX. That way, the limit can be - raised in the kernel configuration without having to recompile libc. - - * sysdeps/posix/euidaccess.c: Don't #include or try to - define NGROUPS_MAX; we don't use it here. - -2001-04-16 Andreas Jaeger - - * math/libm-test.inc (atan2_test): Add more testcases. - - * iconv/gconv_db.c: Include gconv_charset.h for - __gconv_lookup_alias prototype. - -2001-04-13 Ulrich Drepper - - * sysdeps/ieee754/ldbl-128/s_atanl.c: New file. - Contributed by Stephen L Moshier . - -2001-04-13 Jes Sorensen - - * intl/tst-codeset.c: Include string.h to get prototype for strcmp(). - -2001-04-13 Jes Sorensen - - * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Add __pad0 to - explicitly pad struct siginfo instead of relying on compiler padding. - -2001-04-12 Ulrich Drepper - - * sysdeps/ia64/Dist: Add elf/entry.h. - - * iconvdata/Makefile (distribute): Add TESTS2. - -2001-04-13 Jakub Jelinek - - * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): - Calculate load address differently. - -2001-04-12 Bruno Haible - - * iconvdata/TESTS2: New file. - * iconvdata/run-iconv-test.sh: Also run tests from TESTS2. - * iconvdata/testdata/alfabeta..UTF-8: New file. - * iconvdata/testdata/alfabeta..UTF-16.BE: New file. - * iconvdata/testdata/alfabeta..UTF-16.LE: New file. - * iconvdata/testdata/alfabeta..UTF-32.BE: New file. - * iconvdata/testdata/alfabeta..UTF-32.LE: New file. - -2001-04-11 Bruno Haible - - * iconvdata/utf-32.c: New file. - * iconvdata/gconv-modules: Add entries for UTF-32, UTF-32LE, UTF-32BE. - * iconvdata/Makefile (modules): Add UTF-32. - (distribute): Add utf-32.c. - -2001-04-11 Bruno Haible - - * iconvdata/utf-16.c (PREPARE_LOOP): Initialize 'swap' after possibly - changing it in the state. After incrementing 'inptr', store it back. - * iconvdata/unicode.c (PREPARE_LOOP): After incrementing 'inptr', - store it back. - -2001-04-11 Bruno Haible - - * iconvdata/utf-16.c (gconv_init): Use MAX_NEEDED_FROM, not - MIN_NEEDED_FROM. - -2001-04-11 David Mosberger - - * sysdeps/ia64/htonl.S: Drop superfluous "alloc". - * sysdeps/ia64/htons.S: Likewise. - - * sysdeps/ia64/memset.S: Add unwind directives. - * sysdeps/ia64/strncpy.S: Likewise. - * sysdeps/ia64/strcat.S: Likewise. - - * sysdeps/ia64/memccpy.S: Add unwind directives. Drop superfluous - restore of ar.pfs. - * sysdeps/ia64/strchr.S: Likewise. - * sysdeps/ia64/memmove.S: Likewise. - * sysdeps/ia64/memcpy.S: Likewise. - * sysdeps/ia64/memcmp.S: Likewise. - * sysdeps/ia64/memchr.S: Likewise. - * sysdeps/ia64/strcmp.S: Likewise. - * sysdeps/ia64/strlen.S: Likewise. - * sysdeps/ia64/strcpy.S: Likewise. - * sysdeps/ia64/strncmp.S: Likewise. - -2001-04-11 Jakub Jelinek - - * wcsmbs/wchar.h (fgetwc, getwc, getwchar, fputwc, putwc, putwchar, - fgetws, fputws, ungetwc, getwc_unlocked, getwchar_unlocked, - fgetwc_unlocked, fputwc_unlocked, putwc_unlocked, putwchar_unlocked, - fgetws_unlocked, fputws_unlocked, wcsftime): Add __THROW. - -2001-04-11 Andreas Jaeger - - * sysdeps/mips/elf/start.S [__ASSEMBLY__]: Define it. - -2001-04-11 Andreas Schwab - - * sysdeps/m68k/fpu/libm-test-ulps: Adjusted. - -2001-04-11 Ulrich Drepper - - * sysdeps/arm/stackinfo.h: New file. - -2001-04-08 Thorsten Kukuk - - * sunrpc/rpc_main.c: If we compile RPC thread safe, allow - rpcgen to generate thread safe code. - -2001-04-10 Andreas Jaeger - - * math/test-fenv.c (initial_tests): Protect FE_TONEAREST declaration. - -2001-04-10 Ulrich Drepper - - * elf/dl-minimal.c (__assert_fail): Change error string. It's - most of the time no bug in ld.so. - (__assert_perror_fail): Likewise. - -2001-04-11 Hans-Peter Nilsson - - * sysdeps/generic/bits/fenv.h (fexcept_t): Change default type - from struct to unsigned int. - -2001-04-10 Franz Sirl - - * elf/elf.h (AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE, - AT_IGNOREPPC): New defines. - * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Print them. - * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_STD_AUXV): - Define for newer powerpc kernels. - * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Use the standard - DL_FIND_ARG_COMPONENTS if __ASSUME_STD_AUXV is defined. - -2000-4-10 kaz Kojima - - * sysdeps/sh/stackinfo.h: New file. - -2001-04-10 Ulrich Drepper - - * locale/tst-C-locale.c (run_test): Add tests for locale objects. - * locale/newlocale.c (__newlocale): Correct setting __ctype_b, - __ctype_tolower, and __ctype_toupper elements. - - * ctype/ctype_l.c: Fix definitions of __tolower_l and __toupper_l. - Reported by Konstantin Osipov . - - * sysdeps/i386/fpu/libm-test-ulps: Add deltas for tgamma to help - the lousy AMD FPU. - -2001-04-10 Franz Sirl - - * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: New file. - * sysdeps/unix/sysv/linux/powerpc/Dist: Add sys/ptrace.h. - * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Delete wrong stuff. - * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Correct typedefs. - -2001-04-10 Ulrich Drepper + * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise. - * elf/dl-deps.c (_dl_map_object_deps): Provide complete error - message. Based on a patch by HJ Lu. +2001-09-25 Ulrich Drepper -2001-04-10 Andreas Schwab + * iconvdata/TESTS: Add entries for IBM1160 and IBM1161. + * iconvdata/testdata/IBM1160: New file. + * iconvdata/testdata/IBM1160..UTF8: New file. + * iconvdata/testdata/IBM1161: New file. + * iconvdata/testdata/IBM1161..UTF8: New file. + Patch by Masahide Washizawa . - * math/libm-test.inc (csinh_test): Don't require the invalid - exception for csinh (x + iNaN), but make it optional. +2001-09-24 Ulrich Drepper -2001-04-09 David Mosberger + * sysdeps/unix/bsd/ulimit.c (ulimit): Handle overflow in + UL_SETFSIZE computations better. - * sysdeps/ia64/elf/start.S (_start): Add unwind directives. + * rt/Makefile: Remove use of filter for librt again. - * sysdeps/generic/entry.h [!__ASSEMBLY__]: Declare _start. - * sysdeps/ia64/elf/entry.h: New file. - * sysdeps/unix/sysv/linux/mips/entry.h [!__ASSEMBLY__]: Declare - __start. - * elf/rtld.c: Don't declare ENTRY_POINT. Use ENTRY_POINT instead - of &ENTRY_POINT. - * sysdeps/generic/dl-sysdep.c: Likewise. - * sysdeps/mach/hurd/dl-sysdep.c: Likewise. - * sysdeps/ia64/elf/start.S: Save base address of register backing - store in __libc_ia64_register_backing_store_base. + * sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Handle overflow in + UL_SETFSIZE computations better. -2001-04-10 Martin Schwidefsky + * string/Versions: Export __strsep for GLIBC_2.2.5. + * string/bits/string2.h: Define all __STRING_INLINE functions if + _FORCE_INLINES is defined. + Use int instead of char of parameter types. + (__strsep): Don't use __strsep_g. Don't define it. + (__strsep_1c, __strsep_2c, __strsep_3c): Optimize. + * sysdeps/i386/i486/string.h (__strcpy_a_small): Renamed from + __strcpy_small. + (__stpcpy_a_small): Renamed from __stpcpy_small. + (__strcspn_c1): Don't define if _FORCE_INLINES. + (__strspn_c1): Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S: Fix return - value of getcontext. - * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Likewise. - * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S: Fix return - value of setcontext. - * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S: Likewise. - * sysdeps/unix/sysv/linux/s390/swapcontext.c: Skip setcontext - call by changing the saved context. +2001-09-22 Ben Collins -2001-04-10 Ulrich Drepper + * sysdeps/sparc/bits/sigaction.h: Define SA_RESTART and friends when + _UNIX98_SOURCE is defined too. Matches generic/bits/sigaction.h. + * sysdeps/ia64/bits/sigaction.h: Likewise. + * sysdeps/s390/s390-64/bits/sigaction.h: Likewise. - * sysdeps/alpha/stackinfo.h: New file. - * sysdeps/ia64/stackinfo.h: New file. +2001-09-24 Andrew Haley -2001-04-10 Andreas Schwab + * sysdeps/unix/sysv/linux/sh/Makefile (sysdep_headers): Add sys/io.h. - * sysdeps/m68k/fpu/e_pow.c: Correct handling of some exceptional - values. - * sysdeps/m68k/fpu/e_scalb.c: Likewise. +2001-09-24 Jakub Jelinek -2001-04-09 Ulrich Drepper + * elf/dl-open.c (dl_open_worker): Update l_scope_max. - * sysdeps/sparc/sparc32/sparcv9/Dist: Add hp-timing.c. - * sysdeps/sparc/sparc64/Dist: Add hp-timing.c. +2001-09-24 Ulrich Drepper - * libio/Makefile (distribute): Add fd_to_filename.h. + * wcsmbs/wchar.h: Add __attribute_pure__ to mbsinit prototype. -2001-04-05 David S. Miller +2001-09-20 H.J. Lu - Add hp-timing support for sparcv9/sparc64 targets. - * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: New file - * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: New file - * sysdeps/sparc/sparc64/hp-timing.c: New file - * sysdeps/sparc/sparc64/hp-timing.h: New file - * sysdeps/sparc/sparc32/sparcv9/Makefile: Build hp-timing. - * sysdeps/sparc/sparc64/Makefile: Likewise. + * include/dlfcn.h (__RTLD_SPROF): New definiton. + * elf/dl-open.c (dl_open_worker): Return immediately after loading + for __RTLD_SPROF. + * elf/sprof.c (main): Default to the filename if soname doesn't exist. + (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF'. -2001-04-09 Jakub Jelinek +2001-09-20 H.J. Lu - * sysdeps/generic/fd_to_filename.h: New file. - * sysdeps/unix/sysv/linux/fd_to_filename.h: New file. - * libio/freopen.c (freopen): If FILENAME is NULL, try to get - filename from the open file descriptor. - * libio/freopen64.c (freopen64): Likewise. + * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, + don't add 1. -2001-04-09 Bruno Haible +2001-09-22 Ulrich Drepper - * misc/error.c (error): fflush stdout also if - error_print_progname != NULL. - (error_at_line): Likewise. + * nss/getent.c: Accept -s parameter to overwrite rules in + nsswitch.conf. Patch by Nalin Dahyabhai . -2001-04-07 Bruno Haible + * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string + with as many ".0" as necessary to form a complete address + inet_network understands. - * intl/gettextP.h (struct loaded_domain): Add codeset_cntr field. - (struct binding): Add codeset_cntr field. - (_nl_load_domain): Add domainbinding argument. - (_nl_init_domain_conv, _nl_free_domain_conv): New declarations. - (_nl_find_msg): New declaration, moved here from loadinfo.h. - * intl/loadinfo.h (struct loaded_l10nfile): Remove domainbinding field. - (_nl_make_l10nflist): Remove domainbinding argument. - (_nl_find_msg): Move declaration to gettextP.h. - * intl/bindtextdom.c (set_binding_values): Initialize ->codeset_cntr - to 0. Increment it when ->codeset is changed. - * intl/dcigettext.c (DCIGETTEXT): Pass binding to _nl_find_msg. - (_nl_find_msg): Add domainbinding argument. Reinitialize the converter - if domainbinding->codeset_cntr has been incremented. - * intl/finddomain.c (_nl_find_domain): Don't pass domainbinding to - _nl_make_l10nflist(). Pass it to _nl_load_domain() instead. - * intl/l10nflist.c (_nl_make_l10nflist): Remove domainbinding argument. - * intl/loadmsgcat.c (_nl_init_domain_conv): New function, extracted - from _nl_load_domain. Append //TRANSLIT also when using libiconv. - (_nl_free_domain_conv): New function, extracted from _nl_unload_domain. - (_nl_load_domain): Add domainbinding argument. Call - _nl_init_domain_conv. - (_nl_unload_domain): Call _nl_free_domain_conv. - * intl/Makefile (distribute): Add tst-codeset.sh, tstcodeset.po. - (test-srcs): Add tst-codeset. - (tests): Depend on tst-codeset.out. - (tst-codeset.out): New rule. - (CFLAGS-tst-codeset.c): New variable. - * intl/tst-codeset.sh: New file. - * intl/tstcodeset.po: New file. - * intl/tst-codeset.c: New file. - * locale/findlocale.c (_nl_find_locale): Update _nl_make_l10nflist + * nss/getent.c: Various cleanups. Use simpler and fewer function calls. -2001-04-07 Roland McGrath - - * mach/msgserver.c (__mach_msg_server_timeout): Add an assert. - -2001-03-31 Roland McGrath - - * sysdeps/mach/hurd/fork.c: Skip NEWPROC just like NEWTASK when - copying send rights into child. When we hit our name for our proc - port, just copy NEWPROC directly instead of repeating proc_task2proc - to install the child's port. - -2001-04-08 Roland McGrath - - * Makeconfig ($(common-objpfx)soversions.i): Grok entries with DEFAULT - in second column, to provide default values for third column. - * shlib-versions: Add comments about using DEFAULT in second column. - (s390x-.*-linux.*): Replace individual entries with a DEFAULT entry. - (cris-.*-linux.*): Likewise. - -2001-04-09 Ulrich Drepper - - * Makefile (distribute): Add scripts/documented.sh. - * scripts/documented.sh: New file. - -2001-04-08 Hans-Peter Nilsson - - * sysdeps/unix/sysv/linux/cris/Dist: New file. - * sysdeps/unix/sysv/linux/cris/Makefile: New file. - * sysdeps/unix/sysv/linux/cris/_G_config.h: New file. - * sysdeps/unix/sysv/linux/cris/bits/fcntl.h: New file. - * sysdeps/unix/sysv/linux/cris/bits/mman.h: New file. - * sysdeps/unix/sysv/linux/cris/bits/resource.h: New file. - * sysdeps/unix/sysv/linux/cris/brk.c: New file. - * sysdeps/unix/sysv/linux/cris/chown.c: New file. - * sysdeps/unix/sysv/linux/cris/clone.S: New file. - * sysdeps/unix/sysv/linux/cris/fchown.c: New file. - * sysdeps/unix/sysv/linux/cris/fcntl.c: New file. - * sysdeps/unix/sysv/linux/cris/fxstat.c: New file. - * sysdeps/unix/sysv/linux/cris/getegid.c: New file. - * sysdeps/unix/sysv/linux/cris/geteuid.c: New file. - * sysdeps/unix/sysv/linux/cris/getgid.c: New file. - * sysdeps/unix/sysv/linux/cris/getgroups.c: New file. - * sysdeps/unix/sysv/linux/cris/getresgid.c: New file. - * sysdeps/unix/sysv/linux/cris/getresuid.c: New file. - * sysdeps/unix/sysv/linux/cris/getrlimit.c: New file. - * sysdeps/unix/sysv/linux/cris/getrlimit64.c: New file. - * sysdeps/unix/sysv/linux/cris/getuid.c: New file. - * sysdeps/unix/sysv/linux/cris/lchown.c: New file. - * sysdeps/unix/sysv/linux/cris/lockf64.c: New file. - * sysdeps/unix/sysv/linux/cris/lxstat.c: New file. - * sysdeps/unix/sysv/linux/cris/mmap.S: New file. - * sysdeps/unix/sysv/linux/cris/mmap64.S: New file. - * sysdeps/unix/sysv/linux/cris/msgctl.c: New file. - * sysdeps/unix/sysv/linux/cris/profil-counter.h: New file. - * sysdeps/unix/sysv/linux/cris/register-dump.h: New file. - * sysdeps/unix/sysv/linux/cris/semctl.c: New file. - * sysdeps/unix/sysv/linux/cris/setegid.c: New file. - * sysdeps/unix/sysv/linux/cris/seteuid.c: New file. - * sysdeps/unix/sysv/linux/cris/setfsgid.c: New file. - * sysdeps/unix/sysv/linux/cris/setfsuid.c: New file. - * sysdeps/unix/sysv/linux/cris/setgid.c: New file. - * sysdeps/unix/sysv/linux/cris/setgroups.c: New file. - * sysdeps/unix/sysv/linux/cris/setregid.c: New file. - * sysdeps/unix/sysv/linux/cris/setresgid.c: New file. - * sysdeps/unix/sysv/linux/cris/setresuid.c: New file. - * sysdeps/unix/sysv/linux/cris/setreuid.c: New file. - * sysdeps/unix/sysv/linux/cris/setrlimit.c: New file. - * sysdeps/unix/sysv/linux/cris/setuid.c: New file. - * sysdeps/unix/sysv/linux/cris/shmctl.c: New file. - * sysdeps/unix/sysv/linux/cris/socket.S: New file. - * sysdeps/unix/sysv/linux/cris/sys/ucontext.h: New file. - * sysdeps/unix/sysv/linux/cris/syscall.S: New file. - * sysdeps/unix/sysv/linux/cris/sysdep.S: New file. - * sysdeps/unix/sysv/linux/cris/sysdep.h: New file. - * sysdeps/unix/sysv/linux/cris/vfork.S: New file. - * sysdeps/unix/sysv/linux/cris/xstat.c: New file. - -2001-04-08 Hans-Peter Nilsson - - * sysdeps/cris/Dist: New file. - * sysdeps/cris/Implies: New file. - * sysdeps/cris/Makefile: New file. - * sysdeps/cris/__longjmp.S: New file. - * sysdeps/cris/_mcount.S: New file. - * sysdeps/cris/bits/endian.h: New file. - * sysdeps/cris/bits/setjmp.h: New file. - * sysdeps/cris/bits/string.h: New file. - * sysdeps/cris/dl-machine.h: New file. - * sysdeps/cris/elf/start.S: New file. - * sysdeps/cris/machine-gmon.h: New file. - * sysdeps/cris/memcopy.h: New file. - * sysdeps/cris/memusage.h: New file. - * sysdeps/cris/setjmp.S: New file. - * sysdeps/cris/sysdep.h: New file. - * sysdeps/cris/wordcopy.c: New file. - -2001-04-08 Hans-Peter Nilsson - - * elf/elf.h: Add new relocations for CRIS. - -2001-04-08 Hans-Peter Nilsson - - * shlib-versions: Add cases for Linux on CRIS. - -2001-04-08 Hans-Peter Nilsson - - * configure.in (ASM_LINE_SEP tests): Handle CRIS assembly, with - ';' for comments and '@' for line separator. - -2001-04-08 Hans-Peter Nilsson - - * sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL): Fix - typo; s/==/=/ for assignment. - -2001-04-08 Hans-Peter Nilsson - - * malloc/Makefile: Correct comment; mtrace is Perl, not AWK. - -2001-04-08 Hans-Peter Nilsson - - * iconv/gconv_simple.c (internal_ucs4_loop_unaligned): Check for - empty input before checking full output. - -2001-04-08 Hans-Peter Nilsson - - * iconv/gconv.c (__gconv): Don't derefer parameter cd before - checking if == -1L. - -2001-04-08 Ulrich Drepper - - * inet/rexec.c (rexec_af): Avoid calling perror with errno being set. - -2001-04-07 Stephen L Moshier - - * sysdeps/ieee754/ldbl-128/e_logl.c: Correct infinity and NaN - return values. - -2001-04-07 Ulrich Drepper - - * stdlib/tst-setcontext.c (main): Add a test for setcontext. - - * sysdeps/unix/sysv/linux/i386/getcontext.S: New file. - * sysdeps/unix/sysv/linux/i386/setcontext.S: New file. - * sysdeps/unix/sysv/linux/i386/makecontext.S: New file. - * sysdeps/unix/sysv/linux/i386/swapcontext.S: New file. - * sysdeps/unix/sysv/linux/i386/ucontext_i.h: New file. - * sysdeps/unix/sysv/linux/i386/Dist: Add ucontext_i.h. - -2001-04-07 Andreas Jaeger - - * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_y1l): Use sincos - instead of separate sin and cos. - (__ieee754_j1l): Likewise. - -2001-04-06 Ulrich Drepper - - * sysdeps/ia64/abort-instr.h: New file. Code by David Mosberger. - - * sysdeps/ia64/atomicity.h: New file. Copied from libstdc++. - - * sysdeps/i386/i486/atomicity.h: Clean up the asms. - - * sysdeps/generic/e_scalb.c: Don't use FE_INVALID unless it's - available. - * sysdeps/generic/e_scalbf.c: Likewise. - * sysdeps/generic/e_scalbl.c: Likewise. - Patch by Mark Hatle . - -2001-04-05 David S. Miller - - * sysdeps/sparc/abort-instr.h: New file. - -2001-04-05 Matt Wilson - - * sysdeps/unix/sysv/linux/alpha/getsysstats.c (GET_NPROCS_PARSER): - added code to parse new 2.4 format. - (GET_NPROCS_CONF_PARSER): Likewise. - -2001-04-05 David S. Miller - - * scripts/config.sub: Recognize sparcv9b like sparcv9. - * configure.in: Add sparcv9b. - * sysdeps/sparc/sparc32/sparcv9b/Implies: New file - * sysdeps/sparc/sparc32/sparcv9b/memcpy.S: New file - * sysdeps/sparc/sparc64/sparcv9b/memcpy.S: New file - -2001-04-06 David Mosberger - - * stdlib/tst-setcontext.c: Move st2[] to global scope. - (f2): Verify that stack pointer is inside st2[]. +2001-09-20 Martin Schwidefsky - * sysdeps/unix/sysv/linux/ia64/getcontext.S: It helps to save r12. - * sysdeps/unix/sysv/linux/ia64/setcontext.S: It helps to restore r12. + * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in + _JMPBUF_UNWINDS. + * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. -2001-04-06 Ulrich Drepper +2001-09-22 Ulrich Drepper - * timezone/antarctica: Update from tzdata2001b. - * timezone/asia: Likewise. - * timezone/australasia: Likewise. - * timezone/europe: Likewise. - * timezone/northamerica: Likewise. + * iconvdata/Makefile: Add rules to build and distribute IBM1160 and + IBM1161. + * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. + * iconvdata/ibm1160.c: New file. + * iconvdata/ibm1160.h: New file. + * iconvdata/ibm1161.c: New file. + * iconvdata/ibm1161.h: New file. + Patch by Masahide Washizawa . - * iconv/iconv_open.c: Move strip and upstr definitions... - * iconv/gconv_charset.h: ...here. New file. - * iconv/gconv_db.c (once): Move to file level. - (do_lookup_alias): Split out from __gconv_find_transform. - (__gconv_find_transform): Call do_lookup_alias. - (__gconv_loopup_alias): New function. - * locale/langinfo.h: Define _NL_*_CODESET values for all categories - but LC_CTYPE. - * locale/categories.def: Add entries for new _NL_*_CODESET values. - * locale/C-ctype.c: Use _nl_C_codeset to initialize CODESET entry. - * locale/C-address.c: Initialize _NL_*_CODESET element. - * locale/C-collate.c: Likewise. - * locale/C-identification.c: Likewise. - * locale/C-measurement.c: Likewise. - * locale/C-messages.c: Likewise. - * locale/C-monetary.c: Likewise. - * locale/C-name.c: Likewise. - * locale/C-numeric.c: Likewise. - * locale/C-paper.c: Likewise. - * locale/C-telephone.c: Likewise. - * locale/C-time.c: Likewise. - * locale/localeinfo.h: Declare _nl_C_codeset. - * locale/C_name.c: Define _nl_C_codeset. - * locale/findlocale.c: Before accepting locale check that the used - charset does not conflict with what the locale name said. - * locale/programs/ld-address.c: Emit codeset information. - * locale/programs/ld-collate.c: Likewise. - * locale/programs/ld-identification.c: Likewise. - * locale/programs/ld-measurement.c: Likewise. - * locale/programs/ld-messages.c: Likewise. - * locale/programs/ld-monetary.c: Likewise. - * locale/programs/ld-name.c: Likewise. - * locale/programs/ld-numeric.c: Likewise. - * locale/programs/ld-paper.c: Likewise. - * locale/programs/ld-telephone.c: Likewise. - * locale/programs/ld-time.c: Likewise. +2001-09-19 Jakub Jelinek - * localedata/tests-mbwc/tst_funcs.h (TST_HEAD_LOCALE): It is an error - if the locale data couldn't be found. + * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the + difference between base address and first PT_LOAD's virtual address, + not the base address. - * string/Makefile: Define tst-strxfrm-ENV. +2001-09-11 Tom Rix - * ysdeps/unix/sysv/linux/ia64/getcontext.S: Fix comment. + * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG + ifdef for __getopt_clean_environment. + * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. -2001-04-06 Andreas Jaeger +2001-09-22 Andreas Jaeger - * include/sys/profil.h: New file. + * elf/reldep4.c (main): Add proper prototype to fix warning. - * dlfcn/modatexit.c: Add prototypes to silence GCC. - * dlfcn/modcxaatexit.c: Likewise. - * elf/globalmod1.c: Likewise. + * elf/reldep5.c (main): Remove unused variable. -2001-04-05 David S. Miller + * math/math_private.h: Add prototypes. - * elf/elf.h (HWCAP_SPARC_ULTRA3): Define it. - * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Add it to - capability flags table and HWCAP_IMPORTANT, increase - _DL_HWCAP_COUNT to 6. - * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. +2001-09-21 Andreas Jaeger -2001-04-04 David Mosberger + * sysdeps/unix/sysv/linux/x86_64/Dist: New file. + * sysdeps/x86_64/Dist: New file. + * sysdeps/x86_64/soft-fp/Dist: New file. - * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Fix - initialization of stack_end (bug reported by Zheng Gengbin - ). + * sysdeps/gnu/Dist: Remove eval.c. -2001-04-05 Ulrich Drepper +2001-09-20 Ulrich Drepper - * sysdeps/i386/fpu/libm-test-ulps: Relax errors for asinl. + * malloc/memusage.c (realloc): Don't count already allocated + memory in the sums. + (me): Always use dlsym() to find the real implementations. -2001-04-05 Martin Schwidefsky + * malloc/memusage.sh: Make -n option actually do something. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: New file. +2001-09-20 Andreas Jaeger -2001-04-05 Ulrich Drepper + * elf/elf.h (R_390_NUM): Correct value. - * sysdeps/ieee754/ldbl-96/e_asinl.c: Correct handling of +-Inf. - * sysdeps/i386/fpu/e_asinl.S: Removed. Too inaccurate. + * Versions.def: Add missing versions 2.2.3 for libthread_db and + libpthread. - * login/tst-utmp.c: Make file usable again in tst-utmpx.c. + * sysdeps/unix/sysv/linux/configure.in: Add minimal kernel version + for x86-64, install x86-64 into */lib64. -2001-04-04 Ulrich Drepper + * shlib-versions: Add x86-64. - * sysdeps/unix/sysv/aix/dl-libc.c: Don't use the ELF version, - define simple replacements here. Patch by Michael Keezer. + * elf/elf.h: Add x86-64 relocations. - * sysdeps/ieee754/ldbl-128/e_logl.c: New file. - * sysdeps/ieee754/ldbl-96/e_asinl.c: New file. - Contributed by Stephen L Moshier . +2001-09-19 Ulrich Drepper - * posix/fnmatch_loop.c: Undefine NEW_PATTERN when it is not used - anymore. + * po/fr.po: Update from translation team. -2001-04-01 Andreas Jaeger +2001-09-19 Andreas Jaeger - * sysdeps/generic/s_nextafter.c (NO_LONG_DOUBLE): Add nexttowardl - alias. + * sysdeps/unix/sysv/linux/x86_64/Makefile: New file. + * sysdeps/unix/sysv/linux/x86_64/Versions: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/time.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/types.h: New file. + * sysdeps/unix/sysv/linux/x86_64/brk.c: New file. + * sysdeps/unix/sysv/linux/x86_64/clone.S: New file. + * sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/fxstat.c: New file. + * sysdeps/unix/sysv/linux/x86_64/fxstat64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/getdents.c: New file. + * sysdeps/unix/sysv/linux/x86_64/getdents64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: New file. + * sysdeps/unix/sysv/linux/x86_64/glob64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/lxstat.c: New file. + * sysdeps/unix/sysv/linux/x86_64/lxstat64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/mmap64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/pread64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/profil-counter.h: New file. + * sysdeps/unix/sysv/linux/x86_64/pwrite64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/readdir.c: New file. + * sysdeps/unix/sysv/linux/x86_64/readdir64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: New file. + * sysdeps/unix/sysv/linux/x86_64/readdir_r.c: New file. + * sysdeps/unix/sysv/linux/x86_64/recv.c: New file. + * sysdeps/unix/sysv/linux/x86_64/register-dump.h: New file. + * sysdeps/unix/sysv/linux/x86_64/send.c: New file. + * sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sigpending.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: New file. + * sysdeps/unix/sysv/linux/x86_64/statfs64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/perm.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/procfs.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/user.h: New file. + * sysdeps/unix/sysv/linux/x86_64/syscall.S: New file. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: New file. + * sysdeps/unix/sysv/linux/x86_64/sysdep.S: New file. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: New file. + * sysdeps/unix/sysv/linux/x86_64/time.c: New file. + * sysdeps/unix/sysv/linux/x86_64/truncate64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/umount.c: New file. + * sysdeps/unix/sysv/linux/x86_64/vfork.S: New file. + * sysdeps/unix/sysv/linux/x86_64/xstat.c: New file. + * sysdeps/unix/sysv/linux/x86_64/xstat64.c: New file. + * sysdeps/unix/x86_64/sysdep.S: New file. + * sysdeps/unix/x86_64/sysdep.h: New file. + * sysdeps/x86_64/Implies: New file. + * sysdeps/x86_64/Makefile: New file. + * sysdeps/x86_64/Versions: New file. + * sysdeps/x86_64/__longjmp.S: New file. + * sysdeps/x86_64/abort-instr.h: New file. + * sysdeps/x86_64/atomicity.h: New file. + * sysdeps/x86_64/bits/endian.h: New file. + * sysdeps/x86_64/bits/setjmp.h: New file. + * sysdeps/x86_64/bits/string.h: New file. + * sysdeps/x86_64/bp-asm.h: New file. + * sysdeps/x86_64/bsd-_setjmp.S: New file. + * sysdeps/x86_64/bsd-setjmp.S: New file. + * sysdeps/x86_64/dl-machine.h: New file. + * sysdeps/x86_64/elf/initfini.c: New file. + * sysdeps/x86_64/elf/start.S: New file. + * sysdeps/x86_64/ffs.c: New file. + * sysdeps/x86_64/ffsll.c: New file. + * sysdeps/x86_64/fpu/bits/fenv.h: New file. + * sysdeps/x86_64/fpu/bits/mathdef.h: New file. + * sysdeps/x86_64/fpu/e_acosl.c: New file. + * sysdeps/x86_64/fpu/e_atan2l.c: New file. + * sysdeps/x86_64/fpu/e_exp2l.S: New file. + * sysdeps/x86_64/fpu/e_expl.c: New file. + * sysdeps/x86_64/fpu/e_fmodl.S: New file. + * sysdeps/x86_64/fpu/e_log10l.S: New file. + * sysdeps/x86_64/fpu/e_log2l.S: New file. + * sysdeps/x86_64/fpu/e_logl.S: New file. + * sysdeps/x86_64/fpu/e_powl.S: New file. + * sysdeps/x86_64/fpu/e_rem_pio2l.c: New file. + * sysdeps/x86_64/fpu/e_scalbl.S: New file. + * sysdeps/x86_64/fpu/e_sqrtl.c: New file. + * sysdeps/x86_64/fpu/fclrexcpt.c: New file. + * sysdeps/x86_64/fpu/fedisblxcpt.c: New file. + * sysdeps/x86_64/fpu/feenablxcpt.c: New file. + * sysdeps/x86_64/fpu/fegetenv.c: New file. + * sysdeps/x86_64/fpu/fegetexcept.c: New file. + * sysdeps/x86_64/fpu/fegetround.c: New file. + * sysdeps/x86_64/fpu/feholdexcpt.c: New file. + * sysdeps/x86_64/fpu/fesetenv.c: New file. + * sysdeps/x86_64/fpu/fesetround.c: New file. + * sysdeps/x86_64/fpu/fgetexcptflg.c: New file. + * sysdeps/x86_64/fpu/fraiseexcpt.c: New file. + * sysdeps/x86_64/fpu/fsetexcptflg.c: New file. + * sysdeps/x86_64/fpu/ftestexcept.c: New file. + * sysdeps/x86_64/fpu/libm-test-ulps: New file. + * sysdeps/x86_64/fpu/math_ldbl.h: New file. + * sysdeps/x86_64/fpu/printf_fphex.c: New file. + * sysdeps/x86_64/fpu/s_atanl.c: New file. + * sysdeps/x86_64/fpu/s_cosl.S: New file. + * sysdeps/x86_64/fpu/s_expm1l.S: New file. + * sysdeps/x86_64/fpu/s_fpclassifyl.c: New file. + * sysdeps/x86_64/fpu/s_isinfl.c: New file. + * sysdeps/x86_64/fpu/s_isnanl.c: New file. + * sysdeps/x86_64/fpu/s_log1pl.S: New file. + * sysdeps/x86_64/fpu/s_logbl.c: New file. + * sysdeps/x86_64/fpu/s_nextafterl.c: New file. + * sysdeps/x86_64/fpu/s_nexttoward.c: New file. + * sysdeps/x86_64/fpu/s_nexttowardf.c: New file. + * sysdeps/x86_64/fpu/s_rintl.c: New file. + * sysdeps/x86_64/fpu/s_significandl.c: New file. + * sysdeps/x86_64/fpu/s_sincosl.S: New file. + * sysdeps/x86_64/fpu/s_sinl.S: New file. + * sysdeps/x86_64/fpu/s_tanl.S: New file. + * sysdeps/x86_64/gmp-mparam.h: New file. + * sysdeps/x86_64/hp-timing.c: New file. + * sysdeps/x86_64/hp-timing.h: New file. + * sysdeps/x86_64/htonl.S: New file. + * sysdeps/x86_64/memusage.h: New file. + * sysdeps/x86_64/setjmp.S: New file. + * sysdeps/x86_64/soft-fp/sfp-machine.h: New file. + * sysdeps/x86_64/stackinfo.h: New file. + * sysdeps/x86_64/sysdep.h: New file. + * sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed: New file. - * sysdeps/generic/s_fma.c (NO_LONG_DOUBLE): Add fmal alias. + * sysdeps/ieee754/ldbl-128/s_erfl.c: New file, contributed Stephen + L Moshier. -2001-04-04 Ulrich Drepper +2001-09-18 Ulrich Drepper - * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Add ucontext_i.h. - * sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise. + * malloc/malloc.c (ptmalloc_init): Handle _environ==NULL. + Reported by B. D. Elliott [PR libc/2541]. -2001-04-04 Martin Schwidefsky +2001-09-18 Andreas Schwab - * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: New file. - * sysdeps/unix/sysv/linux/s390/swapcontext.c: New file. + * elf/dl-load.c (_dl_map_object_from_fd): Update handling of scope + list, now that l_scope is a pointer. -2001-04-04 Andreas Jaeger + * elf/dl-open.c (dl_open_worker): Fix thinko when enlarging the + scope list. - * sysdeps/powerpc/dl-machine.h (ELF_MACHINE_NO_REL): Move to right - place. +2001-09-18 kaz Kojima -2001-04-04 Ulrich Drepper + * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix reverse condition. + (elf_machine_rela_relative): Add a missing declaration. - * sunrpc/rpc_scan.c (symbols): Add entry for HYPER. - * sunrpc/rpc_scan.h (enum tok_kind): Add TOK_HYPER. - * sunrpc/rpc_parse.c (get_type): Handle TOK_HYPER. - (unsigned_dec): Likewise. - Patch by atai@jezebel.dreamhost.com. +2001-09-18 Jakub Jelinek - * nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): Pass - pointer to int as last parameter of yp_match. - Patch by kanazawa@flab.fujitsu.co.jp. + * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New file. + * sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New file. + * sysdeps/unix/sysv/linux/configure.in: Add ia64 and s390 + ldd-rewrite scripts. -2001-04-03 Ulrich Drepper +2001-09-18 Ulrich Drepper - * resolv/netdb.h (gai_strerror): Make return value const. - * sysdeps/generic/gai_strerror.c (gai_strerror): Likewise. - * sysdeps/posix/gai_strerror.c (gai_strerror): Likewise. - Add strings for new error values. + * elf/ldd.bash.in: Update copyright message. -2001-03-29 Michael Keezer +2001-09-17 H.J. Lu - * posix/tst-gnuglob.c: Added ifdef _DIRENT_HAVE_D_TYPE. - * login/tst-utmp.c: Handle case where ut_tv is not available but - ut_time is. - * sysdeps/unix/sysv/aix/utmpx.h: New file. - * sysdeps/unix/sysv/aix/bits/utmpx.h: Added - _HAVE_UT_TYPE/PID/ID/TV/HOST defines. - * sysdeps/unix/sysv/aix/libc-start.c: Removed temp code and made stub. - * sysdeps/unix/sysv/aix/gettimeofday.c: New file added routines - to access RTCU timer reg. - * sysdeps/unix/sysv/aix/Makefile: Remove /usr/lib/crt0.o - added dl-libc, dl-open,dl-sym, dl-close to misc. - * sysdeps/unix/sysv/aix/start.c: New file. Start code. - * sysdeps/unix/sysv/aix/dlldr.h: New file. AIX __loadx defines. - * sysdeps/unix/sysv/aix/dl-close.c: New file. AIX dl-close. - * sysdeps/unix/sysv/aix/dl-open.c: New file. AIX dl-open. - * sysdeps/unix/sysv/aix/dl-sym.c: New file. AIX dl-sym. - * sysdeps/unix/sysv/aix/dl-libc.c: New file. libc_dl-xxx support. - * sysdeps/generic/strtoll.c: Added SHLIB_COMPAT(libc,GLIBC_2_0, - GLIBC_2_2). - * sysdeps/generic/strtoull.c: Likewise. - * sysdeps/powerpc/ppc-mcount.S: Added nop after bl instruction. - * sysdeps/unix/sysv/aix/powerpc/memset.c: New file to include - sysdeps/generic/memset.c. - * sysdeps/unix/sysv/aix/getpeername.c: Define __getpeername. + * hurd/hurdmalloc.c (bcopy): Removed. + (realloc): Replace bcopy with memcpy. + * hurd/path-lookup.c (file_name_path_scan): Likewise. + * resolv/gethnamaddr.c (map_v4v6_address): Likewise. + * sunrpc/rpcinfo.c (pmapdump): Likewise. -2001-04-03 Ulrich Drepper + * resolv/gethnamaddr.c (getanswer): Replace bcopy with memmove. + (gethostbyaddr): Likewise. + * sunrpc/rpcinfo.c (get_inet_address): Likewise. - * iconv/Makefile (CFLAGS-charmap.c): Add -DNEED_NULL_POINTER. - * locale/programs/charmap.c: Define null_pointer if - NEED_NULL_POINTER is defined. +2001-09-18 Ulrich Drepper - * misc/dirname.c (dirname): Handle multiple slashes correctly. + * sysdeps/gnu/eval.c: Removed. -2001-04-03 Martin Schwidefsky +2001-09-18 Andreas Jaeger - * sysdeps/s390/s390-64/initfini.c: Fix __gmon_start__ GOT access. + * sysdeps/i386/fpu/s_logbl.S: Move to ... + * sysdeps/i386/fpu/s_logbl.c: ...here, use inline assembler. -2001-04-03 Martin Schwidefsky + * sysdeps/i386/fpu/s_rintl.S: Move to ... + * sysdeps/i386/fpu/s_rintl.c: ...here, use inline assembler. - * sysdeps/s390/s390-32/bcopy.S: Optimize for speed. - * sysdeps/s390/s390-64/bcopy.S: Likewise. - * sysdeps/s390/s390-32/mempcy.S: Likewise. - * sysdeps/s390/s390-64/memcpy.S: Likewise. + * sysdeps/i386/fpu/s_significandl.S: Move to ... + * sysdeps/i386/fpu/s_significandl.c: ...here, use inline assembler. -2001-04-02 Bruno Haible +2001-09-16 Ulrich Drepper - * manual/message.texi (Advanced gettext functions): More specific - syntax in the plural formula examples. + * string/strcoll.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get + nrules value. -2001-04-02 Franz Sirl +2001-09-14 H.J. Lu - * sysdeps/powerpc/atomicity.h: Silence warnings. - * sysdeps/powerpc/dl-machine.h: Likewise. - * sysdeps/powerpc/register-dump.h: Likewise. - * sysdeps/powerpc/fpu/s_lrint.c: Likewise. + * sysdeps/mips/fpu/libm-test-ulps: Updated. -2001-04-02 Andreas Jaeger +2001-09-14 Ulrich Drepper - * misc/tst-dirname.c (main): Add more tests, derived from a bug - report by Michael Kerrisk . + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix a typo. + Patch by Florian La Roche . -2001-04-01 Andreas Jaeger + * string/bits/string2.h (__strtok_r_1c): Optimize a bit. - * debug/xtrace.sh (pcprofileso): Use SLIBDIR since libpcprofile.so - is installed there. - * malloc/memusage.sh (memusageso): Likewise for libmemusage.so. + * sysdeps/unix/sysv/linux/net/ethernet.h: Correct references to + ETHER_CRC_LEN. -2001-04-01 H.J. Lu +2001-09-14 Andreas Schwab - * posix/annexc.c (macrofile): Renamed from TMPFILE and set to - tmpnam (NULL). - * stdlib/isomac.c (macrofile): Likewise. + * posix/execl.c: Fix last argument of memcpy. Reported by Brian + Sumner . + * posix/execlp.c: Likewise. -2001-03-30 Thorsten Kukuk +2001-09-13 Jakub Jelinek - * inet/rcmd.c: Allow AF_UNSPEC as parameter. - * nis/ypclnt.c (yp_all): Print error message only at last try, - check for protocoll error only if we don't have a network error. + * elf/dl-deps.c (_dl_map_object_deps): Fix filter handling if filter + is already found earlier in the search scope. -2001-04-02 Andreas Schwab +2001-09-12 Jakub Jelinek - * resolv/res_data.c (res_isourserver): Fix cast. + * rt/Makefile (LDFLAGS-rt.so): Use shared thread library as librt's + filter. -2001-04-02 Andreas Jaeger +2001-09-13 Ulrich Drepper - * sysdeps/unix/sysv/linux/hppa/umount.c: Add prototype for - __umount2. + * sysdeps/powerpc/fpu/libm-test-ulps: Adjust expected errors for j0. - * sysdeps/i386/dl-machine.h (RTLD_START): Don't use multi-line - strings. - (ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. +2001-09-12 Ulrich Drepper - * sysdeps/ieee754/dbl-64/uroot.h: Add missing braces arount - initializers. - * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Likewise. + * config.h.in: Enforce optimization to be used. + * Makeconfig (preprocess-versions): Define ASSEMBLER. + * stdlib/Makefile (isomac-CFLAGS): Define to -O. + * posix/Makefile (annexc-CFLAGS): Define to -O. + * sysdeps/unix/make-syscalls.sh: Define __OPTIMIZE__ in use of asm_CPP. - * elf/rtld.c (print_statistics)[!HP_TIMING_NONAVAIL]: Avoid - warning about unused variable. +2001-09-11 Ulrich Drepper - * string/string.h (strndupa): Add cast for C++ conformance. - (strdupa): Likewise. - Fixes PR libc/2173, reported by tbrowder@home.com. + * nscd/nscd_gethst_r.c: Don't expect IPv6 addresses for IPv4 lookup. + Patch by Stephan Kulow. -2001-03-30 Roland McGrath +2001-09-08 Ben Collins - * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Don't append - options after $(build-module), which is no longer a single command. - (LDFLAGS-link-rpcuserlibs): New variable to hold those options. - (LDFLAGS-libmachuser-link.so, LDFLAGS-libhurduser-link.so): New - variables using it. Reported by Mark Kettenis . + * sysdeps/arm/dl-machine.h (elf_machine_rel): Fix thinko in + usage of RESOLVE() (r_type, not reloc->r_type). -2001-03-11 Roland McGrath +2001-09-08 Ulrich Drepper - * elf/rtld.c (dl_main): Add cast to quiet warning. + * elf/dl-object.c: Avoid allocating extra memory block for name. + * elf/dl-close.c (_dl_close): Don't free l_libname if it is not + allocated separately. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. - * iconv/gconv_conf.c (__gconv_get_path): Likewise. - (__gconv_read_conf): Likewise. - * iconv/gconv_db.c (gen_steps): Likewise. - (__gconv_find_transform): Likewise. - * locale/programs/charmap-dir.c (fopen_uncompressed): Likewise. - (fopen_uncompressed): Use const in second argument's type. - -2001-03-11 Roland McGrath - - * sysdeps/mach/hurd/dl-sysdep.c (__writev): New function. - - * mach/mach_error.h: Fix ancient #endif syntax. - * hurd/hurdmalloc.c: Likewise. - - * sysdeps/generic/atomicity.h (exchange_and_add, atomic_add, - compare_and_swap): Add volatile qualifier to first arg, to bring - these prototypes in line with all the other implementations. - Add a #warning to remind the builder that these are not atomic. - -2001-03-04 Roland McGrath - - * hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Use innermore first - member of TEMP_F so its type is _IO_FILE * as expected. - - * hurd/fopenport.c (seekio): Conditionalize type of POS argument - on [USE_IN_LIBIO]. Check the value for overflow, since for libio - it might exceed off_t's range. - -2001-02-25 Roland McGrath - - * sysdeps/mach/hurd/sysd-stdio.c (__stdio_reopen): Use prototype. - * sysdeps/unix/bsd/getpt.c (__posix_openpt): Likewise. - - * sysdeps/mach/hurd/i386/intr-msg.h (SYSCALL_EXAMINE): Make this a - macro instead of an inline function, - (MSG_EXAMINE): Likewise. - - * hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): Remove extraneous ##. - - * hurd/get-host.c: Include for decls of built-ins. - * hurd/hurdchdir.c: Likewise. - * sysdeps/mach/hurd/i386/sigreturn.c: Likweise. - * sysdeps/mach/hurd/opendir.c: Likewise. - - * mach/mach_init.c: Include for _exit decl. - - * mach/errsystems.awk: Give output file a trailing newline. - - * mach/Machrules (MIG): Prepend CC='${CC}' to the mig command, so that - the script will use our compiler for the cpp stage. - - With --enable-all-warnings we get a whole bunch of warnings, - and these are just a few fixes; there are more needed to silence it. - * mach/mach/mig_support.h (__mig_strncpy, mig_strncpy): Add extern - decls before extern inline defns to quiet gcc warning. - * hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp): Likewise. - * sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Likewise. - -2001-03-31 Andreas Jaeger - - * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_RAWHDLC): Added. - (ARPHRD_HDLC): Define as alias for ARPHRD_CISCO. - (ARPHRD_CISCO): New. - Changes from Linux 2.4.3. - -2001-03-30 Isamu Hasegawa - - * posix/regex.c: Avoid an access violation if malloc fails. - -2001-03-30 Andreas Jaeger - - * sysdeps/alpha/ldiv.S (ldiv): Add alias for imaxdiv. - -2001-03-29 Ulrich Drepper - - * posix/regex.c: Remove unnecessary ifs. - - * math/bits/mathcalls.h: Remove infnan declaration. - -2001-03-29 H.J. Lu - - * include/endian.h: Define BIG_ENDI, LITTLE_ENDI, HIGH_HALF, - and LOW_HALF only if _LIBC is defined and _ISOMAC is not defined. - * stdlib/isomac.c (fmt): Define _LIBC and _ISOMAC. - -2001-03-29 Isamu Hasegawa - - * posix/regex.c: Fix typo and add a sentinel. - -2001-03-29 Ulrich Drepper - - * sysdeps/unix/sysv/linux/shm_open.c: Open new file always with - O_NOFOLLOW. Suggested by Christoph Roland. - -2001-03-27 Martin Schwidefsky - - * sysdeps/s390/bits/string.h: New unified 31/64 bit string.h. - * sysdeps/s390/s390-32/bits/string.h: Remove. - * sysdeps/s390/s390-64/bits/string.h: Remove. - * sysdeps/s390/s390-32/strcmp.S: New file. - * sysdeps/s390/s390-64/strcmp.S: New file. - -2001-03-27 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix typo. - * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise. - -2001-03-27 Ulrich Drepper - - * version.h (VERSION): Bump to 2.2.3. - - * stdlib/isomac.c (fmt): Don't define _LIBC. - * include/endian.h: Define BIG_ENDI, LITTLE_ENDI, HIGH_HALF, and - LOW_HALF only if _LIBC is defined. - - * sysdeps/i386/fpu/libm-test-ulps: Slight adjustment of yn() error. - - * posix/fnmatch_loop.c (FCT): Handle !() after * special like @() - and +(). - * posix/tst-fnmatch.input: Add test cases for matching empty strings. - - * sysdeps/ieee754/dbl-64/endian.h: Removed. Move definitions... - * include/endian.h: ...to here. - -2001-03-27 kaz Kojima - - * sysdeps/sh/sys/ucontext.h (NFREG): Rename to NFPREG. - * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (NFREG): Likewise. - -2001-03-27 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/ldconfig.h: Fix typo. - -2001-03-26 Ulrich Drepper - - * sysdeps/ia64/fpu/Dist: Add new files to distribute. - * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Likewise. - * sysdeps/unix/sysv/linux/ia64/Dist: Likewise. - - * gmon/Makefile (headers): Add sys/profil.h. - -2001-03-18 Andreas Jaeger - - * manual/install.texi (Tools for Compilation): Advise to use GCC - 2.95.3. - (Supported Configurations): Mention s390x. - -2001-03-26 Ben Collins - - * sysdeps/unix/sysv/linux/mips/bits/mman.h: Add MAP_* and MADV_* - defines to match other architectures. - -2001-03-26 Ulrich Drepper - - * libio/Makefile (tests): Add tst-ext. - * libio/tst-ext.c: New file. - - * libio/iosetvbuf.c (_IO_setvbuf): Clear line buffer flag for _IONBF. - -2001-03-25 Ulrich Drepper - - Add changes which were in this form in the original patch by - Eric Norum . - * include/rpc/rpc.h: Remove svc_fdset, rpc_createerr, svc_pollfd, and - svc_max_pollfd. - * sunrpc/rpc/rpc.h: Declare __rpc_thread_svc_fdset, - __rpc_thread_createerr, __rpc_thread_svc_pollfd, and - __rpc_thread_svc_max_pollfd. - Define svc_fdset, get_rpc_createerr, svc_pollfd, and - svc_max_pollfd. - * sunrpc/rpc_thread.c: Handle first thread special, it uses the - global variables. - Define __rpc_thread_svc_fdset, __rpc_thread_createerr, - __rpc_thread_svc_pollfd, and __rpc_thread_svc_max_pollfd. - * sunrpc/Versions [libc] (GLIBC_2.2.3): Export __rpc_thread_svc_fdset, - __rpc_thread_createerr, __rpc_thread_svc_pollfd, and - __rpc_thread_svc_max_pollfd. - * sunrpc/clnt_gen.c: Replace use of rpc_createerr by call to - get_rpc_createerr. - * sunrpc/clnt_perr.c: Likewise. - * sunrpc/clnt_simp.c: Likewise. - * sunrpc/clnt_tcp.c: Likewise. - * sunrpc/clnt_udp.c: Likewise. - * sunrpc/clnt_unix.c: Likewise. - * sunrpc/pm_getport.c: Likewise. - - * sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): getgroups32 - syscall checks for negative n so don't test here as well. - -2001-03-23 Jes Sorensen - - * sysdeps/unix/sysv/linux/ia64/sysdep.h (ENTRY): Moved to ... - * sysdeps/ia64/sysdep.h: ...here. - - * sysdeps/ia64/sysdep.h (LOCAL_ENTRY): Define. - * sysdeps/ia64/sysdep.h (LOCAL_LEAF): Define. - - * sysdeps/ia64/_mcount.S (_mcount_ret_helper): Use LOCAL_LEAF() to - declare instead of LEAF(). Suggestion from David Mosberger. - -2001-03-21 David Mosberger - - * sysdeps/unix/sysv/linux/ia64/sysdep.h (CALL_MCOUNT): Add unwind - directives. - (PSEUDO): Drop .psr and .lsb directives. - - * sysdeps/unix/sysv/linux/ia64/setjmp.S: Ditto. Add unwind - directives. - * sysdeps/unix/sysv/linux/ia64/sysdep.S: Ditto. - - * sysdeps/ia64/elf/start.S: Misc cleanup: remove .psr and .lsb - directives etc. - * sysdeps/unix/sysv/linux/ia64/brk.S: Ditto. - * sysdeps/unix/sysv/linux/ia64/__longjmp.S: Ditto. - * sysdeps/ia64/_mcount.S: Remove .psr and .lsb directives (no - longer needed). Add unwind directives. - - * sysdeps/ia64/sysdep.h: Define ASM_UNW_PRLG_RP, ASM_UNW_PRLG_PFS, - ASM_UNW_PRLG_PSP, ASM_UNW_PRLG_PR, and ASM_UNW_PRLG_GRSAVE. - -2001-03-21 Paul Eggert - - * posix/regex.h (RE_INVALID_INTERVAL_ORD): New macro. - (RE_SYNTAX_POSIX_EGREP): Use it. - * posix/regex.c (regex_compile): Implement it. - -2001-03-21 Paul Eggert - - * posix/regex.c (GET_UNSIGNED_NUMBER): Check for overflow. - Rewrite to avoid duplicate code. - -2001-03-21 H.J. Lu - - * elf/Makefile (tests): Don't depend on $(objpfx)tst-pathopt.out - for cross-compiling. - ($(objpfx)tst-pathopt.out): Undo the last change. - -2001-03-24 Mark Kettenis - - * sysdeps/mach/hurd/i386/bits/sigcontext.h (sc_sp, sc_fp, sc_pc, - sc_ps): Define as aliases for sc_uesp, sc_ebl, sc_eip and sc_efl. - - * sysdeps/mach/hurd/i386/init-first.c: Include . - (_dl_argv): Declare. - (init) [SHARED]: Readjust _dl_argv if we switched to a new stack. - -2001-03-22 Andreas Jaeger - - * iconvdata/Makefile (generated): Add iconv-test.xxx. - - * posix/Makefile (generated): Add bug-regex2.mtrace and - bug-regex2-mem. - -2001-03-21 Ulrich Drepper - - * csu/version.c (__gnu_get_libc_release): Add prototype. - (__gnu_get_libc_version): Likewise. - * include/gnu/libc-version.h: Remove prototypes for not exported - functions. - -2001-03-21 Jes Sorensen - - * sysdeps/unix/sysv/linux/ia64/makecontext.c: Include libintl.h - for internationalized printfs to work. - -2001-03-09 Bruno Haible - - * intl/dcigettext.c (transmem_block_t): Change to unsigned char, to - avoid compiler warning. - (_nl_find_msg): Add casts to avoid compiler warnings. - -2001-03-21 Ulrich Drepper - - * gmon/Makefile (routines): Add sprofil. - (tests): Add tst-sprofil. - (noprof): Add sprofil. - * gmon/Versions [libc] (GLIBC_2.2.3): Add sprofil. - -2001-03-20 David Mosberger - - * sysdeps/generic/sprofil.c: New file. - * sysdeps/posix/sprofil.c: New file. - * gmon/tst-sprofil.c: New file. - * gmon/sys/profil.h: New file. - -2001-03-20 Andreas Schwab - - * include/unistd.h: Adjust prototype of __gethostname. - -2001-03-20 Jakub Jelinek - - * sysdeps/sparc/stackinfo.h: New file. - -2001-03-21 Andreas Jaeger - - * elf/global.c (main): Use proper prototype. - -2001-03-20 Ulrich Drepper - - * sunrpc/Makefile (routines): Add rpc_thread. - (CPPFLAGS): Add -D_RPC_THREAD_SAFE. - * sunrpc/rpc_thread.c: New file. - * sunrpc/Versions [libc] (GLIBC_2.2.3): Export __rpc_thread_destroy. - * sunrpc/auth_none.c: Don't use global variables. Access state in - thread-local storage. - * sunrpc/clnt_perr.c: Likewise. - * sunrpc/clnt_raw.c: Likewise. - * sunrpc/clnt_simp.c: Likewise. - * sunrpc/key_call.c: Likewise. - * sunrpc/rpc_common.c: Likewise. - * sunrpc/svc.c: Likewise. - * sunrpc/svc_raw.c: Likewise. - * sunrpc/svc_simple.c: Likewise. - * sunrpc/svcauth_des.c: Likewise. - * hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add - _HURD_THREADVAR_RPC_VARS. - * sysdeps/generic/bits/libc-tsd.h: Mention _LIBC_TSD_KEY_RPC_VARS. - * include/rpc/rpc.h: Define data structures for internal thread-local - "global" variables. - Based on patches by Eric Norum . - - * elf/dl-load.c: Various little optimizations. - - * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Return - LINUX_LINK_MAX only if the statfs function is not implemented for - the filesystem. - - * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Return - LINUX_LINK_MAX only if the fstatfs function is not implemented for - the filesystem. - -2001-03-19 Ulrich Drepper - - * elf/dl-dst.h (DL_DST_COUNT): Add __builtin_expect. - - * elf/dl-load.c (_dl_dst_count): Make DST recognition more robust. - (_dl_dst_substitute): Likewise. - -2001-03-17 Bruno Haible - - * intl/loadmsgcat.c (_nl_load_domain) [!_LIBC]: Use fstat, not fstat64. - -2001-03-17 Bruno Haible - - * intl/gettextP.h (struct expression): Add operators lnot, less_than, - greater_than, less_or_equal, greater_or_equal. Replace args2/args3 - union by a 'nargs' counter and an 'args[]' array. - * intl/plural.y: Don't include stdarg.h. - (new_exp): Take an array of arguments instead of varargs. - (new_exp_0, new_exp_1, new_exp_2, new_exp_3): New functions. - ('?' ':'): Make right-associative. - (EQUOP2): New token, replaces '=' and '!'. - (CMPOP2): New token. - (ADDOP2): New token, replaces '+' and '-'. - (MULOP2): New token, replaces '*', '/' and '%'. - ('!'): New token. - (exp): Add rules for CMPOP2 and '!'. Don't call YYABORT. - (start): Call YYABORT here. - (FREE_EXPRESSION): Update. - (yylex): Don't skip "\\n". Recognize comparison and '!' operators. - Update for new token symbols. - * intl/loadmsgcat.c (plvar, plone, germanic_plural, - init_germanic_plural): Update. - * intl/dcigettext.c (_nl_find_msg): Optimize for space. - (plural_eval): Recognize comparison and '!' operators. Optimize for - space. - -2001-03-10 Bruno Haible - - * intl/loadmsgcat.c (_nl_load_domain): locale_charset() doesn't return - NULL any more. - -2001-01-05 Bruno Haible - - * intl/loadmsgcat.c: Include headers needed for alloca(). - (freea): New macro. - (_nl_load_domain): Add fallback code for platforms lacking alloca. - * intl/localealias.c: (ADD_BLOCK, FREE_BLOCK): Remove macros. - (freea): New macro. - (read_alias_file): Simplify fallback code for platforms lacking - alloca. - -2001-01-07 Bruno Haible - - * intl/gettextP.h (__gettextdebug): Remove declaration. - (__gettext_free_exp, __gettextparse): Convert prototype to K&R C - syntax. - (gettext_free_exp__, gettextparse__): New non-libc declarations. - * intl/plural.y [!_LIBC]: Define gettextparse__, gettext_free_exp__, - not __gettextparse, __gettext_free_exp. - * intl/loadmsgcat.c [!_LIBC]: Use gettextparse__, not __gettextparse. - -2001-02-24 Bruno Haible - - * intl/dcigettext.c: Update comment about HAVE_LOCALE_NULL. - -2001-01-05 Bruno Haible - - * intl/loadmsgcat.c (_nl_load_domain): Add fallback code for platforms - lacking strtoul, like SunOS4. - -2001-01-05 Bruno Haible - - * intl/l10nflist.c (_nl_normalize_codeset): Use tolower, not _tolower. - -2001-01-05 Bruno Haible - - * intl/bindtextdom.c (set_binding_values): Convert prototype to K&R C - syntax. - * intl/dcigettext.c (transcmp): Convert to K&R C syntax. - * intl/explodename.c (_nl_find_language): Convert to K&R C syntax. - * intl/plural.y (__gettext_free_exp, yylex, yyerror): Convert to K&R C - syntax. - -2001-01-07 Bruno Haible - - * intl/gettextP.h (gettext__, dgettext__, dcgettext__, textdomain__, - bindtextdomain__, bind_textdomain_codeset__): New declarations, from - old libgettext.h. - * intl/bindtextdom.c: Include libgnuintl.h instead of libgettext.h. - * intl/dcgettext.c: Likewise. - * intl/dcigettext.c: Likewise. - * intl/dcngettext.c: Likewise. - * intl/dngettext.c: Likewise. - * intl/finddomain.c: Likewise. - * intl/ngettext.c: Likewise. - * intl/textdomain.c: Likewise. - * intl/dgettext.c: Include libgnuintl.h instead of libgettext.h. - Include gettextP.h. - * intl/gettext.c: Likewise. Don't include locale.h. - -2001-03-17 Bruno Haible - - * intl/gettextP.h (ZERO): New macro. - (struct binding): Always use ZERO. - * intl/bindtextdom.c (offsetof): Provide fallback for platforms that - lack it, like SunOS4. - (set_binding_values): Use offsetof, not sizeof. - * intl/dcigettext.c (offsetof): Provide fallback for platforms that - lack it, like SunOS4. - (ZERO): Remove macro. - (struct transmem_list): Use ZERO. - (DCIGETTEXT): Use offsetof, not sizeof. - -2001-03-17 Bruno Haible - - * intl/gettextP.h: Include . Include gettext.h, for - nls_uint32. - * intl/bindtextdom.c: Don't include gettext.h. - * intl/dcgettext.c: Likewise. - * intl/dcigettext.c: Likewise. - * intl/dcngettext.c: Likewise. - * intl/dngettext.c: Likewise. - * intl/finddomain.c: Likewise. - * intl/localealias.c: Likewise. - * intl/ngettext.c: Likewise. - * intl/plural.y: Likewise. - * intl/textdomain.c: Likewise. - -2001-03-17 Bruno Haible - - * intl/gettext.h: Don't include . - -2001-03-17 Bruno Haible - - * intl/Makefile (CPPFLAGS): Set LOCALEDIR instead of GNULOCALEDIR. - * intl/dcigettext.c (_nl_default_dirname): Initialize with LOCALEDIR. - -2001-03-19 Ulrich Drepper - - * sysdeps/unix/i386/i686/tempname.c: New file. - - * sysdeps/posix/tempname.c (__gen_tempname): If RANDOM_BITS is - defined use this macro to get some bits of randomness instead of - the usual gettimeofday or time calls. - -2001-03-16 Paul Eggert - - * sysdeps/posix/tempname.c (uint64_t): Define to uintmax_t if - not defined, and if UINT64_MAX is not defined. - -2001-03-19 Ulrich Drepper - - * elf/cache.c: Mark and have translated a few more messages. - -2001-03-19 Martin Schwidefsky - - * elf/cache.c: Add case for FLAG_S390_LIB64. - * sysdeps/generic/ldconfig.h: Add define for FLAG_S390_LIB64. - * sysdeps/unix/sysv/linux/s390/ldconfig.h: New file. - * sysdeps/unix/sysv/linux/s390/readelflib.c: New file. - -2001-03-19 Ulrich Drepper - - * string/Makefile (tests): Add tst-strxfrm. - * string/tst-strxfrm.c: New file. Based on a test case by Paul Eggert. - * string/Depend: New file. - -2001-03-19 Paul Eggert - - * string/strxfrm.c (strxfrm): strxfrm should return 0, not 1, - when given the empty string in nontrivial locales. - -2001-03-17 H.J. Lu - - * manual/Makefile (install): Use $(INSTALL_DATA) instead of - cp to install `dir'. - -2001-03-19 Andreas Schwab - - * Makerules (build-shlib): Make sure exit codes get checked - properly. - -2001-03-18 Ulrich Drepper - - * Makerules (build-shlib): Remove unnecessary slashes introduced in - last change. - - * configure.in: Test for -Bgroup option of linker. - * config.make.in: Define have-Bgroup. - - * conform/data/unistd.h-data: Require gethostname. - * posix/unistd.h: Make gethostname prototype available for - __USE_XOPEN2K. - - * crypt/Makefile: When generating DSO link with libc_nonshared.a. - * debug/Makefile: Likewise. - * dlfcn/Makefile: Likewise. - * hesiod/Makefile: Likewise. - * iconvdata/extra-module.mk: Likewise. - * locale/Makefile: Likewise. - * login/Makefile: Likewise. - * math/Makefile: Likewise. - * nis/Makefile: Likewise. - * nss/Makefile: Likewise. - * resolv/Makefile: Likewise. - * rt/Makefile: Likewise. - -2001-03-17 Ulrich Drepper - - * inet/Makefile (tests): Remove left-over comment. - - * posix/unistd.h (gethostname): Change type of second parameter - back to size_t as per upcoming XPG6. - * sysdeps/unix/sysv/aix/gethostname.c: Change type of second - parameter back to size_t as per upcoming XPG6. - * sysdeps/unix/sysv/sysv4/gethostname.c: Likewise. - * sysdeps/unix/sysv/gethostname.c: Likewise. - * sysdeps/mach/hurd/gethostname.c: Likewise. - * sysdeps/generic/gethostname.c: Likewise. - -2001-03-16 Ulrich Drepper - - * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): - Handle NaN here. - - * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): - Internationalize. - -2001-02-06 Jakub Jelinek - - * elf/dl-load.c (_dl_map_object): Don't test l_opencount when - looking for name matches. - -2001-02-26 Jakub Jelinek - - * sysdeps/generic/sigcontextinfo.h (CALL_SIGHANDLER): Define. - * sysdeps/mach/hurd/i386/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/s390/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/sh/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h: Likewise. - -2001-03-16 Ulrich Drepper - - * sysdeps/ieee754/ldbl-96/s_erfl.c: New file. - Contributed by Stephen L. Moshier . - - * sysdeps/i386/fpu/libm-test-ulps: Adjust for addition of erfl and - erfcl. - * sysdeps/ia64/fpu/libm-test-ulps: Likewise. - -2001-03-16 David Mosberger - - * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): - Drop hack that was needed for 2.1.1 kernel headers. - - * sysdeps/unix/sysv/linux/ia64/ucontext_i.h: New file. - - * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Rewrite to make it - overlay with kernel's "struct sigcontext". - - * sysdeps/unix/sysv/linux/ia64/Makefile (sysdep_headers): Add - sys/rse.h for "misc" subdir. - (sysdep_routines): Add __start_context for "stdlib" subdir. - - * sysdeps/unix/sysv/linux/ia64/sys/rse.h: New file (based on - kernel file of the same name). - - * stdlib/Makefile (tests): Add tst-setcontext. - * stdlib/tst-setcontext.c: New file (based on a sample program by - Uli Drepper). - - * sysdeps/unix/sysv/linux/ia64/setcontext.S: New file. - * sysdeps/unix/sysv/linux/ia64/getcontext.S: New file. - * sysdeps/unix/sysv/linux/ia64/__start_context.S: New file. - * sysdeps/unix/sysv/linux/ia64/makecontext.c: New file. - * sysdeps/unix/sysv/linux/ia64/swapcontext.c: New file. - - * sysdeps/unix/sysv/linux/ia64/__longjmp.S (__longjmp): Use extr.u - instead of shift & and. - -2001-03-16 Martin Schwidefsky - - * sysdeps/s390/s390-64/bits/huge_val.h: Move to... - * sysdeps/s390/bits/huge_val.h: ...here. - * sysdeps/s390/s390-32/bit/huge_val.h: Remove. - * sysdeps/s390/s390-64/ffs.c: Move to... - * sysdeps/s390/ffs.c: ...here. - * sysdeps/s390/s390-32/ffs.c: Remove. - -2001-03-16 Jakub Jelinek - - * elf/ldconfig.c (search_dir): Remove bogus diagnostic, instead - update osversion from more recent library. - -2001-03-13 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/Dist: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/Dist: ...here. - * sysdeps/unix/sysv/linux/s390/Makefile: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: ...here. - * sysdeps/unix/sysv/linux/s390/Versions: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/Versions: ...here. - * sysdeps/unix/sysv/linux/s390/alphasort64.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c: ...here. - * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/bits/fcntl.h: ...here. - * sysdeps/unix/sysv/linux/s390/bits/mman.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/bits/mman.h: ...here. - * sysdeps/unix/sysv/linux/s390/bits/resource.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h: ...here. - * sysdeps/unix/sysv/linux/s390/bits/stat.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/bits/stat.h: ...here. - * sysdeps/unix/sysv/linux/s390/chown.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: ...here. - * sysdeps/unix/sysv/linux/s390/clone.S: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: ...here. - * sysdeps/unix/sysv/linux/s390/fchown.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/fchown.c: ...here. - * sysdeps/unix/sysv/linux/s390/fcntl.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c: ...here. - * sysdeps/unix/sysv/linux/s390/fxstat.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c: ...here. - * sysdeps/unix/sysv/linux/s390/getdents64.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c: ...here. - * sysdeps/unix/sysv/linux/s390/getegid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getegid.c: ...here. - * sysdeps/unix/sysv/linux/s390/geteuid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/geteuid.c: ...here. - * sysdeps/unix/sysv/linux/s390/getgid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getgid.c: ...here. - * sysdeps/unix/sysv/linux/s390/getgroups.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getgroups.c: ...here. - * sysdeps/unix/sysv/linux/s390/getresgid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getresgid.c: ...here. - * sysdeps/unix/sysv/linux/s390/getresuid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getresuid.c: ...here. - * sysdeps/unix/sysv/linux/s390/getrlimit.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getrlimit.c: ...here. - * sysdeps/unix/sysv/linux/s390/getrlimit64.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getrlimit64.c: ...here. - * sysdeps/unix/sysv/linux/s390/getuid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/getuid.c: ...here. - * sysdeps/unix/sysv/linux/s390/lchown.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: ...here. - * sysdeps/unix/sysv/linux/s390/lockf64.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c: ...here. - * sysdeps/unix/sysv/linux/s390/lxstat.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c: ...here. - * sysdeps/unix/sysv/linux/s390/mmap.S: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: ...here. - * sysdeps/unix/sysv/linux/s390/mmap64.S: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: ...here. - * sysdeps/unix/sysv/linux/s390/msgctl.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/msgctl.c: ...here. - * sysdeps/unix/sysv/linux/s390/oldgetrlimit64.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/oldgetrlimit64.c: ...here. - * sysdeps/unix/sysv/linux/s390/readdir64.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c: ...here. - * sysdeps/unix/sysv/linux/s390/readdir64_r.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c: ...here. - * sysdeps/unix/sysv/linux/s390/register-dump.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h: ...here. - * sysdeps/unix/sysv/linux/s390/scandir64.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c: ...here. - * sysdeps/unix/sysv/linux/s390/semctl.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/semctl.c: ...here. - * sysdeps/unix/sysv/linux/s390/setegid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setegid.c: ...here. - * sysdeps/unix/sysv/linux/s390/seteuid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/seteuid.c: ...here. - * sysdeps/unix/sysv/linux/s390/setfsgid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setfsgid.c: ...here. - * sysdeps/unix/sysv/linux/s390/setfsuid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setfsuid.c: ...here. - * sysdeps/unix/sysv/linux/s390/setgid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setgid.c: ...here. - * sysdeps/unix/sysv/linux/s390/setgroups.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setgroups.c: ...here. - * sysdeps/unix/sysv/linux/s390/setregid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setregid.c: ...here. - * sysdeps/unix/sysv/linux/s390/setresgid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setresgid.c: ...here. - * sysdeps/unix/sysv/linux/s390/setresuid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setresuid.c: ...here. - * sysdeps/unix/sysv/linux/s390/setreuid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setreuid.c: ...here. - * sysdeps/unix/sysv/linux/s390/setrlimit.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setrlimit.c: ...here. - * sysdeps/unix/sysv/linux/s390/setuid.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/setuid.c: ...here. - * sysdeps/unix/sysv/linux/s390/shmctl.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/shmctl.c: ...here. - * sysdeps/unix/sysv/linux/s390/socket.S: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/socket.S: ...here. - * sysdeps/unix/sysv/linux/s390/sys/procfs.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/sys/procfs.h: ...here. - * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: ...here. - * sysdeps/unix/sysv/linux/s390/syscall.S: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: ...here. - * sysdeps/unix/sysv/linux/s390/syscalls.list: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: ...here. - * sysdeps/unix/sysv/linux/s390/sysdep.S: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: ...here. - * sysdeps/unix/sysv/linux/s390/sysdep.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: ...here. - * sysdeps/unix/sysv/linux/s390/versionsort64.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c: ...here. - * sysdeps/unix/sysv/linux/s390/xstat.c: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/xstat.c: ...here. - -2001-03-13 Martin Schwidefsky - - * sysdeps/unix/sysv/linux/s390/s390-64/Dist: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/elfclass.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/fcntl.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/ipc.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/mman.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/msq.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/sem.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/shm.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/siginfo.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigstack.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/stat.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/bits/types.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/getdents.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/glob.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/glob64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/pread64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/readdir.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c : New file. - * sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/sys/procfs.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: New file. - * sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c: New file. - -2001-03-13 Martin Schwidefsky - - * sysdeps/s390/Dist: Move to... - * sysdeps/s390/390-32/Dist: ...here. - * sysdeps/s390/Implies: Move to... - * sysdeps/s390/s390-32/Implies: ...here. - * sysdeps/s390/Makefile: Move to... - * sysdeps/s390/s390-32/Makefile: ...here. - * sysdeps/s390/Versions: Move to... - * sysdeps/s390-32/s390/Versions: ...here. - * sysdeps/s390/add_n.S: Move to... - * sysdeps/s390/s390-32/add_n.S: ...here. - * sysdeps/s390/addmul_1.S: Move to... - * sysdeps/s390/s390-32/addmul_1.S: ...here. - * sysdeps/s390/atomicity.h: Move to... - * sysdeps/s390/s390-32/atomicity.h: ...here. - * sysdeps/s390/backtrace.c: Move to... - * sysdeps/s390/s390-32/backtrace.c: ...here. - * sysdeps/s390/bcopy.S: Move to... - * sysdeps/s390/s390-32/bcopy.S: ...here. - * sysdeps/s390/bits/byteswap.h: Move to... - * sysdeps/s390/s390-32/bits/byteswap.h: ...here. - * sysdeps/s390/bits/huge_val.h: Move to... - * sysdeps/s390/s390-32/bits/huge_val.h: ...here. - * sysdeps/s390/bsd-_setjmp.S: Move to... - * sysdeps/s390/s390-32/bsd-_setjmp.S: ...here. - * sysdeps/s390/bsd-setjmp.S: Move to... - * sysdeps/s390/s390-32/bsd-setjmp.S: ...here. - * sysdeps/s390/bzero.S: Move to... - * sysdeps/s390/s390-32/bzero.S: ...here. - * sysdeps/s390/elf/bsd-_setjmp.S: Move to... - * sysdeps/s390/s390-32/elf/bsd-_setjmp.S: ...here. - * sysdeps/s390/elf/bsd-setjmp.S: Move to... - * sysdeps/s390/s390-32/elf/bsd-setjmp.S: ...here. - * sysdeps/s390/elf/start.S: Move to... - * sysdeps/s390/s390-32/elf/start.S: ...here. - * sysdeps/s390/ffs.c: Move to... - * sysdeps/s390/s390-32/ffs.c: ...here. - * sysdeps/s390/memchr.S: Move to... - * sysdeps/s390/s390-32/memchr.S: ...here. - * sysdeps/s390/memcpy.S: Move to... - * sysdeps/s390/s390-32/memcpy.S: ...here. - * sysdeps/s390/memset.S: Move to... - * sysdeps/s390/s390-32/memset.S: ...here. - * sysdeps/s390/mul_1.S: Move to... - * sysdeps/s390/s390-32/mul_1.S: ...here. - * sysdeps/s390/s390-mcount.S: Move to... - * sysdeps/s390/s390-32/s390-mcount.S: ...here. - * sysdeps/s390/strcpy.S: Move to... - * sysdeps/s390/s390-32/strcpy.S: ...here. - * sysdeps/s390/strncpy.S: Move to... - * sysdeps/s390/s390-32/strncpy.S: ...here. - * sysdeps/s390/sub_n.S: Move to... - * sysdeps/s390/s390-32/sub_n.S: ...here. - -2001-03-13 Martin Schwidefsky - - * sysdeps/s390/s390-64/Dist: New file. - * sysdeps/s390/s390-64/Implies: New file. - * sysdeps/s390/s390-64/Makefile: New file. - * sysdeps/s390/s390-64/__longjmp.c: New file. - * sysdeps/s390/s390-64/add_n.S: New file. - * sysdeps/s390/s390-64/atomicity.h: New file. - * sysdeps/s390/s390-64/backtrace.c: New file. - * sysdeps/s390/s390-64/bcopy.S: New file. - * sysdeps/s390/s390-64/bits/byteswap.h: New file. - * sysdeps/s390/s390-64/bits/huge_val.h: New file. - * sysdeps/s390/s390-64/bits/setjmp.h: New file. - * sysdeps/s390/s390-64/bits/string.h: New file. - * sysdeps/s390/s390-64/bsd-_setjmp.S: New file. - * sysdeps/s390/s390-64/bsd-setjmp.S: New file. - * sysdeps/s390/s390-64/bzero.S: New file. - * sysdeps/s390/s390-64/dl-machine.h: New file. - * sysdeps/s390/s390-64/elf/bsd-_setjmp.S: New file. - * sysdeps/s390/s390-64/elf/bsd-setjmp.S: New file. - * sysdeps/s390/s390-64/elf/setjmp.S: New file. - * sysdeps/s390/s390-64/elf/start.S: New file. - * sysdeps/s390/s390-64/ffs.c: New file. - * sysdeps/s390/s390-64/initfini.c: New file. - * sysdeps/s390/s390-64/memchr.S: New file. - * sysdeps/s390/s390-64/memcpy.S: New file. - * sysdeps/s390/s390-64/memset.S: New file. - * sysdeps/s390/s390-64/s390x-mcount.S: New file. - * sysdeps/s390/s390-64/setjmp.S: New file. - * sysdeps/s390/s390-64/strcpy.S: New file. - * sysdeps/s390/s390-64/strncpy.S: New file. - * sysdeps/s390/s390-64/sub_n.S: New file. - * sysdeps/s390/s390-64/sysdep.h: New file. - -2001-03-13 Martin Schwidefsky - - * scripts/config.guess: Add support for Linux on 64 bit S/390. - * scripts/config.sub: Likewise. - -2001-03-13 Martin Schwidefsky - - * configure.in: Add support for 64 bit S/390. - - * elf/elf.h: Add new relocations for 64 bit S/390. - - * shlib-versions: Add rules for Linux on 64 bit S/390. - -2001-03-13 Martin Schwidefsky - - * sysdeps/s390/__longjmp.c: Move to... - * sysdeps/s390/s390-32/__longjmp.c: ...here. Add code - to load the floating point registers that should be saved - according to the ABI. - - * sysdeps/s390/bits/setjmp.h: Move to... - * sysdeps/s390/s390-32/bits/setjmp.h: ...here. Avoid - the use of long long in the __jmp_buf type definition. - - * sysdeps/s390/bits/string.h: Move to... - * sysdeps/s390/s390-32/bits/string.h: ...here. Add several missing - #ifndef _FORCE_INLINES. - - * sysdeps/s390/dl-machine.h: Move to... - * sysdeps/s390/s390-32/dl-machine.h: ...here. Add a check for the - executables EI_CLASS in elf_machine_matches_host. - - * sysdeps/s390/elf/setjmp.S: Move to... - * sysdeps/s390/s390-32/elf/setjmp.S: ...here. Replace - branches to globally defined symbol __sigsetjmp by branches to - a local label (this avoids the generation of a R_390_PC16DBL - relocation in -fpic code). - - * sysdeps/s390/gmp-mparam.h: Use defines from to - calculate BITS_PER_MP_LIMB, BYTES_PER_MP_LIMB and BITS_PER_LONGINT. - - * sysdeps/s390/initfini.c: Move to... - * sysdeps/s390/s390-32/initfini.c: ...here. Replace ALIGN with - ".align 4,0x07". - - * sysdeps/s390/setjmp.S: Move to... - * sysdeps/s390/s390-32/setjmp.S: ...here. Add code to store the - floating point registers that should be saved according to the ABI. - - * sysdeps/s390/sys/ucontext.h: Remove since it is unused. - - * sysdeps/unix/sysv/linux/s390/sysdep.h: Move to... - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: ...here. Include - sysdeps/s390/s390-32/sysdep.h instead of sysdeps/s390/sysdep.h. - -2001-03-13 Martin Schwidefsky - - * configure.in: Change machine=s390 to machine=s390/s390-32. - - * elf/elf.h: Correct comment for R_390_PLT16DBL. - -2001-03-12 Jakub Jelinek - - * csu/Makefile (abi-tag.h): Define OS and version separately, allow - version to be overriden from config.h. - * csu/abi-note.S: Use OS and version separately, include config.h. - * elf/dl-load.c (_dl_osversion): New. - (_dl_map_object_from_fd): Kill some warnings. - (open_verify): Check .note.ABI-tag of the library if present. - * elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx). - * elf/cache.c (struct cache_entry): Add osversion. - (print_entry): Print osversion. - (print_cache): Pass osversion to it. - (compare): Sort according to osversion. - (save_cache): Set osversion. - (add_to_cache): Add osversion argument. - * sysdeps/generic/ldconfig.h (add_to_cache, process_file, - process_elf_file): Add osversion argument. - * elf/readlib.c (process_file): Likewise. - * sysdeps/generic/readelflib.c (process_elf_file): Likewise. - * sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file, - process_elf32_file, process_elf64_file): Likewise. - * sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file, - process_elf32_file, process_elf64_file): Likewise. - * sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file, - process_elf32_file, process_elf64_file): Likewise. - * elf/ldconfig.c (manual_link): Pass it. - (search_dir): Issue diagnostic if two libs with the same soname in - the same directory have different .note.ABI-tag. Record osversion in - dlib_entry and use it from there. - (struct lib_entry): Remove. - (struct dlib_entry): Add osversion. - * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check - osversion. - * sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused - field with osversion. - * sysdeps/generic/ldsodefs.h (_dl_osversion): Declare. - * sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h. - * sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel - version in _dl_osversion. - * sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION. - * Makerules (build-shlib-helper, build-module-helper): New. - (build-shlib, build-module-helper): Make sure .note.ABI-tag comes - early. - * config.h.in (__ABI_TAG_VERSION): Add. - * elf/dl-minimal.c (__strtoul_internal): Set endptr on return. - * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): - Handle LD_ASSUME_KERNEL. - * sysdeps/unix/sysv/linux/dl-librecon.h: New. - -2001-03-15 Ulrich Drepper - - * timezone/antarctica: Update from tzdata2001a. - * timezone/asia: Likewise. - * timezone/australasia: Likewise. - * timezone/backward: Likewise. - * timezone/etcetera: Likewise. - * timezone/europe: Likewise. - * timezone/leapseconds: Likewise. - * timezone/northamerica: Likewise. - * timezone/southamerica: Likewise. - * timezone/systemv: Likewise. - * timezone/yearistype: Likewise. - * timezone/zone.tab: Likewise. - * timezone/tzdump.c: Update from tzcode2001a. - -2001-03-15 H.J. Lu - - * intl/Makefile: Fix a typo. - -2001-03-14 David Mosberger - - * gmon/gmon.c (write_call_graph): Avoid unaligned accesses when - writing arc structures. - -2001-03-15 H.J. Lu - - * elf/Makefile ($(objpfx)tst-pathopt.out): Protected against - cross-compiling. - -2001-03-13 Andreas Schwab - - * posix/PTESTS2C.sed: Replace literal CRs by `\r'. - -2001-03-15 Ulrich Drepper - - * sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Fix test - for control message fitting into message data. - Patch by James Antill . - - * posix/tst-fnmatch.input: Add test case for FNM_PERIOD handling with - FNM_EXTMATCH. - - * posix/fnmatch_loop.c: Optimize handling of ?() and @(). - * posix/fnmatch.c: Define STRLEN and STRCAT appropriately. - - * posix/Versions [libc] (GLIBC_2.2.3): Add fnmatch. - * posix/fnmatch.c: Define with new default version GLIBC_2.2.3 to - avoid running binaries with libc versions without FNM_EXTMATCH support. - - * include/wchar.h: Add prototype for __wcscat. - * wcsmbs/wcscat.c: Define __wcscat and make wcscat weak alias. - - * posix/fnmatch.h (FNM_EXTMATCH): Define. - * posix/fnmatch.c (NO_LEADING_PERIOD): Define. - (posixly_correct): Move global variable here. - (INT, EXT, END): Name new functions defined in fnmatch_loop.c. - (fnmatch): Pretty printing. - * posix/fnmatch_loop.c: Add code to handle FNM_EXTMATCH. - * posix/tst-fnmatch.c: Recognize EXTMATCH flag. - * posix/tst-fnmatch.input: Add tests for extended matching. - - * posix/testfnm.c: Add test for patterns with multiple ** before /. - * posix/fnmatch_loop.c: Fix problem with the test above. - -2001-03-14 Ulrich Drepper - - * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Remove - reference to usqrt. - - * resolv/res_data.c (fp_nquery): Call __res_ninit not __res_init. - -2001-03-12 Andreas Jaeger - - * sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file): - Use EM_X86_64 instead of EM_X8664. - -2001-03-12 Ulrich Drepper - - * sysdeps/ieee754/dbl-64/upow.h: Define nZERO and nINF. - - * sysdeps/ieee754/dbl-64/e_remainder.c: Fix handling of boundary - conditions. - - * sysdeps/ieee754/dbl-64/e_pow.c: Fix handling of boundary - conditions. - - * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Handle Inf and NaN - correctly. - (__cos): Likewise. - - * sysdeps/ieee754/dbl-64/e_asin.c (__ieee754_asin): Handle NaN - correctly. - (__ieee754_acos): Likewise. - -2001-03-12 Andreas Jaeger - - * sysdeps/unix/sysv/linux/s390/sysdep.h (_LINUX_S390_SYSDEP_H): - Fix typo. Patch by Martin Schwidefsky . - * sysdeps/s390/bits/string.h: Protect __STRING_INLINE against - redefinition. - -2001-03-11 Roland McGrath - - * sysdeps/mach/hurd/configure.in: Add a sanity check on $prefix. - -2001-03-11 Ulrich Drepper - - * sysdeps/ieee754/dbl-64/endian.h: Define also one of BIG_ENDI and - LITTLE_ENDI. - - * sysdeps/ieee754/dbl-64/MathLib.h (Init_Lib): Use void as - parameter list. - - Last-bit accurate math library implementation by IBM Haifa. - Contributed by Abraham Ziv , Moshe Olshansky - , Ealan Henis , and - Anna Reitman . - * math/Makefile (dbl-only-routines): New variable. - (libm-routines): Add $(dbl-only-routines). - * sysdeps/ieee754/dbl-64/e_acos.c: Empty, definition is in e_asin.c. - * sysdeps/ieee754/dbl-64/e_asin.c: Replaced with accurate asin - implementation. - * sysdeps/ieee754/dbl-64/e_atan2.c: Replaced with accurate atan2 - implementation. - * sysdeps/ieee754/dbl-64/e_exp.c: Replaced with accurate exp - implementation. - * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Don't use __kernel_sin and - __kernel_cos. - * sysdeps/ieee754/dbl-64/e_log.c: Replaced with accurate log - implementation. - * sysdeps/ieee754/dbl-64/e_remainder.c: Replaced with accurate - remainder implementation. - * sysdeps/ieee754/dbl-64/e_pow.c: Replaced with accurate pow - implementation. - * sysdeps/ieee754/dbl-64/e_sqrt.c: Replaced with accurate sqrt - implementation. - * sysdeps/ieee754/dbl-64/k_cos.c: Empty, definition is in s_sin.c. - * sysdeps/ieee754/dbl-64/k_sin.c: Empty, definition is in s_sin.c. - * sysdeps/ieee754/dbl-64/s_atan.c: Replaced with accurate atan - implementation. - * sysdeps/ieee754/dbl-64/s_cos.c: Empty, definition is in s_sin.c. - * sysdeps/ieee754/dbl-64/s_sin.c: Replaced with accurate sin/cos - implementation. - * sysdeps/ieee754/dbl-64/s_sincos.c: Rewritten to not use __kernel_sin - and __kernel_cos. - * sysdeps/ieee754/dbl-64/s_tan.c: Replaced with accurate tan - implementation. - * sysdeps/ieee754/dbl-64/Dist: Add new non-code files. - * sysdeps/ieee754/dbl-64/MathLib.h: New file. - * sysdeps/ieee754/dbl-64/asincos.tbl: New file. - * sysdeps/ieee754/dbl-64/atnat.h: New file. - * sysdeps/ieee754/dbl-64/atnat2.h: New file. - * sysdeps/ieee754/dbl-64/branred.c: New file. - * sysdeps/ieee754/dbl-64/branred.h: New file. - * sysdeps/ieee754/dbl-64/dla.h: New file. - * sysdeps/ieee754/dbl-64/doasin.c: New file. - * sysdeps/ieee754/dbl-64/doasin.h: New file. - * sysdeps/ieee754/dbl-64/dosincos.c: New file. - * sysdeps/ieee754/dbl-64/dosincos.h: New file. - * sysdeps/ieee754/dbl-64/endian.h: New file. - * sysdeps/ieee754/dbl-64/halfulp.c: New file. - * sysdeps/ieee754/dbl-64/mpa.c: New file. - * sysdeps/ieee754/dbl-64/mpa.h: New file. - * sysdeps/ieee754/dbl-64/mpa2.h: New file. - * sysdeps/ieee754/dbl-64/mpatan.c: New file. - * sysdeps/ieee754/dbl-64/mpatan.h: New file. - * sysdeps/ieee754/dbl-64/mpatan2.c: New file. - * sysdeps/ieee754/dbl-64/mpexp.c: New file. - * sysdeps/ieee754/dbl-64/mpexp.h: New file. - * sysdeps/ieee754/dbl-64/mplog.c: New file. - * sysdeps/ieee754/dbl-64/mplog.h: New file. - * sysdeps/ieee754/dbl-64/mpsqrt.c: New file. - * sysdeps/ieee754/dbl-64/mpsqrt.h: New file. - * sysdeps/ieee754/dbl-64/mptan.c: New file. - * sysdeps/ieee754/dbl-64/mydefs.h: New file. - * sysdeps/ieee754/dbl-64/powtwo.tbl: New file. - * sysdeps/ieee754/dbl-64/root.tbl: New file. - * sysdeps/ieee754/dbl-64/sincos.tbl: New file. - * sysdeps/ieee754/dbl-64/sincos32.c: New file. - * sysdeps/ieee754/dbl-64/sincos32.h: New file. - * sysdeps/ieee754/dbl-64/slowexp.c: New file. - * sysdeps/ieee754/dbl-64/slowpow.c: New file. - * sysdeps/ieee754/dbl-64/uasncs.h: New file. - * sysdeps/ieee754/dbl-64/uatan.tbl: New file. - * sysdeps/ieee754/dbl-64/uexp.h: New file. - * sysdeps/ieee754/dbl-64/uexp.tbl: New file. - * sysdeps/ieee754/dbl-64/ulog.h: New file. - * sysdeps/ieee754/dbl-64/ulog.tbl: New file. - * sysdeps/ieee754/dbl-64/upow.h: New file. - * sysdeps/ieee754/dbl-64/upow.tbl: New file. - * sysdeps/ieee754/dbl-64/urem.h: New file. - * sysdeps/ieee754/dbl-64/uroot.h: New file. - * sysdeps/ieee754/dbl-64/usncs.h: New file. - * sysdeps/ieee754/dbl-64/utan.h: New file. - * sysdeps/ieee754/dbl-64/utan.tbl: New file. - * sysdeps/i386/fpu/branred.c: New file. - * sysdeps/i386/fpu/doasin.c: New file. - * sysdeps/i386/fpu/dosincos.c: New file. - * sysdeps/i386/fpu/halfulp.c: New file. - * sysdeps/i386/fpu/mpa.c: New file. - * sysdeps/i386/fpu/mpatan.c: New file. - * sysdeps/i386/fpu/mpatan2.c: New file. - * sysdeps/i386/fpu/mpexp.c: New file. - * sysdeps/i386/fpu/mplog.c: New file. - * sysdeps/i386/fpu/mpsqrt.c: New file. - * sysdeps/i386/fpu/mptan.c: New file. - * sysdeps/i386/fpu/sincos32.c: New file. - * sysdeps/i386/fpu/slowexp.c: New file. - * sysdeps/i386/fpu/slowpow.c: New file. - * sysdeps/ia64/fpu/branred.c: New file. - * sysdeps/ia64/fpu/doasin.c: New file. - * sysdeps/ia64/fpu/dosincos.c: New file. - * sysdeps/ia64/fpu/halfulp.c: New file. - * sysdeps/ia64/fpu/mpa.c: New file. - * sysdeps/ia64/fpu/mpatan.c: New file. - * sysdeps/ia64/fpu/mpatan2.c: New file. - * sysdeps/ia64/fpu/mpexp.c: New file. - * sysdeps/ia64/fpu/mplog.c: New file. - * sysdeps/ia64/fpu/mpsqrt.c: New file. - * sysdeps/ia64/fpu/mptan.c: New file. - * sysdeps/ia64/fpu/sincos32.c: New file. - * sysdeps/ia64/fpu/slowexp.c: New file. - * sysdeps/ia64/fpu/slowpow.c: New file. - * sysdeps/m68k/fpu/branred.c: New file. - * sysdeps/m68k/fpu/doasin.c: New file. - * sysdeps/m68k/fpu/dosincos.c: New file. - * sysdeps/m68k/fpu/halfulp.c: New file. - * sysdeps/m68k/fpu/mpa.c: New file. - * sysdeps/m68k/fpu/mpatan.c: New file. - * sysdeps/m68k/fpu/mpatan2.c: New file. - * sysdeps/m68k/fpu/mpexp.c: New file. - * sysdeps/m68k/fpu/mplog.c: New file. - * sysdeps/m68k/fpu/mpsqrt.c: New file. - * sysdeps/m68k/fpu/mptan.c: New file. - * sysdeps/m68k/fpu/sincos32.c: New file. - * sysdeps/m68k/fpu/slowexp.c: New file. - * sysdeps/m68k/fpu/slowpow.c: New file. - - * iconvdata/gconv-modules: Add a number of alias, mostly for IBM - codepages. - -2001-03-11 Andreas Jaeger - - * elf/elf.h (EM_*): Synch with official list. - -2001-03-07 David Mosberger - - * sysdeps/ia64/bits/fenv.h (FE_NONIEEE_ENV): New macro. - -2001-03-07 Jes Sorensen - - * sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Remove unused - variables addr & len. - -2001-02-22 Jes Sorensen - - * sysdeps/ia64/fpu/feenablxcpt.c (feenableexcept): Remove - punctuation in asm constraint. - -2001-03-07 Mark Kettenis - - * resolv/netdb.h [__USE_GNU]: Define __need_timespec and include - to get definition of `struct timespec'. - -2001-03-08 Jakub Jelinek - - * elf/rtld.c (dl_main): If tracing, warn about undefined symbols if - LD_WARN=1, not if LD_WARN is unset. - -2001-03-07 Andreas Schwab - - * elf/ldconfig.h: Moved to ... - * sysdeps/generic/ldconfig.h: ... here. - * sysdeps/unix/sysv/linux/i386/ldconfig.h: New file. - * sysdeps/unix/sysv/linux/m68k/ldconfig.h: New file. - * sysdeps/unix/sysv/linux/ia64/ldconfig.h: New file. - * elf/readlib.c (interpreters, known_libs): Use - SYSDEP_KNOWN_INTERPRETER_NAMES and SYSDEP_KNOWN_LIBRARY_NAMES - instead of hard coding old names. - -2001-03-09 Ulrich Drepper - - * catgets/Makefile (generated): Add test-gencat.h. - (sample.SJIS.cat): Also generate header. - * catgets/sample.SJIS: Add new set and message, both with symbolic - names. - * catgets/test-gencat.sh: Also compare generated header with what - we expect. - -2001-03-07 Jakub Jelinek - - * catgets/gencat.c (read_input_file): Preserve properly symbolic - names. - -2001-03-06 Andreas Jaeger - - * sysdeps/s390/dl-machine.h (elf_machine_relplt): Removed, it's not - needed. - (elf_machine_pltrel_p): Likewise. - * sysdeps/powerpc/dl-machine.h: Likewise. - * sysdeps/generic/dl-machine.h (elf_machine_pltrel_p): Likewise. - -2001-03-09 Ulrich Drepper - - * sysdeps/unix/sysv/linux/arm/Dist: Add dl-procinfo.c and - dl-procinfo.h. - -2001-03-05 Philip Blundell - - * sysdeps/unix/sysv/linux/arm/dl-procinfo.c: New file. - * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: New file. - * sysdeps/unix/sysv/linux/arm/Makefile [subdir=elf] - (sysdep-dl-routines, sysdep_routines, sysdep-rtld-routines): Add - dl-procinfo. - -2001-03-09 Ulrich Drepper - - * dlfcn/tstatexit.c (main): Don't perform the test if __dso_handle - is not available. - * dlfcn/tstcxaatexit.c (main): Likewise. - -2001-03-10 Andreas Jaeger - - * sysdeps/i386/fpu/libm-test-ulps: Revert last patch. - -2001-03-09 Andreas Jaeger - - * sysdeps/s390/dl-machine.h (elf_machine_matches_host): Handle - both new and old EM_S390 values. - (EM_S390_OLD): New constant. - - * elf/elf.h (EM_S390): Use official value. - -2001-03-09 Ulrich Drepper - - * conform/data/sys/socket.h-data: Allow SO* symbols. - -2001-03-07 Andreas Schwab - - * sysdeps/ia64/fpu/Makefile: Modify sysdep_routines instead of - routines, and sysdep-CPPFLAGS instead of CPPFLAGS. - -2001-03-07 Andreas Jaeger - - * resolv/Makefile (routines): Only build gai_sigqueue when threads - are available. - -2001-03-07 Jakub Jelinek - - * elf/ldconfig.c (_dl_sysdep_message): Remove. - * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Include - ldsodefs.h. - * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. - - * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Use - _dl_error_printf instead of _dl_sysdep_error. - * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h (_dl_procinfo): - Use _dl_printf instead of _dl_sysdep_message. - * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h (_dl_procinfo): - Likewise. - -2001-03-06 Ben Collins - - * manual/arith.texi (Integers): Fix documentation of fast and - least integer typedefs. - -2001-03-06 Jakub Jelinek - - * resolv/Depend: New file. - * resolv/Makefile (extra-libs, tests): Build libanl and ga_test only - when libpthread is built. - -2001-03-06 Andreas Jaeger - - * sysdeps/i386/fpu/libm-test-ulps: Add some deltas. - - * sysdeps/sh/dl-machine.h (elf_machine_rela): Add missing comma. - Patch by kaz Kojima . - -2001-03-05 Ulrich Drepper - - * stdlib/Versions: Remove __new_exitfn again. Not needed. - -2001-03-05 Andreas Jaeger - - * stdlib/msort.c (qsort): Don't use alloca in a function call. - -2001-03-05 Ulrich Drepper - - * sysdeps/unix/sysv/linux/bits/stat.h (__S_TYPEISMQ, __S_TYPEISSEM, - __S_TYPEISSHM): Rewrite to enforce correct use the macros. They still - always return zero. - * sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise. - * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/bits/stat.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise. - * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise. - -2001-03-04 Andreas Jaeger - - * stdlib/longlong.h: Don't use multi-line strings. - * iconvdata/tst-loading.c: Likewise. - - * csu/Makefile ($(objpfx)version-info.h): Don't use multi-line - string. - -2001-03-04 Ulrich Drepper - - * sysdeps/ia64/fpu/libm-test-ulps: Adjust for addition of lgammal. - - * rt/lio_listio.c: Add a few asserts. - - * elf/global.c: New file. - * elf/globalmod1.c: New file. - * elf/Makefile: Add rules to build and run global. - - * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Define SI_ASYNCNL. - * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Likewise. - - * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: New file. - Contributed by Stephen L. Moshier . - - * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Fix handling of boundary cases. - - * sysdeps/ieee754/dbl-64/e_gamma_r.c: Always initialize sign variable. - * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. - - * sysdeps/i386/fpu/libm-test-ulps: Adjust after addition of lgammal. +2001-09-08 H.J. Lu - * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Fix typo in last change. + * po/zh_TW.po: Fix a typo. -2001-03-04 Andreas Jaeger +2001-09-07 Tom Rix - * resolv/tst-aton.c: Add testcase for IP with four periods. + * sysdeps/unix/sysv/aix/sysv_termio.h: New file. - * resolv/inet_addr.c: Don't recognize an IP with four periods. - Patch by Andre' Breiler . +2001-08-26 Tom Rix -2001-02-27 Philip Blundell + * sysdeps/unix/sysv/aix/Makefile (aix-syscalls.o): More linker + command line options. + * sysdeps/unix/sysv/aix/start.s: New file, rework of start.c + * sysdeps/unix/sysv/aix/start.c: Removed. + * sysdeps/unix/sysv/aix/start-libc.c: New file. + * sysdeps/unix/sysv/aix/init-first.c: New file. + * sysdeps/unix/sysv/aix/fcntl.c: Alias __libc_fcntl to __fcntl. - * elf/elf.h: Add new ARM definitions from latest (B-01) - specification. Correct naming of EF_ARM_ALIGN8 et al. +2001-09-08 Ben Collins -2001-03-04 Ulrich Drepper + * sysdeps/arm/dl-machine.h: Fix usage of new _dl_signal_error() format. + * sysdeps/generic/dl-machine.h: Likewise. + * sysdeps/hppa/dl-fptr.c: Likewise. + * sysdeps/ia64/dl-fptr.c: Likewise. + * sysdeps/mach/hurd/dl-sysdep.c: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + * sysdeps/mips/mips64/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-machine.c: Likewise. - * stdio-common/tst-printf.sh: Remove bashisms. - Patch by Matthew Clarke . +2001-09-07 Ben Collins -2001-03-03 Ulrich Drepper + * sysdeps/sparc/sparc32/dl-machine.h: Fix typo. - * Versions.def: Add libanl definition. - * shlib-versions: Add entry for libanl. - * resolv/Makefile (distribute): Add gai_misc.h and ga_test.c. - (routines): Add gai_sigqueue. - (extra-libs): Add libanl. - (libanl-routines): New variable. - Add rules to build libanl and ga_test. - * resolv/Versions [libc] (GLIBC_2.2.3): Add __gai_sigqueue. - [libanl]: New library. - * resolv/netdb.h: Add definitions for libanl. - * resolv/getaddrinfo_a.c: New file. - * resolv/gai_cancel.c: New file. - * resolv/gai_error.c: New file. - * resolv/gai_misc.c: New file. - * resolv/gai_misc.h: New file. - * resolv/gai_notify.c: New file. - * resolv/gai_suspend.c: New file. - * resolv/ga_test.c: New file. - * sysdeps/generic/gai_sigqueue.c: New file. - * sysdeps/unix/sysv/linux/gai_sigqueue.c: New file. - * sysdeps/generic/bits/siginfo.h: Allow __need_sigevent_t being defined - and provide only that definition. - * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Likewise. + * sysdeps/hppa/dl-lookupcfg.h: Forward declare struct link_map. - * rt/aio_misc.c: Fix typos in comments. - * rt/lio_listio.c: Pretty printing. Little optimization in request - list handling. +2001-09-08 Ulrich Drepper - * elf/rtld.c: Remove commented out code. + * elf/dl-lookup.c (add_dependency): Bump l_opencount of all + dependencies if necessary. - * sysdeps/unix/sysv/linux/linux_fsinfo.h (SHMFS_SUPER_MAGIC): - Update for real 2.4 kernels. + * elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't + loaded directly) determine length if l_initfini list by iterating + over its elements. Minor optimizations. + * elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini + for dependency objects. + If object was already loaded check whether any of the dependencies + is already on the relocation dependency list. If yes, remove the + latter. Minor optimizations. + * elf/dl-lookup.c (add_dependency): Add check for self reference of + maps here. Search l_initfini list only if the object was loaded + directly and not only as a dependency. + (_dl_lookup_symbol): Add relocation dependency also if object + is not in global scope. Remove test for self-reference here. + (_dl_lookup_versioned_symbol): Likewise. + * elf/dl-object (_dl_new_object): Cleanup. Initialize dont_free + element of first name record. + * elf/loadtest.c: Add some more test to recognize early if an object + wasn't unloaded. + * elf/Makefile: Add rules to build and run reldep5. + * elf/reldep5.c: New file. + * elf/reldepmod5.c: New file. + * elf/reldepmod6.c: New file. -2001-03-01 Ulrich Drepper + * elf/reldep2.c: Fix typo. - * elf/dl-load.c: Pretty printing. +2001-09-07 Ulrich Drepper - * elf/dl-object.c (_dl_new_object): Don't add the loader's scope - twice. + * include/link.h (struct link_map): Add l_scope_mem and l_scope_max + elements. Change l_scope to be a pointer only. + * elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max. + * elf/dl-open.c (dl_open_worker): If dependency wasn't just opened + here add searchlist of newly open file to the dependency's scope. + * elf/dl-close.c (_dl_close): If dependency is used otherwise remove + only searchlist from its scope. Free own scope array if necessary. + * elf/Makefile (tests): Add dblload and dblunload now. -2001-02-28 Ulrich Drepper +2001-09-06 Andreas Jaeger - * sysdeps/alpha/dl-machine.h (elf_machine_rela): Don't handle - relocations which are not in ld.so if RTLD_BOOTSTRAP is defined. + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: New file, contributed + Stephen L Moshier. - * sysdeps/powerpc/dl-machine.c (__process_machine_rela): Fix typo. +2001-09-05 Ulrich Drepper - * elf/dl-misc.c (_dl_debug_vdprintf): Fix typo visible on 64-bit - machines. + * elf/Makefile: Add rules to build new tests. Don't run them yet since + they both fail. + * elf/dblload.c: New file. + * elf/dblloadmod1.c: New file. + * elf/dblloadmod2.c: New file. + * elf/dblloadmod3.c: New file. + * elf/dblunload.c: New file. - * sysdeps/unix/sysv/linux/powerpc/sysdep.h (C_TEXT): Define. +2001-09-04 Richard Henderson -2001-02-27 Ulrich Drepper + * elf/elf.h (R_ALPHA_OP_*, R_ALPHA_IMMED_*): Remove. + (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16. - * sysdeps/powerpc/elf/libc-start.c: Use new output functions and - _dl_debug_mask. +2001-09-04 Ulrich Drepper - * elf/Versions [ld]: Don't export _dl_debug_message anymore. Export - _dl_debug_printf. - * elf/dl-misc.c: Remove definition of _dl_sysdep_output and - _dl_debug_message. Define _dl_debug_vdprintf, _dl_debug_printf, - _dl_debug_printf_c, and _dl_printf. - * sysdeps/generic/ldsodefs.h: Don't declare _dl_sysdep_output, - _dl_debug_message, _dl_sysdep_message, _dl_sysdep_error, and - _dl_sysdep_fatal. Declare _dl_debug_printf, _dl_debug_printf_c, - _dl_printf, _dl_error_printf, and _dl_fatal_printf. - * elf/dl-close.c: Replace use of old output functions with the new - ones. + Correct very misleading message for error in failed runtime relocation. + * elf/dl-error.c (_dl_signal_error): Take extra parameter to describe + place of the error. + (_dl_signal_cerror): Likewise. + * sysdeps/generic/ldsodefs.h: Adjust prototypes. + * elf/dl-close.c: Likewise. * elf/dl-deps.c: Likewise. - * elf/dl-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-open.c: Likewise. - * elf/dl-profile.c: Likewise. * elf/dl-reloc.c: Likewise. + * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. - * elf/do-lookup.h: Likewise. - * elf/rtld.c: Likewise. - * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. - * sysdeps/generic/libc-start.c: Likewise. - * sysdeps/i386/dl-machine.h: Likewise. - * sysdeps/arm/dl-machine.h: Likewise. - * sysdeps/hppa/dl-machine.h: Likewise. - * sysdeps/m68k/dl-machine.h: Likewise. - * sysdeps/powerpc/dl-machine.h: Likewise. - * sysdeps/s390/dl-machine.h: Likewise. - * sysdeps/sh/dl-machine.h: Likewise. - * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. - * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. - * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise. - - * sysdeps/generic/ldsodefs.h: Remove _dl_secure declaration. - - * dlfcn/Makefile: Don't run tstatexit test unless .hidden is - supported by assembler. - - * sysdeps/generic/ldsodefs.h: Remove commented-out variable - declaractions. - - * elf/rtld.c: Little optimizations in handling _dl_lazy. - - * elf/cache.c (save_cache): Portability changes. - * elf/dl-profile.c (_dl_start_profile): Likewise. - - * elf/sln.c: Cleanups. Remove arbitrary limits. - - * elf/dl-close.c: Replace _dl_debug_* variables with _dl_debug_mask. - * elf/dl-deps.c: Likewise. - * elf/dl-fini.c: Likewise. - * elf/dl-init.c: Likewise. - * elf/dl-load.c: Likewise. - * elf/dl-lookup.c: Likewise. - * elf/dl-open.c: Likewise. - * elf/dl-reloc.c: Likewise. - * elf/dl-support.c: Likewise. - * elf/dl-version.c: Likewise. - * elf/do-lookup.h: Likewise. - * elf/rtld.c: Likewise. - * sysdeps/generic/dl-cache.c: Likewise. - * sysdeps/generic/ldsodefs.h: Likewise. - * sysdeps/generic/libc-start.c: Likewise. - * elf/Versions: Don't export _dl_debug_impcalls and _dl_debug_files. - Export _dl_debug_mask. - * Versions.def: Define GLIBC_2.2.3 for ld. - -2001-02-26 Greg McGary - - * sysdeps/unix/make-syscalls.sh (ptr): Handle `V' keyletter. - -2001-02-26 Paul Eggert - - Modify mkstemp.c and tempname.c so that they can be used by - GNU applications on non-glibc platforms. - - * misc/mkstemp.c (__GT_FILE): Define to zero if not defined. - - * sysdeps/posix/tempname.c: Include if HAVE_CONFIG_H. - Include , , only if - STDC_HEADERS || _LIBC. - Include only if HAVE_FCNTL_H || _LIBC. - Include only if HAVE_UNISTD_H || _LIBC. - Include only if HAVE_SYS_TIME_H || _LIBC. - (__set_errno): Define this macro if doesn't. - (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): - Define these macros if doesn't. - (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): - Define these macros if doesn't. - Ignore S_ISDIR if STAT_MACROS_BROKEN. - (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, - lxstat64, __xstat64): Define if not _LIBC. - (struct_stat64): New macro. - (direxists, __gen_tempname): Use it, to avoid a - portability problem with Solaris 8. - (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC). - (__gen_tempname): Invoke gettimeofday only if - HAVE_GETTIMEOFDAY || _LIBC; otherwise, fall back on plain "time". - Use portable macros like S_IRUSR | S_IWUSR rather than nonportable - octal values like 0600. - -2001-02-26 Ulrich Drepper - - * sysdeps/ieee754/ldbl-96/e_jnl.c: New file. - Contributed by Stephen L. Moshier . - - * sysdeps/i386/fpu/libm-test-ulps: Update for jnl and ynl introduction. - * sysdeps/ia64/fpu/libm-test-ulps: Likewise. - - * posix/wordexp-test.c (testit): Remove warnings. - - * dlfcn/Makefile (distribute): Add modatexit.c and modcxaatexit.c. - (tests): Add tstatexit and tstcxaatexit. - (module-names): Add modatexit and modcxaatexit. - Add rules to build and run tstatexit and tstcxaatexit. - * dlfcn/modatexit.c: New file. - * dlfcn/modcxaatexit.c: New file. - * dlfcn/tstatexit.c: New file. - * dlfcn/tstcxaatexit.c: New file. - - * io/Makefile: Pass -DHAVE_DOT_HIDDEN to stat and mknod functions if - .hidden is available. - * io/stat.c: If .hidden is available use it to avoid exporting - functions. - * io/fstat.c: Likewise. - * io/lstat.c: Likewise. - * io/stat64.c: Likewise. - * io/fstat64.c: Likewise. - * io/lstat64.c: Likewise. - * sysdeps/generic/mknod.c: Likewise. - - * malloc/mtrace.c: Use __cxa_atexit and not atexit. - * sysdeps/generic/bb_init_func.c: Likewise. - * sysdeps/generic/libc-start.c: Likewise. - - * stdlib/atexit.c (__new_exitfn): Move to cxa_atexit.c. - (atexit): Implement using __cxa_atexit. - Use .hidden if availble to avoid exporting atexit. - * stdlib/cxa_atexit.c (__new_exitfn): Moved to here from atexit.c. - * stdlib/Versions: Export __new_exitfn for GLIBC_2.2.3. - * stdlib/Makefile (routines): Add old_atexit. - (static-only-routines): Add atexit. - Pass -DHAVE_DOT_HIDDEN for atexit.c if .hidden is available. - * stdlib/old_atexit.c: New file. - - * intl/Makefile: Remove bogus endif. - -2001-02-26 Andreas Jaeger - - * iconvdata/Makefile (tests): Fix typo in last patch. - - * intl/Makefile (tests): Run mtrace-tst-gettext only when perl is - available. - Reported by Achim Gottinger . - -2001-02-25 Andreas Jaeger - - * intl/Makefile (plural.c): Reorder rules so that they work if - BISON doesn't exist. - -2001-02-25 Ulrich Drepper - - * intl/locale.alias: Don't use nb_NO but define aliases for it. - -2001-02-23 Ulrich Drepper - - * sysdeps/i386/strtok.S: Continue to return NULL after the first - time this happened. - -2001-02-23 Andreas Jaeger - - * string/tester.c (test_strtok_r): Add testcase. - (test_strtok_r): Always initialize cp for proper checking. - - * sysdeps/generic/strtok.c (strtok): Handle case of first strtok - returning NULL correctly. - Patch by Fumitoshi UKAI . - * sysdeps/generic/strtok_r.c (__strtok_r): Likewise. - -2001-02-23 Ulrich Drepper - - * sysdeps/unix/sysv/aix/bits/types.h: Define __need_NULL before - including . - * sysdeps/unix/sysv/aix/write.c: Define alias __libc_write. - * include/libc-symbols.h (weak_alias): Don't use .weak if - HAVE_ASM_GLOBAL_DOT_NAME is defined. - Patches by Michael Keezer . - - * sysdeps/generic/ftime.c: Don't include at all. - Patch by Michael Keezer . - - * sysdeps/unix/sysv/aix/Dist: Remove restf.S and savef.S. - * sysdeps/unix/sysv/aix/Makefile [$(subdir) == misc] - (sysdep_routines): Remove restf.S and savef.S. - * sysdeps/unix/sysv/aix/restf.S: Removed. - * sysdeps/unix/sysv/aix/savef.S: Removed. - * sysdeps/powerpc/fprrest.S: Use C_TEXT to define label. Also define - alternative names used on some platforms. - * sysdeps/powerpc/fprsave.S: Likewise. - * sysdeps/powerpc/gprrest0.S: Likewise. - * sysdeps/powerpc/gprrest1.S: Likewise. - * sysdeps/powerpc/gprsave0.S: Likewise. - * sysdeps/powerpc/gprsave1.S: Likewise. - Patch by Michael Keezer . - -2001-02-22 Ulrich Drepper - - * sysdeps/i386/elf/start.S (_fp_hw): Actually define label. - -2001-02-22 Andreas Jaeger - - * string/tst-strtok.c (main): Fix error messages. - -2001-02-22 Andreas Jaeger - - * math/Makefile: Remove omit-long-double-fcts. - -2001-02-18 Maciej W. Rozycki - - * sysdeps/mips/bsd-_setjmp.S (_setjmp): Reorder instructions to - avoid problems on MIPS I. - * sysdeps/mips/bsd-setjmp.S (setjmp): Likewise. - - * sysdeps/mips/dl-machine.h (RTLD_START): Remove duplicate ".set - noreorder". - -2001-02-21 Ulrich Drepper - - * posix/fnmatch_loop.c: Handle ranges outside glibc correctly. - - * sysdeps/generic/ftime.c: Include . - - * configure.in: Don't check for libgd if user passed --without-gd. - Patch by Achim Gottinger . - - * sysdeps/i386/i686/strtok.S: Continue to return NULL after the - first time this happened. - * string/Makefile (tests): Add tst-strtok. - -2001-02-21 Andreas Jaeger - - * string/tst-strtok.c: New testcase, reported by - Andrew Church . - -2001-02-20 Ulrich Drepper - - * libio/iofwide.c: Remove fwide alias. - -2001-02-20 Andreas Jaeger - - * iconvdata/Makefile (tests): Only run mtrace-tst-loading if perl - is available. - Reported by Achim Gottinger . - -2001-02-19 Ulrich Drepper - - * iconv/tst-iconv1.c (main): Remove debugging code. - - * sysdeps/ieee754/flt-32/e_powf.c: Handle x == +-1 correctly. - * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. - - * sysdeps/generic/e_scalb.c: Set invalid exception for invalid - parameters. - * sysdeps/generic/e_scalbf.c: Likewise. - * sysdeps/generic/e_scalbl.c: Likewise. - - * sysdeps/ia64/fpu/Makefile (libm-sysdep-routines): Add libm_error, - libm_frexp4, libm_frexp4f, libm_frexp4l, and all the functions also - in libc. - (routines): Replace libm_error with libc_libm_error. - * sysdeps/ia64/fpu/Dist: Add libc_libm_error.c. - * sysdeps/ia64/fpu/libc_libm_error.c: New file. - -2001-02-18 Mark Kettenis - - * malloc/mtrace.c [USE_IN_LIBIO]: Define fopen as _IO_fopen64. - (mtrace): Revert 2001-02-13 patch: use fopen instead of fopen64. - -2001-02-17 H.J. Lu - - * sysdeps/unix/sysv/linux/ia64/clone2.S: Use clone2 and don't use - scratch registers across the system call. - -2001-02-19 Andreas Jaeger - - * malloc/Makefile (tests): Run mtrace only when perl is available. - Reported by Achim Gottinger . - -2001-02-19 Ulrich Drepper - - * sysdeps/ieee754/ldbl-96/e_j1l.c: New file. - Contributed by Stephen L. Moshier . - - * sysdeps/i386/fpu/libm-test-ulps: Adjust error values for j1 and y1. - * sysdeps/ia64/fpu/libm-test-ulps: Adjust error values for y1. - * math/libm-test.inc (j1_test): Mark constants as long double. - (jn_test): Likewise. - (y1_test): Likewise. - (yn_test): Likewise. - - * libio/iogetline.c: Move return until after last statement. - - * localedata/show-ucs-data.c: Don't show < > for better readability. - - * sysdeps/ia64/fpu/Dist: New file. - * sysdeps/ia64/fpu/Makefile: New file. - * sysdeps/ia64/fpu/Versions: New file. - * sysdeps/ia64/fpu/e_acos.S: New file. - * sysdeps/ia64/fpu/e_acosf.S: New file. - * sysdeps/ia64/fpu/e_acosl.S: New file. - * sysdeps/ia64/fpu/e_asin.S: New file. - * sysdeps/ia64/fpu/e_asinf.S: New file. - * sysdeps/ia64/fpu/e_asinl.S: New file. - * sysdeps/ia64/fpu/e_atan2.S: New file. - * sysdeps/ia64/fpu/e_atan2f.S: New file. - * sysdeps/ia64/fpu/e_atan2l.c: New file. - * sysdeps/ia64/fpu/e_cosh.S: New file. - * sysdeps/ia64/fpu/e_coshf.S: New file. - * sysdeps/ia64/fpu/e_coshl.S: New file. - * sysdeps/ia64/fpu/e_exp.S: New file. - * sysdeps/ia64/fpu/e_expf.S: New file. - * sysdeps/ia64/fpu/e_expl.c: New file. - * sysdeps/ia64/fpu/e_fmod.S: New file. - * sysdeps/ia64/fpu/e_fmodf.S: New file. - * sysdeps/ia64/fpu/e_fmodl.S: New file. - * sysdeps/ia64/fpu/e_hypot.S: New file. - * sysdeps/ia64/fpu/e_hypotf.S: New file. - * sysdeps/ia64/fpu/e_hypotl.S: New file. - * sysdeps/ia64/fpu/e_log.S: New file. - * sysdeps/ia64/fpu/e_log10.c: New file. - * sysdeps/ia64/fpu/e_log10f.c: New file. - * sysdeps/ia64/fpu/e_log10l.c: New file. - * sysdeps/ia64/fpu/e_logf.S: New file. - * sysdeps/ia64/fpu/e_logl.c: New file. - * sysdeps/ia64/fpu/e_pow.S: New file. - * sysdeps/ia64/fpu/e_powf.S: New file. - * sysdeps/ia64/fpu/e_powl.S: New file. - * sysdeps/ia64/fpu/e_rem_pio2.c: New file. - * sysdeps/ia64/fpu/e_rem_pio2f.c: New file. - * sysdeps/ia64/fpu/e_remainder.S: New file. - * sysdeps/ia64/fpu/e_remainderf.S: New file. - * sysdeps/ia64/fpu/e_remainderl.S: New file. - * sysdeps/ia64/fpu/e_scalb.S: New file. - * sysdeps/ia64/fpu/e_scalbf.S: New file. - * sysdeps/ia64/fpu/e_scalbl.S: New file. - * sysdeps/ia64/fpu/e_sinh.S: New file. - * sysdeps/ia64/fpu/e_sinhf.S: New file. - * sysdeps/ia64/fpu/e_sinhl.S: New file. - * sysdeps/ia64/fpu/e_sqrt.S: New file. - * sysdeps/ia64/fpu/e_sqrtf.S: New file. - * sysdeps/ia64/fpu/e_sqrtl.S: New file. - * sysdeps/ia64/fpu/k_rem_pio2.c: New file. - * sysdeps/ia64/fpu/k_rem_pio2f.c: New file. - * sysdeps/ia64/fpu/k_rem_pio2l.c: New file. - * sysdeps/ia64/fpu/libm_atan2_reg.S: New file. - * sysdeps/ia64/fpu/libm_error.c: New file. - * sysdeps/ia64/fpu/libm_frexp4.S: New file. - * sysdeps/ia64/fpu/libm_frexp4f.S: New file. - * sysdeps/ia64/fpu/libm_frexp4l.S: New file. - * sysdeps/ia64/fpu/libm_reduce.S: New file. - * sysdeps/ia64/fpu/libm_support.h: New file. - * sysdeps/ia64/fpu/libm_tan.S: New file. - * sysdeps/ia64/fpu/s_atan.S: New file. - * sysdeps/ia64/fpu/s_atanf.S: New file. - * sysdeps/ia64/fpu/s_atanl.S: New file. - * sysdeps/ia64/fpu/s_cbrt.S: New file. - * sysdeps/ia64/fpu/s_cbrtf.S: New file. - * sysdeps/ia64/fpu/s_cbrtl.S: New file. - * sysdeps/ia64/fpu/s_ceil.S: New file. - * sysdeps/ia64/fpu/s_ceilf.S: New file. - * sysdeps/ia64/fpu/s_ceill.S: New file. - * sysdeps/ia64/fpu/s_cos.S: New file. - * sysdeps/ia64/fpu/s_cosf.S: New file. - * sysdeps/ia64/fpu/s_cosl.S: New file. - * sysdeps/ia64/fpu/s_expm1.S: New file. - * sysdeps/ia64/fpu/s_expm1f.S: New file. - * sysdeps/ia64/fpu/s_expm1l.S: New file. - * sysdeps/ia64/fpu/s_floor.S: New file. - * sysdeps/ia64/fpu/s_floorf.S: New file. - * sysdeps/ia64/fpu/s_floorl.S: New file. - * sysdeps/ia64/fpu/s_frexp.c: New file. - * sysdeps/ia64/fpu/s_frexpf.c: New file. - * sysdeps/ia64/fpu/s_frexpl.c: New file. - * sysdeps/ia64/fpu/s_ilogb.S: New file. - * sysdeps/ia64/fpu/s_ilogbf.S: New file. - * sysdeps/ia64/fpu/s_ilogbl.S: New file. - * sysdeps/ia64/fpu/s_ldexp.S: New file. - * sysdeps/ia64/fpu/s_ldexpf.S: New file. - * sysdeps/ia64/fpu/s_ldexpl.S: New file. - * sysdeps/ia64/fpu/s_log1p.S: New file. - * sysdeps/ia64/fpu/s_log1pf.S: New file. - * sysdeps/ia64/fpu/s_log1pl.S: New file. - * sysdeps/ia64/fpu/s_logb.S: New file. - * sysdeps/ia64/fpu/s_logbf.S: New file. - * sysdeps/ia64/fpu/s_logbl.S: New file. - * sysdeps/ia64/fpu/s_matherrf.c: New file. - * sysdeps/ia64/fpu/s_matherrl.c: New file. - * sysdeps/ia64/fpu/s_modf.S: New file. - * sysdeps/ia64/fpu/s_modff.S: New file. - * sysdeps/ia64/fpu/s_modfl.S: New file. - * sysdeps/ia64/fpu/s_nearbyint.S: New file. - * sysdeps/ia64/fpu/s_nearbyintf.S: New file. - * sysdeps/ia64/fpu/s_nearbyintl.S: New file. - * sysdeps/ia64/fpu/s_rint.S: New file. - * sysdeps/ia64/fpu/s_rintf.S: New file. - * sysdeps/ia64/fpu/s_rintl.S: New file. - * sysdeps/ia64/fpu/s_round.S: New file. - * sysdeps/ia64/fpu/s_roundf.S: New file. - * sysdeps/ia64/fpu/s_roundl.S: New file. - * sysdeps/ia64/fpu/s_scalbn.S: New file. - * sysdeps/ia64/fpu/s_scalbnf.S: New file. - * sysdeps/ia64/fpu/s_scalbnl.S: New file. - * sysdeps/ia64/fpu/s_significand.S: New file. - * sysdeps/ia64/fpu/s_significandf.S: New file. - * sysdeps/ia64/fpu/s_significandl.S: New file. - * sysdeps/ia64/fpu/s_sin.c: New file. - * sysdeps/ia64/fpu/s_sincos.c: New file. - * sysdeps/ia64/fpu/s_sincosf.c: New file. - * sysdeps/ia64/fpu/s_sincosl.c: New file. - * sysdeps/ia64/fpu/s_sinf.c: New file. - * sysdeps/ia64/fpu/s_sinl.c: New file. - * sysdeps/ia64/fpu/s_tan.S: New file. - * sysdeps/ia64/fpu/s_tanf.S: New file. - * sysdeps/ia64/fpu/s_tanl.S: New file. - * sysdeps/ia64/fpu/s_trunc.S: New file. - * sysdeps/ia64/fpu/s_truncf.S: New file. - * sysdeps/ia64/fpu/s_truncl.S: New file. - * sysdeps/ia64/fpu/w_acos.c: New file. - * sysdeps/ia64/fpu/w_acosf.c: New file. - * sysdeps/ia64/fpu/w_acosl.c: New file. - * sysdeps/ia64/fpu/w_asin.c: New file. - * sysdeps/ia64/fpu/w_asinf.c: New file. - * sysdeps/ia64/fpu/w_asinl.c: New file. - * sysdeps/ia64/fpu/w_atan2.c: New file. - * sysdeps/ia64/fpu/w_atan2f.c: New file. - * sysdeps/ia64/fpu/w_atan2l.c: New file. - * sysdeps/ia64/fpu/w_cosh.c: New file. - * sysdeps/ia64/fpu/w_coshf.c: New file. - * sysdeps/ia64/fpu/w_coshl.c: New file. - * sysdeps/ia64/fpu/w_exp.c: New file. - * sysdeps/ia64/fpu/w_expf.c: New file. - * sysdeps/ia64/fpu/w_fmod.c: New file. - * sysdeps/ia64/fpu/w_fmodf.c: New file. - * sysdeps/ia64/fpu/w_fmodl.c: New file. - * sysdeps/ia64/fpu/w_hypot.c: New file. - * sysdeps/ia64/fpu/w_hypotf.c: New file. - * sysdeps/ia64/fpu/w_hypotl.c: New file. - * sysdeps/ia64/fpu/w_log.c: New file. - * sysdeps/ia64/fpu/w_log10.c: New file. - * sysdeps/ia64/fpu/w_log10f.c: New file. - * sysdeps/ia64/fpu/w_log10l.c: New file. - * sysdeps/ia64/fpu/w_logf.c: New file. - * sysdeps/ia64/fpu/w_logl.c: New file. - * sysdeps/ia64/fpu/w_pow.c: New file. - * sysdeps/ia64/fpu/w_powf.c: New file. - * sysdeps/ia64/fpu/w_powl.c: New file. - * sysdeps/ia64/fpu/w_remainder.c: New file. - * sysdeps/ia64/fpu/w_remainderf.c: New file. - * sysdeps/ia64/fpu/w_remainderl.c: New file. - * sysdeps/ia64/fpu/w_scalb.c: New file. - * sysdeps/ia64/fpu/w_scalbf.c: New file. - * sysdeps/ia64/fpu/w_scalbl.c: New file. - * sysdeps/ia64/fpu/w_sqrt.c: New file. - * sysdeps/ia64/fpu/w_sqrtf.c: New file. - * sysdeps/ia64/fpu/w_sqrtl.c: New file. - * sysdeps/ia64/fpu/libm-test-ulps: Adjust for long double - implementation. - * sysdeps/ia64/fpu/bits/mathdef.h: Correct float_t and double_t types. - Change FP_ILOGBNAN for new implementation. - * Verions.def: Add 2.2.3 versions. - -2001-02-18 Ulrich Drepper - - * math/libm-test.inc (scalb_test): Require invalid exception being - raised for invalid parameters. - * sysdeps/i386/fpu/e_scalb.S: Raise invalid exception if necessary. - * sysdeps/i386/fpu/e_scalbf.S: Likewise. - * sysdeps/i386/fpu/e_scalbl.S: Likewise. - -2001-02-18 Mark Kettenis - - * sysdeps/mach/getsysstats.c (__get_phys_pages): Change return - value to long int. - (__get_avphys_pages): Likewise. - -2001-02-18 Ulrich Drepper - - * math/libm-test.inc (pow_test): Correct expected results for x == +-1. - * sysdeps/i386/fpu/e_pow.S: Handle x == +-1 correctly. - * sysdeps/i386/fpu/e_powf.S: Likewise. - * sysdeps/i386/fpu/e_powl.S: Likewise. - - * sysdeps/i386/fpu/bits/mathinline.h: Remove pow inline code. - -2001-02-17 Ulrich Drepper - - * math/Makefile (libm-calls): It's e_exp2 not s_exp2. - - * sysdeps/generic/s_exp2l.c: Renamed to... - * sysdeps/generic/e_exp2l.c: ...this. New file. - * sysdeps/i386/fpu/s_exp2.S: Renamed to... - * sysdeps/i386/fpu/e_exp2.S: ...this. New file. - * sysdeps/i386/fpu/s_exp2f.S: Renamed to... - * sysdeps/i386/fpu/e_exp2f.S: ...this. New file. - * sysdeps/i386/fpu/s_exp2l.S: Renamed to... - * sysdeps/i386/fpu/e_exp2l.S: ...this. New file. - * sysdeps/ieee754/flt-32/s_exp2f.c: Renamed to... - * sysdeps/ieee754/flt-32/e_exp2f.c: ...this. New file. - * sysdeps/ieee754/dbl-64/s_exp2.c: Renamed to... - * sysdeps/ieee754/dbl-64/e_exp2.c: ...this. New file. - * sysdeps/m68k/fpu/s_exp2.c: Renamed to... - * sysdeps/m68k/fpu/e_exp2.c: ...this. New file. - * sysdeps/m68k/fpu/s_exp2f.c: Renamed to... - * sysdeps/m68k/fpu/e_exp2f.c: ...this. New file. - * sysdeps/m68k/fpu/s_exp2l.c: Renamed to... - * sysdeps/m68k/fpu/e_exp2l.c: ...this. New file. - -2001-02-17 Andreas Jaeger - - * configure.in: Allow gcc 3. - -2001-02-16 Ulrich Drepper - - * math/w_acos.c: Move to ... - * sysdeps/generic/w_acos.c: ...here. New file. - * math/w_acosf.c: Move to ... - * sysdeps/generic/w_acosf.c: ...here. New file. - * math/w_acosh.c: Move to ... - * sysdeps/generic/w_acosh.c: ...here. New file. - * math/w_acoshf.c: Move to ... - * sysdeps/generic/w_acoshf.c: ...here. New file. - * math/w_acoshl.c: Move to ... - * sysdeps/generic/w_acoshl.c: ...here. New file. - * math/w_acosl.c: Move to ... - * sysdeps/generic/w_acosl.c: ...here. New file. - * math/w_asin.c: Move to ... - * sysdeps/generic/w_asin.c: ...here. New file. - * math/w_asinf.c: Move to ... - * sysdeps/generic/w_asinf.c: ...here. New file. - * math/w_asinl.c: Move to ... - * sysdeps/generic/w_asinl.c: ...here. New file. - * math/w_atan2.c: Move to ... - * sysdeps/generic/w_atan2.c: ...here. New file. - * math/w_atan2f.c: Move to ... - * sysdeps/generic/w_atan2f.c: ...here. New file. - * math/w_atan2l.c: Move to ... - * sysdeps/generic/w_atan2l.c: ...here. New file. - * math/w_atanh.c: Move to ... - * sysdeps/generic/w_atanh.c: ...here. New file. - * math/w_atanhf.c: Move to ... - * sysdeps/generic/w_atanhf.c: ...here. New file. - * math/w_atanhl.c: Move to ... - * sysdeps/generic/w_atanhl.c: ...here. New file. - * math/w_cosh.c: Move to ... - * sysdeps/generic/w_cosh.c: ...here. New file. - * math/w_coshf.c: Move to ... - * sysdeps/generic/w_coshf.c: ...here. New file. - * math/w_coshl.c: Move to ... - * sysdeps/generic/w_coshl.c: ...here. New file. - * math/w_drem.c: Move to ... - * sysdeps/generic/w_drem.c: ...here. New file. - * math/w_dremf.c: Move to ... - * sysdeps/generic/w_dremf.c: ...here. New file. - * math/w_dreml.c: Move to ... - * sysdeps/generic/w_dreml.c: ...here. New file. - * math/w_exp10.c: Move to ... - * sysdeps/generic/w_exp10.c: ...here. New file. - * math/w_exp10f.c: Move to ... - * sysdeps/generic/w_exp10f.c: ...here. New file. - * math/w_exp10l.c: Move to ... - * sysdeps/generic/w_exp10l.c: ...here. New file. - * math/w_exp2.c: Move to ... - * sysdeps/generic/w_exp2.c: ...here. New file. - * math/w_exp2f.c: Move to ... - * sysdeps/generic/w_exp2f.c: ...here. New file. - * math/w_exp2l.c: Move to ... - * sysdeps/generic/w_exp2l.c: ...here. New file. - * math/w_fmod.c: Move to ... - * sysdeps/generic/w_fmod.c: ...here. New file. - * math/w_fmodf.c: Move to ... - * sysdeps/generic/w_fmodf.c: ...here. New file. - * math/w_fmodl.c: Move to ... - * sysdeps/generic/w_fmodl.c: ...here. New file. - * math/w_hypot.c: Move to ... - * sysdeps/generic/w_hypot.c: ...here. New file. - * math/w_hypotf.c: Move to ... - * sysdeps/generic/w_hypotf.c: ...here. New file. - * math/w_hypotl.c: Move to ... - * sysdeps/generic/w_hypotl.c: ...here. New file. - * math/w_j0.c: Move to ... - * sysdeps/generic/w_j0.c: ...here. New file. - * math/w_j0f.c: Move to ... - * sysdeps/generic/w_j0f.c: ...here. New file. - * math/w_j0l.c: Move to ... - * sysdeps/generic/w_j0l.c: ...here. New file. - * math/w_j1.c: Move to ... - * sysdeps/generic/w_j1.c: ...here. New file. - * math/w_j1f.c: Move to ... - * sysdeps/generic/w_j1f.c: ...here. New file. - * math/w_j1l.c: Move to ... - * sysdeps/generic/w_j1l.c: ...here. New file. - * math/w_jn.c: Move to ... - * sysdeps/generic/w_jn.c: ...here. New file. - * math/w_jnf.c: Move to ... - * sysdeps/generic/w_jnf.c: ...here. New file. - * math/w_jnl.c: Move to ... - * sysdeps/generic/w_jnl.c: ...here. New file. - * math/w_lgamma.c: Move to ... - * sysdeps/generic/w_lgamma.c: ...here. New file. - * math/w_lgammaf.c: Move to ... - * sysdeps/generic/w_lgammaf.c: ...here. New file. - * math/w_lgammaf_r.c: Move to ... - * sysdeps/generic/w_lgammaf_r.c: ...here. New file. - * math/w_lgammal.c: Move to ... - * sysdeps/generic/w_lgammal.c: ...here. New file. - * math/w_lgammal_r.c: Move to ... - * sysdeps/generic/w_lgammal_r.c: ...here. New file. - * math/w_lgamma_r.c: Move to ... - * sysdeps/generic/w_lgamma_r.c: ...here. New file. - * math/w_log10.c: Move to ... - * sysdeps/generic/w_log10.c: ...here. New file. - * math/w_log10f.c: Move to ... - * sysdeps/generic/w_log10f.c: ...here. New file. - * math/w_log10l.c: Move to ... - * sysdeps/generic/w_log10l.c: ...here. New file. - * math/w_log.c: Move to ... - * sysdeps/generic/w_log.c: ...here. New file. - * math/w_logf.c: Move to ... - * sysdeps/generic/w_logf.c: ...here. New file. - * math/w_logl.c: Move to ... - * sysdeps/generic/w_logl.c: ...here. New file. - * math/w_pow.c: Move to ... - * sysdeps/generic/w_pow.c: ...here. New file. - * math/w_powf.c: Move to ... - * sysdeps/generic/w_powf.c: ...here. New file. - * math/w_powl.c: Move to ... - * sysdeps/generic/w_powl.c: ...here. New file. - * math/w_remainder.c: Move to ... - * sysdeps/generic/w_remainder.c: ...here. New file. - * math/w_remainderf.c: Move to ... - * sysdeps/generic/w_remainderf.c: ...here. New file. - * math/w_remainderl.c: Move to ... - * sysdeps/generic/w_remainderl.c: ...here. New file. - * math/w_scalb.c: Move to ... - * sysdeps/generic/w_scalb.c: ...here. New file. - * math/w_scalbf.c: Move to ... - * sysdeps/generic/w_scalbf.c: ...here. New file. - * math/w_scalbl.c: Move to ... - * sysdeps/generic/w_scalbl.c: ...here. New file. - * math/w_sinh.c: Move to ... - * sysdeps/generic/w_sinh.c: ...here. New file. - * math/w_sinhf.c: Move to ... - * sysdeps/generic/w_sinhf.c: ...here. New file. - * math/w_sinhl.c: Move to ... - * sysdeps/generic/w_sinhl.c: ...here. New file. - * math/w_sqrtl.c: Move to ... - * sysdeps/generic/w_sqrtl.c: ...here. New file. - * math/w_tgamma.c: Move to ... - * sysdeps/generic/w_tgamma.c: ...here. New file. - * math/w_tgammaf.c: Move to ... - * sysdeps/generic/w_tgammaf.c: ...here. New file. - * math/w_tgammal.c: Move to ... - * sysdeps/generic/w_tgammal.c: ...here. New file. - - * locale/programs/ld-address.c (address_finish): Add 'S' to allow - formats for postal_fmt. - -2001-02-16 Jakub Jelinek - - * sysdeps/unix/sysv/linux/alpha/syscalls.list (ftruncate): Add - __ftruncate64 alias. - * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (ftruncate): - Likewise. - -2001-02-15 David Mosberger - - * sysdeps/unix/sysv/linux/ia64/__longjmp.S (__longjmp): No need to - do "loadrs". Writing to bspstore already takes care of - invalidating the "clean" partition. - -2001-02-16 Andreas Schwab - - * sysdeps/m68k/fpu/s_nextafterl.c: New file. - * sysdeps/m68k/fpu/s_fpclassifyl.c: New file. - -2001-02-15 Jakub Jelinek - - * posix/regex.c (init_syntax_once): Add prototype. - (TRANSLATE): If MBS_SUPPORT, translate all characters up to '\xff'. - (re_search_2): Avoid warning. - (count_mbs_length): Add prototype. - * posix/tst-regex3.c: New file. - * posix/Makefile (tests): Add bug-regex3. - -2001-02-15 Ulrich Drepper - - * stdio-common/Makefile (tests): Add tst-gets. - * stdio-common/tst-gets.c: New file. - * stdio-common/tst-gets.input: New file. - - * elf/elf.h (DT_CHECKSUM): Define. - - * sysdeps/generic/strtoll.c: Don't export __strto*_internal as - default symbol. - * sysdeps/generic/strtoull.c: Likewise. - -2001-02-14 Wolfram Gloger - - * malloc/malloc.c (new_heap): When allocating large chunk aligned - to HEAP_MAX_SIZE, prefer one with lower address, to avoid `holes' - between the heaps. - -2001-02-14 Ulrich Drepper - - * math/libm-test.inc (j0_test): Check whether sincos is available. - (j1_test): Likewise. - (jn_test): Likewise. - (y0_test): Likewise. - (y1_test): Likewise. - (yn_test): Likewise. - - * posix/tst-gnuglob.c: Make a few entries DT_UNKNOWN and teach - fake filesystem routines to handle this. - - * time/sys/time.h: Make settimeofday and adjtime available if - _BSD_SOURCE. - - * time/sys/time.h: Make timer* macros available for BSD. - - * iconvdata/gb18030.c: Update for Dec 2000 re-release of GB18030. - Patch by Yong Li . - - * sysdeps/generic/glob.c (CONVERT_DIRENT_DIRENT64): Fix copying of - name. - - * posix/Makefile (tests): Add tst-gnuglob. - * posix/tst-gnuglob.c: New file. - -2001-02-13 H.J. Lu - - * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add __ftruncate64. - -2001-02-13 Ulrich Drepper - - * locale/programs/ld-paper.c (paper_output): Pretty printing. - - * iconvdata/Makefile (modules): Add GBBIG5. - (distribute): Add gbbig5.c. - * iconvdata/gconv-modules: Add entries for GBBIG5 module. - - * iconvdata/gbbig5.c: New file. - Contributed by Yong Li . - -2001-02-13 Philip Blundell - - * manual/crypt.texi: Remove outdated references to crypt add-on. - - * manual/creature.texi: Improve wording slightly. - -2001-02-13 Ulrich Drepper - - * io/ftw.c: Always use readdir64. - * io/ftw64.c: Likewise. - * sysdeps/unix/sysv/linux/ttyname.c: Likewise. - * sysdeps/unix/sysv/linux/ttyname_r.c: Likewise. - * sysdeps/generic/glob.c: Likewise. Convert results of gl_readdir - callback to dirent. Still allow compiling outside glibc. - * sysdeps/gnu/glob64.c: Define COMPILE_GLOB64. - * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise. - - * malloc/mtrace.c: Use fopen64. - * posix/spawni.c: Use __open64. - * sysdeps/unix/opendir.c: Likewise. - * sysdeps/unix/sysv/linux/gethostid.c: Likewise. - - * sysdeps/generic/ftruncate64.c: Define __ftruncate64 and make old - name a weak alias. - * sysdeps/unix/sysv/aix/ftruncate64.c: Likewise. - * sysdeps/unix/sysv/linux/ftruncate64.c: Likewise. - * sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise. - * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise. - - * resolv/res_data.c: Add cast to avoid warning. - - * include/unistd.h: Declare __ftruncate64. - - * sysdeps/generic/utmp_file.c: Use LFS functions and types. - - * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use __lseek64 - instead of __lseek. - -2001-02-13 Andreas Jaeger - - * login/getutent_r.c: Include for NULL. - * login/getutid_r.c: Likewise. - -2001-02-12 Ulrich Drepper - - * sysdeps/dbl-64/e_j0.c: Little optimization, use sincos. - * sysdeps/dbl-64/e_j1.c: Likewise. - * sysdeps/dbl-64/e_jn.c: Likewise. - * sysdeps/flt-32/e_j0f.c: Likewise. - * sysdeps/flt-32/e_j1f.c: Likewise. - * sysdeps/ldbl-96/e_j0l.c: Likewise. - -2000-12-02 H.J. Lu - - * resolv/res_libc.c (res_init): Don't make it default. - -2001-02-12 Ulrich Drepper - - * manual/debug.texi: Improved the wording. - Patch by Philip Blundell . - -2001-02-12 Andreas Jaeger - - * posix/Makefile (tests): Don't run bug-regex2 when - cross-compiling. - - * libio/Makefile (tests): Don't run test-freopen when - cross-compiling. - - * manual/stdio.texi (Streams and I18N): Fix typos. - -2001-02-12 Ulrich Drepper - - * sysdeps/i386/fpu/libm-test-ulps: Adjust for errors in y0l. - - * math/libm-test.inc (j0_test): Make expected results long double - constants. - (y0_test): Likewise. - - * sysdeps/ieee754/ldbl-96/e_j0l.c: New file. - Contributed by Stephen L. Moshier . - -2001-02-11 Jakub Jelinek - - * sysdeps/generic/strtoll.c (__strtoq_internal): Ressurect alias - which was exported from libc. - * sysdeps/generic/strtoull.c (__strtouq_internal): Likewise. - -2001-02-12 Andreas Jaeger - - * manual/arith.texi (Parsing of Integers): Fix some wordings. - -2001-02-11 Ulrich Drepper - - * sysdeps/generic/getsysstat.c: Change return value of get_phys_pages - and get_avphys_page to long int. - * sysdeps/unix/sysv/linux/getsysstat.c: Likewise. - * include/sys/sysinfo.h: Likewise. - * sysdeps/generic/sys/sysinfo.h: Likewise. - * sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise. - - * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Fail if we - cannot return as many values as the user asked for. - -2001-02-11 Andreas Jaeger - - * manual/resource.texi (Memory Resources): Fix typo. - - * libio/Makefile ($(objpfx)test-freopen.out): Pass - run-program-prefix. - - * libio/test-freopen.sh: Use run_program_prefix. - -2001-02-10 Andreas Jaeger - - * stdlib/Makefile (tests): Don't run tst-fmtmsg when - cross-compiling. - ($(objpfx)tst-fmtmsg.out): Pass run-program-prefix. - - * stdlib/tst-fmtmsg.sh (test): Use run_program_prefix for static - only builds. - - * elf/Makefile (tests): Only run tst-pathopt with shared libs. - - * posix/Makefile: Fix typo, it's build-static-nss. - - * iconv/Makefile (extra-objs): New. - -2001-02-10 Mark Kettenis - - * sysdeps/unix/stime.c: Include . - - * sysdeps/mach/hurd/setitimer.c: Include . - -2001-02-10 Andreas Jaeger - - * manual/string.texi (Search Functions): Fix typo. - -2001-02-10 Mark Kettenis - - * sysdeps/unix/bsd/times.c: Reorder includes and add . - (timeval_to_clock_t): Add clk_tck argument and use that instead of - CLK_TCK. - (__times): Use __getclktck to get the number of clock ticks per - second and use its return value instead of CLK_TCK. - -2001-02-10 Mark Kettenis - - * sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h (_HAVE_SA_LEN): Define. - -2001-02-10 Mark Kettenis - - * sysdeps/mach/gettimeofday.c: Include . -2001-02-10 Andreas Jaeger - - * wctype/wcfuncs.c (func): Add prototype declarations to avoid - warning. - -2001-02-09 Ulrich Drepper - - * posix/Makefile: Add rules to build and run bug-regex2. - * posix/bug-regex2.c: New file. - -2001-02-10 Jakub Jelinek - - * posix/regex.c (convert_mbs_to_wcs): Change is_binary to char *. - (regex_compile): Likewise. - (FREE_VARIABLES): Don't free is_binary1 and is_binary2. - (re_match_2_internal): Use just is_binary instead of two variables. - Use REGEX_TALLOC to allocate it and FREE_VAR to free on failure. - -2001-02-09 Ulrich Drepper - - * version.h (VERSION): Bump to 2.2.2. - - * iconv/Makefile (distribute): Add iconv_charmap.c and - dummy-repertoire.c. - * elf/Makefile (distribute): Add firstobj.c. - * Makefile (distribute): Add include/pthread.h. - - * configure.in: Require makeinfo version 4. - - * libio/tst_wscanf.c (main): Add cast to avoid warning. - * libio/tst_swscanf.c (main): Likewise.. - -2001-02-09 Jakub Jelinek - - * sysdeps/generic/setenv.c (unsetenv): Remove const from len. - * sysdeps/sparc/fpu/bits/mathinline.h (sqrt, fdim): Don't define if - __NO_MATH_INLINES. - * sysdeps/i386/dl-machine.h (elf_machine_rel): Only declare refsym - if not RTLD_BOOTSTRAP. - * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise. - * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. - -2001-02-09 Ulrich Drepper - - * locale/programs/linereader.c (get_ident): Stop loop if EOF. Use - lr_ungetc to push back last read character. - * locale/programs/linereader.h (lr_ungetc): Don't push back is - character is EOF. - (lr_ignore_rest): Don't warn about garbage if it is really the end - of the file. - - * manual/Makefile: Use ifnottext and not ifinfo to protect Top node - definition. - -2001-02-08 Ulrich Drepper - - * Makerules (build-shlib): Work around different order of - processing of -B option in different gcc versions. - - * posix/regex.c: Fix alignment problem. - Patch by Isamu Hasegawa . - - * sysdeps/alpha/strrchr.S: Little optimization. - Patch by Richard Henderson . - - * sysdeps/alpha/alphaev67/strrchr.S: New file. - Contributed by Rick Gorton . - -2001-02-08 kaz Kojima - - * sysdeps/sh/sh3/setjmp.S (__sigsetjmp): Correct function name - in the assembler end directive. - -2001-02-08 Andreas Jaeger - - * manual/stdio.texi (Closing Streams): Fix typos. - -2001-02-07 Ulrich Drepper - - * sysdeps/alpha/alphaev67/strncat.S: Align last write address. - Patch by Richard Henderson . - Reported by Claus-Justus Heine . - - * stdlib/strfmon.c [USE_IN_LIBIO]: Define lock variable and store - pointer in FILE structure before calling _IO_init. - * stdlib/Makefile: Add -D_IO_MTSAFE_IO to CFLAGS for strfmon and - strfmon_l if necessary. - Reported by Jury Gerold . - - * sysdeps/gnu/netinet/tcp.h: Correct values of TCP_ macros. - Patch by Pekka.Pietikainen@cern.ch. - - * posix/regex.c: Correct several problems with 64-bit architectures - introduced in the MBS changes. - Patch by Isamu Hasegawa . - -2001-02-07 Jakub Jelinek - - * math/tgmath.h: Only add l suffixes if __NO_LONG_DOUBLE_MATH is - not defined. - * sysdeps/alpha/fpu/bits/mathinline.h: Honour __NO_MATH_INLINES. - -2001-02-07 Andreas Jaeger - - * manual/install.texi (Tools for Compilation): Fix typo. - Reported by Pavel Machek . - -2001-02-07 Ulrich Drepper - - * stdlib/strtod.c: Never stop prematurely reading digits before the - decimal point is found. Compute exponent limit for negative exponents - correctly. For numbers ending in all zeros eat the zeros even before - the decimal point if the exponent is negative [PR libc/2072]. - * stdlib/Makefile (tests): Add bug-strtod. - * stdlib/bug-strtod.c: New file. - -2001-02-07 Andreas Jaeger - - * posix/bug-regex1.c: Include for fwide. - -2001-02-06 Ulrich Drepper - - * posix/regex.c (regex_compile): Don't store pointer in wchar_t array. - Store index. - (compile_range): Handle index being passed, not pointer. - Patch by Isamu Hasegawa . - - * posix/regex.c: Fix a cast in the code for bracket handling which - caused 8-bit uncleanliness. - Patch by Michal Jaegermann . - - * posix/Makefile (tests): Add bug-regex1. - * posix/bug-regex1.c: New file. - Contributed by Jim Meyering . - - * posix/regex.c: Many cleanups for incorrect format strings. - -2001-02-06 Andreas Jaeger - - * time/time.h (CLK_TCK): Check for !__STRICT_ANSI. - -2001-02-06 Ulrich Drepper - - * locale/programs/locale.c (write_locales): Use scandir to read - directory so that the entries are sorted. - -2001-02-06 Andreas Jaeger - - * include/pthread.h: New file. - - * wctype/wctype.h: Move internal interfaces from here to... - * include/wctype.h: ...here. - - * wcsmbs/wchar.h: Move __wcslen from here to... - * include/wchar.h: ...here. - - * posix/sys/wait.h: Move __wait from here to... - * include/sys/wait.h: ...here. - - * string/string.h: Move __ffs and __strerror_r from here to... - * include/string.h: ...here. - - * stdlib/stdlib.h: Move __on_exit from here to... - * include/stdlib.h: ...here. - - * libio/stdio.h: Move __vsnprintf from here to... - * include/stdio.h: ...here. - -2001-02-06 Andreas Schwab - - * sysdeps/unix/sysv/linux/ia64/ioperm.c: Don't include kernel - headers. - - * timezone/Makefile: Don't assume that $(inst_zonedir) is a subdir - of $(inst_datadir). - -2001-02-06 Ulrich Drepper - - * iconvdata/Makefile: Add dependency for bug-iconv2.out. - -2001-02-06 Andreas Jaeger - - * elf/firstobj.c: Add prototype. - - * posix/regex.c (convert_mbs_to_wcs): Make static, add prototype - (truncate_wchar): Likewise. - -2001-02-06 Ulrich Drepper - - * locale/programs/locale.c: Implement --verbose option for -a - which prints detailed information about the locales. - -2001-02-05 Ulrich Drepper - - * sunrpc/xdr_rec.c (set_input_fragment): Change type of header - variable to uint32_t. - Reported by Ulrich Weigand . - -2001-02-04 Bruno Haible - - * locale/C-translit.h.in: Add transliterations for CJK units of - measurement. - -2001-02-05 Ulrich Drepper - - * elf/cache.c (print_entry): Use PRIx64 instead of Lx in printf - string. Include instead of . - - * localedata/Makefile (tests): Add bug-iconv-trans. - Define bug-iconv-trans-ENV. - * localedata/bug-iconv-trans.c: New file. - -2001-02-04 Bruno Haible - - * iconv/gconv_trans.c (__gconv_transliterate): Use a temporary output - pointer, to avoid accumulating output from incomplete (unsuccessful) - transliteration attempts. - -2001-02-05 Ulrich Drepper - - * elf/ldconfig.c (search_dir): Use PRIx64 instead of Lx in printf - string. Include instead of . - - * configure.in: Add check for bison. - * config.make.in: Define BISON variable. - * intl/Makefile: Use BISON instead of YACC when generating plural.c. - Rename YFLAGS to BISONFLAGS. - -2001-02-05 Andreas Jaeger - - * io/test-lfs.c (do_test): Test lseek64 return value, call - test_ftello. - (test_ftello): New function to test ftello64 and fseeko64. - - * signal/signal.h: Move __sigaction from here to... - * include/signal.h: ...here. - - * io/fcntl.h: Move __fcntl and __open to... - * include/fcntl.h: ...here. - -2001-02-04 Philip Blundell - - * configure.in: Distinguish ARM from Thumb. - -2001-02-04 Philip Blundell - - * sysdeps/arm/dl-machine.h (elf_machine_rel): Correct handling of - PC24 relocs with negative value. - -2001-02-04 Ulrich Drepper - - * iconv/Makefile (iconv_prog-modules): Define. Add vpath to find - files in locale/programs. Add CFLAGS definition to allow compiling - localedef files. - * iconv/dummy-repertoire.c: New file. - * iconv/iconv_charmap.c: New file. - * iconv/iconv_prog.h: New file. - * iconv/iconv_prog.c: Make verbose and omit_invalid global. - (main): If parameter for -f and -t contain slashes try first to resolve - the strings as filenames of charmap files. Use them for conversion - in this case. - * iconvdata/run-iconv-test.sh: If charmaps exist also run tests with - iconv getting charmap names as parameters. - * locale/programs/linereader.c (lr_token): Take extra parameters - verbose and pass it to get_string. - (get_string): Take extra parameters verbose. - * locale/programs/charmap.c (parse_charmap): Take extra parameters - verbose and be_quiet. Change all callers of lr_token and - parse_charmap. - * locale/programs/charmap.h: Likewise. - * locale/programs/ld-address.c: Likewise. - * locale/programs/ld-collate.c: Likewise. - * locale/programs/ld-ctype.c: Likewise. - * locale/programs/ld-identification.c: Likewise. - * locale/programs/ld-measurement.c: Likewise. - * locale/programs/ld-messages.c: Likewise. - * locale/programs/ld-monetary.c: Likewise. - * locale/programs/ld-name.c: Likewise. - * locale/programs/ld-numeric.c: Likewise. - * locale/programs/ld-paper.c: Likewise. - * locale/programs/ld-telephone.c: Likewise. - * locale/programs/ld-time.c: Likewise. - * locale/programs/linereader.c: Likewise. - * locale/programs/linereader.h: Likewise. - * locale/programs/localedef.c: Likewise. - * locale/programs/locfile.c: Likewise. - * locale/programs/locfile.h: Likewise. - * locale/programs/repertoire.c: Likewise. - -2001-02-03 Ulrich Drepper - - * iconv/iconv_prog.c (main): If output file name is "-" write to - stdout. - (main): If -f or -t argument is missing use charset of the current - locale. - -2001-02-03 Andreas Jaeger - - * sysdeps/i386/elf/start.S (_start): Align stack to 16-byte - boundary for SSE/SSE-2 alignment. - - * posix/Makefile ($(objpfx)annexc.out): Also pass sysincludes to - annexc. - -2001-02-03 Ulrich Drepper - - * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: File was using crlf. - Remove comma at end of enum. - - * elf/dl-init.c: Add a few __builtin_expect. - - * hesiod/hesiod.c: Remove unnecessary code. Remove all uses of strcat. - -2001-02-02 Ulrich Drepper - - * hesiod/hesiod.c (hesiod_resolve): Also search HS records if - errno is ECONNREFUSED. - - * posix/Makefile: Define MBS_SUPPORT for regex.c. - * posix/regex.c: Implement multibyte character handling. - Patch by Isamu Hasegawa . - - * string/tst-svc.input: Add two more test cases. - * string/tst-svc.expect: Modify to reflect new test cases. - -2001-02-01 Jakub Jelinek - - * sysdeps/posix/getaddrinfo.c (gaih_local, gaih_inet): Replace all - tp->name tests with tp->name[0] tests. - -2001-01-29 Ben Collins - - * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r): - Fix check for name == NULL. - -2001-02-01 Ulrich Drepper - - * elf/Makefile: Add rules to build and run initfirst test. - * elf/initfirst.c: New file. - * elf/firstobj.c: New file. - - * Makerules (build-shlib): Add $(extra-B-$(@F:lib%.so=%).so). - * configure.in: Test for -z initfirst linker option. - * config.make.in: Add have-z-initfirst. - * elf/dl-init.c (_dl_init): Split out actual initialization code in - new function call_init. If _dl_initfirst is non-NULL initialize first. - * elf/dl-load.c (_dl_map_from_fd): If DF_1_INITFIRST flag is set - remember object in _dl_initfirst. - * elf/soinit.c: Remove special support for calling - __pthread_initialize_minimal. - - * conform/conformtest.pl: Add missing $prepend in type test. - -2001-01-31 Ulrich Drepper - - * elf/elf.h (SHT_CHECKSUM): New definition. - - * posix/fnmatch_loop.c: Remove incorrect reverse condition in - [. .] matching. Patch by Isamu Hasegawa . - * posix/tst-fnmatch.input: Add tests for [. .] in locales. - -2001-01-31 Mark Kettenis - - * misc/sys/select.h: Include instead of - to get definition of `struct timeval'. - -2001-01-31 Ulrich Drepper - - * posix/tst-fnmatch.input: Add test cases for de_DE.UTF-8 locale. - * posix/fnmatch_loop.c: Fix handling of [= =] for multibyte charsets. - -2001-01-30 Ulrich Drepper - - * iconv/gconv_open.c (__gconv_open): Set conv_flags if IGNORE is - seen, not flags. - - * nis/nis_findserv.c: Include . - -2001-01-30 Yong Li - - * iconv/iconv_prog.c (main): Correct error handling method name. - -2001-01-29 Ben Collins - - * sysdeps/sparc/fpu/fraiseexcpt.c: Include . - * sysdeps/hppa/fpu/fraiseexcpt.c: Likewise. - * sysdeps/m68k/fpu/fraiseexcpt.c: Likewise. - * sysdeps/s390/fpu/fraiseexcpt.c: Likewise. - -2001-01-30 Ulrich Drepper - - * locale/programs/ld-measurement.c (measurement_finish): Fix a typo. - Patch by Marko Myllynen . - - * string/bits/string2.h (__strpbrk_c2): Correct parameter types - (int instead of char). - (__strpbrk_c3): Likewise. - Reported by GOTO Masanori . - - * sysdeps/generic/bits/sockaddr.h: Remove SA_LEN macro. - * sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h: Likewise. - * include/sys/socket.h: Add SA_LEN here for internal use. - Reported by Arkadiusz Miskiewicz . - -2001-01-29 Ulrich Drepper - - * malloc/Makefile: Don't build memusagestat if cross-compiling. - - * sysdeps/generic/dl-sysdep.c (set_seen): Fix typo. - - * math/libm-test.inc (rint_test): Add a few more tests for round - to even rounding. - -2001-01-28 Ulrich Drepper - - * conform/data/pthread.h-data: Correct return type of pthread_exit. - - * conform/conformtest.pl: Add -fno-builtin to CFLAGS. - - * conform/data/stdlib.h-data: Add _Exit. - - * inet/arpa/inet.h: Don't include . Define socklen_t - if not already happened. - * inet/netinet/in.h: Don't include , use . - Don't include and . - - * conform/data/netinet/in.h-data: Allow all of . - - * conform/data/spawn.h-data: Allow all of . - - * sysdeps/ia64/fpu/fraiseexcpt.c: Include . Removed - unused variable. - - * sunrpc/xdr_rec.c (xdrrec_getpos): Add cast to long to avoid warning. - * sunrpc/xdr_sizeof.c (x_inline): Likewise. - - * sysdeps/ieee754/ldbl-96/s_frexpl.c: Include . - - * conform/conformtest.pl: Define $mustprepend{"stdio.h"}. - * libio/stdio.h: Define va_list correctly. - - * conform/data/pthread.h-data: Make priority protocol related - functions optional. Fix typos. - - * posix/sched.h: Define sched_priority as __sched_priority. - * sysdeps/generic/bits/sched.h (struct sched_param): Rename element - to __sched_priority. - * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. - -2001-01-27 Ulrich Drepper - - * sysdeps/generic/clock_getcpuclockid.c: Include instead - of . - - * sysdeps/unix/stime.c: Include for NULL. - * sysdeps/unix/time.c: Likewise. - - * conform/data/time.h-data: CLK_TCK is not in XPG6. Fix tzname entry. - * sysdeps/mach/hurd/bits/time.h: Don't define CLK_TCK for XPG6. - * sysdeps/mach/hurd/i386/bits/time.h: Likewise. - * sysdeps/unix/sysv/linux/bits/time.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/time.h: Likewise. - * sysdeps/unix/sysv/linux/i386/bits/time.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/time.h: Likewise. - * time/time.h: Likewise. - - * conform/conformtest.pl (@headers): Add complex.h and tgmath.h. - * conform/data/complex.h-data: New file. - * conform/data/tgmath.h-data: New file. - - * conform/data/wchar.h-data: Add missing functions. - - * sysdeps/gnu/bits/utmpx.h: Define RUN_LVL only if __USE_GNU. - - * conform/data/termios.h-data: Add missing const in tcsetattr() - prototype. - - * posix/sys/wait.h: Include and . - Don't define pid_t here. - - * conform/data/sys/utsname.h-data: Don't provide fixed array sizes. - - * conform/data/sys/time.h-data: Allow sys/select.h. - * conform/data/sys/un.h-data: Fix typo. - * time/sys/time.h: Don't include all of , just struct timeval. - * sysdeps/posix/clock_getres.c: Include instead of - . - * sysdeps/unix/clock_nanosleep.c: Likewise. - * sysdeps/unix/i386/clock_getcpuclockid.c: Likewise. - * sysdeps/unix/i386/i586/clock_getres.c: Likewise. - * sysdeps/unix/clock_gettime.c: Also include . - * sysdeps/unix/clock_settime.c: Likewise. - - * sysdeps/generic/pselect.c: Include for NULL. - * login/getutent.c: Likewise. - * login/getutid.c: Likewise. - * login/getutline.c: Likewise. - - * socket/sys/un.h: Define SUN_LEN only if __USE_MISC. - - * sysdeps/unix/sysv/linux/bits/statvfs.h: Change type of f_fsid field - to unsigned long. Add __f_unused. Define _STATVFSBUF_F_UNUSED. - * sysdeps/unix/sysv/linux/internal_statvfs.c: Adjust initialization of - f_fsid field after change in struct statvfs. - * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: New file. - * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: New file. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statvfs.h: New file. - - * conform/data/sys/stat.h-data: Remove isfdtype. Use - optional-macro. - - * conform/data/sys/socket.h-data: Fix typos. Correct getsockopt, - recvfrom, send, and socketpair prototypes. Add allow lines. - * socket/sys/socket.h: Include . - Don't use fancy __SOCKADDR_ARG definition unless __USE_GNU. - Fix type of second parameter of listen. - Don't declare isfdtype unless __USE_MISC. - * sysdeps/generic/listen.c: Fix type of second parameter of listen. - * sysdeps/mach/hurd/listen.c: Likewise. - * sysdeps/generic/bits/socket.h (struct sockaddr_storage): Define - ss_family and __ss_family. - * sysdeps/unix/sysv/aix/bits/socket.h: Likewise. - * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. - (struct msghdr): Change type of msg_iovlen to int and type of - msg_controllen to socklen_t. - * sysdeps/unix/sysv/linux/alpha/bits/socket.h: New file. - * sysdeps/unix/sysv/linux/ia64/bits/socket.h: New file. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/socket.h: New file. - * inet/rcmd.c (rcmd_af): __ss_family is now ss_family. - (rresvport_af): Likewise. - - * conform/data/sys/shm.h-data: SHMLBA is not required to by a constant. - * conform/conformtest.pl: Implement handling of symbol. - - * signal/signal.h: Fix handling of __need_* symbols. - * misc/sys/select.c: Define fd_set here. Remove __fd_set. Define - fd_mask only if __USE_MISC. Declare pselect for __USE_XOPEN2K. - * include/sys/select.h: Use fd_set not __fd_set. - * sysdeps/generic/bits/select.h: Likewise. - * sysdeps/i386/bits/select.h: Likewise. - * sysdeps/generic/bits/types.h: Don't define __fd_mask, __NFDBITS, - __FDELT, __FDMASK, and __fd_set here. - * sysdeps/unix/sysv/aix/bits/types.h: Likewise. - * sysdeps/unix/sysv/hpux/bits/types.h: Likewise. - * sysdeps/unix/sysv/linux/bits/types.h: Likewise. - * sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/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. - * time/sys/time.h: Define struct timeval before including - and . - - * conform/data/sys/time.h-data: fd_set is a typedef. - * conform/data/sys/select.h-data: New file. - * conform/data/sys/mman.h-data: Make typed mem stuff optional. - * conform/conformtest.pl (@headers): Add sys/select.h. - (type, optional-type): Unless testing a typedef instantiate object. - Implement optional-function. - - * math/test-misc.c: Include . - -2001-01-27 Andreas Jaeger - - * misc/efgcvt_r.c: Include . - -2001-01-26 Ulrich Drepper - - * conform/data/stdlib.h-data: Account for XPG6 changes. - * stdlib/stdlib.h (__random): Change return value type to long. - (posix_memalign): Cleanup parameter names. - (setenv, unsetenv): Make available for __USE_XOPEN2K. - Change return type of unsetenv to int. - (qecvt, qgcvt, qfcvt): Declare only if __USE_MISC. - * include/stdlib.h: Change return type of unsetenv to int. - Change return type of random to long int. - * sysdeps/generic/setenv.c (unsetenv): Change return type to int. - Return -1 and set errno if parameter is invalid. - * stdlib/random.c (__random): Change return value type to long. - - * conform/data/stdio.h-data: Account for changes in XPG6. - - * conform/data/spawn.h-data: Correct posix_spawnattr_setflags - prototype. - - * conform/conformtest.pl: Define $mustprepend{"signal.h"}. - * conform/data/signal.h-data: Fix sigev_notify_function entry. - Fix typo (SIGVALRM -> SIGVTALRM). - * sysdeps/unix/sysv/linux/bits/siginfo.h: Define sigev_notify_attr - with real type. - * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Likewise. - - * conform/conformtest.pl: Implement optional-element. Define - $mustprepend{"sched.h"}. - * conform/data/sched.h-data: Make sporadic scheduler definitions - optional. - - * pwd/pwd.h: Don't define getpwent_r for XPG. - - * io/sys/poll.h: Define nfds_t and use it in poll prototype. - * sysdeps/generic/poll.c: Use nfds_t type in function definition. - * sysdeps/mach/hurd/poll.c: Likewise. - * sysdeps/unix/bsd/poll.c: Likewise. - * sysdeps/unix/sysv/linux/poll.c: Likewise. - * sysdeps/unix/sysv/aix/poll.c: Likewise. - * sysdeps/generic/bits/poll.h: Define NPOLLFILE only if __USE_MISC. - * sysdeps/unix/sysv/linux/bits/poll.h: Likewise. - * sysdeps/unix/sysv/linux/m68k/bits/poll.h: Likewise. - * sysdeps/unix/sysv/linux/mips/bits/poll.h: Likewise. - * sysdeps/unix/sysv/linux/sparc/bits/poll.h: Likewise. - * conform/data/poll.h-data: Fix typo in poll prototype. - - * sysdeps/gnu/netinet/tcp.h: Define everything but TCP_ macros - only if __USE_MISC. - * conform/data/netinet/tcp.h-data: Reserved prefix TCP_. - - * sysdeps/gnu/net/if.h: Cleanup namespace. Define IF_NAMESIZE. - - * inet/netinet/in.h: Make IPPROTO_ constants also macros. - - * conform/conformtest.pl: Implement optional-type. - - * resolv/netdb.h: Include not . Include - only if __USE_MISC. Include instead of - defining uint32_t here. Define IPPORT_RESERVED. - (struct hostent): Type of h_length element is int. - (getnameinfo): Type of flags parameter is unsigned int. - * inet/getnameinfo.c (getnameinfo): flags argument is unsigned. - * conform/data/netdb.h-data: Add many missing definitions. - - * conform/conformtest.pl: Implement optional-macro. - * conform/data/math.h-data: Update for XPG6. - - * math/math.h (HUGE): Define as FLT_MAX value but don't use - FLT_MAX. Don't include . - (MAXFLOAT): Likewise. - - * math/math.h: Define MATH_ERRNO and MATH_ERREXCEPT. - - * include/bits/xopen_lim.h: Don't define FOPEN_MAX here. - - * conform/data/limits.h-data: Mark constants as optional wherever - appropriate. - - * posix/bits/posix2_lim.h: Set correct values for - _POSIX2_COLL_WEIGHTS_MAX and _POSIX2_CHARCLASS_NAME_MAX. Remove - EQUIV_CLASS_MAX. - - * posix/bits/posix1_lim.h: Define _POSIX_TZNAME_MAX as 6. - Required by POSIX. - - * intl/loadmsgcat.c: Include for _LIBC. - - * conform/data/netinet/in.h-data: Add reserved prefixes. - - * conform/data/arpa/inet.h-data: Fix a few typos. - -2001-01-26 Andreas Jaeger - - * sysdeps/generic/strtol.c: Include - * stdlib/strtod.c: Likewise - * stdlib/strfmon.c: Likewise. - * string/strcoll.c: Likewise. - * string/strxfrm.c: Likewise. - * wctype/wcfuncs_l.c: Likewise. - * wctype/wctype_l.c: Likewise. - * wctype/wctrans_l.c: Likewise. - - * include/bits/locale.h: New file. - -2001-01-26 Ulrich Drepper - - * locale/langinfo.h: Correct logic in #ifs when defining YESSTR - and NOSTR. - - * locale/Makefile (headers): Add bits/locale.h. - * locale/langinfo.h: Don't include . Include - and use __LC_ constants instead of LC_. - * locale/locale.h: Include and define LC_ constants - using __LC_ constants. - * locale/bits/locale.h: New file. - * locale/loadlocale.c: Include . - * locale/nl_langinfo.h: Likewise. - - * posix/glob.h: Cleanup namespace for non-_GNU_SOURCE case. - - * io/sys/stat.h: Define S_IFSOCK for XPG6. - - * conform/data/fcntl.h-data: posix_madvise is not expected here. - - * conform/conformtest.pl: Fix handling of macro-str. - - * conform/data/inttypes.h-data: Add missing definition and all of - stdint.h-data. - - * sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Bump to 20. - -2001-01-25 Ulrich Drepper - - * conform/conformtest.pl (@headers): Add stdint.h. - * conform/data/stdint.h-data: New file. - - * conform/conformtest.pl: Recognize options --headers and - --dialect. Add dialect-specific CFLAGS. - - * conform/conformtest.pl: Implement handling of recursive - allow-header. - - * conform/data/locale.h-data: Add new struct lconv members. - - * posix/wordexp.h: Correct definition of wordexp_t. - * posix/wordexp.c: Moved to ... - * sysdeps/generic/wordexp.c: ...here. New file. - * sysdeps/unix/sysv/linux/alpha/wordexp.c: New file. - * sysdeps/unix/sysv/linux/ia64/wordexp.c: New file. - * sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c: New file. - * sysdeps/unix/sysv/linux/alpha/Versions [libc] (GLIBC_2.2.2): Add - wordexp. - * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. - - * math/tgmath.h: Pretty printing. +2001-09-04 Jakub Jelinek - * math/Makefile (tests): Add test-tgmath. - (CFLAGS-test-tgmath.c): New variable. - * math/test-tgmath.c: New file. Contributed by Jakub Jelinek. + * iconv/strtab.c (strtabinit): Initialize null Strent. + (newstring): Move len == 0 handling... + (strtabadd): ...here. + If len == 1, return null Strent. + When inserting a suffix of an existing string, check if + it is not equal to some suffix already recorded. + Copy left and right members over if adding longer string. - * conform/conformtest.pl: Handle allow-header in secondary headers - correctly. +2001-09-04 Jakub Jelinek - * conform/data/fcntl.h-data: Mark symbols introduced in XPG6 with - #ifdef. + * sunrpc/rpc_cout.c (upcase): Account for trailing '\0'. - * conform/data/netinet/in.h-data: Use correct comment character. - * conform/data/sys/stat.h-data: Likewise. + * sysdeps/unix/sysv/linux/alpha/gethostname.c: Include . + (__syscall_gethostname): Add prototype. -2001-01-25 Jakub Jelinek +2001-09-04 Ulrich Drepper - * math/tgmath.h (__TGMATH_BINARY_FIRST_REAL_ONLY, - __TGMATH_BINARY_REAL_ONLY, __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY, - __TGMATH_TERNARY_REAL_ONLY): Use proper arguments to - __builtin_classify_type, add ##f suffixes where appropriate. - (__TGMATH_UNARY_REAL_IMAG): Remove extraneous left parenthesis. - (__TGMATH_BINARY_REAL_IMAG): Likewise, use proper arguments to - __builtin_classify_type. - (fma): Fix spelling of first argument. + * elf/dl-object.c (_dl_new_object): Remove unnecessary if. -2001-01-25 Ulrich Drepper +2001-09-02 Ulrich Drepper - * conform/data/unistd.h-data: Mark functions removed in XPG6 - correctly. + * elf/rtld.c (dl_main): Increment l_opencount for main binary. - * posix/unistd.h: Don't make functions removed in XPG6 available if - __USE_XOPEN2K. +2001-08-27 Roland McGrath - * conform/conformtest.pl: Implement optional-constant. - * conform/data/unistd.h-data: Use optional-constant wherever - appropriate. + * sysdeps/unix/sysv/gethostname.c (__gethostname): When LEN is too + short, copy that much into NAME anyway before returning error. - * sysdeps/generic/bits/confname.h: Correct names of _SC_PBS - constants and add _SC_STREAMS. - * sysdeps/posix/sysconf.c (__sysconf): Likewise. +2001-09-01 Richard Henderson - * sysdeps/unix/sysv/linux/statvfs64.c: Rename to __statvfs64 and - make old name weak alias. - * sysdeps/generic/statvfs64.c: Likewise. - * sysdeps/unix/sysv/linux/fstatvfs64.c: Rename to __fstatvfs64 and - make old name weak alias. - * sysdeps/generic/fstatvfs64.c: Likewise. - * include/sys/statvfs.h: New file. + * sysdeps/alpha/elf/Dist: Remove file. + * sysdeps/alpha/elf/Makefile: Remove file. + * sysdeps/alpha/elf/crtbegin.S: Remove file. + * sysdeps/alpha/elf/crtend.S: Remove file. + * sysdeps/alpha/elf/initfini.c: New file. - * sysdeps/generic/bits/confname.h: Define _PC_REC_INCR_XFER_SIZE, - _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, and - _PC_REC_XFER_ALIGN. - * sysdeps/posix/pathconf.c (__pathconf): Implement handling of - _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, - _PC_REC_MIN_XFER_SIZE, and _PC_REC_XFER_ALIGN. - * sysdeps/posix/fpathconf.c (__fpathconf): Likewise. +2001-09-01 Mark Kettenis - * conform/conformtest.pl: Run Unix tests for XPG6. - Implement handling of known namespace violations. - Improve printing of results. + * iconv/tst-iconv1.c: Include for wchar_t. + * iconv/tst-iconv3.c: Likewise. - * posix/unistd.h (usleep): Correct return type. - * sysdeps/unix/sysv/linux/usleep.c: Correct return type. - * sysdeps/unix/bsd/usleep.c: Correct return type. - * sysdeps/mach/usleep.c: Correct return type. - * sysdeps/generic/usleep.c: Correct return type. +2001-09-01 Jakub Jelinek - * posix/unistd.h (sync): Correct return type. - * sysdeps/generic/sync.c: Likewise. - * sysdeps/mach/hurd/sync.c: Likewise. + * sysdeps/generic/inttypes.h (__gwchar_t): Define to wchar_t for C++. - * sysdeps/generic/bits/confname.h (_SC_IOV_MAX): New definition. +2001-09-01 Ulrich Drepper - * posix/unistd.h: Make seteuid and setegid available for XPG6. + * iconv/gconv_cache.c: Rename variable cache to __gconv_cache and + export it. + * iconv/Versions (libc) [GLIBC_2.2.5]: Export __gconv_cache. + * iconv/iconv_prog.c (insert_cache): New function. + (print_known_names): If cache is used call insert_cache to use the + information from the cache [PR libc/2509]. - * wcsmbs/wchar.h: Get FILE definition for XPG5. +2001-08-31 Ulrich Drepper - * conform/data/ctype.h-data: Use correct comment form. - * conform/data/errno.h-data: Likewise. - * conform/data/math.h-data: Likewise. - * conform/data/mqueue.h-data: Likewise. - * conform/data/netdb.h-data: Likewise. - * conform/data/pthread.h-data: Likewise. + * time/strptime.c (strptime_internal): Recognize 'l' format and + handle it like 'I' for symmetry with strftime. -2001-01-24 Ulrich Drepper +2001-08-31 Richard Henderson - * conform/data/wordexp.h-data: Fix typo. + * elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL. + (HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present. + * elf/rtld.c (HP_TIMING_AVAIL): Likewise. + (print_statistics): Make scalar unsigned long long. + * sysdeps/alpha/hp-timing.h: New file. - * conform/conformtest.pl: Handle allow-header correctly. +2001-08-31 Jakub Jelinek - * conform/data/time.h-data: Use correct comment form. + * stdio-common/perror.c (perror): Save errno early, pass it + down to perror_internal. + (perror_internal): Add errnum argument. - * conform/conformtest.pl (checknamespace): Ignore #undef lines. +2001-08-31 Jakub Jelinek - * configure.in: Comment out binutils version test. + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code. + Don't add old memory content for R_ALPHA_REFQUAD. - * stdlib/strtod.c (str_to_mpn): Correct parsing of thousands - separators. - Reported by Lagardere Jean-Francois . +2001-08-30 Ulrich Drepper - * stdlib/tst-strtod.c (locale_test): New function. - (main): Call locale_test. - * stdlib/Makefile (tst-strtod-ENV): New variable. + * crypt/md5-crypt.c (__md5_crypt_r): Compute used and required + memory correctly. -2001-01-24 Mark Kettenis + * sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Use __open + instead of open, __close instead of close, __getpagesize instead + of getpagesize. - * hurd/hurdsig.c (_hurdsig_getenv): Remove spurious innermost - declaration of value such that we actually return the value of the - environment variable. + * string/argz-stringify.c (__argz_stringify): Use __strnlen + instead of strnlen. + * include/string.h (strndupa): Redefine here to use __strnlen + instead of strnlen. + * string/strndup.c (__strndup): Use __strnlen not strnlen. -2001-01-24 Andreas Jaeger + * misc/syslog.c (vsyslog): Fix typo in last change (connect -> + connected). - * sysdeps/unix/sysv/linux/init-first.c: Remove extra __sysctl - prototype. - * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. +2001-08-30 Jakub Jelinek - * include/sys/sysctl.h: New file. + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Don't handle + R_ALPHA_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC. Only check + for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Similarly. + * sysdeps/ia64/dl-machine.h (elf_machine_rel): Similarly. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rel): Similarly. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rel): Similarly. -2001-01-23 Andreas Jaeger +2001-08-30 Ulrich Drepper - * stdlib/Makefile ($(objpfx)isomac.out): Also pass sysincludes to - isomac. + * sysdeps/alpha/fpu/libm-test-ulps: Adjust j0 ULPs. - * elf/dl-load.c (_dl_init_paths): Don't use strdupa in function - arguments. Reported by Jiri Kubicek , - closes PR libc/2039. +2001-08-30 Andreas Jaeger - * manual/install.texi (Tools for Compilation): Change required - binutils version. + * sysdeps/ieee754/ldbl-128/e_jnl.c: New file, + contributed Stephen L Moshier. -2001-01-22 Andreas Jaeger +2001-08-30 Jakub Jelinek - * configure.in: Add test for new enough binutils version, move - compiler/binutils test up. + * sunrpc/etc.rpc (sgi_fam): Add. - * Versions.def: Add version GLIBC_2.2.2. +2001-08-30 Ulrich Drepper -2001-01-21 Ulrich Drepper + * sysdeps/unix/sysv/linux/alpha/gethostname.c: New file. - * iconvdata/TESTS: UTF-8 test data for IBM932 and IBM943 are now - available. - * iconvdata/testdata/IBM932: New file. - * iconvdata/testdata/IBM932..UTF8: New file. - * iconvdata/testdata/IBM943: New file. - * iconvdata/testdata/IBM943..UTF8: New file. - Contributed by Masahide Washizawa . +2001-08-29 Ulrich Drepper -2001-01-21 Franz Sirl + * nis/nis_findserv.c (__nis_findfastest): Don't fail if reply received + first is from a previous call. + Patch by Alexander Belopolsky for [PR libc/3670]. - * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Correctly mask offset. +2001-08-29 Andreas Schwab -2001-01-21 Ulrich Drepper + * sysdeps/ia64/fpu/libm-test-ulps: Updated. - * malloc/malloc.c: Remove a few unnecessary initializers of global - variables. +2001-08-25 Maciej W. Rozycki -2000-12-09 H.J. Lu + * config.make.in (INSTALL_SCRIPT): Define. + * Makeconfig (INSTALL_SCRIPT): Define. + * Makerules (do-install-script): New macro to install scripts using + INSTALL_SCRIPT. + (install-bin-script): New rule to install scripts with + do-install-script. + (install-bin-script-nosubdir): New rule. + (install-no-libc.a-nosubdir): Add install-bin-script-nosubdir. + (distinfo-vars): Add $(install-bin-script). + * Rules (others): Likewise. + * Makefile (glibcbug): Install with install-bin-script. + * debug/Makefile (xtrace): Likewise. + (catchsegv): Likewise. + * elf/Makefile (ldd): Likewise. + * malloc/Makefile (mtrace): Likewise. + * timezone/Makefile (tzselect): Likewise. - * nss/Makefile (routines): Add digits_dots. - * nss/Versions (libc): Add __nss_hostname_digits_dots to GLIBC_2.2.2. - * nss/digits_dots.c (__nss_hostname_digits_dots): Turn template - into a function. - * nss/nsswitch.h (__nss_hostname_digits_dots): New internal NSS - function. - * nss/getXXbyYY.c (H_ERRNO_VAR_P): New definition. - (TYPE_VAR_P): Likewise. - (FLAGS_VAR): Likewise. - (AF_VAR_P): Likewise. - (INTERNAL (REENTRANT_NAME)): Call __nss_hostname_digits_dots () - instead of including digits_dots.c. - * nss/getXXbyYY_r.c (H_ERRNO_VAR_P): New definition. - (TYPE_VAR_P): Likewise. - (FLAGS_VAR): Likewise. - (AF_VAR_P): Likewise. - (INTERNAL (REENTRANT_NAME)): Call __nss_hostname_digits_dots () - instead of including digits_dots.c. +2001-08-29 H.J. Lu -2001-01-21 Ulrich Drepper + * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Pass + ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to + _dl_lookup_versioned_symbol () and _dl_lookup_symbol (). - * sysdeps/posix/getaddrinfo.c: Reduce .data size. +2001-08-29 Andreas Schwab -2001-01-21 Andreas Jaeger + * sysdeps/m68k/fpu/libm-test-ulps: Updated. - * elf/constload2.c: Add prototype for init. +2001-08-28 H.J. Lu -2001-01-21 Ulrich Drepper + * Makeconfig (combreloc-LDFLAGS): New variable. + Add it to LDFLAGS.so, LDFLAGS-rtld, and +link. + * config.make.in (have-z-combreloc): New variable. + * configure.in: Substitute libc_cv_z_combreloc. - * stdlib/stdlib.h (drand48_data): Make available only for - __USE_MISC. Rename elements to protect namespace. Change type - and position of a and init element. - * stdlib/drand48-iter.c: Don't handle unsigned short > 16 bit - differently. Adjust for drand48_data change. Don't compute a here, - it comes from drand48_data. - * stdlib/lcong48_r.c: Don't handle unsigned short > 16 bit - differently. Adjust for drand48_data change. Compute a here. - * stdlib/srand48_r.c: Likewise. - * stdlib/drand48.c: Adjust for drand48_data change. - * stdlib/lrand48.c: Likewise. - * stdlib/mrand48.c: Likewise. - * stdlib/seek48.c: Likewise. - * stdlib/drand48_r.c: Likewise. - * stdlib/lrand48_r.c: Likewise. - * stdlib/mrand48_r.c: Likewise. - * stdlib/seed48_r.c: Likewise. Don't handle unsigned short > 16 bit - differently. - * stdlib/erand48_r.c: Don't handle unsigned short > 16 bit differently. - * stdlib/jrand48_r.c: Likewise. +2001-08-29 Ulrich Drepper * po/sv.po: Update from translation team. + * po/fr.po: Likewise. + * po/da.po: Likewise. -2001-01-21 Andreas Jaeger - - * stdio-common/vfprintf.c (vfprintf): Add casts. - -2001-01-20 Ulrich Drepper - - * iconvdata/run-iconv-test.sh: Reorgnize a bit to allow running only - the ASCII test. - * iconvdata/TESTS: Add entries for IBM932 and IBM943. - - * iconvdata/Makefile (modules): Add IBM932 and IBM943. - * iconvdata/gconv-modules: Add entries for IBM932 and IBM943. - * iconvdata/ibm932.c: New file. - * iconvdata/ibm932.h: New file. - * iconvdata/ibm943.c: New file. - * iconvdata/ibm943.h: New file. - Patches by Masahide Washizawa . - - * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix typo - preventing optimization from being done. Set the correct type bit - in seen. Don't define and use _dl_base_addr unless - NEED_DL_BASE_ADDR is defined. - - * io/ftw.c (ftw_dir): Add slash after directory name if there - wasn't any. Reported by loris . - * io/Makefile (tests): Add bug-ftw2. - * io/bug-ftw2.c: New file. - -2001-01-19 Ulrich Drepper - - * stdlib/jrand48_r.c (__jrand48_r): Correct constructing of - results. Reported by Jeff Higham . - * stdlib/tst-rand48.c: New file. - * stdlib/Makefile (tests): Add tst-rand48. - - * locale/newlocale.c (__newlocale): Fix test for setting all - categories. - -2001-01-19 Mark Kettenis - - * sysdeps/mach/hurd/chroot.c (chroot): Revert 1999-02-27 changes, - but change looking up the initial directory port in a similar way - as done by _hurd_change_directory_port_from_name. - * hurd/fchroot.c (fchroot): Likewise. - -2001-01-18 Ulrich Drepper - - * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): If HAVE_AUX_XID is - defined don't look whether the AT_*ID values were set. - If HAVE_AUX_PAGESIZE is defined don't look whether the pagesize is set. - (_dl_show_auxv): Rewrite to avoid switch statement. - * sysdeps/unix/sysv/linux/kernel-features.h: Define - __ASSUME_AT_PAGESIZE for kernel >= 2.4.1. - * sysdeps/unix/sysv/linux/ldsodefs.h: Define HAVE_AUX_XID. - Define HAVE_AUX_PAGESIZE if __ASSUME_AT_PAGESIZE is defined. - - * sysdeps/unix/sysv/linux/fxstat64.c: Add one __builtin_expect. - * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. - * sysdeps/unix/sysv/linux/xstat64.c: Likewise. - - * elf/rtld.c (process_envvars): Call __strtoul_internal instead of - strtoul. - * elf/dl-minimal.c (strtol, __strtol_internal, strtoul): Removed. - (__sigjmp_save): Set __mask_was_saved to zero since we don't save - anything. - * dlfcn/eval.c (__strtol_internal): Define here. - (eval): Use __strtol_internal instead of strtol. - - * elf/elf.h: Add a few more EF_MIPS_* constants. - -2001-01-17 Ulrich Drepper - - * manual/Makefile (chapters): Add debug. - * manual/debug.texi: New file. - * manual/examples/execinfo.c: New file. - Patch by suckfish@ihug.co.nz. - -2001-01-17 Andreas Schwab - - * sysdeps/m68k/bits/byteswap.h (__bswap_32): Add cast to avoid - invalid asm. - -2001-01-17 Andreas Jaeger - - * nscd/connections.c (nscd_run): Use proper format specifier. - -2001-01-16 Ulrich Drepper - - * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Move x86_cap_flags and - x86_platforms data into new file after prepending _dl_. Change - users. - * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: New file. - * sysdeps/unix/sysv/linux/i386/Dist: Add dl-procinfo.c. - * sysdeps/unix/sysv/linux/i386/Makefile: Add rules to build - dl-procinfo.c. - - * setjmp/setjmp.h: Cleanup definition of setjmp macro. - - * sysdeps/i386/elf/bsd-setjmp.S: Real implementation. - * sysdeps/i386/elf/bsd-_setjmp.S: Removed. - * sysdeps/i386/elf/setjmp.S (setjmp): Removed here. - (_setjmp): Likewise. - * sysdeps/i386/bsd-_setjmp.S: Real implementation. - * sysdeps/i386/bsd-setjmp.S: Real implementation. - * sysdeps/i386/bits/setjmp.h: Remove PUSH_SIGNAL_MASK definition. - * sysdeps/i386/setjmp.S: Remove PIC support. This is the non-ELF - version. - -2001-01-16 Andreas Jaeger - - * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h (SIGCONTEXT): Fix - misapplied last patch. - -2001-01-15 Ulrich Drepper - - * stdlib/random.c (__initstate): Clean up a cast. - (__setstate): Likewise. - - * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove select - syscall handling. The generic Linux version should work. - -2001-01-15 Andreas Jaeger - - * sysdeps/unix/sysv/linux/sys/sendfile.h: Fix typo. - - * stdio-common/tstscanf.c (main): Add two testcases for '*' modifier. - -2001-01-14 Jakub Jelinek - - * nss/getent.c (print_aliases, aliases_keys, ethers_keys, - netgroup_keys, print_rpc, rpc_keys, print_shadow, shadow_keys): - New functions. - (group_keys, hosts_keys, network_keys, passwd_keys, protocols_keys): - If number is 0, list all. - (services_keys): Likewise. Lookup aliases as well. - (databases): New table. - (build_doc): Prepare argp doc text with list of supported databases. - (main): Change to table driven processing. - -2001-01-14 Thorsten Kukuk - - * sunrpc/xdr.c (xdr_long, xdr_u_long): Fix comments about these - functions. - -2001-01-03 Jakub Jelinek - - * sunrpc/xdr.c (xdr_long, xdr_u_long): Return FALSE if trying to - encode value which does not fit in the 32bit type. - -2001-01-15 Hiroyuki Machida - - * sysdeps/unix/sysv/linux/mips/register-dump.h (REGISTER_DUMP): - Change type of CTX to (struct sigcontext *). - * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h (GET_PC): Likewise. - (GET_FRAME): Likewise. - (GET_STACK): Likewise. - (SIGCONTEXT): Likewise. Add 2nd arg _code. - (SIGCONTEXT_EXTRA_ARGS): Add 2nd arg _code. - -2001-01-13 Ulrich Drepper - - * manual/texinfo.tex: Update from upstream version. - -2001-01-13 Jakub Jelinek - - * inet/ether_ntoh.c (lookup_function): Change arguments to match - _nss_*_getntohost_r prototype. - (ether_ntohost): Pass errno pointer to NSS function. - -2001-01-12 Franz Sirl - - * sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MS_SYNC): Fix value. - (MAP_LOCKED): New definition. - (MAP_NORESERVE): New definition. - -2001-01-12 Ulrich Drepper - - * assert/assert.h: Use static_cast instead of C-style cast for C++. - Patch by Enrico Scholz . - -2001-01-12 Ben Collins - - * sysdeps/generic/segfault.c (install_handler): Use access, not - __access. - -2001-01-12 Andreas Jaeger - - * posix/fnmatch_loop.c (FCT): Remove signed warnings. - * posix/wordexp.c (do_parse_glob): Likewise. - * sysdeps/posix/sigblock.c (__sigblock): Likewise. - * sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise. - * elf/dl-open.c (_dl_open): Likewise. - * elf/dl-close.c (_dl_close): Likewise. - * elf/dl-load.c (_dl_map_object): Likewise. - * iconv/iconv_prog.c (process_fd): Likewise. - * stdio-common/vfscanf.c (_IO_vfscanf): Likewise. - - * locale/localeinfo.h (struct locale_data): Use __flexarr instead - of a zero-length array. - -2001-01-11 Jakub Jelinek - - * stdlib/cxa_atexit.c (__cxa_atexit): Cast to (void *, int) func. - * stdlib/cxa_finalize.c (__cxa_finalize): Add hidden second argument. - * stdlib/cxa_on_exit.c: Remove. - * stdlib/Makefile: Revert last patch. - * stdlib/Versions: Likewise. - * include/stdlib.h: Likewise. - * stdlib/exit.h: Revert last patch. - (struct exit_function): Add second argument to cxa fn. - * stdlib/exit.c: Revert last patch. - (exit): Add hidden second argument. - -2001-01-11 H.J. Lu - - * elf/dl-libc.c (do_dlopen): Move DL_STATIC_INIT to ... - * elf/dl-open.c (_dl_open): Here. - * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_lock): - Make it static. - (_dl_static_init): Initialize the variables every time when possible. - * sysdeps/unix/sysv/linux/ia64/ldsodefs.h (DL_STATIC_INIT): - Undefine it first. - -2001-01-11 Ulrich Drepper - - * stdlib/Makefile (routines): Add cxa_on_exit. - * stdlib/Versions [libc] (GLIBC_2.2.1): Add __cxa_on_exit. - * stdlib/cxa_on_exit.c: New file. - * include/stdlib.h: Add prototype for __cxa_on_exit. - * stdlib/exit.c: Handle ef_cxa2. - * stdlib/exit.h (enum): Add ef_cxa2. - (struct exit_function): Add cxa2. - - * Versions.def [ld]: Add GLIBC_2.2.1. - -2001-01-10 H.J. Lu - - * elf/dl-libc.c (do_dlopen): Call DL_STATIC_INIT for static binaries. - * sysdeps/unix/sysv/linux/ia64/Makefile (sysdep-dl-routines): Add - dl-static. - * sysdeps/unix/sysv/linux/ia64/Versions (ld): Add _dl_var_init. - * sysdeps/generic/ldsodefs.h (DL_STATIC_INIT): Defined if not defined. - * sysdeps/unix/sysv/linux/ia64/ldsodefs.h: New file. - * sysdeps/unix/sysv/linux/ia64/dl-static.c: New file. - * sysdeps/unix/sysv/linux/ia64/Dist: Add dl-static.c. - -2001-01-11 Ulrich Drepper - - * libio/stdio.h: Remove definition of off_t. - -2001-01-11 Andreas Jaeger - - * wcsmbs/tst-mbrtowc.c (utf8_test): New function by Markus Kuhn - . - -2001-01-10 Ulrich Drepper - - * sunrpc/Makefile (distribute): Add errqueue.h. - -2001-01-10 H.J. Lu - - * sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Also preserve - r9, r10 and r11 for language specific registers. - -2001-01-10 Jakub Jelinek - - * sunrpc/clnt_udp.c (clntudp_bufcreate): Set IP_RECVERR on the - UDP socket. - (clntudp_call): Handle MSG_ERRQUEUE. - * sysdeps/generic/errqueue.h: New file. - * sysdeps/unix/sysv/linux/errqueue.h: New file. - -2001-01-10 H.J. Lu - - * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_getpagesize): Removed. - -2001-01-10 Joseph S. Myers - - * CONFORMANCE: Update. - -2001-01-09 Ulrich Drepper - - * sysdeps/generic/elf/backtracesyms.c (__backtrace_symbols): - Minimal cleanups. Add assert to ensure memory handling is correct. - - * manual/conf.texi (File Minimums): Fix _POSIX_PATH_MAX value. - Reported by Ben Collins . - - * time/strftime.c (my_strftime): Mark previous GNU extensions - which are now in C99 as such. - -2001-01-08 Ulrich Drepper - - * elf/rtld.c (process_envvars): Place output files for profiling - in SUID binaries in /var/profile. - - * elf/dl-load.c (_dl_map_object): Don't look in cache for - preloading in SUID binaries. - - * elf/dl-profile.c (_dl_start_profile): Open the output file with - O_NOFOLLOW if possible. - - * include/stdlib.h: Add __posix_openpt declaration. - * stdlib/stdlib.h: Add posix_openpt declaration. - * login/Versions: Add posix_openpt for GLIBC_2.2.1. - * sysdeps/generic/getpt.c: Define posix_openpt. - * sysdeps/unix/bsd/getpt.c: Likewise. - * sysdeps/unix/sysv/linux/getpt.c: Likewise. - - * time/Makefile (tests): Add tst-mktime. - * time/tst-mktime.c: New file. - - * posix/tst-dir.c (main): One more mkdir() test. - - * sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize): - Remove getpagesize syscall. We assume that the pagesize is always - determined from the auxiliary vector. - - * intl/dcigettext.c: Fix a few warnings. - Patch by Bruno Haible . - -2001-01-08 Andreas Jaeger - - * io/test-lfs.c (do_test): Check lseek64 return for EINVAL. - Reported by Joseph S. Myers . - -2001-01-08 Ulrich Drepper - - * sysdeps/generic/segfault.c (install_handler): Check output file - name with access(). - - * resolv/res_query.c: Use simply getenv() for HOSTALIASES. - * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add HOSTALIASES. - - * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add missing comma. - - * malloc/memusage.c (me): Use access() to determine whether we - should write the output file or not. - - * libio/bits/stdio.h (printf): Define macro to map printf call to - fprintf which gcc can optimize. - * stdio-common/printf.c: Undefine printf. - -2001-01-07 Ulrich Drepper - - * sysdeps/generic/bits/byteswap.h (__bswap_64): Partly revert last - patch. We must use unsigned int for l member of union. - - * sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Don't call - _dl_aux_init for shared libraries. - - * sysdeps/unix/sysv/linux/glob64.c: Moved to ... - * sysdeps/gnu/glob64.c: ...here. New file. - -2001-01-07 Ben Collins - - * manual/examples/longopt.c: Make the "struct option" a little - more like it should be, adding usage of required_argument, - noargument and such, and also setting the options string right. - - * manual/sysinfo.texi (Load Average): New section, documents - getloadavg(). - -2001-01-06 Ulrich Drepper - - * version.h (VERSION): Bump to 2.2.1. - - * sysdeps/unix/sysv/linux/mips/Dist: Remove sys/acct.h. - * sysdeps/alpha/Dist: Add alphaev6/stxncpy.S and alphaev6/stxcpy.S. - * sysdeps/unix/sysv/aix/Dist: Add uitrunc.c, savef.S, and restf.S. - * dlfcn/Makefile (distribute): Add errmsg1mod.c. - * Makefile (distribute): Add include/libc-internal.h. - * libio/Makefile (distribute): Avoid overwriting. - - * iconvdata/ibm937.c (BODY to IBM937): Correct several mistakes in - buffer and table handling. - -2001-01-05 H.J. Lu - - * elf/dl-support.c (non_dynamic_init): Move the auxiliary - vector checking to ... - (_dl_aux_init): Here. New function. Defined only if - HAVE_AUX_VECTOR is defined. - - * sysdeps/generic/libc-start.c (__libc_start_main): Call - _dl_aux_init for static binaries if HAVE_AUX_VECTOR is defined. - - * sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Call - _dl_aux_init. - - * sysdeps/unix/sysv/linux/ldsodefs.h (DL_FIND_AUXV): Removed. - (HAVE_AUX_VECTOR): Defined. - (_dl_aux_init): Declared. - -2001-01-05 Ben Collins - - * manual/string.texi (Finding Tokens in a String): Document XPG - basename() and dirname(), as well as GNU basename(). - -2001-01-05 Jakub Jelinek - - * Makeconfig (preprocess-version): Replace -traditional with - -x assembler-with-cpp. - -2001-01-05 Joseph S. Myers - - * math/bits/cmathcalls.h: Don't define inline cimag, creal or conj - for GCC 2.97 or later. - -2001-01-05 Ben Collins - - * manual/stdio.texi (getline): Clarify the return value in the - case of EOF being reached before a newline. - -2001-01-04 Jakub Jelinek - - * sunrpc/pmap_clnt.c (__get_myaddress): Return TRUE if successful, - FALSE otherwise. - (pmap_set, pmap_unset): Check __get_myaddress return value. - -2001-01-05 Mark Kettenis - - * sysdeps/generic/netinet/if_ether.h: Include . - (struct ether_addr): Declare ether_addr_octet member as - `u_int8_t'. Add __attribute__ ((__packed__)). - -2001-01-06 Mark Kettenis - - * sysdeps/mach/hurd/readdir64.c: New file. - * sysdeps/mach/hurd/readdir64_r.c: New file. - -2001-01-07 Mark Kettenis - - * sysdeps/mach/hurd/fstatvfs.c (fstatvfs): Add comment about - `struct statfs' and `struct statvfs' being identical. - * sysdeps/mach/hurd/statvfs.c (statvfs): Likewise. - -2001-01-06 Mark Kettenis - - * sysdeps/mach/hurd/fstatfs64.c: New file. - * sysdeps/mach/hurd/fstatvfs64.c: New file. - * sysdeps/mach/hurd/statfs64.c: New file. - * sysdeps/mach/hurd/statvfs64.c: New file. - * sysdeps/mach/hurd/statfsconv.c: New file. - * sysdeps/mach/hurd/Dist: Add statfsconv.c. - -2001-01-06 Ulrich Drepper - - * iconv/skeleton.c: Reset outbuf for next round of the loop. - Reported by Owen Taylor . - * iconv/Makefile (tests): Add tst-iconv3. - * iconv/tst-iconv3.c: New file. - - * iconvdata/ibm930.c: Fix handling of state. Optimize a bit. - * iconvdata/ibm933.c: Likewise. - * iconvdata/ibm935.c: Likewise. - * iconvdata/ibm937.c: Likewise. - * iconvdata/ibm939.c: Likewise. - * iconvdata/ibm930.h: Adjust single byte table for optimization. - * iconvdata/ibm933.h: Likewise. - * iconvdata/ibm935.h: Likewise. - * iconvdata/ibm939.h: Likewise. - - * iconvdata/testdata/IBM930: Add misssing SI. - * iconvdata/testdata/IBM933: Likewise. - * iconvdata/testdata/IBM935: Likewise. - * iconvdata/testdata/IBM937: Likewise. - * iconvdata/testdata/IBM939: Likewise. - -2001-01-06 Andreas Jaeger - - * configure.in: Check for old add-ons that shouldn't be used with - current glibc anymore. - -2001-01-06 Mark Kettenis - - * sysdeps/mach/hurd/readdir_r.c (__readdir_r): Return error number - instead of -1 on failure. Don't forget to copy file name into - *ENTRY if successful. Set *RESULT to NULL upon reaching the end - of the directory. - -2001-01-06 Mark Kettenis - - * sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Don't forget to - copy st_atime member. - -2001-01-05 Ulrich Drepper - - * io/ftw.c (ftw_dir): Don't add a second slash at the beginning - for searches from the root directory. - Reported by loris [PR libc/1991]. - * io/Makefile (tests): Add bug-ftw1. - * io/bug-ftw1.c: New file. - - * elf/dl-support.c (non_dynamic_init): Don't define DL_FIND_AUXV - if it is not available. Instead use it only if it is available. - * sysdeps/unix/sysv/linux/ldsodefs.h: New file. - - * iconv/gconv_simple.c (internal_ics4_loop): Correct test for - overflowing output buffer. - (internal_ucs4_loop_unaligned): Likewise. - (ucs4_internal_loop): Likewise. - (ucs4_internal_loop_unaligned): Likewise. - (internal_ucs4le_loop): Likewise. - (internal_ucs4le_loop_unaligned): Likewise. - (ucs4le_internal_loop): Likewise. - (ucs4le_internal_loop_unaligned): Likewise. - Reported by Owen Taylor . - * iconv/Makefile (tests): Add tst-iconv2. - * iconv/tst-iconv2.c: New file. - -2001-01-04 H.J. Lu - - * elf/dl-support.c (DL_FIND_AUXV): New. Defined if not defined. - (_dl_clktck): Declared. - (non_dynamic_init): Take 3 arguments. - Set _dl_pagesize, _dl_platform and _dl_clktck from AUX. - -2001-01-01 Bruno Haible - - Finish implementation of plural form handling. - * intl/dcigettext.c (known_translation_t): Rename 'domain' field to - 'domainname'. Remove 'plindex' field. Add 'domain' and - 'translation_length' fields. - (transcmp): Don't compare 'plindex' fields. - (plural_lookup): New function. - (DCIGETTEXT): Change cache handing in the plural case. Don't call - plural_eval before the translation and its catalog file have been - found. Remove plindex from cache key. Add 'translation_length' and - 'domain' to cache result. - (_nl_find_msg): Remove index argument, return length of translation - to the caller instead. Weaken comparison of string lengths, to account - for plural entries. Call iconv() on the entire result string, not - only on the portion needed so far. - * intl/loadinfo.h (_nl_find_msg): Remove index argument, add lengthp - argument. - * intl/loadmsgcat.c (_nl_load_domain): Adapt to _nl_find_msg change. - -2001-01-04 Ulrich Drepper - - * intl/plural.y (yylex): Minimal improvement in number scanner. - -2000-07-31 Bruno Haible - - * intl/plural.y: Include config.h. Needed to define 'inline' away for - C compilers that don't support it. - (yylex): Don't use gcc specific case range syntax. - * intl/loadmsgcat.c (INIT_GERMANIC_PLURAL): New macro, for old - compilers. - -2000-10-12 Bruno Haible - - * intl/finddomain.c: Remove unneeded includes. - -2000-10-12 Bruno Haible - - * intl/localealias.c (memcpy): Return first argument, just like the - real memcpy function does. - * intl/bindtextdom.c (memcpy): Likewise. - * intl/finddomain.c (memcpy): Likewise. - * intl/l10nflist.c (memcpy): Likewise. - * intl/textdomain.c (memcpy): Likewise. - From Paul Eggert . - -2001-01-03 Jakub Jelinek - - * resolv/resolv.h (struct __res_state): Add nsinit field. - * resolv/res_send.c (res_nsend): Use it instead of nscount. - * resolv/res_init.c (__res_vinit): Initialize it. - (res_nclose): Clear it instead of nscount. - -2001-01-04 Ulrich Drepper - - * malloc/mtrace.pl: Fix matching of addresses. - Patch by Aharon Robbins . - - * Versions.def (ld): Add GLIBC_2.2. - - * catgets/gencat.c: Copyright 2001. - * csu/version.c: Likewise. - * debug/catchsegv.sh: Likewise. - * debug/xtrace.sh: Likewise. - * elf/ldconfig.c: Likewise. - * elf/sprof.c: Likewise. - * iconv/iconv_prog.c: Likewise. - * locale/locale.c: Likewise. - * locale/localedef.c: Likewise. - * malloc/memusage.sh: Likewise. - * malloc/mtrace.pl: Likewise. - * nscd/nscd.c: Likewise. - * posix/getconf.c: Likewise. - -2001-01-04 Mark Kettenis - - * include/stdio.h: Only provide __getwc_unlocked prototype if - USE_IN_LIBIO is defined. - -2001-01-04 Kaz Kojima - - * sysdeps/unix/sysv/linux/sh/socket.S (__socket): Fix error code - handling. - -2001-01-03 Andreas Schwab - - * sysdeps/generic/strtoll.c: Remove unused __strtoq_internal alias. - * sysdeps/generic/strtoull.c: Remove unused __strtouq_internal alias. - - * sysdeps/wordsize-64/strtol.c: Add strtoq alias and fix strtoll alias. - * sysdeps/wordsize-64/strtoul.c: Add strtouq alias and fix - strtoull alias. - * sysdeps/wordsize-64/wcstol.c: Add wcstoq alias and fix wcstoll alias. - * sysdeps/wordsize-64/wcstoul.c: Add wcstouq alias and fix - wcstoull alias. - - * sysdeps/generic/strtoul.c: Make sure we find strtol.c in this - directory. - * sysdeps/generic/strtol_l.c: Likewise. - * sysdeps/generic/strtoul_l.c: Likewise. - * sysdeps/generic/wcstoul.c: Likewise, for wcstol.c. - - * sysdeps/wordsize-64/strtol_l.c: Fix alias. - * sysdeps/wordsize-64/strtoul_l.c: Likewise. - * sysdeps/wordsize-64/wcstol_l.c: Fix alias. - * sysdeps/wordsize-64/wcstoul_l.c: Likewise. - -2001-01-04 Andreas Jaeger - - * nss/nsswitch.c: Include files for missing prototypes, remove - buggy declaration of prototypes. - -2001-01-03 Franz Sirl - - * resolv/Versions: Fix bracing. - * sysdeps/powerpc/soft-fp/Versions: Likewise. - * sysdeps/sparc/sparc64/soft-fp/Versions: Likewise. - -2001-01-02 Franz Sirl - - * sysdeps/powerpc/dl-machine.c (__process_machine_rela): Fix typo. - -2001-01-02 Ulrich Drepper - - * manual/Makefile (TEXI2PDF): Change to texi2dvi --pdf. - Suggested by Minko Markov . - -2001-01-02 Franz Sirl - - * sysdeps/powerpc/elf/start.S (__data_start): Make it global. - * sysdeps/powerpc/dl-machine.c (dl_reloc_overflow): Print the name of - the failing symbol. - (__process_machine_rela): Pass symbol to dl_reloc_overflow(). - -2001-01-02 Ben Collins - - * time/tzset.c (tzset_internal): Make sure we fall back to UTC - if TZ is not set and TZDEFAULT is not present. - -2001-01-01 Ben Collins - - * string/strings.h: Make sure we declare our functions even if - string.h is already included, based on whether or not __USE_BSD is - defined. - -2001-01-02 Ulrich Drepper - - * dlfcn/dlerror.c (dlerror): Handle call of dlerror() before any - other dlopen() and dlsym(). - Based on a patch by Ben Collins . - -2001-01-02 Andreas Jaeger - - * dlfcn/errmsg1.c (main): Call dlerror initially. - Reported by Ben Collins . - -2001-01-02 Ulrich Drepper - - * intl/dcigettext.c (guess_category_value): Rewrite so that LANGUAGE - value is ignored if the selected locale is the C locale. - * intl/tst-gettext.c: Set locale for above change. - * intl/tst-translit.c: Likewise. - -2001-01-02 Andreas Jaeger - - * libio/wgenops.c (_IO_wdoallocbuf): Use correct wide access macro. - (_IO_switch_to_wget_mode): Likewise. - (_IO_sputbackwc): Likewise. - (_IO_sungetwc): Use wint_t for result. - - * stdio-common/vfscanf.c (__vfscanf): Use WINT_T for done. - - * sysdeps/generic/strtol.c (strtol): Make cnt size_t for correct - signedness. - - * sysdeps/generic/printf_fphex.c (putc): Cast _IO_putwc_unlocked - to (int) to avoid warnings. - * stdio-common/printf_fp.c (putc): Likewise. - * stdio-common/printf_size.c (putc): Likewise. - - * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Make - constant unsigned. - -2001-01-01 Andreas Jaeger - - * inet/rcmd.c (rcmd_af): Use socklen_t for len. - -2000-12-31 Andreas Jaeger - - * include/libc-internal.h: Add prototype for __libc_freeres. - - * sysdeps/unix/sysv/linux/init-first.c: Include - for prototypes, remove redundant prototypes. - * gmon/gmon.c: Likewise. - * sysdeps/unix/i386/i586/clock_getres.c: Likewise. - * sysdeps/unix/i386/i586/clock_gettime.c: Likewise. - * malloc/mtrace.c: Likewise. - - * sysdeps/generic/enbl-secure.c: Include for - prototypes. - * elf/soinit.c: Likewise. - * sysdeps/generic/prof-freq.c: Likewise. - * sysdeps/mach/hurd/profil.c: Likewise. - * debug/noophooks.c: Likewise. - * debug/pcprofile.c: Likewise. - * sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Likewise. - * sysdeps/generic/get_clockfreq.c: Likewise. - * malloc/set-freeres.c: Likewise. - - * locale/localeinfo.h: Add internal prototypes. - - * elf/rtld.c (dl_main): Fix prototype. - - * iconvdata/tst-table-to.c (main): Use return instead of exit to - avoid warning. - - * nis/rpcsvc/yp_prot.h: Remove __P. - * nis/rpcsvc/ypupd.h: Likewise. - * nis/rpcsvc/yp.h: Likewise. - - * sunrpc/rpc_main.c: Add noreturn attributes. - * sunrpc/rpc_scan.h: Likewise. - - * sunrpc/rpc_hout.c (storexdrfuncdecl): Make static. - - * sunrpc/rpcinfo.c: Add noreturn attribute to brdcst. - - * sunrpc/proto.h: Add noreturn attributes to error and crash. - - * posix/bsd-getpgrp.c: Add prototype to avoid warning. - - * sunrpc/svc_unix.c: Include for prototypes. - - * sunrpc/create_xid.c: Include for prototypes. - - * include/rpc/rpc_msg.h: Add prototypes for some functions. - * include/rpc/auth.h: Likewise. - * include/rpc/auth_des.h: Likewise. - * include/rpc/clnt.h: Likewise. - * include/rpc/rpc.h: Likewise. - * include/rpc/svc.h: Likewise. - * include/rpc/svc_auth.h: Likewise. - - * include/rpc/des_crypt.h: New file. - - * malloc/memusagestat.c (main): Use return instead of exit to - avoid warning. - * io/pwd.c (main): Likewise. - * iconvdata/tst-table-from.c (main): Likewise. - * ctype/test_ctype.c (main): Likewise. - * setjmp/tst-setjmp.c (main): Likewise. - * signal/tst-signal.c (main): Likewise. - * stdlib/tst-strtol.c (main): Likewise. - * stdlib/tst-strtod.c (main): Likewise. - * stdlib/tst-strtoll.c (main): Likewise. - * stdlib/tst-xpg-basename.c (main): Likewise. - * dirent/tst-seekdir.c (main): Likewise. - * grp/testgrp.c (main): Likewise. - * inet/test_ifindex.c (main): Likewise. - * io/test-utime.c (main): Likewise. - * posix/test-vfork.c (main): Likewise. - * posix/testfnm.c (main): Likewise. - * stdio-common/temptest.c (main): Likewise. - * stdio-common/test_rdwr.c (main): Likewise. - * stdio-common/tst-fileno.c (main): Likewise. - * stdio-common/tst-sscanf.c (main): Likewise. - * stdio-common/tstscanf.c (main): Likewise. - * string/bug-strncat1.c (main): Likewise. - * string/bug-strpbrk1.c (main): Likewise. - * string/bug-strspn1.c (main): Likewise. - * string/test-ffs.c (main): Likewise. - * string/tst-inlcall.c (main): Likewise. - * string/tst-svc.c (main): Likewise. - * timezone/test-tz.c (main): Likewise. - * wctype/test_wcfuncs.c (main): Likewise. - * wctype/test_wctype.c (main): Likewise. - - * stdlib/tst-random.c: Add attribute noreturn to fail. - -2000-12-28 Wolfram Gloger - - * malloc/malloc.c (MALLOC_COPY): Handle case if source and - destination overlap. Assume dest is always below source if - overlapping. - -2000-12-30 Ulrich Drepper - - * elf/dl-close.c (_dl_close): We can ignore the NODELETE flag if the - object was not yet initialized. - -2000-12-28 H.J. Lu - - * elf/dl-deps.c (_dl_map_object_deps): Make sure the DSO state - is always consistent even if its dependency is failed. - - * elf/dl-open.c (_dl_open): Increment the open count before - calling _dl_close () in case of failure. - - * elf/neededtest4.c: New file. - * elf/neededobj5.c: New file. - * elf/neededobj6.c: New file. - - * elf/Makefile (distribute): Add neededobj5.c and neededobj6.c. - (tests): Add neededtest4. - (modules-names): Add neededobj5 and neededobj6. - ($(objpfx)neededobj6.so): New target. - ($(objpfx)neededtest4): New target. - ($(objpfx)neededtest4.out): New target. - -2000-12-28 Joseph S. Myers - - * misc/sys/cdefs.h (__attribute_format_strfmon__): Define. - * stdlib/monetary.h: Add strfmon format attributes. - -2000-12-28 Roland McGrath - - * sysdeps/mach/hurd/ioctl.c (do_ioctl): Avoid double-increment after - __mempcpy does it for us. - -2000-12-28 Andreas Jaeger - - * sysdeps/generic/dl-environ.c: Add prototype for unsetenv. - - * sysdeps/unix/sysv/linux/i386/setrlimit.c: Add prototype for - __new_setrlimit. - - * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Add prototype for - __old_getrlimit64. - - * sysdeps/unix/sysv/linux/i386/getrlimit.c: Add prototype for - __new_getrlimit. - - * sysdeps/unix/sysv/linux/i386/chown.c: Add prototypes for - __chown_is_lchown and __real_chown. - - * sysdeps/generic/ldsodefs.h: Add noreturn attribute to - _dl_reloc_bad_type. - - * sunrpc/rpc_hout.c (print_funcdef): Add break statement to shut - up GCC's warning about "deprecated use of label at end of compound - statement." - * sunrpc/rpc_cout.c (emit_inline): Likewise. - - * gmon/bb_exit_func.c: Include for internal - prototypes. - Remove struct bb and __bb_head since those are declared by - sys/gmon.h. - -2000-12-22 Ben Collins - - * manual/charset.texi: Fix typo in description of WCHAR_MAX. - - * manual/argp.texi: Document argp_domain as part of struct argp. - -2000-12-28 Andreas Jaeger - - * catgets/Makefile (generated): Add sample.SJIS.cat. - - * sunrpc/rpc_dtable.c: Include rpc/clnt.h for prototypes. - - * elf/dl-minimal.c: Add prototypes. - - * include/locale.h: Add internal prototypes. - * include/sys/gmon.h: Likewise. - - * dlfcn/errmsg1mod.c: Add prototype for foo to shut up GCC. - -2000-12-27 Ben Collins - - * elf/dl-open.c (_dl_open): Correctly set the new objname pointer - when reallocating the error strings. - Reported by Kalle Olavi Niemitalo - -2000-12-27 Ulrich Drepper - - * dlfcn/Makefile (tests): Add errmsg1. - (modules-names): Add errmsg1mod. - Add rules to run errmsg1. - * dlfcn/errmsg1.c: New file. - * dlfcn/errmsg1mod.c: New file. - - * dlfcn/dlerror.c (dlerror): Always create output string which - includes object file name. - - * sysdeps/alpha/alphaev6/memcpy.S: Don't go through unrolled loop - if we would go through it only once. - Patch by Rick Gorton . - - * sysdeps/alpha/alphaev67/strncat.S: Fix handling of numeric parameter. - Patch by Richard Henderson . - -2000-12-27 Jakub Jelinek - - * malloc/malloc.c (memmove): Add prototypes. - (MALLOC_MEMMOVE): Define. - (chunk_realloc): Use it instead of MALLOC_COPY if source and - destination might overlap. - -2000-12-27 Andreas Jaeger - - * stdio-common/printf_fp.c (__printf_fp): Add prototype for nested - function. - * elf/dl-load.c (_dl_map_object_from_fd): Likewise. - * locale/programs/locale.c (show_locale_vars): Likewise. - (show_info): Likewise. - * locale/programs/ld-collate.c (collate_output): Likewise. - * locale/programs/ld-ctype.c (set_class_defaults): Likewise. - * elf/dl-deps.c (_dl_map_object_deps): Likewise. - * stdlib/rpmatch.c (rpmatch): Likewise. - - * setjmp/tst-setjmp.c: Make local functions static. - * setjmp/jmpbug.c: Likewise. - * signal/tst-signal.c: Likewise. - * stdio-common/tfformat.c: Likewise. - * string/tst-svc.c: Likewise. - * time/clocktest.c: Likewise. - * time/tst-getdate.c: Likewise. - * dirent/list.c: Likewise. - * dirent/opendir-tst1.c: Likewise. - * posix/runtests.c: Likewise. - * posix/tst-getaddrinfo.c: Likewise. - * posix/tst-chmod.c: Likewise. - * posix/wordexp-test.c: Likewise. - * misc/tst-efgcvt.c: Likewise. - * timezone/tst-timezone.c: Likewise. - * rt/tst-clock.c: Likewise. - * rt/tst-shm.c: Likewise. - * rt/tst-aio2.c: Likewise. - * rt/tst-aio3.c: Likewise. - * rt/tst-aio4.c: Likewise. - * rt/tst-aio5.c: Likewise. - - * dlfcn/failtest.c: Add prototype for foo. - - * dlfcn/glrefmain.c: Add prototype for do_test. - - * dlfcn/tst-dladdr.c: Add prototype for do_test. - - * string/test-ffs.c (main): Add prototype for nested function. - - * sunrpc/des_soft.c: Include rpc/des_crypt.h for prototype. - - * nss/XXX-lookup.c: Add prototype to shut up GCC. - - * include/netinet/ether.h (DECLARE_NSS_PROTOTYPES): Fix - setetherent prototype. - Add internal interfaces. - - * nis/nss_nis/nis-ethers.c (_nss_nis_setetherent): Likewise. - * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_setetherent): Likewise. - - * resolv/res_data.c: Don't add (conflicting) prototypes for _LIBC. - - * nis/nis_intern.h: Add prototype for __pmap_getnisport. - - * nss/nss_files/files-ethers.c: Include netinet/ether.h to get - prototypes, remove struct etherent since it's declared in ether.h. - Fix ntohost declaration. - - * elf/dl-profile.c (_dl_mcount): Add empty statement to shut up GCC. - - * include/getopt.h: Add internal interfaces. - * include/termios.h: Likewise. - * include/resolv.h: Likewise. - * include/netdb.h: Likewise. - * include/grp.h: Likewise. - * include/pwd.h: Likewise. - * include/shadow.h: Likewise. - * include/rpc/netdb.h: Likewise. - * include/setjmp.h: Likewise. - - * include/stdio.h: Add prototypes for compatibility functions. - * include/grp.h: Likewise. - * include/pwd.h: Likewise. - * include/shadow.h: Likewise. +2001-08-28 Maciej W. Rozycki - * include/fenv.h: Define internal interfaces. + * Makerules: Fix a typo: MD% -> MD5. -2000-12-27 Ulrich Drepper +2001-08-28 Ulrich Drepper - * sysdeps/generic/bits/byteswap.h (__bswap_64): Handle constant - argument case separately. - * sysdeps/i386/bits/byteswap.h (__bswap_64): Likewise. + * sunrpc/rpc_hout.c (pargdef): Function must take pointer to object. + Patch by Patrick Duval . -2000-12-27 Andreas Jaeger +2001-08-28 Andreas Jaeger - * include/sys/wait.h: Add some prototypes. - * Rules (dummy.c): Create also prototype to shut up GCC. + * manual/libc-texinfo.sh: Add entry about free manuals. -2000-12-27 Andreas Jaeger + * manual/contrib.texi (Contributors): Fix cross reference. - * sysdeps/mach/hurd/if_index.c (__protocol_available): Uncomment, - it's not needed at the moment. - * sysdeps/generic/if_index.c (__protocol_available): Likewise. - * sysdeps/unix/sysv/linux/if_index.c (__protocol_available): Likewise. + * manual/libc.texinfo (Copying): Include freemanuals. -2000-12-26 Andreas Jaeger + * manual/Makefile (appendices): Add freemanuals. - * libio/getc_u.c: Include stdio.h via system path to get internal - prototypes. - * libio/getwc_u.c: Likewise. + * manual/freemanuals.texi: New file. + Patch by Brian Youmans <3diff@gnu.org>. - * stdlib/strfmon.c: Fix prototype of __printf_fp. + * manual/libm-err-tab.pl: Pretty print more platforms, print a + smaller table. - * stdio-common/vfprintf.c (process_arg): Move __printf_fphex and - __printf_fp prototypes to ... - * include/printf.h: ...here. + * manual/math.texi (Errors in Math Functions): Fix grammar, start + table on separate page. + Patch by Brian Youmans <3diff@gnu.org>. - * include/stdio.h: Add some internal prototypes to shut up GCC. - * include/stdlib.h: Likewise. +2001-08-27 Ulrich Drepper - * sysdeps/posix/sigpause.c (__sigpause): Use ISO C prototype - declaration. + * misc/syslog.c (vsyslog): Try a bit harder to use syslogd. If + the connection went down after we first used it try to connect + again and resend the message before printing to the console. + Reported by Coserea Gh. Tudor . - * include/signal.h: Add prototypes for internal sigpause - interfaces. +2001-08-27 Jakub Jelinek -2000-12-26 Ulrich Drepper + * string/tst-strlen.c (main): Test strnlen (, -1) too. + * sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top + bit set. - * sysdeps/generic/bits/byteswap.h (__bswap_64): Make it usable for - 64bit platforms. Reported by Dave Gilbert . +2001-08-27 Ulrich Drepper - * string/Makefile (tests): Add tst-bswap. - * string/tst-bswap.c: New file. + * iconv/strtab.c (searchstring): Use correct length for comparison. + (strtabadd): Account total size correct if new string has old string as + substring. -2000-12-11 Bruno Haible +2001-08-27 Jakub Jelinek - * Makefile ($(inst_includedir)/gnu/stubs.h): Sort in the C locale. + * elf/rtld.c (dl_main): Update call to _dl_lookup_symbol. -2000-12-26 Ulrich Drepper +2001-08-27 Andreas Jaeger - * sunrpc/Makefile (rpcgen-cmd): Use single quotes in sed call. - Patch by Ed Connell . + * sysdeps/i386/fpu/libm-test-ulps (float): Add ulps for new tests. -2000-12-24 Ulrich Drepper + * math/libm-test.inc (j0_test): Add extra tests. + * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Use |x|, + not x, in Hankel approximation. + Patches by Stephen L Moshier. - * locale/iso-639.def: Correct one entry. Add two missing entries. +2001-08-26 Ulrich Drepper - * locale/iso-4217.def: Change entry for Eritrea. - Reported by Daniel Yacob . + * sysdeps/ia64/dl-lookupcfg.h: Add forward declaration for struct + link_map. -2000-12-23 Ben Collins + * configure.in: Fix test for .rela.dyn section. - * manual/charset.texi (Extended Char Intro): Fix typo in ISO 6937 - description. + * elf/dl-runtime.c: Update calls to _dl_lookup_*. - * manual/stdio.texi (Dynamic Output): Document the return value of - asprintf. Also make the asprintf/snprintf examples a little - better (check for some error returns). +2001-08-26 Jakub Jelinek -2000-12-22 Andreas Jaeger + * elf/dl-reloc.c (RESOLVE_MAP, RESOLVE): Use elf_machine_type_class + instead of elf_machine_lookup_noexec_p and elf_machine_lookup_noplt_p. + Pass type_class to _dl_lookup_*. + * elf/dl-lookup.c (_dl_lookup_symbol): Take type_class parameter now. + Pass around just type_class instead of noexec, noplt pair. + (_dl_lookup_versioned_symbol): Likewise. + (_dl_lookup_symbol_skip): Pass around just type_class instead of + noexec, noplt pair. + (_dl_lookup_versioned_symbol_skip): Likewise. + (_dl_do_lookup, _dl_do_lookup_versioned): Likewise. + * elf/do-lookup.h (do_lookup): Likewise. + * include/link.h (struct link_map): Replace noexec and noplt fields + in l_lookup_cache with type_class field. + * sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_PLT, + ELF_RTYPE_CLASS_COPY): Define. + Adjust prototypes for _dl_lookup_symbol and + _dl_lookup_versioned_symbol. + * sysdeps/alpha/dl-machine.h (elf_machine_lookup_noplt_p, + elf_machine_lookup_noexec_p): Remove. + (elf_machine_type_class): Define. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/cris/dl-machine.h: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/mips/mips64/dl-machine.h: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-machine.h: Likewise. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. - * include/stdio.h: Add __ftrylockfile prototype. +2001-08-26 Ulrich Drepper -2000-12-21 H.J. Lu + * manual/message.texi (Advanced gettext functions): Change + description of plural forms for Slovak. + Reported by Marcel Telka . - * sysdeps/ia64/fpu/math_ldbl.h (ieee_long_double_shape_type): - Make sign_exponent element signed. + * manuaL/time.texi (Low-Level Time String Parsing): Fix description of + %z. Reported by C. Scott Ananian . - * sysdeps/ieee754/ldbl-96/math_ldbl.h (ieee_long_double_shape_type): - Fix a typo. +2001-08-26 Jakub Jelinek - * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Remove dead branch. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_lazy_rel): Fix a + typo. Patch by Florian La Roche . -2000-12-21 Andreas Jaeger +2001-08-26 Ulrich Drepper - * nis/nss_nisplus/nisplus-ethers.c (struct etherent): Removed. - * inet/ether_hton.c: Likewise - * inet/ether_ntoh.c: Likewise. + * include/link.h (struct link_map): Add l_lookup_cache element. + * elf/dl-reloc.c (RESOLVE): Add symbol caching here. + (RESOLVE_MAP): Likewise. + (_dl_relocate_object): Remove cache initialization. + * elf/dl-lookup.c: Rip out cache handling code. + * sysdeps/generic/ldsodefs.h: Remove lookup_cache struct and variable + declarations. - * nis/nss_nis/nis-ethers.c (_nss_nis_getntohost_r): Fix - declaration to match prototype. + * elf/dl-lookup.c (_dl_lookup_symbol): Reorder some conditions and + remove some __builtin_expect. + (_dl_lookup_versioned_symbol): Likewise. - * include/netinet/ether.h (struct etherent): Declare here so that - all implementations use the same struct. + * config.h.in: Add HAVE_Z_COMBRELOC. + * configure.in: Add test for -z combreloc. - * nis/nss_nis/nis-ethers.c: Include netinet/ether.h to get - prototypes. - (struct ether): Removed. - Use struct etherent instead of ether everywhere. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Minor cleanups and + optimizations. Use HAVE_Z_COMBRELOC to avoid generaton of + R_386_RELATIVE handling for ld.so startup. Reduce RTLD_BOOTSTRAP + case to almost no code. - * include/rpc/auth.h (DECLARE_NSS_PROTOTYPES): New. +2001-08-25 Ulrich Drepper - * include/rpc/auth_des.h (DECLARE_NSS_PROTOTYPES): New. + * po/tr.po: Update from translation team. - * sunrpc/publickey.c: Include auth_des.h for prototypes. +2001-08-24 Andreas Jaeger -2000-12-20 Ulrich Drepper + * iconv/Makefile (extra-objs): Add iconvconfig-modules so that + make clean works. - * math/test-misc.c: Add more tests for nextafter functions. +2001-08-24 Ulrich Drepper - * sysdeps/i386/fpu/s_nextafterl.c: Handle change from denormal to - normal correctly. Correct test for sign. - Based on a patch by HJ Lu. + * elf/rtld.c (print_statistics): Printf % after percent values. + * elf/dl-misc.c (_dl_debug_vdprintf): Implement %%. -2000-12-19 Ulrich Drepper + * elf/dl-lookup.c (_dl_lookup_symbol): If we use the cache we + don't have to compute the hash value and initialize current_value. + Move reference_name variable to where it is needed. + (_dl_lookup_versioned_symbol): Likewise. - * Makeconfig (preprocess-version): Add -traditional to gcc call. - Cleanup sed calls. +2001-08-24 Roland McGrath -2000-12-19 Andreas Jaeger + * string/tester.c (test_strerror): Don't use _sys_errlist/_sys_nerr. + Just test that strerror returns non-null for a few errno codes. - * include/netinet/ether.h (DECLARE_NSS_PROTOTYPES): New. +2001-08-23 Roland McGrath - * nis/nis_intern.h: Add prototype for __do_niscall3. + * hurd/Versions (libc: GLIBC_2.2.5): New set; add _hurd_raise_signal, + _hurdsig_interrupt_timeout, _hurdsig_fault_preemptor. - * nis/nss_nis/nis-rpc.c (_nss_nis_setrpcent): Fix declaration to - match prototype. + * sysdeps/posix/shm_unlink.c (shm_unlink): __unlink -> unlink. - * include/netdb.h (DECLARE_NSS_PROTOTYPES): Reformat. + * mach/Versions (libc: GLIBC_2.2.5): New set; add __mach_msg_destroy, + __mach_reply_port. - * include/rpc/netdb.h (DECLARE_NSS_PROTOTYPES): New. +2001-08-24 Ulrich Drepper - * include/aliases.h (DECLARE_NSS_PROTOTYPES): New. + * nss/test-netdb.c (test_hosts): Don't segfault if gethostname + returns NULL. -2000-12-18 Ulrich Drepper + * elf/do-rel.h (elf_dynamic_do_rel): Fix problem with ld.so + startup. Explicitly remove lazy part for RTLD_BOOTSTRAP since gcc + doesn't do it. + * elf/rtld.c: Include . + * elf/dl-reloc.c: Likewise. - * math/test-misc.c: Add more tests for nextafter. - * sysdeps/i386/fpu/s_nextafterl.c: Handle decrement for x<0 correctly. - * sysdeps/ieee754/ldbl-96/math_ldbl.h - (ieee_long_double_shape_type): Make sign_exponent element signed. +2001-08-24 Maciej W. Rozycki - * manual/message.texi: Add Estonian to plural overview list. - Correct rule for Slavic languages. - Patch by Stanislav Brabec . + * sysdeps/unix/sysv/linux/mips/configure.in: Define AC_SUBST to + empty to prevent junk from being generated. + * sysdeps/unix/sysv/linux/mips/configure: Regenerated. - * nis/nss_nis/nis-netgrp.c: Remove unnecessary initializations. +2001-08-24 Jakub Jelinek -2000-12-18 Andreas Jaeger + * elf/do-rel.h (elf_dynamic_do_rel): If l_addr is 0, skip relative + records. Rename endrel to relative, initialize it to r, and use it + in elf_machine_rel_relative calls. Point r after relative relocs. - * test-skeleton.c: Use temp_name_list instead of name_list to - avoid collision with name_list from inet/netgroup.h. +2001-08-24 Ulrich Drepper - * nss/nss_files/files-network.c (NEED_H_ERRNO): Define. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Correct prediction + of R_386_NONE. - * include/grp.h (DECLARE_NSS_PROTOTYPES): New. - * include/pwd.h (DECLARE_NSS_PROTOTYPES): New. - * include/netdb.h (DECLARE_NSS_PROTOTYPES): New. - * include/shadow.h (DECLARE_NSS_PROTOTYPES): New. +2001-08-24 Jakub Jelinek - * hesiod/nss_hesiod/hesiod-proto.c (_nss_hesiod_setprotoent): Fix - declaration to match prototype. - * hesiod/nss_hesiod/hesiod-pwd.c (_nss_hesiod_setpwent): Likewise. - * hesiod/nss_hesiod/hesiod-grp.c (_nss_hesiod_setgrent): Likewise. - * hesiod/nss_hesiod/hesiod-service.c (_nss_hesiod_setservent): - Likewise. - * nis/nss_nis/nis-grp.c (_nss_nis_setgrent): Likewise. - * nis/nss_nis/nis-pwd.c (_nss_nis_setpwent): Likewise. - * nis/nss_nis/nis-proto.c (_nss_nis_setprotoent): Likewise. - * nis/nss_nis/nis-service.c (_nss_nis_setservent): Likewise. - (_nss_nis_getservbyport_r): Likewise. - * nis/nss_nis/nis-hosts.c (_nss_nis_sethostent): Likewise. - * nis/nss_nis/nis-spwd.c (_nss_nis_setspent): Likewise. - * nis/nss_nis/nis-network.c (_nss_nis_getnetent_r): Likewise. - (_nss_nis_setnetent): Likewise - * nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Likewise. - (_nss_nis_endnetgrent): Likewise. - * nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_endnetgrent): - Likewise. - (_nss_nisplus_setnetgrent): Likewise. - * nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_setspent): Likewise. - * nis/nss_nisplus/nisplus-pwd.c (_nss_nisplus_setpwent): Likewise. - * nis/nss_nisplus/nisplus-grp.c (_nss_nisplus_setgrent): Likewise. - * nis/nss_nisplus/nisplus-network.c (_nss_nisplus_setnetent): - Likewise. - * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_sethostent): - Likewise. - * nis/nss_nisplus/nisplus-service.c (_nss_nisplus_setservent): + * elf/do-rel.h (elf_machine_rel_relative): Define for rela if + necessary. Undefine newly defined macros at the end. + * sysdeps/hppa/dl-machine.h (elf_machine_rela_relative): + Rename from elf_machine_rel_relative. + * sysdeps/cris/dl-machine.h (elf_machine_rela_relative): Likewise. + * sysdeps/m68k/dl-machine.h (elf_machine_rela_relative): Likewise. + * sysdeps/powerpc/dl-machine.h (elf_machine_rela_relative): Likewise. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela_relative): Likewise. - * nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_setprotoent): + * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela_relative): Likewise. - * nis/nss_compat/compat-spwd.c (_nss_compat_setspent): Likewise. - * nis/nss_compat/compat-pwd.c (_nss_compat_setpwent): Likewise. - * nis/nss_compat/compat-grp.c (_nss_compat_setgrent): Likewise. - * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. - * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. - (_nss_dns_getnetbyaddr_r): Likewise. - -2000-12-17 Andreas Jaeger - - * sysdeps/generic/k_sinl.c (__kernel_sinl): Fix functions - parameter. - - * sysdeps/unix/sysv/linux/shm_open.c (freeit): Make static and add - unused attribute to shut up gcc warnings. - - * sysdeps/generic/k_sinl.c: Include math_private for prototypes. - * sysdeps/generic/k_tanl.c: Likewise. - * sysdeps/generic/k_cosl.c: Likewise. - * sysdeps/generic/e_j0l.c: Likewise. - * sysdeps/generic/e_j1l.c: Likewise. - * sysdeps/generic/e_jnl.c: Likewise. - * sysdeps/generic/e_lgammal_r.c: Likewise. - - * elf/vismain.c: Move prototypes for functions in vismod*.c to - vismod.h. - * elf/vismod.h: New file. - * elf/Makefile (distribute): Add vismod.h. - * elf/vismod1.c: Include vismod.h. - * elf/vismod2.c: Likewise. - * elf/vismod3.c: Likewise. - - * elf/constload3.c: Add prototype declarations to shut up gcc. - * elf/failobj.c: Likewise. - * elf/nodelmod3.c: Likewise. - * elf/filtmod1.c: Likewise. - * elf/filtmod2.c: Likewise. - * elf/reldepmod1.c: Likewise. - * elf/reldepmod2.c: Likewise. - * elf/reldepmod3.c: Likewise. - * elf/reldepmod4.c: Likewise. - * elf/unload2dep.c: Likewise. - * elf/unload2mod.c: Likewise. - * elf/ltglobmod1.c: Likewise. - * elf/pathoptobj.c: Likewise. - * elf/neededobj1.c: Likewise. - * elf/neededobj2.c: Likewise. - * elf/neededobj3.c: Likewise. - * elf/neededobj4.c: Likewise. - * elf/nextmod1.c: Likewise. - * elf/nextmod2.c: Likewise. - - * locale/programs/ld-collate.c (collate_finish): Don't use labels - at end of compound statement. - * locale/programs/locale.c (show_info): Likewise. - * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. - -2000-12-16 Jakub Jelinek - - * catgets/gencat.c (read_input_file): Avoid calling obstack_free - with a pointer not returned by obstack_ functions. - -2000-12-16 Ulrich Drepper - - * sysdeps/unix/sysv/aix/bits/stat.h (struct stat): Align with AIX - version. - (struct stat64): Likewise. - Reported by Michael Keezer . - - * timezone/asia: Update from tzdata2000h. - * timezone/australasia: Likewise. - * timezone/backward: Likewise. - * timezone/europe: Likewise. - * timezone/northamerica: Likewise. - * timezone/southamerica: Likewise. - * timezone/zone.tab: Likewise. - -2000-12-14 Jakub Jelinek - - * io/ftw.c (ftw_dir): If process_entry returned non-zero result - and dir.stream is NULL, only free dir.content. - * io/ftwtest.c (cb, main): Add --early-exit option to test it. - * io/ftwtest-sh: Test with --early-exit. - -2000-12-13 Jakub Jelinek - - * misc/efgcvt.c (FCVT_MAXDIG): Define. - (FCVT_BUFPTR): New variable. - (fcvt): If fcvt_r returns -1 on the static short buffer, - try to malloc a sufficiently large one and retry. - (free_mem): New function. - * misc/qefgcvt.c (FCVT_MAXDIG): Define. - * misc/tst-efgcvt.c (fcvt_tests): Add new test. - -2000-12-15 Ulrich Drepper - - * misc/dirname.c (dirname): Fix search for second to last slash. - -2000-12-13 Andreas Jaeger - - * misc/tst-dirname.c (main): Fix typo in test to really use - the examples from Unix98. - Reported by Michael Kerrisk . - -2000-12-09 H.J. Lu - - * sysdeps/ia64/fpu/s_fabs.S: New file. - * sysdeps/ia64/fpu/s_fabsf.S: New file. - * sysdeps/ia64/fpu/s_fabsl.S: New file. - -2000-12-15 Andreas Jaeger - - * stdio-common/scanf9.c (main): Reformat and change to avoid - warnings. - - * stdio-common/tstdiomisc.c: Make local functions static. - * stdio-common/tst-printf.c: Likewise. - - * elf/constload2.c: Add prototype declarations to shut up gcc. - * elf/dep1.c: Likewise. - * elf/dep2.c: Likewise. - * elf/dep3.c: Likewise. - * elf/dep4.c: Likewise. - * elf/ltglobmod2.c: Likewise. - - * libio/fmemopen.c: Make local functions static. - - * elf/Makefile (distribute): Added testobj.h. - - * elf/testobj.h: New file. - - * elf/testobj1.c: Include testobj.h and move prototype - declarations to testobj.h. - * elf/testobj2.c: Likewise. - * elf/testobj3.c: Likewise. - * elf/testobj4.c: Likewise. - * elf/testobj5.c: Likewise. - * elf/testobj6.c: Likewise. - * elf/testobj1_1.c: Likewise. - * elf/preloadtest.c: Likewise. - -2000-12-15 Ben Collins - - * misc/sys/cdefs.h: Fix thinko in checks for flexarr macros. - Patch by Akim Demaille in Debian bug report. - -2000-12-14 H.J. Lu - - * sysdeps/ieee754/flt-32/s_sincosf.c (__sincosf): The exponent - field in a float is 8 bits, not 11 bits. - -2000-12-13 Jakub Jelinek - - * math/test-misc.c (main): Adjust m for IEEE quad long double. - -2000-12-13 Andreas Jaeger - - * manual/message.texi (Using gettextized software): Fix typo. - - * manual/charset.texi (Converting a Character): Fix mbstouwcs - program to compile. - Patch by Martin Buchholz . - - * sysdeps/unix/sysv/linux/sigpending.c (sigpending): Fix typo. - Reported by Michael Kerrisk . - -2000-12-11 Andreas Jaeger - - * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h: Declare - kernel_sigset_t and use it. - Patch by Hiroyuki Machida . - -2000-12-10 Richard Henderson - - * sysdeps/alpha/alphaev67/fpu/Implies: New file. - * sysdeps/alpha/alphaev6/fpu/e_sqrtf.S: New file. - * sysdeps/alpha/alphaev6/fpu/e_sqrt.S: New file. - -2000-12-10 Jakub Jelinek - - * sysdeps/alpha/htonl.S: Fix a typo. - -2000-12-10 Jakub Jelinek - - * sysdeps/alpha/alphaev6/stxcpy.S: Exchange t8 with t10. - -2000-12-10 Andreas Jaeger - - * locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fixed - cast as suggested by Jakub Jelinek and Ulrich - Drepper . - -2000-12-09 Andreas Jaeger - - * sysdeps/unix/sysv/linux/mips/sigaction.c: New file. - - * sysdeps/unix/sysv/linux/mips/sys/acct.h: Removed, we can use the - generic version. - Patches by Hiroyuki Machida . - - * locale/programs/ld-collate.c (handle_ellipsis): Fix format - string. - - * locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fix - format string. - - * nscd/hstcache.c (addhstbyname): Add cast to avoid warning. - * nscd/connections.c (handle_request): Likewise. - * nscd/pwdcache.c (addpwbyname): Likewise. - * nscd/grpcache.c (addgrbyname): Likewise. - - * nscd/nscd_conf.c (nscd_parse_file): Remove extra argument. - -2000-12-09 Ulrich Drepper - - * string/stratcliff.c: Add tests for stpncpy, memcpy, and mempcpy. - - * Makeconfig (default_cflags): Make -O2 the default for stable - releases. - -2000-12-08 H.J. Lu - - * sysdeps/ia64/fpu/s_isinfl.S: Renamed to ... - * sysdeps/ia64/fpu/s_isinf.S: This. - Add a .pred.rel.mutex note to avoid false report. - - * sysdeps/ia64/fpu/s_isnanl.S: Renamed to ... - * sysdeps/ia64/fpu/s_isnan.S: This. - - * sysdeps/ia64/fpu/s_fpclassify.S: New file. - * sysdeps/ia64/fpu/s_fpclassifyf.S: New file. - * sysdeps/ia64/fpu/s_fpclassifyl.S: New file. - * sysdeps/ia64/fpu/s_isinff.S: New file. - * sysdeps/ia64/fpu/s_isinfl.S: New file. - * sysdeps/ia64/fpu/s_isnanf.S: New file. - * sysdeps/ia64/fpu/s_isnanl.S: New file. - * sysdeps/ia64/fpu/s_finite.S: New file. - * sysdeps/ia64/fpu/s_finitef.S: New file. - * sysdeps/ia64/fpu/s_finitel.S: New file. - * sysdeps/ia64/fpu/s_signbit.S: New file. - * sysdeps/ia64/fpu/s_signbitf.S: New file. - * sysdeps/ia64/fpu/s_signbitl.S: New file. - * sysdeps/ia64/fpu/s_copysign.S: New file. - * sysdeps/ia64/fpu/s_copysignf.S: New file. - * sysdeps/ia64/fpu/s_copysignl.S: New file. - -2000-12-08 Ulrich Drepper - - * math/libm-test.inc (main): Fix typos in messages. - - * string/stratcliff.c: Add test for rawmemchr. - -2000-12-08 Jakub Jelinek - - * elf/dl-open.c (_dl_open): If objname points right after errstring, - allocate it together with errstring using alloca. - * elf/dl-error.c (_dl_signal_error): If malloc failed, set objname - to "", because it might point to local stack. - -2000-12-05 H.J. Lu - - * nss/Makefile (routines): Add getnssent and getnssent_r. - * nss/nsswitch.h (__nss_setent): New internal NSS function. - (__nss_endent): Likewise. - (__nss_getent_r): Likewise. - (__nss_getent): Likewise. - * nss/getnssent_r.c: New file. - * nss/getnssent.c: New file. - * nss/getXXent.c (H_ERRNO_VAR): Updated. - (GETFUNC_NAME): Updated to call __nss_getent (). - * nss/getXXent_r.c (H_ERRNO_VAR_P): New. - (STAYOPEN_TMPVAR): Updated. - (STAYOPEN_VAR): Updated. - (SETFUNC_NAME): Updated to call __nss_setent (). - (ENDFUNC_NAME): Updated to call __nss_endent (). - (INTERNAL (REENTRANT_GETNAME)): Updated to call __nss_getent_r (). - -2000-12-08 Andreas Jaeger - - * nscd/dbg_log.h (dbg_log): Correct attribute. - -2000-12-08 Jakub Jelinek - - * elf/dl-load.c (fillin_rpath): Don't assume there is '\0' at - cp + len. Compute where from dirname. - Reported by . - -2000-12-08 Richard Henderson - - * sysdeps/alpha/_mcount.S: Fix typo. - * sysdeps/alpha/strncpy.S: Likewise. - - * sysdeps/alpha/alphaev6/Implies: New file. - * sysdeps/alpha/alphaev67/Implies: New file. - * sysdeps/alpha/alphaev67/ffs.S: New file. - * sysdeps/alpha/alphaev67/ffsll.S: New file. - * sysdeps/alpha/alphaev67/rawmemchr.S: New file. - * sysdeps/alpha/alphaev67/stpcpy.S: New file. - * sysdeps/alpha/alphaev67/stpncpy.S: New file. - * sysdeps/alpha/rawmemchr.S: New file. - * sysdeps/alpha/strcat.S: Tail call to __stxcpy. - * sysdeps/alpha/strcpy.S: Likewise. - - From GMP 3.1.1: - * sysdeps/alpha/alphaev6/addmul_1.s: New file. - - From rick.gorton@alpha-processor.com: - * sysdeps/alpha/alphaev6/memchr.S: New file. - * sysdeps/alpha/alphaev6/memcpy.S: New file. - * sysdeps/alpha/alphaev6/memset.S: New file. - * sysdeps/alpha/alphaev6/stxcpy.S: New file. - * sysdeps/alpha/alphaev6/stxncpy.S: New file. - * sysdeps/alpha/alphaev67/strcat.S: New file. - * sysdeps/alpha/alphaev67/strchr.S: New file. - * sysdeps/alpha/alphaev67/strlen.S: New file. - * sysdeps/alpha/alphaev67/strncat.S: New file. - * sysdeps/alpha/htonl.S: Use a shorter sequence. - -2000-12-08 Jakub Jelinek - - * inet/getnameinfo.c (getnameinfo): Fix NI_NOFQDN support. - Reported by . - -2000-12-07 Jes Sorensen - - * sysdeps/ia64/elf/start.S (__data_start): Add __data_start variable. - Pointed out by Hans Boehm. - -2000-12-07 H.J. Lu - - * elf/dl-version.c (match_symbol): Check map->l_name[0] for printing. - -2000-12-07 Andreas Jaeger - - * misc/error.c: Add format attributes for __error and __error_at_line. - - * nscd/dbg_log.h: Add format attribute. - -2000-12-08 Ulrich Drepper - - * misc/sys/syslog.h: Add format attributes to syslog and vsyslog. - Patch by Joseph S. Myers . - -2000-12-07 Dan Pop - - * sysdeps/ia64/strcpy.S: Fix a bug in a recovery code sequence. - -2000-12-06 Ulrich Drepper - - * sysdeps/unix/sysv/aix/Makefile [$(subdir)==misc] - (sysdep_routines): Add uitrunc. - * sysdeps/unix/sysv/aix/uitrunc.c: New file. - Patches by Michael Keezer . - -2000-12-06 Roland McGrath - - * sysdeps/mach/hurd/ioctl.c (__ioctl): Don't clobber ARG as we copy in - argument data, since it will be used to copy out too (for INOUT). - Reported by Marcus Brinkmann . - - * sysdeps/mach/hurd/ioctl.c: Include . - (__ioctl): Use uintptr_t instead of unsigned long int. - -2000-12-06 Jim Wilson - - * stdlib/l64a.c (l64a): Truncate M to 32-bit value. - -2000-12-06 Ulrich Drepper - - * stdio-common/printf_fp.c (__printf_fp): Handle decimal point in - x.5 rounding correctly. - -2000-12-06 Mark Kettenis - - * stdio-common/perror.c (perror): Conditionalize code dealing with - wide-oriented streams on USE_IN_LIBIO. - -2000-12-06 Mark Kettenis - - * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): Mark - as internal_function. - -2000-12-05 Ulrich Drepper + * sysdeps/ia64/dl-machine.h (elf_machine_rela_relative): Likewise. + Fix argument types. + * sysdeps/alpha/dl-machine.h (elf_machine_rela_relative): Likewise. + Fix argument types. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela_relative): + Likewise. Fix argument types. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela_relative): + Likewise. Fix argument types. + * sysdeps/sh/dl-machine.h (elf_machine_rela_relative): Likewise. + Fix argument types. + * sysdeps/mips/dl-machine.h (elf_machine_rel_relative): Use + ElfW(Rel) in argument. + * sysdeps/mips/mips64/dl-machine.h (elf_machine_rel_relative): New + function. - * sysdeps/alpha/elf/start.S (__data_start): Define. +2001-08-24 Alexandre Oliva -2000-12-05 H.J. Lu + * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix typo. - * nss/getXXent_r.c (setup): Change the return type to int. +2001-08-24 Andreas Jaeger -2000-12-05 Ulrich Drepper + * sysdeps/ieee754/ldbl-128/e_j1l.c: New file, contributed by + Stephen L Moshier . - * sysdeps/unix/sysv/aix/Makefile [$(subdir)==misc] - (sysdep_routines): Add restf and savef. - * sysdeps/unix/sysv/aix/restf.c: New file. - * sysdeps/unix/sysv/aix/savef.c: New file. - Patches by Michael Keezer . +2001-08-24 Ulrich Drepper - * sysdeps/unix/opendir.c (__opendir): Don't use o_directory_works - if O_DIRECTORY is not defined. - Patch by Michael Keezer . + * elf/do-rel.h (elf_dynamic_do_rel): RELATIVE relocations comes + first if RELCOUNT is set. - * include/libc-symbols.h (C_SYMBOL_DOT_NAME): Define. - Patch by Michael Keezer . + * elf/do-rel.h (elf_dynamic_do_rel): If not relocating lazily, don't + call elf_machine_rel for the last DT_RELCOUNT relocations but instead + elf_machine_rel_relative. + * sysdeps/alpha/dl-machine.h: Define elf_machine_rel_relative. + Minor optimizations. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/cris/dl-machine.h: Likewise. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. - * locale/programs/linereader.c (get_toplvl_escape): Recognize more - than 4 bytes in escape sequence. - Patch by Shinya Hanataka . +2001-08-23 Roland McGrath -2000-12-05 Andreas Jaeger + * rt/tst-aio4.c [! SIGRTMIN] (SIGRTMIN, SIGRTMAX): Define as -1. - * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Don't - set mips2. + * sysdeps/mach/hurd/bits/libc-lock.h: New file, initially copied from + sysdeps/mach version. Implement counting ("recursive") mutexes + on top of cthreads mutexes. + * sysdeps/mach/hurd/bits/stdio-lock.h: File removed; generic now works. - * sysdeps/unix/sysv/linux/mips/sysdep.h: New file. + * sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to + _LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error. + (__libc_cleanup_region_start, __libc_cleanup_region_end, + __libc_clean_end): Define these to call the cleanup function after + normal exit when they're supposed to. - * sysdeps/unix/sysv/linux/mips/sys/syscall.h: Removed. + * sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start): + Take new first arg DOIT, a boolean saying whether to really install + any cleanup handler. + (__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero. + (__libc_cleanup_end): Likewise. + * sysdeps/generic/bits/libc-lock.h: Same changes. + * stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg. + * stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise. + * sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start): + Likewise. + * misc/syslog.c (vsyslog, openlog, closelog): Likewise. + * sysdeps/generic/bits/stdio-lock.h + (_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise. - * sysdeps/unix/mips/sysdep.h: Use SYS_ify. - Patches by Maciej W. Rozycki . +2001-08-23 Jakub Jelinek - * elf/dl-misc.c (_dl_sysdep_read_whole_file): Mark as - internal_function. - * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise. - * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start_cleanup): Likewise. + * elf/ldconfig.c (search_dir): Remove stale symlinks. - * sysdeps/generic/dl-cache.c: Remove declaration of - _dl_sysdep_read_whole_file. +2001-08-23 Jakub Jelinek - * elf/dl-load.c (_dl_map_object): Remove declaration of - _dl_load_cache_lookup. + * elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New. + (_dl_lookup_symbol): Lookup relocations in cache and store successfull + lookups in cache. + (_dl_lookup_versioned_symbol): Likewise. + * elf/dl-reloc.c (_dl_relocate_object): Initialize cache for + relocation lookup. + * elf/rtld.c (print_statistics): Output _dl_num_cache_relocations. + * sysdeps/generic/ldsodefs.h (struct lookup_cache): New definition. + (lookup_cache, lookup_cache_versioned): Add declarations. - * sysdeps/generic/ldsodefs.h: Add declarations of - _dl_load_cache_lookup, _dl_unload_cache, - _dl_sysdep_read_whole_file, _dl_sysdep_start and - _dl_sysdep_start_cleanup. +2001-08-23 Ulrich Drepper - * elf/rtld.c: Remove prototypes that are defined in ldsodefs.h - now. + * stdlib/tst-random.c (main): Swap parameters in fail call. + Patch by Pete Bevin . - * elf/dl-misc.c: Include to get prototypes. - * sysdeps/generic/dl-environ.c: Likewise. +2001-08-23 Jakub Jelinek - * stdio-common/printf_fp.c: Include instead of - . - * math/atest-exp.c: Likewise. - * math/atest-exp2.c: Likewise. - * math/atest-sincos.c: Likewise. - * stdio-common/_itoa.c: Likewise. - * stdio-common/_itowa.c: Likewise. + * sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t. - * include/gmp.h: New file with internal prototypes. +2001-08-23 Ulrich Drepper - * sysdeps/generic/longjmp.c: Move _longjmp_unwind declaration from - here to... - * include/setjmp.h: ...here. + * malloc/obstack.c: Indent preprocessor directives. + Patch by Jim Meyering . - * locale/Makefile (routines): Remove codeset_name since it's not - needed anywhere. + * po/ja.po: Update from translation team. - * locale/codeset_name.c: Removed. +2001-08-23 Roland McGrath -2000-12-05 Ulrich Drepper + * libio/tst-ungetwc1.c (main): Add a const to quiet a warning. - * sysdeps/unix/sysv/aix/sys/param.h: Define MAXHOSTNAMELEN here. + * nss/test-netdb.c (test_hosts): Don't use MAXHOSTNAMELEN. + Instead, use dynamic buffer to test gethostname's ENAMETOOLONG error. -2000-12-05 Andreas Jaeger +2001-08-22 Roland McGrath - * sysdeps/unix/sysv/linux/sys/param.h: Revert last patch. + * sysdeps/generic/ldsodefs.h (_dl_load_lock): Declare it here with + __libc_lock_define_recursive. + * elf/dl-open.c: Don't declare it here any more. + * elf/dl-close.c: Likewise. + * elf/dl-lookup.c: Likewise. + * elf/dl-iteratephdr.c: Likewise. + * elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and + __libc_lock_unlock_recursive. + * elf/dl-close.c (_dl_close): Likewise + * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise + * elf/dl-open.c (_dl_open): Likewise -2000-12-05 Martin Schwidefsky + * sysdeps/generic/bits/libc-lock.h + (__libc_lock_define_recursive): New macro. + * sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it. + (_IO_lock_lock): Use __libc_lock_lock_recursive. + (_IO_lock_unlock): Use __libc_lock_unlock_recursive. - * sysdeps/unix/sysv/linux/s390/mmap64.S: Use mmap if mmap2 isn't - available. + * conform/conformtest.pl (checknamespace): Sort the output list. -2000-12-05 Andreas Jaeger + * sysdeps/generic/bits/poll.h (POLLWRBAND): New alias for POLLOUT. + (POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND): Make these + definitions conditional on [__USE_XOPEN]. - * nss/test-netdb.c: Mark local functions as static to avoid - warnings. - (main): Use return to silence warning. + * sysdeps/mach/hurd/bits/fcntl.h (O_ASYNC, O_FSYNC, O_SYNC): Define + these unconditionally, not only use [__USE_BSD], so as to match + the sysdeps/unix/sysv/linux files. - * stdlib/test-canon.c (check_path): Mark as static to avoid warning. +2001-08-22 Ulrich Drepper - * stdio-common/test-popen.c: Mark local functions as static to + * test-skeleton.c (add_temp_file): Add __attribute__ ((unused)) to avoid warnings. - (main): Use return to silence warning. - - * stdlib/testsort.c (compare): Mark as static to avoid warning. - - * assert/test-assert.c: Mark local functions as static to avoid - warnings. - * assert/test-assert-perr.c: Likewise. - - * math/libm-test.inc (main): Use return to silence warnings. - -2000-12-04 Ulrich Drepper - - * math/fenv.h: Fix typo in comment. - - * math/test-misc.c (main): Add a few more over and underflow tests - for scalb. - * sysdeps/i386/fpu/e_scalb.S: Handle NaN as first parameter correctly. - * sysdeps/i386/fpu/e_scalbf.S: Likewise. - * sysdeps/i386/fpu/e_scalbl.S: Likewise. - * math/w_scalb.c: Don't use matherr except in SVID mode. - * math/w_scalbf.c: Likewise. - * math/w_scalbl.c: Likewise. - * math/test-misc.c: Add test for NaN and scalbl. - Reported by Fred J. Tydeman . - -2000-12-04 Ulrich Drepper + * dlfcn/tst-dladdr.c (do_test): Get address of ref1 using + DL_LOOKUP_ADDRESS. - * configure.in: Define HAVE_ASM_GLOBAL_DOT_NAME for AIX. - * config.h.in: Add HAVE_ASM_GLOBAL_DOT_NAME. - * include/libc-symbols.h (strong_alias): Define special version - for HAVE_ASM_GLOBAL_DOT_NAME. - (weak_alias): Likewise. - * sysdeps/powerpc/bsd-setjmp.S: Use strong_alias not .set. - * sysdeps/unix/sysv/aix/Makefile [$(subdir)==login] - (sysdep_routines): Add setutxent, getutxent, endutxent, getutxid, - getutxline, pututxline, and utmpxname. - * sysdeps/unix/sysv/aix/fchdir.c: Define __fchdir. - * sysdeps/unix/sysv/aix/lseek.c: Define __libc_lseek alias. - * sysdeps/unix/sysv/aix/open.c: Define __libc_open alias. - * sysdeps/unix/sysv/aix/pread.c: Define pread alias. - * sysdeps/unix/sysv/aix/pread64.c: Define pread64 alias. - * sysdeps/unix/sysv/aix/sysdep.h (JUMPTARGET): Use C_TEXT. - * sysdeps/unix/sysv/aix/bits/types.h: Define __clockid_t and __timer_t. - * sysdeps/unix/sysv/aix/bits/utmp.h: Cleanup. Add comments. - * sysdeps/unix/sysv/linux/sys/param.h (MAXHOSTNAMELEN): Define. - Patches by Michael Keezer . +2001-08-22 Roland McGrath -2000-12-04 H.J. Lu + * sysdeps/generic/bits/sigaction.h (struct sigaction): Fix up + conditionalization of sa_handler/sa_sigaction member types to + match the sysdeps/unix/sysv/linux file. - * configure.in: Change --with-oldest-abi=ABI to - --enable-oldest-abi=ABI. +2001-08-22 Ulrich Drepper -2000-12-02 Bruno Haible + * elf/dl-addr.c (_dl_addr): Handle broken binaries with zero + symbol sizes a bit better. - * stdio-common/perror.c (perror): If stderr is wide-oriented, use - fwprintf instead of fprintf. + * sysdeps/ia64/strncpy.S: Complete rewrite. + Contributed by Jakub Jelinek . -2000-12-04 Ulrich Drepper + * string/stratcliff.c (main): Add strncpy test. - * sysdeps/alpha/fpu/bits/mathdef.h: Remove FLT_EVAL_METHOD and - DECIMAL_DIG definitions. - * sysdeps/arm/fpu/bits/mathdef.h: Likewise - * sysdeps/generic/bits/mathdef.h: Likewise - * sysdeps/i386/fpu/bits/mathdef.h: Likewise - * sysdeps/ia64/fpu/bits/mathdef.h: Likewise - * sysdeps/m68k/fpu/bits/mathdef.h: Likewise - * sysdeps/powerpc/fpu/bits/mathdef.h: Likewise - * sysdeps/sparc/fpu/bits/mathdef.h: Likewise - * sysdeps/sh/sh4/fpu/bits/mathdef.h: Likewise +2001-08-22 Roland McGrath -2000-12-03 Ulrich Drepper + * sysdeps/generic/dl-environ.c: Include and , + and don't declare unsetenv or _environ directly. + (unsetenv): Return int, not void. Use __environ instead of _environ. - * math/test-fenv.c (main): Use return instead of exit to avoid warning. +2001-08-01 Mark Kettenis - * math/atest-exp.c: Mark local functions as static to avoid warnings. - * math/atest-exp2.c: Likewise. - * math/atest-sincos.c: Likewise. + * sysdeps/unix/bsd/bsd4.4/Makefile: New file. + * sysdeps/unix/bsd/bsd4.4/Versions: New file. + * sysdeps/unix/bsd/bsd4.4/cmsg_nxthdr.c: New file. + * sysdeps/unix/bsd/bsd4.4/bits/socket.h (__cmsg_nxthdr): Correct + test for cmsg struct size. - * sysdeps/i386/fpu/bits/mathdef.h (DECIMAL_DIG): Correct value. - Reported by Fred J. Tydeman . +2001-04-23 Paul Eggert - * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Hopefully fix - the handling of denormalized numbers. + * posix/getopt.h (getopt_long, getopt_long_only, _getopt_internal): + Rename __argc to ___argc in prototypes to avoid compatibility + problems with systems that reserve the identifier "__argc". + Similarly for __argv. - * math/test-misc.c (main): Test for fpclassify and pseudo denormal - numbers on x86. - * sysdeps/i386/fpu/fpclassifyl.c: New file. +2001-08-21 Roland McGrath - * sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Handle the - pseudo denormal representation of LDBL_MIN. + * stdio-common/tst-fseek.c: Include for `time' declaration. - * iconvdata/SJIS.irreversible: Remove unnecessary entries. - * iconvdata/EUC-JP.irreversible: Remove unnecessary entries. + * mach/Makefile (tests): Removed. + * mach/hello.c: File removed. - * iconvdata/sjis.c: Enable round-trip mapping of backslash and tilde. - * iconvdata/jis0208.c: Likewise. - * iconvdata/jis0212.c: Likewise. - Patch by Shinya Hanataka . +2001-08-22 Ulrich Drepper - * math/test-misc.c (main): More tests for frexp and some for - fpclassify and isnormal. + * po/sv.po: Update from translation team. - * sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf): Correct - test for subnormal. - Reported by Fred J. Tydeman . + * stdio-common/vfscanf.c: Fix handling of %l[]. + Reported by Mitsuru Chinen . - * math/test-misc.c (main): Add tests for frexp. - Reported by Fred J. Tydeman . - * sysdeps/i386/fpu/s_frexpl.S: Don't overflow during the computation. + * libio/Makefile (tests): Add tst-sscanf. + * libio/tst-sscanf.c: New file. -2000-12-02 H.J. Lu + * elf/dl-addr.c (_dl_addr): Fix tests to determine dli_sname. + * malloc/mtrace.c (tr_where): dli_sname always points to a + non-empty string if != NULL. + Reported by Tim Janik . - * locale/lc-time.c (_nl_init_era_entries): Pass L'\0' instead of - '\0' to wcschr. +2001-08-22 Jakub Jelinek -2000-12-02 Ulrich Drepper + * sunrpc/xdr_rec.c (xdrrec_create): Fix buf sizes before allocating + buf. Free resources on failure. + * sunrpc/svc_unix.c (svcunix_create): Free resources on failure. + (makefd_xprt): Likewise. + * sunrpc/svc_udp.c (svcudp_bufcreate): Likewise. + * sunrpc/svc_tcp.c (svctcp_create, makefd_xprt): Likewise. + * sunrpc/auth_unix.c (authunix_create): Likewise. - * sysdeps/i386/fpu/s_frexp.S: Add missing fwait. - * sysdeps/i386/fpu/s_frexpf.S: Likewise. - * sysdeps/i386/fpu/s_frexpl.S: Likewise. +2001-08-21 Jakub Jelinek - * sysdeps/generic/glob.c: Adjust types of several variables to - avoid warnings. + * string/strnlen.c: Remove. + * sysdeps/generic/strnlen.c: New file. + * sysdeps/i386/i486/bits/string.h (strnlen): Remove. -2000-12-01 Ulrich Drepper +2001-08-21 Roland McGrath - * sysdeps/unix/sysv/linux/shm_open.c: Remove incorrect comment. + * sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Define this + as a macro, not an extern inline function. -2000-11-30 Roland McGrath + * hurd/Versions (GLIBC_2.2.5): New set, define __hurd_fail here. + * Versions.def (libc): Add GLIBC_2.2.5 set. + * hurd/hurd.h (_HURD_H_EXTERN_INLINE): New macro. + (__hurd_fail): Use that instead of _EXTERN_INLINE in decl. - * hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): New macro. - (_HURD_HANDLE_IOCTLS, _HURD_HANDLE_IOCTL): Redefine using it, so as to - allow multiple instances using the same function name in one file. +2001-08-20 Roland McGrath -2000-12-01 Ulrich Drepper + * hurd/hurdlookup.c (__hurd_file_name_lookup): Fail with ENOENT for "". + (__hurd_file_name_split, __hurd_directory_name_split): Likewise. - * configure.in: Correct test for pserver CVS access. +2001-08-21 Ulrich Drepper -2000-11-28 H.J. Lu + * string/bits/string2.h: Remove strnlen optimization here. + * sysdeps/i386/i486/bits/string.h: Add it here. - * libio/libio.h: Remove extra "#if ... #endif". +2001-08-21 Wolfram Gloger -2000-11-29 H.J. Lu + * malloc/malloc.c: Make access to ..._hook pointers thread-safe. - * stdio-common/vfscanf.c (ORIENT): Swap the COMPILE_WSCANF case. +2001-08-21 Ulrich Drepper -2000-12-01 H.J. Lu + * po/gl.po: Update from translation team. - * nss/getXXbyYY_r.c: Fix verioned symbol handling. - * nss/getXXent_r.c: Likewise. - * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. +2001-08-20 Ulrich Drepper -2000-11-30 H.J. Lu + * misc/error.c (error_tail): Use fputws_unlocked instead of fputws. + * misc/err.c (convert_and_print): Likewise. - * scripts/abi-versions.awk (oldest_abi): New variable. - Handle the oldest ABI supported. + * malloc/obstack.c (print_and_abort): Use fprintf instead of two + function calls. - * Makerules ($(common-objpfx)abi-versions.h): Set oldest_abi - for scripts/abi-versions.awk. +2001-08-20 Martin Schwidefsky - * configure.in: Add --with-oldest-abi=ABI. - * configure: Rebuild. + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Revert the + change of the gregset_t type. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise. - * config.make.in (oldest-abi): New. +2001-08-20 kaz Kojima - * config.h.in (GLIBC_OLDEST_ABI): New. + * sysdeps/unix/sysv/linux/sh/sysdep.S: Align errno. - * csu/version.c (banner): Support GLIBC_OLDEST_ABI. +2001-08-20 Ulrich Drepper -2000-11-30 Jakub Jelinek + * posix/regex.c (truncate_wchar): Use wcrtomb not wctomb. - * locale/setlocale.c (setname): Free for all categories, not just - LC_ALL. - (setlocale): Store a copy of string passed by user, not the string - itself. + * string/strnlen.c: Fix the implementation. We cannot use memchr. -2000-11-30 Roland McGrath +2001-08-18 Mark Kettenis - * sysdeps/mach/hurd/defs.c (init_stdio): Put this on __libc_subinit - rather than _hurd_fd_subinit, so it happens after it's safe to use - libc facilities like malloc. + * sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ + before calling the cthreads initialization code. -2000-11-28 Andreas Jaeger +2001-08-20 Ulrich Drepper - * sysdeps/unix/sysv/linux/getdents.c: Add _syscall_getdents64 - declaration, adjust declaration of __syscall_getdents to match - kernel. + * argp/argp-help.c: Fix two problems introduced in last change. -2000-11-29 H.J. Lu + * include/dirent.h: Include first. - * sysdeps/generic/readelflib.c (check_ptr): Undefine it first. +2001-08-19 Ulrich Drepper -2000-11-29 Andreas Jaeger + * io/fts.c (fts_safe_changedir): Use __fxstat64 instead of __fstat. - * sysdeps/unix/sysv/linux/hppa/brk.c (__brk): Remove unused variable. + * sunrpc/svcauth_des.c (_svcauth_des): Avoid using bcopy. + * sunrpc/xdr_rec.c: Likewise. + * sunrpc/xdr_mem.c: Likewise. + * sunrpc/svc_authux.c (_svcauth_unix): Likewise. + * sunrpc/rpc_cmsg.c: Likewise. + * sunrpc/getrpcport.c (getrpcport): Likewise. + * sunrpc/clnt_simp.c (callrpc): Likewise. + * sunrpc/clnt_gen.c (clnt_create): Likewise. + * string/envz.c: Likewise. -2000-11-28 Ulrich Drepper + * po/ko.po: Update from translation team. - * dlfcn/defaultmod1.c: Add prototypes to avoid warnings. - * dlfcn/defaultmod2.c: Likewise. - * dlfcn/dlopen.c: Likewise. - * dlfcn/dlopenold.c: Likewise. - * dlfcn/failtestmod.c: Likewise. - * dlfcn/glreflib1.c: Likewise. - * dlfcn/glreflib2.c: Likewise. - * dlfcn/eval.c: Likewise. Add attributes. + * argp/argp-help.c: Handle wide oriented stderr stream. - * ctype/ctype-extn.c: Define isblank and not __isblank. +2001-08-18 Ulrich Drepper - * time/strftime.c: Add const where necessary to avoid warnings. - * time/strptime.c (strptime_internal): Add casts to avoid warnings. + * sysdeps/generic/strtol.c: Little optimizations. Add some + __builtin_expect. -2000-11-22 Paul Eggert + * conform/conformtest.pl: test requires . - * time/strftime.c (my_strftime): Do not invoke mbrlen with a - size of (size_t) -1; it's not portable. + * wcsmbs/wchar.h (wcwdith): Change parameter type to wchar_t. + * wcsmbs/wcwidth.c (wcwdith): Likewise. + * wcsmbs/wcwidth.h (internal_wcwdith): Likewise. -2000-11-28 Ulrich Drepper + * conform/data/unistd.h-data: Remove _SC_MULTIPLE_PROCESS. - * sysdeps/i386/fpu/libm-test-ulps: Adjust some values for the - crappy i486 FPU. - Reported by Michael Deutschmann . + * conform/data/ucontext.h-data: Fix typos in ucontext_t element tests. -2000-11-14 Jes Sorensen + * time/time.h (struct timespec): Use __time_t for tv_sec element. - * sysdeps/ia64/_mcount.S: Call __mcount instead of __mcount_internal. + * sysdeps/generic/inttypes.h: Define __wchar_t. Use it instead of + wchar_t for function declarations and defintions. - * sysdeps/ia64/Makefile: Compile _mcount.S in subdir gmon as - _mcount is required by profiled binaries. + * misc/sys/select.h: Define __need_time_t before including . + Define suseconds_t if it hasn't happened yet. - * sysdeps/unix/sysv/linux/ia64/machine-gmon.h: Moved to... - * sysdeps/ia64/machine-gmon.h: ...here. + * iconv/gconv.h: Define __need_wchar_t before including . -2000-11-28 Masahide Washizawa + * conform/data/sys/uio.h-data: Allow UIO_MAXIOV to be defined. - * iconvdata/Makefile (modules): Add IBM922, IBM1124, and IBM1129. - (distribute): Add ibm922.c, ibm1124.c, ibm1129.c, ibm922.h, ibm1124.h, - and ibm1129.h. - * iconvdata/gconv-modules: Add entries for IBM922, IBM1124, and - IBM1129. - * iconvdata/ibm922.c: New file. - * iconvdata/ibm922.h: New file. - * iconvdata/ibm1124.c: New file. - * iconvdata/ibm1124.h: New file. - * iconvdata/ibm1129.c: New file. - * iconvdata/ibm1129.h: New file. - * iconvdata/testdata/IBM922: New file. - * iconvdata/testdata/IBM922..UTF8: New file. - * iconvdata/testdata/IBM1124: New file. - * iconvdata/testdata/IBM1124..UTF8: New file. - * iconvdata/testdata/IBM1129: New file. - * iconvdata/testdata/IBM1129..UTF8: New file. + * sysdeps/generic/stdint.h: Don't get definition of wchar_t from + . -2000-11-28 Ulrich Drepper + * conform/data/stddef.h-data: Remove wint_t. - * catgets/gencat.c (normalize_line): Take extra parameter with escape - character. Change callers. - (open_conversion): Determine mapping of 0x5c as wchar_t value. - * catgets/Makefile: Add rules to build and run test-gencat. - * catgets/sample.SJIS: New file. - * catgets/test-gencat.c: New file. - * catgets/test-gencat.sh: New file. - Report and test case by Shinya Hanataka . + * conform/conformtest.pl: Change namespace test to take #undef + lines into account. -2000-11-28 Andreas Jaeger + * conform/data/netinet/in.h-data: Fix typo in allow-header line. - * sysdeps/unix/sysv/linux/mips/bits/socket.h: Synch with generic - Linux version. + * conform/data/sys/socket.h-data: Add sockatmark. -2000-11-28 Ulrich Drepper +2001-08-17 Ulrich Drepper - * sysdeps/unix/sysv/linux/bits/socket.h: Fix last patch. + * io/fts.c: Update from recent BSD source. -2000-11-28 Andreas Jaeger +2001-08-17 Roland McGrath - * sysdeps/unix/sysv/linux/bits/socket.h (struct cmsghdr): Use - __flexarr. - * sysdeps/unix/sysv/linux/mips/bits/socket.h (struct cmsghdr): + * stdio-common/perror.c (perror) [! USE_IN_LIBIO]: Don't use _IO_fwide. + * misc/error.c (error_tail, error, error_at_line) [! USE_IN_LIBIO]: Likewise. -2000-11-27 Ulrich Drepper - - * misc/getusershell.c: Make strings in okshells array const. - * misc/regexp.c: Add const to cast to avoid warnings. - * sysdeps/unix/sysv/linux/llseek.c: Add prototype for __llseek. - * sysdeps/unix/sysv/linux/i386/setresuid.c: Add prototype for - __setresuid. - * sysdeps/unix/sysv/linux/i386/setresgid.c: Add prototype for - setresgid. - * misc/error.c: Add prototypes for __error and __error_at_line. - * misc/mntent_r.c (__getmntent_r): Add break at end of switch - statement to avoid warning. - * test-skeleton.c: Mark timeout_handler with noreturn. - * iconv/skeleton.c (get16u): Add const to cast. - (get32u): Likewise. - * iconvdata/gb18030.c: Likewise. - * iconvdata/iso-2022-cn-ext.c: Likewise. - * iconvdata/ansi_x3.110.c: Add cast to avoid warning. - * iconvdata/big5.c: Likewise. - * iconvdata/big5hkscs.c: Likewise. - * iconvdata/iso_6937.c: Likewise. - * iconvdata/iso_6937-2.c: Likewise. - * iconvdata/t.61.c: Likewise. - * iconvdata/iso646.c: Add prototypes for gconv_init and gconv_env. - * iconvdata/unicode.c: Likewise. - * iconvdata/utf-16.c: Likewise. - * iconvdata/cns11643.h (ucs4_to_cns11643): Define needed as size_t. - * iconv/gconv_trans.c (__gconv_translit_find): Avoid one warning - with little code shuffling. - - * sysdeps/powerpc/Makefile (CFLAGS-initfini.s): Add -O1 to avoid - the problems introduced when the user selects -O3. - - * iconv/gconv.h (__gconv_info): Define __data element using __flexarr. - * misc/sys/cdefs.h: Define __flexarr. - Proposed by Joseph S. Myers . - - * iconvdata/iso-2022-jp.c: Add prototypes to avoid warnings. - * iconv/skeleton.c: Likewise. - * iconvdata/iso8859-1.c (BODY to 8859-1): Add const to cast. - * iconv/loop.c (get16): Add const to cast. - (get32): Likewise. - -2000-11-27 Andreas Jaeger - - * login/programs/pt_chown.c (do_pt_chown): Mark function as static - to avoid warning. - * login/programs/utmpdump.c (print_entry): Likewise. - -2000-11-25 Maciej W. Rozycki - - * sysdeps/mips/__longjmp.c (__longjmp): Restore SP and FP last and - in a single asm as they may be used to access other stored - registers. - * sysdeps/mips/mips64/__longjmp.c (__longjmp): Likewise. - -2000-11-27 Andreas Jaeger - - * rt/tst-aio.c: Mark test functions as static to avoid warnings. - * rt/tst-aio64.c: Likewise. - -2000-11-27 Ulrich Drepper - - * catgets/Makefile (test1.cat): Set LC_ALL, LOCPATH, and GCONV_PATH - for gencat run. - (libc.cat): Likewise. - * catgets/gencat.c: Implement handling of message catalogs encoded - with stateful character sets. - Based on a patch by Shinya Hanataka . - -2000-11-26 Ulrich Drepper - - * sysdeps/unix/opendir.c (__opendir): Add cast to avoid warning. - - * inet/getnameinfo.c: Adjust casts to avoid warnings. - * inet/rcmd.c: Likewise. - * inet/ruserpass.c: Likewise. - * inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK, - IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL, - IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL, - IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL, - IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL, - IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast. - * include/aliases.h: Add prototypes for internal __getalias* functions. - * include/netdb.h: Add prototypes for __old_gethostent_r, - __old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r, - __old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r, - __old_getservent_r, __old_getservbyname_r, __old_getservbyport_r, - __old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r. - * include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r, - __old_getrpcbynumber_r, __old_getrpcent_r. - - * include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r, - __getrpcent_r prototypes. - -2000-11-25 Ulrich Drepper - - * string/strcoll.c: Add casts to avoid warnings. - * string/strnlen.c: Likewise. - * string/strxfrm.c: Likewise. - * sysdeps/generic/_strerror.c: Likewise. - * sysdeps/generic/memrchr.c: Likewise. - * sysdeps/generic/strcasestr.c: Likewise. - * sysdeps/generic/strstr.c: Likewise. - - * locale/weight.h (findidx): Add const to cast to avoid warning. - - * elf/loadfail.c: Little cosmetic changes to avoid warnings. - * elf/loadtest.c: Likewise. - * elf/multiload.c: Likewise. - * elf/next.c: Likewise. - * elf/nodelete.c: Likewise. - * elf/noload.c: Likewise. - * elf/order.c: Likewise. - * elf/origtest.c: Likewise. - * elf/preloadtest.c: Likewise. - * elf/restest1.c: Likewise. - - * sysdeps/i386/i486/bits/string.h (__strncat_g) [i686]: Fourth - parameter of asm must be in %ecx. - - * string/tester.c: Mark test functions as static to avoid warnings. - - * iconv/gconv_conf.c (read_conf_file): Make mod_counter static to - preserve value over different gconv-modules files. - -2000-11-24 Ulrich Drepper - - * locale/findlocale.c: Add casts to avoid warnings. - * locale/localeinfo.h (LIMAGIC): Add cast to avoid warnings. - * misc/efgcvt_r.c (fcvt_r): Use ssize_t instead of int and add cast - to avoid warnings. - * misc/tsearch.c (const_node): New type. - (trecurse): Correct casts to avoid warnings. - (__twalk): Likewise. - * stdlib/tst-limits.c: Add z modifier to formats for WORD_BIT and - LONG_BIT. - - * debug/backtrace-tst.c (compare): Add casts to avoid warnings. - - * test-skeleton.c: Mark local functions as static to avoid warnings. - -2000-11-23 H.J. Lu - - * rt/tst-aio6.c (do_test): Use pipe instead of STDIN_FILENO to - support the background job. - Fix a typo. - -2000-11-24 Ulrich Drepper - - * iconv/gconv_conf.c (insert_module): Replace old entry if new one - has same names but lower cost. - -2000-11-23 Jakub Jelinek - - * sysdeps/sparc/sparc32/dl-machine.h: Ifdef out handling for relocs - which never occur during bootstrap. - * sysdeps/sparc/sparc64/dl-machine.h: Likewise. - -2000-11-23 Andreas Jaeger - - * nss/nss_files/files-hosts.c: Remove getipnodebyname. - - * nss/Versions: Remove _nss_files_getipnodebyname_r. - - * sysdeps/unix/sysv/linux/Versions: Fix typo in last patch. - -2000-11-18 Martin Buchholz - - * csu/gmon-start.c (__gmon_start__): Avoid over-clever trick `if - (called++) return;' - -2000-11-21 Alan Modra - - * sysdeps/generic/bsd-_setjmp.c (setjmp): Rename to _setjmp. - - * csu/abi-note.S: Correct comment for operating system number. - -2000-11-22 Ulrich Drepper - - * Versions.def: Add GLIBC_2.2.1 for glibc. - -2000-11-22 Andreas Schwab - - * sysdeps/unix/sysv/linux/syscalls.list: Add pivot_root. - * sysdeps/unix/sysv/linux/Versions: Add pivot_root at GLIBC_2.2.1. - -2000-11-22 Ulrich Drepper - - * rt/aio_suspend.c (aio_suspend): Convert timeout value to - absolute time for pthread_cond_timedwait call. - Reported by Lawrence Chen [libc/1930]. - - * rt/Makefile (tests): Add tst-aio6. - * rt/tst-aio6.c: New file. - -2000-11-23 Andreas Jaeger - - * sysdeps/s390/bits/string.h (strncat): Fix one more typo. - -2000-11-22 Andreas Jaeger - - * sysdeps/s390/bits/string.h (strncat): Add missing quotation marks. - -2000-11-21 Martin Schwidefsky - - * sysdeps/s390/bits/string.h: Make strncat always add a \0. - -2000-11-21 Andreas Schwab - - * sysdeps/alpha/setjmp.S: Remove __setjmp entry point. - * sysdeps/arm/setjmp.S: Likewise. - * sysdeps/arm/fpu/setjmp.S: Likewise. - * sysdeps/i386/setjmp.S: Likewise. - * sysdeps/i386/elf/setjmp.S: Likewise. - * sysdeps/s390/setjmp.S: Likewise. - * sysdeps/s390/elf/setjmp.S: Likewise. - * sysdeps/sh/sh3/setjmp.S: Likewise. - * sysdeps/sh/sh4/setjmp.S: Likewise. - * sysdeps/sparc/sparc32/setjmp.S: Likewise. - * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. - * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise. - * sysdeps/unix/sysv/linux/m68k/setjmp.c: Removed. - -2000-11-21 Andreas Jaeger - - * sysdeps/generic/__longjmp.c (__longjmp): Remove obsolete - NORETURN, fix parameter list. - - * string/bug-strncat1.c (main): Fix typo. - Patch by Bernhard Kaindl . - -2000-11-20 Ulrich Drepper - - * configure.in: Add --enable-all-warnings. - * config.make.in (all-warnings): New variable. - * Makeconfig (+gccwarn): Define with many more warnings if - all-warnings is yes. - -2000-11-20 Jakub Jelinek - - * iconvdata/bug-iconv2.c (main): Use %zd in format string. - * io/test-lfs.c (do_test): Cast statbuf.st_size to long long. - * malloc/tst-valloc.c (main): Cast valloc return value to long. - * malloc/tst-obstack.c (verbose_malloc): Use %zd in format string. - * math/test-fpucw.c (main): Use %lx in format string, cast - control words to long. - * stdio-common/tst-fmemopen.c (main): Use %td in format strings. - * stdlib/tst-strtol.c (tests): Avoid (bogus?) decimal constant is so - large that it is unsigned warning. - - * sysdeps/unix/sysv/linux/sparc/bits/types.h (__ssize_t): Changing - it to long on sparc64. - -2000-11-20 Andreas Jaeger - - * nscd/nscd.h (termination_handler): Add noreturn attribute. - (receiv_print_stats): Likewise. - - * elf/ldconfig.c (path_hwcap): Cast -1 for proper comparison. - -2000-11-20 Ulrich Drepper - - * malloc/thread-m.h: gcc doesn't tolerate zero-sized types anymore. - - * csu/gmon-start.c: Always have prototype for __gmon_start. - * csu/version.c: Add prototypes for __libc_print_version and - __libc_main. - * iconv/gconv.c: Include gconv_int.h and gconv.h. - * iconv/gconv.h (struct __gconv_step): Remove const from __from_name - and __to_name. - * iconv/gconv_builtin.h: Add ASCII module definitions. - * iconv/gconv_conf.c (__gconv_path_elem): Remove const. - (add_module): Add cast to avoid warning. Rework construction of - strings for new module. - * iconv/gconv_db.c (__gconv_alias_compare): Make s1 and s2 const. - (derivation_compare): Likewise. - * iconv/gconv_dl.c (do_release_shlib): Remove const from nodep. - (__gconv_release_shlib): Cast do_release_shlib as parameter for twalk. - * iconv/gconv_int.h (__gconv_path_elem): Remove const. - (struct gconv_alias): Remove const from fromname and toname. - * iconv/gconv_simple.c: Include gconv_builtin.h to get prototypes - for loop functions. - (internal_ucs4_loop): Use correct const-ness. - (ucs4_internal_loop): Likewise. - (internal_ucs4le_loop): Likewise. - (ucs4le_internal_loop_single): Likewise. - * iconv/gconv_trans.c (__gconv_transliterate): Make from_idx, from_tbl, - to_idx, to_tbl, winbuf, winbufend const. Change casts in - assignments appropriately. - (struct known_trans): Remove const from fname. - (trans_compare): Make s1 and s2 const. - * iconv/loop.c (LOOPFC): Make outend parameter const. Add cast to - avoid warning. - * iconv/skeleton.c: Remove cast in calls of loop functions. - * iconvdata/gconv-modules: Remove US-ASCII definitions. - * iconvdata/iso646.c: Remove US_ASCII support. - * include/set-hooks.h (DEFINE_HOOK): Also generate prototype. - * include/unistd.h: Add __libc_check_standard_fds prototype. - * string/bits/string2.h (__mempcpy_args): Add const to casts. - * sysdeps/generic/initfini.c: Add prototypes for dummy, _init, and - _fini. - * sysdeps/generic/libc-start.c: Add prototype for __libc_start_main. - * sysdeps/i386/i486/bits/string.h (strcmp): Add const to casts. - * sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Add cast to avoid - warning. - * sysdeps/unix/sysv/linux/init-first.c: Add prototypes for - __libc_init_first and _dl_start. - * intl/dcigettext.c (transcmp): Make s1 and s2 const. - (DCIGETTEXT): Make domaindata variable const. - * intl/loadmsgcat.c (_nl_load_domain): Rearrange domain initialization - to avoid warning. - -2000-11-20 Hiroyuki Machida - - * sysdeps/unix/sysv/linux/mips/clone.S: Fix comments. - - * sysdeps/unix/sysv/linux/mips/kernel_stat.h (kernel_stat): Expand - time_t to 'long int' not, 'unsigned int'. Use 'long int' for - __unused? members. - - * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOFOLLOW): Use same - value defined in /usr/include/asm-mips/fcntl.h. +2001-08-17 Ulrich Drepper -2000-11-18 Ulrich Drepper + * locale/duplocale.c (__duplocale): Also initialize the special + __ctype_* elements. - * stdio-common/Makefile (tests): Add test-vfprintf. - (test-vfprintf-ENV): New variable. - * stdio-common/test-vfprintf.c: New file. + * conform/data/netdb.h-data: Adjust gai_strerror return type. - * wcsmbs/mbrtowc.c (__mbrtowc): Do not only flush if input is '\0'. +2001-08-17 Andreas Jaeger - * wcsmbs/Makefile (tests): Add tst-mbrtowc and tst-wcrtomb. - (tst-mbrtowc-ENV): New variable. - (tst-wcrtomb-ENV): New variable. - * wcsmbs/tst-mbrtowc.c: New file. - * wcsmbs/tst-wcrtomb.c: New file. + * misc/getpass.c: Include wchar.h for prototypes. + * malloc/obstack.c: Likewise. -2000-11-16 Andreas Jaeger +2001-08-17 Ulrich Drepper - * manual/install.texi (Tools for Compilation): Update - documentation for GCC 2.95.2. + * sunrpc/svc_simple.c (universal): Use __write instead of write. -2000-11-18 Ulrich Drepper + * wcsmbs/wcscoll.c: Also define __wcscoll. + * include/wchar.h: Declare __wcscoll. - * sysdeps/posix/getaddrinfo.c (gaih_inet): Only return -EAI_AGAIN - if IPv4 and IPv6 requests timed out. + * libio/fwprintf.c: Use __vfwprintf instead of vfwprintf. + * libio/vwprintf.c: Likewise. + * libio/wprintf.c: Likewise. -2000-11-18 Akim Demaille + * iconv/gconv_cache.c: Use __munmap instead of munmap. - * malloc/obstack.h: Formatting changes. - (obstack_grow, obstack_grow0): Don't cast WHERE at all: it - prevents type checking. - (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't - cast the value to (void *): assigning a `foo *' to a `void *' - variable is valid. - (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int. +2001-08-16 Ulrich Drepper -2000-11-17 Ulrich Drepper + * posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc + instead of mbrtowc. + [_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of + wcslen, and __wcscoll instead of wcscoll. - * scripts/config.guess: Update from upstream maintainer. - * scripts/config.sub: Likewise. + * sysdeps/unix/sockatmark.c (sockatmark): Use __ioctl instead of ioctl. -2000-11-16 Ulrich Drepper + * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Use + __getuid instead of getuid. - * libio/freopen.c (freopen): Reset _mode after succesful reopening. + * stdio-common/perror.c (perror): Use __close instead of close. + * iconv/gconv_cache.c (__gconv_load_cache): Likewise. + * libio/freopen.c (freopen): Likewise. * libio/freopen64.c (freopen64): Likewise. - Patch by Shinya Hanataka . - - * libio/Makefile: Add rules to build and run test-freopen. - * libio/test-freopen.c: New file. - * libio/test-freopen.sh: New file. - -2000-11-15 H.J. Lu - - * sysdeps/generic/ldsodefs.h (DL_DT_INIT_ADDRESS): Defined if - ELF_FUNCTION_PTR_IS_SPECIAL is not defined. - (DL_DT_FINI_ADDRESS): Likewise. - - * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): Set the - return type to ElfW(Addr). - (_dl_function_address): New prototype. - (DL_FUNCTION_ADDRESS): Defined. - (DL_DT_INIT_ADDRESS): Defined as DL_FUNCTION_ADDRESS. - (DL_DT_FINI_ADDRESS): Likewise. - - * sysdeps/ia64/Versions (GLIBC_2.2): Add _dl_function_address. - - * sysdeps/ia64/dl-machine.h (_dl_start_address): Removed. - (ELF_MACHINE_START_ADDRESS): Changed to DL_FUNCTION_ADDRESS. - - * sysdeps/ia64/dl-symaddr.c (_dl_start_address): Renamed to ... - (_dl_function_address): This. - - * elf/dl-fini.c (_dl_fini): Use DL_DT_FINI_ADDRESS to get the - function pointer for DT_FINI. - * elf/dl-close.c (_dl_close): Likewise. - - * elf/dl-init.c (_dl_init): Use DL_DT_INIT_ADDRESS to get the - function pointer for DT_INIT. - -2000-11-16 Jakub Jelinek - - * sysdeps/generic/printf_fphex.c (__printf_fphex): Compute correctly - end of wexpbuf buffer. - -2000-11-16 Andreas Jaeger - - * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Remove duplicate - definition of F_GETLK, F_SETLK, F_SETLKW. - -2000-11-16 Andreas Jaeger - - * sysdeps/generic/dl-cache.c (_DL_PLATFORMS_COUNT): Define to 0 if - it's not defined. - -2000-11-15 Jakub Jelinek - - * dlfcn/default.c (main): Add test for dladdr of main returning - argv[0] in dli_fname field. - -2000-11-15 Jakub Jelinek - - * Makeconfig (run-program-prefix): Move test-static test into the - variable. - - * sysdeps/alpha/dl-machine.h (RTLD_START): Update _dl_argv. - * sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Likewise, - schedule instructions. - * sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise, - schedule instructions, fix a bug in copying auxiliary data. - -2000-11-15 Ulrich Drepper - - * manual/startup.texi (Program Arguments): Fix type of main's envp - parameter. - Reported by Raúl Núñez de Arenas Coronado . - * iconvdata/gconv-modules: Add CP950 alias. - -2000-11-13 Jakub Jelinek - - * sysdeps/unix/sysv/linux/Makefile: Allow ports to override - syscall-list.h goal. - * sysdeps/unix/sysv/linux/sparc/Makefile: New file. - -2000-11-15 Ulrich Drepper - - * intl/Makefile: tst-gettext2.sh does not need a third parameter. - - * intl/tst-gettext2.sh: Copy locale data. Adjust LOCPATH. Verify - output of program. - - * intl/tst-gettext2.c: Set C locale if setting other locale - failed. Use gettext() not _(). - - * locale/setlocale.c: Increment _nl_msg_cat_cntr whenever we - successfully loaded a new locale. - -2000-11-13 Andreas Jaeger - - * configure.in: Require gcc 2.95 or newer. - -2000-11-15 Ulrich Drepper - - * sysdeps/unix/sysv/linux/paths.h: Adjust for FHS. - Patch by Arkadiusz Miskiewicz . - -2000-11-11 Jim Meyering - - * string/strndup.c (strndup): Cast return value to `char *'. - -2000-11-15 Jim Meyering - - * sysdeps/generic/memchr.c: Remove some useless parentheses. - [HAVE_STDLIB_H || defined _LIBC]: Include . - [HAVE_BP_SYM_H || defined _LIBC]: Guard inclusion of bp-sym.h. - [! (HAVE_BP_SYM_H || defined _LIBC)] (BP_SYM): Define as no-op. - Also #undef __memchr. - Use `weak_alias' only if it's defined. - -2000-11-10 H.J. Lu - - * Makefile.in (install): Set LANGUAGE=C LC_ALL=C. - -2000-11-15 Andreas Jaeger - - * elf/chroot_canon.c: Include . - - * elf/cache.c (struct cache_entry): Use uint64_t for hwcap. - (print_entry): Likewise. - (add_to_cache): Likewise. - - * elf/ldconfig.h (add_to_cache): Change prototype for hwcap change. - - * elf/ldconfig.c (struct lib_entry): Use uint64_t for hwcap. - (path_hwcap): Likewise. - (search_dir): Likewise. - - * sysdeps/generic/dl-cache.c (HWCAP_CHECK): Handle platform. - - * elf/cache.c (add_to_cache): Handle 64 bit hwcap entry. - - * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h - (_dl_platform_string): New. - (_DL_HWCAP_PLATFORM): New. - (_dl_string_platform): New. - * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. - - * sysdeps/generic/dl-procinfo.h (_DL_HWCAP_COUNT): New. - (_dl_string_platform): New. - (_DL_HWCAP_PLATFORM): New. - (_dl_platform_string): New. - - * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Added x86 platform - recognition. - (_DL_HWCAP_COUNT): New. - (_dl_string_platform): New. - (_DL_HWCAP_PLATFORM): New. - (_dl_platform_string): New. - -2000-11-14 Ulrich Drepper - - * iconvdata/gconv-modules: Add CP936 as alias for GBK. - -2000-11-14 Andreas Jaeger - - * sysdeps/generic/dl-cache.c (HWCAP_CHECK): Fix access to _dl_hwcap. - -2000-11-13 Roland McGrath - - * hurd/get-host.c (_hurd_get_host_config): Fix last change. - -2000-11-13 Marcus Brinkmann - - * hurd/get-host.c (_hurd_get_host_config): Fix possible buffer - underrun and make sure the result is null terminated even if there - is no trailing newline. - -2000-11-13 Jakub Jelinek - - * sysdeps/alpha/fpu/libm-test-ulps: Update. - -2000-11-10 H.J. Lu - - * sysdeps/ia64/fpu/libm-test-ulps: Updated. - -2000-11-10 Andreas Jaeger - - * elf/ldconfig.c (create_links): Fix alloca calculation. - Patch by Ben Collins . - -2000-11-09 Ulrich Drepper - - * inet/getnameinfo.c (getnameinfo): Use correct destination - parameter for if_indextoname. - Patch by Hideaki YOSHIFUJI . - -2000-11-09 H.J. Lu - - * sunrpc/Versions (GLIBC_2.1): Remove xdr_cryptkeyarg, - xdr_cryptkeyarg2, xdr_cryptkeyres, xdr_des_block, - xdr_key_netstarg, xdr_key_netstres, xdr_keybuf and - xdr_keystatus. - - * time/Versions (GLIBC_2.1): Move getitimer to... - * sysdeps/unix/sysv/linux/alpha/Versions (GLIBC_2.1): ...here. - -2000-11-03 Bruno Haible - - * manual/install.texi: Recommend to set LANGUAGE=C LC_ALL=C during - "make install", to work around a binary incompatibility between - glibc 2.1 and glibc 2.2 gconv modules. - -2000-11-09 Ulrich Drepper - - * intl/locale.alias: Add thai. - Patch by Chanop Silpa-Anan . - -2000-11-07 Akim Demaille - - * malloc/obstack.c (obstack_grow, obstack_grow0): Rename the second - argument `data' for consistency with the prototypes. - Qualify it `const'. - (obstack_copy, obstack_copy0): Rename the second argument as - `address' for consistency. Qualify it `const'. - * malloc/obstack.h (obstack_copy, obstack_copy0, obstack_grow) - (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify - `const' their input argument (`data' or `address'). - Adjust the corresponding macros to include `const' in casts. - -2000-11-06 Hideaki YOSHIFUJI - - * sysdeps/posix/getaddrinfo.c: Clean-up: define family to hold - target family. - -2000-11-06 Hideaki YOSHIFUJI - - * sysdeps/posix/getaddrinfo.c: Loosen protocol check to ease raw - socket creation. - -2000-11-06 Hideaki YOSHIFUJI - - * sysdeps/posix/getaddrinfo.c: Ensure to fill ai_socktype and - ai_protocol by internal table if service was not given. - -2000-11-06 Hideaki YOSHIFUJI - - * sysdeps/posix/getaddrinfo.c: Don't raise an error even if - numerical port was specified with protocol without socktype. - -2000-11-06 Hideaki YOSHIFUJI + * libio/tst-ungetwc2.c (main): Define str const. - * sysdeps/posix/getaddrinfo.c: Ensure to check if protocol is ok. + * include/wchar.h: Add prototypes for __fwprintf and __vfwprintf. + * libio/fwprintf.c: Also define __fwprintf. + * stdio-common/vfprintf.c [COMPILE_WPRINTF]: Also define __vfwprintf. + * argp/argp-fmtstream.c: Handle wide oriented stderr stream. + * assert/assert-perr.c: Likewise. + * assert/assert.c: Likewise. + * gmon/gmon.c: Likewise. + * inet/rcmd.c: Likewise. + * malloc/obstack.c: Likewise. + * misc/err.c: Likewise. + * misc/error.c: Likewise. + * misc/getpass.c: Likewise. + * posix/getopt.c: Likewise. + * resolv/res_hconf.c: Likewise. + * stdio-common/perror.c: Likewise. + * stdio-common/psignal.c: Likewise. + * stdlib/fmtmsg.c: Likewise. + * sunrpc/auth_unix.c: Likewise. + * sunrpc/clnt_perr.c: Likewise. + * sunrpc/clnt_tcp.c: Likewise. + * sunrpc/clnt_udp.c: Likewise. + * sunrpc/clnt_unix.c: Likewise. + * sunrpc/svc_simple.c: Likewise. + * sunrpc/svc_tcp.c: Likewise. + * sunrpc/svc_udp.c: Likewise. + * sunrpc/svc_unix.c: Likewise. + * sunrpc/xdr.c: Likewise. + * sunrpc/xdr_array.c: Likewise. + * sunrpc/xdr_rec.c: Likewise. + * sunrpc/xdr_ref.c: Likewise. + * sysdeps/generic/wordexp.c: Likewise. -2000-11-06 Hideaki YOSHIFUJI + * po/it.po: Update from translation team. - * inet/getnameinfo.c: getnameinfo() NI_xxx flag validation. + * misc/err.c: Handle wide oriented stderr stream. -2000-11-06 Hideaki YOSHIFUJI +2001-08-14 Tom Rix - * sysdeps/posix/getaddrinfo.c: Ensure not to fill garbage value in - sin6_scope_id field. + * iconv/gconv_cache.c (find_module): Add #ifndef STATIC_GCONV. + * iconv/Makefile: Fix gconv_cache.c CFLAGS. -2000-11-06 Hideaki YOSHIFUJI +2001-08-13 Tom Rix - * inet/getnameinfo.c: Repair getnameinfo() sin6_socpe_id support. + * sysdeps/unix/sysv/aix/Makefile: Add rule to import kernel symbols. + * sysdeps/unix/sysv/aix/bits/types.h: Fix type of __id_t, __useconds_t + and __intptr_t. -2000-11-06 Hideaki YOSHIFUJI +2001-08-15 Martin Schwidefsky - * inet/getnameinfo.c: Repair NI_NOFQDN flag support. + * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S (__getcontext): + Store the access registers to the ucontext structure. + * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S (__getcontext): + Likewise. -2000-11-06 Hideaki YOSHIFUJI + * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S (__setcontext): + Load the access registers from the ucontext structure. + * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S (__setcontext): + Likewise. - * inet/getnameinfo.c: Wake-up sin6_scope_id support in - getnameinfo(): check for whether sin6_socpe_id exist was wrong. + * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: Adjust the SC_xxx + offsets to the new ucontext layout. + * sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: Likewise. -2000-11-09 Martin Schwidefsky + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix the layout + of the ucontext structure. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise. - * sysdeps/unix/sysv/linux/s390/mmap.S: Use mmap2 if it is present. - * sysdeps/unix/sysv/linux/s390/mmap64.S: New file. +2001-08-15 Ulrich Drepper -2000-11-09 H.J. Lu + * misc/error.c (error): Handle wide oriented stderr stream correctly. + (error_at_line): Likewise. - * io/Versions (GLIBC_2.1.1): Remove lockf64. + * stdio-common/perror.c (perror): Implement according to standard. + The stream orientation must not be changed if the stream was not + oriented before the call. + * stdio-common/Makefile (tests): Add tst-perror. + * stdio-common/tst-perror.c: New file. -See ChangeLog.11 for earlier changes. +See ChangeLog.12 for earlier changes. diff -durpN glibc-2.2.4/ChangeLog.12 glibc-2.2.5/ChangeLog.12 --- glibc-2.2.4/ChangeLog.12 Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/ChangeLog.12 Wed Aug 15 22:24:54 2001 @@ -0,0 +1,10098 @@ +2001-08-15 Ulrich Drepper + + * libio/iofwide.c (_IO_fwide): Don't reset file position to + beginning of file, really get current position. + +2001-08-15 Andreas Schwab + + * sysdeps/m68k/m68020/atomicity.h (atomic_add): Don't allow + address register for operand 0. + +2001-08-14 Ulrich Drepper + + * stdio-common/perror.c (perror): Use _IO_fwide instead of fwide. + + * libio/libio.h (_IO_fwide): Handle zero as second parameter more + efficiently in macro. + +2001-08-14 Jakub Jelinek + + * resolv/nss_dns/dns-host.c (RESOLVSORT): Define. + (addrsort): New function. + * resolv/gethnamaddr.c (RESOLVSORT): Define. + +2001-08-14 Jakub Jelinek + + * string/strsignal.c (free_mem): Remove. + +2001-08-14 Andreas Jaeger + + * inet/inet_ntoa.c (free_mem): Remove, it's not used anymore. + Closes PR libc/2477, reported by Dylan Alex Simon + . + +2001-08-14 Ulrich Drepper + + * locale/Makefile (aux): Add xlocale. + * locale/xlocale.c: New file. + * include/locale.c (_nl_C_locobj): Declare. + * iconv/gconv_charset.h: Use __tolower_l, __isdigit_l, __isspace_l + with _nl_C_locobj instead of tolower, isdigit, isspace. + * iconv/gconv_conf.c: Likewise. + * iconv/gconv_int.h: Likewise. + * iconv/gconv_open.c: Likewise. + + * locale/newlocale.c: Minor cleanups. + +2001-08-14 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/w_expl.c: New file, copy from + ldbl-96/w_expl.c with tweaked constants. Patch by Stephen L + Moshier. + +2001-08-13 Ulrich Drepper + + * malloc/memusage.c (me): Allow creating the output file. + + * sysdeps/unix/sysv/linux/Makefile: Remove -fkeep-inline-functions + flag for init-first. + + * po/fr.po: Update from translation team. + +2001-08-13 Andreas Jaeger + + * sysdeps/mips/machine-gmon.h (MCOUNT): Don't use delay slot for + jal since it's a macro. + Patch by Simon Gee . + +2001-08-12 Ulrich Drepper + + * iconvdata/Makefile: Add rules to build ISO-IR-209 and MAC-SAMI. + * iconvdata/iso-ir-209.c: New file. + * iconvdata/mac-sami.c: New file. + * iconvdata/gconv-modules: Add entries for ISO-IR-209 and MAC-SAMI. + * iconvdata/tst-tables.sh: Likewise. + + * posix/getopt.c: Remove store_args_and_env which is not needed since + USE_NONOPTION_FLAGS is undefined anyhow. Use __libc_argc and + __libc_argv variables. + +2001-08-12 Roland McGrath + + * sysdeps/mach/hurd/clock.c: New file. + * sysdeps/mach/hurd/times.c: New file. + * sysdeps/mach/hurd/getclktck.c (__getclktck): Always return 1000000. + * sysdeps/mach/hurd/init-posix.c: New file. + + * hurd/hurdlookup.c (__hurd_file_name_lookup): Comment fix. + +2001-08-11 Roland McGrath + + * sysdeps/mach/hurd/bits/time.h + (CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID): New macros. + * sysdeps/mach/hurd/i386/bits/time.h: File removed. + + * posix/getopt.c (nonoption_flags_max_len, nonoption_flags_len): + Make these defns conditional on [USE_NONOPTION_FLAGS]. + +2001-08-11 Ulrich Drepper + + * config.h.in: Add #undef line for USE_NONOPTION_FLAGS. + * posix/getopt_init.c: Produce code only if USE_NONOPTION_FLAGS is + defined. + * posix/getopt.c: Use __getopt_nonoption_flags only if + USE_NONOPTION_FLAGS is defined. + * sysdeps/mach/hurd/i386/init-first.c: Use __getopt_clean_environment + only if USE_NONOPTION_FLAGS is defined. + * sysdeps/mach/hurd/mips/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/init-first.c: Likewise. + * sysdeps/arm/init-first.c: Likewise. + * sysdeps/generic/init-first.c: Likewise. + * sysdeps/i386/init-first.c: Likewise. + * sysdeps/sh/init-first.c: Likewise. + +2001-08-11 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/e_j0l.c: New file. + Contributed by Stephen L Moshier . + +2001-08-11 Ulrich Drepper + + * assert/assert.c (set_progname): Removed. + (__assert_fail): Use __progname instead of __assert_program_name. + * assert/assert-perr.c (__assert_perror_fail): Likewise. + + * malloc/malloc.c (ptmalloc_init): Don't call getenv five times. + Instead use new function next_env_entry which iterates over the + environment once. + + * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Only set + _dl_profile_map for the right object. + + * elf/dl-reloc.c (_dl_relocate_object): Allocate l_reloc_result + only if consider_profiling is != 0, not if _dl_profile != NULL. + + * sysdeps/generic/dl-environ.c (_dl_next_ld_env_entry): Optimize a bit. + Now returns pointer to first character after "LD_". + * elf/rtld.c (process_envvars): Adjust for change above. + * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Likewise. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): + Likewise. + +2001-08-10 Wolfram Gloger + + * malloc/malloc.c (grow_heap): Use mmap() rather than mprotect() + to allocate new memory, for better performance with Linux-2.4.x. + +2001-08-10 Ulrich Drepper + + * posix/getopt_init.c (__getopt_clean_environment): Avoid making + the strncmp calls most of the time by testing for '_' as the first + character of the name. + + * elf/dl-open.c (add_to_global): Remove stale comment. + + * elf/dl-load.c (fillin_rpath): In SUID binaries, don't mark + non-system-dirs in LD_LIBRARY_PATH as nonexisting, simply drop them. + + * libio/iovdprintf.c (_IO_vdprintf): Set _IO_USER_LOCK flag for + temporary stream. Don't define lock. + * libio/obprintf.c (_IO_obstack_vprintf): Likewise. + * libio/strops.c (_IO_str_init_static): Likewise. + * libio/vasprintf.c (_IO_vasprintf): Likewise. + * libio/wstrops.c (_IO_wstr_init_static): Likewise. + * libio/iovsprintf.c: Likewise. + * libio/iovsnprintf.c: Likewise. + * libio/iovswprintf.c: Likewise. + * libio/iovsscanf.c: Likewise. + * libio/iovswscanf.c: Likewise. + * stdio-common/vfprintf.c [USE_IN_LIBIO] (buffered_vfprintf): Likewise. + * libio/genops.c (_IO_no_init): Don't call _IO_lock_init if _lock + is NULL. + (_IO_default_finish): Likewise. + * libio/wgenops.c (_IO_wdefault_finish): Likewise. + +2001-08-10 Andreas Jaeger + + * stdio-common/stdio_ext.h: Fix typo. + +2001-08-09 Ulrich Drepper + + * posix/fnmatch_loop.c: Fix computation of alignment. + +2001-08-09 Isamu Hasegawa + + * posix/regex.c (wcs_regex_compile): Use appropriate string + to compare with collating element. + Fix the padding for the alignment. + +2001-08-09 Isamu Hasegawa + + * locale/programs/ld-collate.c (collate_output): Exclude + characters from elem_table. + Reduce if clause to write collating elements correctly. + * posix/Makefile (tests): Add bug-regex5. + * posix/bug-regex5.c: New file. + +2001-08-09 Ulrich Drepper + + * locale/lc-time.c (_nl_parse_alt_digit): New function. + * locale/localeinfo.h: Add prototype for it. + * time/strptime.c (get_alt_number): Use _nl_parse_alt_digit to get + the value. Correct computation of hour for %OI. If no %EC given + but %Ey use numeric formular. + + * dlfcn/Makefile (tststatic-ENV): Also add $(common-objpfx)elf for + ld.so. + + * time/tst-strptime.c: Add tests in different locales. + * time/Makefile (tst-strptime-ENV): Define. + +2001-08-09 Jakub Jelinek + + * catgets/catgets.c (catclose): Be liberal about catalog_desc in + catclose too. + +2001-08-09 Ulrich Drepper + + * time/strptime.c (strptime_internal): Add handling of year + + %U/%W week + week day. + * time/tst-strptime.c: Add test case for %U and %W handling. + + * stdio-common/vfscanf.c: Fix reading of wide chars and strings if + not COMPILE_WSCANF. + + * libio/vswprintf.c (_IO_vswprintf): Fix return value handling + which is different from snprintf. + * libio/tst_swprintf.c: Add tests for too small output buffer. + + * stdio-common/vfscanf.c: Fix handling of %[] for COMPILE_WSCANF. + * libio/Makefile (tests): Add tst-swscanf. + * libio/tst-swscanf.c: New file. + +2001-08-09 Jakub Jelinek + + * posix/globtest.sh: Robustify tilde tests. + +2001-08-09 Andreas Jaeger + + * locale/programs/ld-ctype.c (DEFAULT): Fix expression. + (EMPTY): New. + (wctype_table_finalize): Use it. + (find_idx): Likewise. + (wctype_table_get): Likewise. + + * configure.in: Add check for GCC 3.x. + +2001-08-09 Ulrich Drepper + + * libio/wfileops.c (_IO_wfile_seekoff): Don't even try to handle + seeking with backup buffer present. + Correct determining of internal buffer position. + Reset also wide buffers if we reset the internal buffers. + * libio/iofwide.c (_IO_fwide): Always determine file offset for wide + streams. + * libio/ioseekoff.c: Catch one unimplemented case. + * libio/ftello.c: Don't abort if the wide stream has backup buffer. + * libio/ftello64.c: Likewise. + * libio/iofgetpos.c: Likewise. + * libio/iofgetpos64.c: Likewise. + * libio/ftell.c: Likewise. + * libio/Makefile (tests): Add tst-ungetwc2. + * libio/tst-ungetwc2.c: New file. + +2001-08-08 Ulrich Drepper + + * locale/elem-hash.h (elem_hash): Correct stupid mistake and + create real hash values now. + Patch by Isamu Hasegawa . + + * libio/iofgetpos.c (_IO_new_fgetpos): Correct a few problems in + the handling of wide streams. + + * libio/ioungetwc.c (ungetwc): Orient stream first. + * libio/Makefile (tests): Add tst-ungetwc1. + * libio/tst-ungetwc1.c: New file. + + * libio/wfileops.c (_IO_wfile_underflow): Remove incorrect test + for possible conversion using __codecvt_do_in. + * libio/Makefile (tests): Add tst-fgetws. + * libio/tst-fgetws.c: New file. + + * libio/iofgetws.c: Use _IO_ferror_unlocked macros instead of + coding the test here. + + * catgets/open_catalog.c: Rewrite code to assume that the function + is called at catopen time and not delayed in catgets. + * catgets/catgets.c (catopen): Call __open_catalog and fail if that + function failed. + (catgets): Remove code for delayed opening of catalog. + * catgets/catgetsinfo.h: Remove now unnecessary information from + struct catalog_info. Change __open_catalog prototype. + * catgets/gencat.c: Adjust __open_catalog call. + * catgets/test-gencat.c: Stop program if catopen failed. + + * locale/C-monetary.c (_nl_C_LC_MONETARY): Provide correct value + for CRNCYSTR. + + * locale/programs/ld-messages.c (messages_finish): Provide POSIX + locale compliant default values for fields without definition. + * locale/programs/ld-time.c (time_finish): Likewise. + * locale/programs/ld-monetary.c (monetary_finish): Likewise. + +2001-08-08 Andreas Jaeger + + * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Fix test for + infinity. + +2001-08-07 Ulrich Drepper + + * sysdeps/ia64/memusage.h (GETTIME): Define using hp-timing.h + functionality. + + * sysdeps/ia64/hp-timing.h (HP_TIMING_NOW): Fix comment. + +2001-08-07 Jakub Jelinek + + * malloc/memusage.c (initialized): New variable. + (init): If not yet initialized, call me(). + (me): Do all dlsym calls here. + (malloc, realloc, calloc, free): If not yet initialized, + call me(). If in the middle of initializing, return NULL or + do nothing. + +2001-08-07 Jakub Jelinek + + * sysdeps/unix/seekdir.c (seekdir): Set dirp->filepos. + + * dirent/tst-seekdir.c (main): Check whether telldir right after + seekdir returns 2nd argument given to seekdir. + +2001-08-07 Franz Sirl + + * dlfcn/Makefile (tststatic-ENV): Add $(common-objpfx) to + LD_LIBRARY_PATH. + +2001-08-07 Andreas Jaeger + Andreas Schwab + Bruno Haible + + * locale/programs/3level.h (EMPTY): New macro. + (*_get, *_add, *_iterate, *_finalize): Use it instead of ~(uint32_t) 0. + +2001-08-08 GOTO Masanori + + * locale/iso-3166.def: Updates from latest official list. + +2001-08-07 Andreas Jaeger + + * stdlib/tst-strtod.c: Disable HUGE_VAL tests for older GCCs. + + * iconv/gconv_charset.h (upstr): Add unused attribute to avoid warning. + + * libio/iopopen.c (_IO_new_proc_open): Fix typos, it's _IO_MTSAFE_IO. + (_IO_new_proc_close): Likewise. + * libio/oldiopopen.c (_IO_old_proc_open): Likewise. + (_IO_old_proc_close): Likewise. + +2001-08-06 Ulrich Drepper + + * manual/locale.texi: Add documentation for rpmatch. + Patch by Jochen Hein . + +2001-08-06 Jakub Jelinek + + * stdlib/strtod.c (STRTOF): Skip whole infinity, not just inf. + * stdio-common/vfscanf.c (__vfscanf): +- can be followed by i in +-Inf. + + * stdlib/tst-strtod.c (tests): Add Inf tests. + * stdio-common/tstscanf.c (main): Add tests for +- before Inf. + +2001-08-06 Ulrich Drepper + + * locale/weightwc.h (findidx): Change type of i to int32_t. + + * wcsmbs/wcsmbs-tst1.c (main): Avoid warning. Pretty printing. + +2001-08-05 Roland McGrath + + * sysdeps/unix/bsd/bsd4.4/bits/dirent.h (struct dirent): Rename member + d_fileno to d_ino. + (struct dirent64): Likewise. + (d_fileno): Define as macro. + +2001-08-04 Roland McGrath + + * sysdeps/mach/hurd/getrusage.c: Use TASK_EVENTS_INFO if implemented + by the microkernel (which it's not). + +2001-08-04 Ulrich Drepper + + * libio/fileops.c (_IO_new_file_underflow): Don't call + _IO_flush_all_linebuffered. This isn't required in any standard. + Instead flush only stdout. + * libio/wfileops.c (_IO_wfile_underflow): Likewise. + +2001-08-04 Franz Sirl + + * dlfcn/Makefile: Add rules for new testcase tststatic. + * dlfcn/tststatic.c: New file. + * dlfcn/modstatic.c: New file. + +2001-08-04 Ulrich Drepper + + * manual/summary.awk: Fix value used for FF. + + * elf/rtld.c: Correct use of __builtin_expect. + + * elf/dl-close.c: Remove commented-out code. + + * libio/genops.c (_IO_unbuffer_write): Force streams in narrow + orientation so that conversion modules aren't used anymore. + * malloc/set-freeres.c: Call _IO_cleanup before running subfreeres + functions to avoid using wide streams afterwards. + + * iconvdata/Makefile: Add rules to build GEORGIAN-PS and + GEORGIAN-ACADEMY. + * iconvdata/georgian-ps.c: New file. + * iconvdata/georgian-academy.c: New file. + * iconvdata/gconv-modules: Add entries for GEORGIAN-PS and + GEORGIAN-ACADEMY. + * iconvdata/tst-tables.sh: Add GEORGIAN-PS and GEORGIAN-ACADEMY. + +2001-08-03 Ulrich Drepper + + * locale/programs/ld-collate (insert_value): If symbol in order + definition does not exist create it as a sequence without + associated multibyte and wide representation. + +2001-07-30 Roland McGrath + + * sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start): Diddle + syntax so both function and pointer-to-function arguments work right. + +2001-08-03 Tom Rix + + * config.h.in: Add HAVE_XCOFF for AIX. + * configure.in: Add --with-xcoff option. + * include/libc-symbols.h: Disable the .stabs macros. + +2001-08-03 Ulrich Drepper + + * iconvdata/8bit-gap.c: Correctly use __builtin_expect. + * 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/gb18030.c: Likewise. + * iconvdata/gbbig5.c: Likewise. + * iconvdata/gbgbk.c: Likewise. + * iconvdata/gbk.c: Likewise. + * iconvdata/ibm930.c: Likewise. + * iconvdata/ibm932.c: Likewise. + * iconvdata/ibm933.c: Likewise. + * iconvdata/ibm935.c: Likewise. + * iconvdata/ibm939.c: Likewise. + * iconvdata/ibm943.c: Likewise. + * iconvdata/iso-2022-cn.c: Likewise. + * iconvdata/iso-2022-kr.c: Likewise. + * iconvdata/iso646.c: Likewise. + * iconvdata/iso8859-1.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. + * iconv/gconv_simple.c: Likewise. Convert assert() in real error + handling. + + * iconvdata/Makefile: Add rules to build KOI8-T module. + * iconvdata/koi8-t.c: New file. + * iconvdata/gconv-modules: Add entries for KOI8-T. + * iconvdata/tst-tables.sh: Add KOI8-T. + + * locale/iso-639.def: Correct Javanese 2 letter code. Add Tonga. + Add Tigrinya. + +2001-08-02 Ulrich Drepper + + * locale/programs/ld-collate.c (collate_read): Handle collating-element + and reorder_after following copy statement correctly. + +2001-08-02 Andreas Jaeger + + * libio/bits/stdio.h (printf): Remove printf optimization since + GCC 3.0 can optimize printf. + +2001-08-02 Ulrich Weigand + + * sysdeps/s390/s390-32/memcpy.S: Fixed incorrect use of + mvcle introduced by 2001-07-12 change. + * sysdeps/s390/s390-64/memcpy.S: Likewise. + +2001-07-31 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/getcontext.S: Don't touch the %gs + register so that contexts can be used in different threads. + * sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/i386/swapcontext.S: Likewise. + + * sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Correct + test for cmsg struct size. + * sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Likewise. + + * sysdeps/unix/sysv/linux/i386/makecontext.S: Remove unnecessary + initializations. + + * libio/iopopen.c: Add lock for proc_file_chain access. + * libio/oldiopopen.c: Add lock for old_proc_file_chain access. + Reported by Padraig Brady . + +2001-07-31 Andreas Jaeger + + * sysdeps/unix/sysv/linux/sparc/bits/poll.h (NPOLLFILE): Removed. + * sysdeps/unix/sysv/linux/mips/bits/poll.h (NPOLLFILE): Removed. + * sysdeps/unix/sysv/linux/m68k/bits/poll.h (NPOLLFILE): Removed. + * sysdeps/unix/sysv/linux/bits/poll.h (NPOLLFILE): Removed. + * sysdeps/generic/bits/poll.h (NPOLLFILE): Removed. + + * libio/genops.c (flush_cleanup): Guard list_all_lock to allow + compilation without threads. + +2001-07-30 Ulrich Drepper + + * po/fr.po: Update from translation team. + +2001-07-30 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/e_atanhl.c: New file, contributed by + Stephen L Moshier. + + * posix/regex.c: Declare wcs functions only if compiling with + MBS_SUPPORT. + Don't use #elif for traditional C. + +2001-07-29 Mark Kettenis + + * sysdeps/mach/hurd/recvmsg.c: New file. + * sysdeps/mach/hurd/sendmsg.c: New file. + +2001-07-27 Ulrich Drepper + + * version.h (VERSION): Bump to 2.2.4. + + * sysdeps/mips/Dist: Remove non-existing files. + * sysdeps/mips/mips64/Dist: Likewise. + * sysdeps/mips/mipsel/Dist: Removed. + * iconv/Makefile (distribute): Add strtab.c and iconvconfig.h. + * sysdeps/generic/Dist: Add bits/link.h. + * sysdeps/unix/sysv/linux/m68k/Dist: Add sys/procfs.h. + * sysdeps/unix/sysv/aix/Dist: Add dl-support.c, dl-addr.c, and + dl-error.c. + * sysdeps/ia64/Dist: Add bits/link.h. + + * libio/vasprintf.c (_IO_vasprintf): Don't copy uninitialized byte + from stream buffer to result buffer. + Reported by Michael Meeks . + + * libio/Makefile: Add rules to check output of tst-fopenloc and + for memory leaks. + * libio/tst-fopenloc.c: New file. + + * iconv/gconv_cache.c (__gconv_compare_alias_cache): New function. + * iconv/gconv_int.h: Add prototype for __gconv_compare_alias_cache. + * iconv/gconv_charset.h: Replace __gconv_lookup_alias prototype with + __gconv_compare_alias prototype. + * iconv/gconv_db.c (__gconv_lookup_alias): Removed. + (__gconv_compare_alias): New function. + * locale/findlocale.c (_nl_find_locale): Use __gconv_compare_alias + instead of calling __gconv_lookup_alias twice and compare here. + +2001-07-26 Mark Kettenis + + * hurd/hurdsig.c (_hurd_internal_post_signal): Fix handling of + SA_RESETHAND and SA_NODEFER. + +2001-07-27 Ulrich Drepper + + * libio/fileops.c (_IO_new_file_fopen): Correctly locate ccs= + substring. Don't handle ccs= if no descriptor was allocated. + Normalize codeset name before calling __wcsmbs_named_conv. + Initialize transliteration elements. Free step data structure. + * libio/iofclose.c (_IO_new_fclose): Correct freeing of the step data. + * libio/iofwide.c (__libio_translit): Renamed from libio_translit + and made public. Various little cleanup changes. + * wcsmbs/wcsmbsload.h (struct gconv_fcts): Add towc_nsteps and + tomb_nsteps member. + * wcsmbs/wcsmbsload.c: Add some casts to avoid warnings. + (__wcsmbs_gconv_fcts): Initialize towc_nsteps and tomb_nsteps member. + (getfct): Take additional parameter with pointer to variable where the + number of steps is stored in. Disable code which allows to use more + than one step for now. Adjust all callers. + (free_mem): New function. Frees data associated with currently + selected converters. + + * malloc/mtrace.pl: Extract addresses from DSOs. + +2001-07-26 Ulrich Drepper + + * malloc/mcheck.c (checkhdr): Disable mcheck before reporting an + error. Don't run any tests if mcheck is disabled. + + * elf/dl-support.c (_dl_important_hwcaps): Avoid using malloc + early in the program. + +2001-07-27 Andreas Jaeger + + * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h (SC_GPRS): Fix + value following change from 2001-05-30. + + * sysdeps/s390/s390-64/bits/setjmp.h (_JMPBUF_UNWINDS): Follow + rename change from 2001-07-12 for __jmp_buf. + Patches by Ulrich Weigand . + +2001-07-26 Roland McGrath + + * sysdeps/generic/bits/termios.h (EXTA, EXTB): Make these conditional + on __USE_MISC rather than __USE_BSD. + (B57600, B115200, B230400, B460800, B500000, B576000, B921600, + B1000000, B1152000, B1500000, B2000000, B2500000, B3000000, + B3500000, B4000000): New macros. + * sysdeps/generic/tcsetattr.c (bad_speed): Accept those values. + * termios/cfsetspeed.c (speeds): Likewise. + +2001-07-26 kaz Kojima + + * sysdeps/sh/dl-machine.h (elf_machine_load_address): Don't use + multi-line strings. + (FUN_ADDR, FGR_SAVE, ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. + (elf_machine_rela): Handle unaligned relocation. + +2001-06-07 David Mosberger + + * sysdeps/ia64/dl-symaddr.c (_dl_symbol_address): Update call to + __ia64_make_fptr() for new interface. + (_dl_function_address): Remove. + + * sysdeps/ia64/dl-machine.h (IA64_BOOT_FPTR_TABLE_LEN): Rename + from IA64_BOOT_FPTR_SIZE and reduce its value from 256 to 200. + (struct ia64_fdesc): Rename from struct ia64_fptr and drop "next" + pointer. Rename member "func" to "ip". + (struct ia64_fdesc_table): New type. + (__ia64_make_fptr): Change prototype. + (__ia64_init_bootstrap_fdesc_table): New function. + (ELF_MACHINE_BEFORE_RTLD_RELOC): New macro. + (__boot_ldso_fptr): Removed. + (__fptr_next): Removed. + (__fptr_root): Removed. + (__fptr_count): Removed. + (TRAMPOLINE_TEMPLATE): Fix typo in comment. Don't use multi-line + strings to avoid warning from gcc3. + (RTLD_START): Don't use multi-line strings. + (ELF_MACHINE_START_ADDRESS): Use DL_STATIC_FUNCTION_ADDRESS. + (elf_machine_fixup_plt): Update the code entry point in the + function descriptor through a "volatile" pointer to ensure proper + write ordering. + (elf_machine_rela): Simplify handling of FPTR relocs: always call + __ia64_make_fptr(). + + * sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): New macro. + (DL_STATIC_FUNCTION_ADDRESS): Likewise. + (DL_DT_INIT_ADDRESS): Use DL_AUTO_FUNCTION_ADDRESS. + (DL_DT_FINI_ADDRESS): Likewise. + + * sysdeps/ia64/dl-fptr.c: Rewrite for better scalability and to + avoid deadlocks. + + * include/link.h: Add member machine specific "l_mach" member to + link_map. + + * sysdeps/generic/bits/link.h: New file. + * sysdeps/ia64/bits/link.h: Likewise. + + * elf/rtld.c (_dl_start): Fix typo in comment. + (_dl_start_final): Copy new "l_mach" member from temporary to + final bootstrap map. + +2001-07-25 Ulrich Drepper + + * csu/gmon-start.c: Use ENTRY_POINT_DECL if defined instead of a + declaration using ENTRY_POINT. + * sysdeps/ia64/elf/entry.h (ENTRY_POINT_DECL): New definition. + +2001-07-25 H.J. Lu + + * csu/gmon-start.c: Include + (_start): Replaced with ENTRY_POINT. + +2001-07-25 Mark Kettenis + + * sysdeps/unix/bsd/bsd4.4/bits/socket.h: New file. + +2001-07-25 Ulrich Drepper + + * iconv/iconvconfig.c (main): Don't write an output file if we + have seen an error. + (write_output): Don't overwrite old cache file until we know we + have a new one. + + * iconv/Makefile (install-sbin): Add iconvconfig. + +2001-07-25 Jakub Jelinek + + * elf/Makefile (routines): Add dl-iteratephdr and + dl-iteratephdr-static. + (elide-routines.os): Add dl-iteratephdr-static. + * elf/dl-iteratephdr.c: New file. + * elf/link.h (struct dl_phdr_info): New definition. + (dl_iterate_phdr): New prototype. + * elf/Versions (dl_iterate_phdr): Add at GLIBC_2.2.4. + * include/link.h (struct dl_phdr_info): New definition. + (dl_iterate_phdr, __dl_iterate_phdr): New prototypes. + * sysdeps/generic/dl-iteratephdr-static.c: New file. + * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: New file. + +2001-07-24 Igor Khavkine + + * hurd/hurdsig.c (_hurdsig_init): Fix incorrect initialization + of pending signals. + +2001-06-22 Jakub Jelinek + + * sysdeps/powerpc/dl-machine.c (__elf_preferred_address): Prefer + gaps below main executable. + +2001-07-22 Bruno Haible + + * intl/libintl.h (ngettext, dngettext, dcngettext): Use both msgid1 + and msgid2 for printf format argument checking. + +2001-07-24 Ulrich Drepper + + * iconv/gconv_cache.c (find_module): Don't allocate room for the + filename. Use alloca, we don't need it beyond this function. + (__gconv_release_cache): New function. + * iconv/gconv_db.c (__gconv_close_transform): Call + __gconv_release_cache after the steps are handled. + * iconv/gconv_dl.c (__gconv_find_shlib): Allocate file name in the + record as well. + * iconv/gconv_int.h: Add prototype for __gconv_release_cache. + + * iconv/gconv_cache.c (__gconv_lookup_cache): Catch one more + boundary case and reject it. + +2001-07-24 Andreas Jaeger + + * manual/examples/longopt.c (main): Fix which options take arguments. + +2001-07-24 Ulrich Drepper + + * iconvdata/Makefile: Add dependencies for tst-loading test. + +2001-07-24 Andreas Jaeger + + * iconv/iconvconfig.c (name_insert): Make static to avoid warning. + +2001-07-23 Ulrich Drepper + + * locale/programs/locale.c (write_locales): Disable implicit + locking for the stream. Use feof_unlocked instead of feof. + + * sysdeps/unix/sysv/linux/i386/makecontext.S: Initialize %fs, %gs, + and floating-point status as well. + + * libio/iofclose.c (_IO_new_fclose): Unlink descriptor first to + avoid deadlock. + * libio/oldiofclose.c (_IO_old_fclose): Likewise. + * libio/genops.c (_IO_un_link): Get stream lock since it's not + always done in the caller. + (_IO_link_in): Likewise. + + * libio/genops.c (_IO_list_all_stamp): New variable. + (_IO_un_link): Bump _IO_list_all_stamp after removing from list. + (_IO_link): Likewise for insertion. + (flush_cleanup): New function. + (_IO_flush_all): Get list_all_lock and all individual locks for the + streams. Detect and handle changes to the _IO_list_all list. + (_IO_flush_all_linebuffered): Likewise. + * sysdeps/generic/bits/stdio-lock.h: Define + _IO_cleanup_region_start_noarg. + * sysdeps/mach/hurd/bits/stdio-lock.c: Likewise. + + * stdio-common/printf.h: Fix typo in comment. + + * iconv/gconv_cache.c (__gconv_lookup_cache): Handle encoding from + and to INTERNAL. + * iconv/iconvconfig.c: Create a special record for the INTERNAL + encoding name in the output file. + +2001-07-23 Jakub Jelinek + + * sunrpc/svc_tcp.c (svctcp_rendezvous_abort): New function. + (svctcp_rendezvous_op): Use it. + * sunrpc/svc_unix.c (svcunix_rendezvous_abort): New function. + (svcunix_rendezvous_op): Use it. + +2001-07-23 Andreas Schwab + + * math/Makefile (CPPFLAGS-test-ifloat.c, CPPFLAGS-test-idouble.c, + CPPFLAGS-test-ildoubl.c): Renamed from CFLAGS-*. + (math-CPPFLAGS): Set this instead of CPPFLAGS. + +2001-07-23 Ulrich Drepper + + * elf/elf.h: Add more definitions from Sun's latest version. + +2001-07-23 Stephen L Moshier + + * sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): Return proper + sign for 0 input and set divide by zero exception for -1 input. + Return argument if NaN or infinity. + +2001-07-23 Andreas Jaeger + + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Add some deltas. + +2001-07-23 Ulrich Drepper + + * iconv/gconv_cache.c (__gconv_lookup_cache): Select correct + module for conversion direction. + +2001-07-23 Stephen L Moshier + + * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Return proper + sign for 0 input. Return NaN with no exception for NaN input. + +2001-07-23 Ulrich Drepper + + * iconv/gconv_builtin.h: ISO-106464/UTF-8/ transformation must + really be an alias. + +2001-07-23 Andreas Jaeger + + * iconv/iconvconfig.c: Include and use + __attribute_malloc__ for older GCC versions. + * iconv/strtab.c: Likewise. + Add prototypes to avoid warnings. + +2001-07-22 Roland McGrath + + * hurd/hurdsig.c (_hurd_internal_post_signal): Support SA_RESETHAND + and SA_NODEFER options. Spurred to action by Igor Khavkine. + + * sysdeps/generic/bits/sigaction.h [__USE_UNIX98 || __USE_MISC] + (SA_NODEFER, SA_RESETHAND): New macros, same bit values as FreeBSD. + [__USE_MISC] (SA_INTERRUPT): New macro, value 0. + [__USE_MISC] (SA_NOMASK, SA_ONESHOT, SA_STACK): New macros, aliases + as in other sysdeps versions of this file. + + * sysdeps/generic/bits/sigaction.h (struct sigaction): Use a union + and provide sa_handler and sa_sigaction member names as macros, as + done in other sysdeps versions of this file. + Suggested by Igor Khavkine . + +2001-07-23 Ulrich Drepper + + * posix/regex.c: Revamp memory allocation for WCHAR functions to + not use too much stack. + +2001-07-22 Ulrich Drepper + + * iconv/iconvconfig.c (write_output): Update comment explaining + output format. + + * elf/dl-load.c (_dl_dst_count): In SUID binaries expand $ORIGIN + if it is alone. + (_dl_dst_substitute): Likewise. + + * iconv/iconvconfig.c: Remove --verbose option. Comment out + mcheck_verbose call. + + * iconv/strtab.c (morememory): Fix little memory handling problem. + +2001-07-22 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/sysdep.h (INLINE_SYSCALL): Don't + mark asm input operand as clobbered. + * sysdeps/unix/sysv/linux/m68k/brk.c (__brk): Likewise. + +2001-07-22 Ulrich Drepper + + * iconv/gconv_builtin.c (struct builtin_map): Remove init and end + elements. + (BUILTIN_TRANSFORMATION): Remove Init and End parameters. + (__gconv_get_builtin_trans): Initialize __init_fct and __end_fct to + NULL. + * iconv/gconv_builtin.h: Remove NULL parameters for Init and End in + all BUILTIN_TRANSFORMATION calls. + * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Remove Init and End + parameters. + * iconv/gconv_simple.c: Likewise. + * iconv/gconv_db.c (gen_steps): Internal converters don't have + initializers, move the code accordingly. + + * iconv/gconv_conf.c (__gconv_read_conf): Don't read configuration + file if STATIC_GCONV is defined. + + * iconv/gconv_conf.c (__gconv_path_envvar): New global variable. + (__gconv_get_path): Use it instead of call getenv. + (__gconv_read_conf): First see whether cache can be used. If yes, + don't do any work here. + * iconv/gconv_db.c (__gconv_release_step): Renamed from release_step + and exported. Change callers. + (__gconv_find_transform): First call __gconv_lookup_cache and only + continue if it signals no cache available. Remove some unnecessary + tests. + * iconv/gconv_int.h: Declare __gconv_path_envvar, __gconv_lookup_cache, + __gconv_release_step, and __gconv_loaded_cache. + * iconv/gconv_cache.c: New file. + * iconv/iconvconfig.c: New file. + * iconv/iconvconfig.h: New file. + * iconv/strtab.c: New file. + * iconv/Makefile: Add rules to build new files and programs. + +2001-07-20 Roland McGrath + + * sysdeps/generic/device-nrs.h (DEV_TTY_P): Change argument type + from `dev_t' (st_rdev value) `const struct stat *'. + * sysdeps/unix/sysv/linux/device-nrs.h (DEV_TTY_P): Likewise. + * libio/filedoalloc.c (_IO_file_doallocate): Change caller. + * sysdeps/mach/hurd/device-nrs.h: New file. + + * libio/stdio_ext.h: Moved to ... + * stdio-common/stdio_ext.h: ... here. + * libio/Makefile (headers): Move stdio_ext.h from here ... + * stdio-common/Makefile (headers): ... to here. + * include/stdio_ext.h: New file. + * stdio/Makefile (routines): Add the stdio_ext.h functions here. + * stdio/Versions (GLIBC_2.2.4): Export the stdio_ext.h functions. + * stdio/__flbf.c: New file. + * stdio/__fbufsize.c: New file. + * stdio/__fpending.c: New file. + * stdio/__fpurge.c: New file. + * stdio/__freadable.c: New file. + * stdio/__freading.c: New file. + * stdio/__fsetlocking.c: New file. + * stdio/__fwritable.c: New file. + * stdio/__fwriting.c: New file. + +2001-07-20 Ulrich Drepper + Andreas Jaeger + + * elf/ldconfig.c (search_dir): Avoid use of uninitialized memory. + Add a few __builtin_expect to mark unlikely error cases. + +2001-07-20 Andreas Jaeger + + * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Synch with kernel. + Patch by Daniel Jacobowitz . + +2001-07-19 Ulrich Drepper + + * intl/localealias.c: Remove unnecessary prototype. + + * Makefile: Add html goal. + * manual/Makefile: Likewise. + +2001-07-18 Ulrich Drepper + + * libio/filedoalloc.c (_IO_file_doallocate): A few more minor + cleanups and improvements. + +2001-07-18 Andreas Schwab + + * posix/regex.c (WORDCHAR_P) [WCHAR]: Also return true for the + underscore character. + +2001-07-18 Jakub Jelinek + + * malloc/malloc (new_heap): Don't call munmap for zero length. + +2001-07-18 Ulrich Drepper + + * libio/filedoalloc.c (_IO_file_doallocate): Use DEV_TTY_P if + available to determine whether descriptor is for tty before + calling isatty. + + * sysdeps/unix/sysv/linux/device-nrs.h: Define DEV_TTY_P. + * sysdeps/generic/device-nrs.h: Likewise. + +2001-07-18 Andreas Jaeger + + * time/Makefile (tst-getdate-ENV): Add TZDIR to environment. + + * time/Depend: New, add dependency on timezone. + + * time/tst-getdate.c: Add testcase for bug report by Hendrik + Uhlmann . + * time/datemsk: Likewise. + +2001-07-17 Ulrich Drepper + + * elf/ldconfig.c (parse_conf): Disable implicit locking for the + stream. Remove some unnecessary initializers. + +2001-07-17 Andreas Jaeger + + * elf/ldconfig.c: Add new variable hwcap_mask to honour LD_HWCAP_MASK. + (is_hwcap_platform): Use it. + (set_hwcap): New function to set hwcap_mask. + (main): Call set_hwcap. + +2001-07-17 Jakub Jelinek + + * time/getdate.c (__getdate_r): Initialize tm_isdst, tm_gmtoff and + tm_zone before calling strptime. + +2001-07-17 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Fix last change. + +2001-07-17 Ulrich Drepper + + * inet/rcmd.c (iruserfopen): Disable implicit locking for the stream. + * inet/ruserpass.c (ruserpass): Likewise. + * nss/nsswitch.c (nss_parse_file): Likewise. + * resolv/res_hconf.c (_res_hconf_init): Likewise. + * resolv/res_init.c (__res_vinit): Likewise. + * gmon/bb_exit_func.c (__bb_exit_func): Likewise. + * misc/getpass.c (getpass): Likewise. + * misc/getusershell.c (initshells): Likewise. + * misc/getttyent.c (setttyent): Likewise. + * misc/mntent_r.c (__setmntent): Likewise. + * time/getdate.c (__getdate_r): Likewise. + * time/tzfile.c (__tzfile_read): Likewise. + * iconv/gconv_conf.c (read_conf_file): Likewise. + * intl/localealias.c (read_alias_file): Disable implicit locking + for the stream. Use _unlocked functions for glibc. + * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Disable + implicit locking for the stream. + (__get_nprocs_conf): Likewise. + (phys_pages_info): Likewise. + +2001-07-16 Ulrich Drepper + + * nscd/connections.c: Print messages caused by user application + only if debug_level > 0. Add little performance improvements. + Use TEMP_FAILURE_RETRY around write calls. + * nscd/grpcache.c: Likewise. + * nscd/hstcache.c: Likewise. + * nscd/pwdcache.c: Likewise. + +2001-07-13 H.J. Lu + + * sysdeps/mips/dl-machine.h (MAP_BASE_ADDR): Removed. + (elf_machine_got_rel): Defined only if RTLD_BOOTSTRAP is not defined. + (RESOLVE_GOTSYM): Rewrite to use RESOLVE. + + * sysdeps/mips/rtld-ldscript.in: Removed. + * sysdeps/mips/rtld-parms: Likewise. + * sysdeps/mips/mips64/rtld-parms: Likewise. + * sysdeps/mips/mipsel/rtld-parms: Likewise. + +2001-07-16 Ulrich Drepper + + * catgets/test-gencat.sh: Use <<"EOF" instead of < + + * sysdeps/posix/spawni.c: Fix typo when iterating over signal numbers. + +2001-07-16 Andreas Schwab + + * math/libm-test.inc (check_float_internal): Fix sign bit test of + infinities. + +2001-07-16 Jakub Jelinek + + * sysdeps/i386/fpu/e_expl.c (__ieee754_expl): Make it PIC friendly. + +2001-07-15 Ulrich Drepper + + * malloc/obstack.c: Define __attribute__ for non-gcc compilers. + Patch by Jim Meyering . + +2001-07-12 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Reorder + fields in the sigaction struct to match the definition in the kernel. + +2001-07-12 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Correct the + test for ENOSYS. + +2001-07-12 Martin Schwidefsky + + * sysdeps/s390/s390-32/bits/setjmp.h: Add leading underscores + to the entries in the __jmp_buf structure. + * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. + +2001-07-12 Martin Schwidefsky + + * sysdeps/s390/s390-32/bcopy.S: Use mvcle for big blocks + (> 64K) and a mvc loop for small blocks. + * sysdeps/s390/s390-32/memcpy.S: Likewise. + * sysdeps/s390/s390-64/bcopy.S: Likewise. + * sysdeps/s390/s390-64/memcpy.S: Likewise. + +2001-07-15 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/sys/procfs.h: New file. + * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: New file. + + * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Check _dl_pagesize + first. Default to 4096, not EXEC_PAGESIZE. + + * iconv/loop.c (put16) [!_STRING_ARCH_unaligned && BIG_ENDIAN]: + Fix index. + +2001-07-09 Andreas Jaeger + + * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Name entry for xmm2. + + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Add HWCAP_I386_XMM, + HWCAP_I386_XMM2 to enum. + +2001-07-13 Andreas Jaeger + + * libio/fileops.c: Include unistd.h for lseek64 prototype. Closes + PR libc/2372. + +2001-07-12 Ulrich Drepper + + * Makeconfig: Add some more changes to handle AIX linker better. + +2001-07-12 H.J. Lu + + * sysdeps/generic/segfault.c: Include . + +2001-07-01 Andreas Jaeger + + * sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk): Remove duplicate + sbrk. Closes PR libc/2312. + +2001-07-01 Andreas Jaeger + + * sysdeps/generic/segfault.c (install_handler): Handle case that + the output file does not exists. Closes PR libc/2345. + +2001-07-11 Ulrich Drepper + + * intl/locale.alias: Use he language code for hebrew, not il + [PR libc/2382]. + +2001-07-11 Jakub Jelinek + + * iconv/gconv_int.h: Fix comment typo. + +2001-07-11 Igor Khavkine + + * hurd/hurdsig.c (_hurdsig_init): Remove a useless line of code. + +2001-07-07 Roland McGrath + + * hurd/hurdsig.c (_hurd_thread_sigstate): Use MACH_PORT_NULL, not 0. + +2001-07-10 Stephen L Moshier + + * sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Fix + backwards conditional in test for x == 1.0. + +2001-07-10 Andreas Jaeger + + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Add ulps for tanh + (-0.7). + +2001-07-09 Andreas Jaeger + + * sysdeps/unix/sysv/linux/configure.in: Revert patch from + 2001-07-05 for sysconfdir handling. + * config.make.in (sysconfdir): Likewise. + * configure.in: Likewise. + + * configure.in: Always assign libc_cv_sysconfdir. + +2001-07-08 Ulrich Drepper + + * Makerules [AIX] (build-shlib-helper): Precede linker options + with -Wl. + + * Makeconfig (config-LDFLAGS): Add ld.so only for ELF. + + * sysdeps/unix/make_errlist.c: Adjust sys_errlist declaration to + what we define in . + + * iconv/iconv_prog.c (main): Don't unconditionally define + variables only use if _POSIX_MAPPED_FILES is defined. + + * sysdeps/unix/sysv/aix/sendmsg.c (sendmsg): Fix return type. + * sysdeps/unix/sysv/aix/recvmsg.c (recvmsg): Likewise. + + * sysdeps/unix/sysv/aix/recv.c: New file. + + * sysdeps/unix/sysv/aix/recvfrom.c: Fix various types. + +2001-07-07 Ulrich Drepper + + * sysdeps/generic/recv.c: Fix return type. + + * sysdeps/unix/sysv/aix/dl-libc.c (__libc_dlclose): Fix typo. + + * sysdeps/unix/sysv/aix/gettimeofday.c (__gettimeofday): Add + declarations for asm functions. + + * include/libc-symbols.h: Provide more dummy definitions for the + case if GNU ld isn't used. + + * libio/freopen.c: Include for free declaration. + * libio/freopen64.c: Likewise. + + * sysdeps/alpha/fpu/libm-test-ulps: Add deltas for tanh(-0.7). + +2001-07-06 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/sigaction.c (RESTORE2): Put asm + explicitly into .text section. + +2001-04-16 Jes Sorensen + + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): + Add 16 longwords reserved for future use to match changes in the + kernel. + +2001-07-03 Jes Sorensen + + * sysdeps/ia64/strncpy.S: Call strnlen() when determining the + string length rather than strlen(). Solves the performance problem + of doing strlen on a 5MB string when strncpy was called with a + length argument of 5 bytes. + +2001-07-02 Jakub Jelinek + + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle + R_SPARC_UA16 and R_SPARC_UA32. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. + +2001-07-01 Stephen L Moshier + + * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): + acosh(x) = ln(2x) if x > 2^30. + * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): + acosh(x) = ln(2x) if x > 2^54. + +2001-07-07 Mark Kettenis + + * sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal): + Generate SIGSEGV instead of SIGBUS for KERN_INVALID_ADDRESS and + KERN_WRITE_PROTECTION_FAILURE. + +2001-07-07 Ulrich Drepper + + * posix/regex.c: Limit string length printed in debug messages to + 100 chars. + + * configure.in: Don't warn about versioning if not on ELF system. + +2001-07-07 Andreas Jaeger + + * sysdeps/*: Put files from GNU MP Library under LGPL v2.1. + +2001-07-06 Ulrich Drepper + + * po/gl.po: Update from translation team. + +2001-07-06 Andreas Jaeger + + * sysdeps/unix/sysv/linux/configure.in: Fix handling of + sysconfdir. + + * manual/libc-texinfo.sh: Add note for the FDL. + + * manual/argp.texi (Argp Example 4): Fix texinfo warning. + + * manual/libc.texinfo: Regenerated. + + * manual/fdl.texi: Fix node. + + * config.make.in (sysconfdir): Replace correctly. + Closes PR libc/2369, reported by Peter Simons . + + * sysdeps/unix/sysv/linux/alpha/configure.in: Removed, it's no + longer needed. + + * sysdeps/unix/sysv/linux/configure.in (libc_cv_linuxVER): Add + case for alpha. + Rework handling of missing linuxthreads add-on. + + * configure.in: Remove unused sysconfdir substitution. + + * manual/Makefile (texis): Add fdl.texi. + * manual/fdl.texi: New. + * manual/socket.texi (Host Names): Improve grammar, fix overflow hbox. + * manual/libc.texinfo: Add fdl, update titlepage. + Patches by Brian Youmans <3diff@gnu.org>. + + * sysdeps/unix/make_errlist.c (main): Print LGPL v2.1 for + generated file. + +2001-07-06 Paul Eggert + + * manual/argp.texi: Remove ignored LGPL copyright notice; it's + not appropriate for documentation anyway. + * manual/libc-texinfo.sh: "Library General Public License" -> + "Lesser General Public License". + * COPYING: Fix Y2k bug in sample copyright notices. + * manual/lesser.texi: Renamed from manual/lgpl.texinfo, + as fsf.org uses the name "lesser.texi". + * manual/Makefile (texis): Follow rename. + +2001-07-06 Andreas Jaeger + + * All files under GPL/LGPL version 2: Place under LGPL version + 2.1. + +2001-07-05 Andreas Jaeger + + Synch with Linux 2.4.6: + * sysdeps/unix/sysv/linux/sparc/bits/socket.h (PF_BLUETOOTH): + New. + (AF_BLUETOOTH): New. + + * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h + (PF_BLUETOOTH): New. + (AF_BLUETOOTH): New. + + * sysdeps/unix/sysv/linux/mips/bits/socket.h (AF_BLUETOOTH): New. + (PF_BLUETOOTH): New. + + * sysdeps/unix/sysv/linux/ia64/bits/socket.h (AF_BLUETOOTH): New. + (PF_BLUETOOTH): New. + + * sysdeps/unix/sysv/linux/alpha/bits/socket.h (PF_BLUETOOTH): New. + (AF_BLUETOOTH): New. + + * sysdeps/unix/sysv/linux/bits/socket.h (PF_BLUETOOTH): New. + (AF_BLUETOOTH): New. + + * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_IEEE80211): New. + + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (N_HCI): New. + + * sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h (N_HCI): New. + + * sysdeps/unix/sysv/linux/bits/ioctl-types.h (N_HCI): New. + +2001-07-04 Roland McGrath + + * hurd/hurdsig.c (_hurd_internal_post_signal): For SS->suspended + wakeup message, use MACH_MSG_TYPE_MAKE_SEND for the receiver port + rather than doing a mach_port_insert_right call first. + +2001-06-26 Roland McGrath + + * hurd/hurdioctl.c: Include for memcpy decl. + +2001-07-03 Andreas Jaeger + + * sysdeps/unix/sysv/sysv4/solaris2/configure.in: Remove check for + crypt add-on. + +2001-07-01 Mark Kettenis + + * sysdeps/mach/hurd/if_index.c: Redone to use new interfaces in + the Hurd pfinet server, using equivalent code from the Linux + version in sysdeps/unix/sysv/linux/if_index.c. In detail: + Include , , , and + . Don't include and + anymore. + (if_nametoindex): New implementation using SIOCGIFINDEX. + (if_freenameindex): Straight copy of the Linux version. + (if_nameindex): New implementation based on pfinet_siocgifconf and + SIOCGIFINDEX. + (if_indextoname): New implementation using SIOCGIFNAME. + (map_interfaces): Function removed. + From Marcus Brinkmann . + +2001-06-30 Jakub Jelinek + + * sysdeps/powerpc/dl-machine.c (__elf_preferred_address): Prefer + gaps below main executable. + +2001-06-19 Andreas Jaeger + + * sysdeps/powerpc/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): + Handle profiling. + +2001-06-29 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/s_asinhl.c: New file. + Patch by Stephen L Moshier . + +2001-06-28 Ulrich Drepper + + * manual/argp.texi: Tons of cleanups. + Patch by Clifford U. Smith . + +2001-06-28 Mark Kettenis + + * manual/users.texi (Setting Groups): Correct initgroups + documentation. Add documentation for getgrouplist. + +2001-06-28 H.J. Lu + + * locale/findlocale.c (locale_file_list): Renamed to ... + (_nl_locale_file_list): This. Make it extern. + (free_mem): Move to ... + * locale/setlocale.c (free_mem): Here. + +2001-06-28 Mark Kettenis + + * sysdeps/mach/hurd/read.c: Include . + (__libc_read): Don't call __pread. Use _hurd_fd_read directly + instead. + * sysdeps/mach/hurd/write.c: Include . + (__libc_write): Don't call __pwrite. Use _hurd_fd_write directly + instead. + + * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Add back + -Wl,-soname option lost in 2001-06-16 change. + +2001-06-27 Ulrich Drepper + + * posix/tst-regex.c: Pass REG_NEWLINE to regcomp. Add extra tests. + Restrict printing of string in debug mode to 100 characters to make + the output useful for long input texts. + + * posix/Makefile: Add rules to build and run tst-regex. + +2001-06-20 Isamu Hasegawa + + * posix/regex.c (FREE_WCS_BUFFERS): New macro to free buffers. + (re_search_2): Invoke convert_mbs_to_wcs and FREE_WCS_BUFFERS. + (wcs_re_match_2_internal): Check whether the wcs buffers need + seting up or not, and skip seting up routin if not needed. + +2001-06-26 Isamu Hasegawa + + * posix/regex.c (count_mbs_length): Use binary search for optimization. + +2001-06-27 Ulrich Drepper + + * posix/tst-regex.c: Fix several bugs. Add more tests. + +2001-06-26 Mark Kettenis + + * hurd/Makefile (user-interfaces): Add pfinet. + * hurd/hurdioctl.c: Include , and + . + (siocgifconf): New function. Register it with HURD_HANDLE_IOCTL + as the handler for SIOCGIFCONF. + * sysdeps/mach/hurd/bits/ioctls.h: Modify SIOCSIFFLAGS and + SIOCGIFFLAGS to be of IOC type ifreq_short. Modify SIOCSIFMETRIC + and SIOCGIFMETRIC to be of IOC type ifreq_int. Add new macro + definitions for SIOCGIFMTU, SIOCSIFMTU, SIOCGIFINDEX and + SIOCGIFNAME. + From Marcus Brunkmann . + +2001-06-25 Ulrich Drepper + + * sysdeps/gnu/net/if.h: Correct _IOT_ifreq and add _IOT_ifreq_short + and _IOT_ifreq_int. Patch by Mark Kettenis . + + * elf/dl-deps.c (_dl_map_object_deps): Fix handling of failing + _dl_catch_error calls. + +2001-06-22 Jakub Jelinek + + * posix/regex.c (regex_compile, re_match_2_internal): Fix comment + typos. + +2001-06-01 Wolfram Gloger + + * malloc/malloc.c (malloc_atfork, free_atfork): Use a unique value + ATFORK_ARENA_PTR, not 0, for the thread-specific arena pointer + when malloc_atfork is in use. + +2001-06-22 Andreas Jaeger + + * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Add parenthese + to avoid warnings. + + * sysdeps/i386/fpu/e_expl.c (__ieee754_expl): Remove unused + variable. + Add unused attributes to avoid warnings. + + * elf/reldep4mod4.c: Add prototype to avoid warning. + * elf/reldep4mod2.c: Likewise. + + * sysdeps/i386/fpu/e_expl.c: Include for + prototypes. + +2001-06-18 Roland McGrath + + * hurd/hurd/fd.h (_hurd_fd_error_signal): Change return type to int. + +2001-06-20 Alexandre Oliva + + * sysdeps/unix/sysv/settimeofday.c: Include time.h. + +2001-06-19 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h: New file. + +2001-05-09 Michael Keezer + + * Makeconfig: Added AIX-ld support for DSO. + * Makerules: Likewise. + * dlfcn/Makefile (defaultmod1.so): Added libc_nonshared. + (defaultmod2.so): Likewise. + * debug/Makefile: Conditionalize use of elf/ld.so. + * iconvdata/Makefile: Moved LDFLAG rpath/soname info into Makeconfig. + + * sysdeps/unix/sysv/aix/Makefile: Added dl-support.c and dl-error.c. + * sysdeps/unix/sysv/aix/Makefile: Made (f/g)rsave(0/1) & + (f/g)prrest(0/1) static only. + * sysdeps/unix/sysv/aix/gettimeofday.c: Removed #if 0. + * sysdeps/unix/sysv/aix/start.c: Define __dso_handle if not ELF but + shared. + * sysdeps/unix/sysv/aix/setitimer.c: New file. + * sysdeps/unix/sysv/aix/sleep.c: New file. + * sysdeps/unix/sysv/aix/usleep.c: New file. + * sysdeps/unix/sysv/aix/dl-addr.c: New file. + * sysdeps/unix/sysv/aix/dl-error.c: New file. + * sysdeps/unix/sysv/aix/dl-support.c: New file. + * sysdeps/unix/sysv/aix/powerpc/register-dump.h: New file. + +2001-06-19 Ulrich Drepper + + * po/es.po: Update from translation team. + +2001-06-19 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/s_tanhl.c: New file. + + * math/libm-test.inc (tanh_test): Test for 2^-56. + + * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Make sure result + equals argument when x < 2^-55. + Patches by Stephen L. Moshier . + +2001-06-17 Alan Modra + + * sysdeps/hppa/dl-machine.h (elf_machine_rela): Handle relocs + at unaligned address. + +2001-06-18 Ulrich Drepper + + * posix/regex.c: Reorganize code to build code twice, once for single + byte, once for multi-byte charsets. Choose function set adequate for + locale at runtime. + Patch by Isamu Hasegawa . + + * po/nl.po: Update from translation team. + +2001-06-09 Bruno Haible + + * iconvdata/gconv-modules (BIG5HKSCS): New alias BIG5-HKSCS. + (ISO-8859-14): New aliases ISO_8859-14 and ISO-CELTIC. + * iconvdata/tst-tables.sh: For BIG5HKSCS, use BIG5-HKSCS charmap. + +2001-05-26 Bruno Haible + + * iconvdata/tst-tables.sh: For SJIS module, use SHIFT_JIS charmap. + * manual/charset.texi: Write Shift_JIS, not Shift-JIS. + +2001-06-17 Roland McGrath + + * sysdeps/pthread/aio_misc.h (LIO_DSYNC): Define to LIO_NOP + 1, + not LIO_READ + 1 (which is the value of LIO_WRITE!). + + * Makerules (build-module-helper-objlist): New variable, + broken out of build-module. Insert --whole-archive/--no-whole-archive + immediately each *_pic.a file in the link object list. + (whole-archive): New variable, used by that. + (build-module-objlist): New variable using build-module-helper-objlist. + (build-module, build-module-helper): Use it. + (build-shlib-objlist): New variable using build-module-helper-objlist. + (build-shlib): Use that. + * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Likewise. + + * posix/spawni.c: Moved to ... + * sysdeps/posix/spawni.c: ... here. + * sysdeps/generic/spawni.c: New file. + +2001-06-16 Roland McGrath + + * hurd/Makefile (routines): Add lookup-retry. + * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Broken out ... + * hurd/lookup-retry.c: ... into here, new file. + * sysdeps/mach/hurd/dl-sysdep.c (open_file): Call that instead + using of duplicate code here. + + * hurd/hurdexec.c (_hurd_exec): Be robust for DTABLESIZE==0. + +2001-06-17 Ulrich Drepper + + * po/ja.po: Update from translation team. + +2001-06-04 Bruno Haible + + * locale/programs/locfile.c (siblings_uncached, siblings, full_read, + compare_files): New functions. + (write_locale_data): Use xmalloc. Compare the file with the locale + data files for the same category in other locales, and reuse it if + possible and safe. + +2001-06-07 Mark Kettenis + + * grp/initgroups.c (initgroups): Factor out re-usable code into... + (internal_getgrouplist): ... new function. + (getgrouplist): New function. + * grp/grp.h (getgrouplist): New prototype. + * grp/Versions [2.2.4]: Add getgrouplist. + +2001-06-16 Ulrich Drepper + + * inet/netinet/ip6.h: Fix comments in ip6_hdr. + Patch by Pekka Savola . + +2001-06-15 Roland McGrath + + * rt/Makefile (aio-routines, clock-routines, timer-routines): New + variables, broken out of librt-routines. + (librt-routines): Set using those. + (extra-libs, extra-libc-others, tests): Set these unconditionally. + (distribute): No need for $(librt-map) or $(librt-routines:=.c) here. + * sysdeps/generic/aio_fsync.c: New file. + * sysdeps/generic/aio_misc.c: New file. + * sysdeps/generic/aio_write.c: New file. + * sysdeps/generic/aio_write64.c: New file. + * sysdeps/generic/aio_read64.c: New file. + * sysdeps/generic/aio_read.c: New file. + * sysdeps/generic/aio_notify.c: New file. + * sysdeps/generic/lio_listio64.c: New file. + * sysdeps/generic/lio_listio.c: New file. + * sysdeps/generic/aio_cancel.c: New file. + * sysdeps/generic/aio_misc.h: New file. + * sysdeps/generic/aio_suspend.c: New file. + * rt/aio_cancel.c: Moved to ... + * sysdeps/pthread/aio_cancel.c: ... here. + * rt/aio_fsync.c: Moved to ... + * sysdeps/pthread/aio_fsync.c: ... here. + * rt/aio_misc.c: Moved to ... + * sysdeps/pthread/aio_misc.c: ... here. + * rt/aio_misc.h: Moved to ... + * sysdeps/pthread/aio_misc.h: ... here. + * rt/aio_notify.c: Moved to ... + * sysdeps/pthread/aio_notify.c: ... here. + * rt/aio_read.c: Moved to ... + * sysdeps/pthread/aio_read.c: ... here. + * rt/aio_read64.c: Moved to ... + * sysdeps/pthread/aio_read64.c: ... here. + * rt/aio_suspend.c: Moved to ... + * sysdeps/pthread/aio_suspend.c: ... here. + * rt/aio_write.c: Moved to ... + * sysdeps/pthread/aio_write.c: ... here. + * rt/aio_write64.c: Moved to ... + * sysdeps/pthread/aio_write64.c: ... here. + * rt/lio_listio.c: Moved to ... + * sysdeps/pthread/lio_listio.c: ... here. + * rt/lio_listio64.c: Moved to ... + * sysdeps/pthread/lio_listio64.c: ... here. + +2001-06-14 Roland McGrath + + * configure.in: Let sysdeps Implies files in add-ons bring in + sysdeps directories from the main source and other add-ons too. + +2001-06-15 Jakub Jelinek + + * math/test-misc.c (main): Add tests for nextafter and nexttoward + with +-Inf as second argument. + + * sysdeps/generic/s_nexttowardf.c (__nexttowardf): Only check for + NaN, not Inf. + * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Fix check for NaN. + * sysdeps/i386/fpu/s_nexttoward.c: New. + * sysdeps/i386/fpu/s_nexttowardf.c: New. + * sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Simplify + check for NaN, optimize x==+-0 handling. + * sysdeps/ieee754/ldbl-96/s_nexttowardf.c (__nexttowardf): Likewise. + * sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Simplify + check for NaN, fix sign in x==+-0 case. + * sysdeps/ia64/fpu/s_nexttoward.c: New. + * sysdeps/ia64/fpu/s_nexttowardf.c: New. + +2001-06-15 H.J. Lu + + * rt/tst-aio2.c (do_test): Initialize cb.aio_offset to 0. + * rt/tst-aio3.c (do_test): Likewise. + * rt/tst-aio4.c (do_test): Likewise. + * rt/tst-aio5.c (do_test): Likewise. + * rt/tst-aio6.c (do_test): Likewise. + +2001-06-15 Andreas Schwab + + * sysdeps/m68k/fpu/bits/mathinline.h: Don't define log2 as inline. + * sysdeps/m68k/fpu/mathimpl.h: Define __ieee754_log2 as inline. + +2001-06-15 Andreas Jaeger + + * gmon/tst-sprofil.c (fac): Make static to avoid compiler warning. + +2001-06-14 Andreas Schwab + + * elf/ldconfig.c (search_dir): Fix check for regular file. + + * sysdeps/m68k/fpu/e_log2f.c: Fix typo. + * sysdeps/m68k/fpu/e_log2l.c: Fix typo. + +2001-06-14 Roland McGrath + + * sysdeps/mach/hurd/bits/fcntl.h [ __USE_POSIX199309 || __USE_UNIX98]: + (O_DSYNC, O_RSYNC): New macros, both defined to O_SYNC as Linux does. + +2001-06-13 Roland McGrath + + * rt/aio_notify.c: Include for _POSIX_REALTIME_SIGNALS. + + * sysdeps/mach/hurd/fork.c (LOSE): Put `goto lose' in dead code + so the label is not considered unused. + + * sysdeps/mach/hurd/pwrite64.c: New file. + * sysdeps/mach/hurd/pread64.c: New file. + + * sysdeps/mach/hurd/pread.c + (__libc_pread): Define this name, with __pread as an alias. + * sysdeps/mach/hurd/pwrite.c + (__libc_pwrite): Define this name, with __pwrite as an alias. + + Implement POSIX "shared memory objects" as regular + files residing in the /var/run/shm/ directory. + This works on any system that supports _POSIX_MAPPED_FILES, + to make it also support _POSIX_SHARED_MEMORY_OBJECTS. + * sysdeps/posix/shm_open.c: New file. + * sysdeps/posix/shm_unlink.c: New file. + * sysdeps/mach/hurd/bits/posix_opt.h + (_POSIX_SHARED_MEMORY_OBJECTS): Define it. + + * rt/aio_notify.c (__aio_notify_only) [! _POSIX_REALTIME_SIGNALS]: + Use raise instead of __aio_sigqueue. + + * sysdeps/mach/hurd/pread.c: Fail with EINVAL if OFFSET is negative. + * sysdeps/mach/hurd/pwrite.c: Likewise. + + * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): libc=0.3 + [USE_IN_LIBIO && !GLIBC_OLDEST_ABI] (.*-.*-gnu-gnu.*): Use GLIBC_2.2.4 + as default version set. + +2001-06-13 Ulrich Drepper + + * libio/iolibio.h (_IO_freopen): Correct last parameter to + _IO_file_open. + (_IO_freopen64): Likewise. + Reported by simanek@quantum.karlov.mff.cuni.cz [PR libc/2326]. + + * elf/elf.h: Add a few more EM_* constants. + +2001-06-12 Bruno Haible + + * intl/dcigettext.c (DCIGETTEXT): Release the lock before returning. + +2001-06-09 Ben Collins + + * sysdeps/unix/sysv/linux/bits/termios.h: Define __MAX_BAUD. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/speed.c: Use __MAX_BAUD instead of + hardcoded B400000. + +2001-06-13 Ulrich Drepper + + * time/sys/time.h: Don't use enum __itimer_which ever for + __itimer_which_t for C++. + Reported by Martin Buchholz . + + * po/fr.po: Update from translation team. + +2001-06-12 H.J. Lu + + * configure.in: Fix typos in missing program names. + * configure: Regenerated. + +2001-06-12 Andreas Jaeger + + * iconvdata/tst-table-to.c: Include string.h for strcmp prototype. + + * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ULPs for tanh (-0.7). + +2001-06-11 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/e_coshl.c: New file. Contributed by + Stephen L Moshier . + + * aclocal.m4: Quote AC_FD_MSG and AC_FD_CC. + + * sysdeps/powerpc/fpu/libm-test-ulps: Add ULPs for tanh (-0.7). + * sysdeps/s390/fpu/libm-test-ulps: Likewise. + +2001-06-11 Michael Deutschmann + + * rt/tst-aio4.c (do_test): Test whether rt signals are supported. + Use my_signo instead of MY_SIGNO and initialize it so that the + used signal is always available. + +2001-06-11 Andreas Jaeger , + Michael Deutschmann + + * io/test-lfs.c (do_prepare): Clean up error messages. + (test_ftello): Check for EFBIG and ENOSPC, clean up error messages. + (do_test): Likewise. + +2001-06-11 Andreas Jaeger + + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (IXANY, IUCLC, + IMAXBEL): Make always visible since they're needed by POSIX. + Closes PR libc/2320, reported by Chris Yeoh . + +2001-06-10 Ben Collins + + * sysdeps/arm/elf/start.S: Use #function, not @function, for + .type of _start. + + * sysdeps/ieee754/ldbl-128/s_ilogbl.c: Include limits.h to get + INT_MAX. + +2001-06-07 H.J. Lu + + * sunrpc/rpc/rpc.h: Add __BEGIN_DECLS/__END_DECLS. + +2001-06-10 Roland McGrath + + * elf/reldep4mod2.c: Use fully typed decls to avoid warnings. + * elf/reldep4mod4.c: Likewise. + +2001-06-10 Mark Kettenis + + * hurd/hurd/threadvar.h: Add prototype for __hurd_errno_location. + +2001-06-08 Andreas Schwab + + * posix/regex.c (re_match_2_internal) [case wordbeg, wordend]: + Don't dereference at end of string. + +2001-06-06 Roland McGrath + + * sysdeps/mach/hurd/getsockopt.c: Fix handling of returned buffer size. + From Robert Bihlmeyer . + +2001-06-06 Ulrich Drepper + + * po/ko.po: Update from translation team. + +2001-06-06 Andreas Jaeger + + * manual/llio.texi (Memory-mapped I/O): Clarify that mapping is to + offset+length-1. + Reported by Robert Bernecky . + +2001-06-06 Jakub Jelinek + + * sysdeps/cris/elf/start.S: Fix a typo introduced by last patch. + * sysdeps/ia64/elf/start.S: Likewise. + * sysdeps/sh/elf/start.S: Likewise. + * sysdeps/s390/s390-32/elf/start.S: Likewise. + * sysdeps/s390/s390-64/elf/start.S: Likewise. + +2001-06-05 Matthew Wilcox + + * sysdeps/hppa/bsd-_setjmp.S: New. + * sysdeps/hppa/bsd-setjmp.S: New. + + * sysdeps/hppa/dl-machine.h: Reformat asm statements to remove new + gcc warnings about multi-line strings. + + * sysdeps/unix/sysv/linux/hppa/getrlimit.c: Remove. + * sysdeps/unix/sysv/linux/hppa/setrlimit.c: Remove. + + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Call getrlimit, + setrlimit directly instead of using wrappers. + +2001-05-01 Richard Hirst + + * sysdeps/unix/sysv/linux/hppa/syscall.S: remove dummy syscall. + * sysdeps/unix/sysv/linux/hppa/sysdep.c: implement syscall. + +2001-06-05 Philipp Thomas + + * nis/nis_call.c (__nisbind_connect): Don't mark for translation + what can't be translated. + +2001-06-06 Ulrich Drepper + + * timezone/zic.c: Update from tzcode2001c. + * timezone/private.h: Likewise. + * timezone/africa: Update from tzdata2001c. + * timezone/asia: Likewise. + * timezone/europe: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +2001-06-04 Bruno Haible + + * iconv/loop.c (UNICODE_TAG_HANDLER): New macro. + * iconv/gconv_simple.c (__gconv_transform_internal_ascii): Invoke + UNICODE_TAG_HANDLER. + (__gconv_transform_internal_ucs2): Likewise. + (__gconv_transform_internal_ucs2reverse): Likewise. + * iconvdata/8bit-gap.c (BODY for TO_LOOP): Invoke UNICODE_TAG_HANDLER. + * iconvdata/8bit-generic.c (BODY for TO_LOOP): Likewise. + * iconvdata/ansi_x3.110.c (BODY for TO_LOOP): Likewise. + * iconvdata/big5.c (BODY for TO_LOOP): Likewise. + * iconvdata/big5hkscs.c (BODY for TO_LOOP): Likewise. + * iconvdata/cp1255.c (BODY for TO_LOOP): Likewise. + * iconvdata/cp1258.c (BODY for TO_LOOP): Likewise. + * iconvdata/euc-cn.c (BODY for TO_LOOP): Likewise. + * iconvdata/euc-jp.c (BODY for TO_LOOP): Likewise. + * iconvdata/euc-kr.c (BODY for TO_LOOP): Likewise. + * iconvdata/euc-tw.c (BODY for TO_LOOP): Likewise. + * iconvdata/gbk.c (BODY for TO_LOOP): Likewise. + * iconvdata/ibm930.c (BODY for TO_LOOP): Likewise. + * iconvdata/ibm932.c (BODY for TO_LOOP): Likewise. + * iconvdata/ibm933.c (BODY for TO_LOOP): Likewise. + * iconvdata/ibm935.c (BODY for TO_LOOP): Likewise. + * iconvdata/ibm937.c (BODY for TO_LOOP): Likewise. + * iconvdata/ibm939.c (BODY for TO_LOOP): Likewise. + * iconvdata/ibm943.c (BODY for TO_LOOP): Likewise. + * iconvdata/iso646.c (BODY for TO_LOOP): Likewise. + * iconvdata/iso8859-1.c (BODY for TO_LOOP): Likewise. + * iconvdata/iso_6937.c (BODY for TO_LOOP): Likewise. + * iconvdata/iso_6937-2.c (BODY for TO_LOOP): Likewise. + * iconvdata/iso-2022-cn.c (BODY for TO_LOOP): Likewise. + * iconvdata/iso-2022-cn-ext.c (BODY for TO_LOOP): Likewise. + * iconvdata/iso-2022-kr.c (BODY for TO_LOOP): Likewise. + * iconvdata/johab.c (BODY for TO_LOOP): Likewise. + * iconvdata/sjis.c (BODY for TO_LOOP): Likewise. + * iconvdata/t.61.c (BODY for TO_LOOP): Likewise. + * iconvdata/uhc.c (BODY for TO_LOOP): Likewise. + * iconvdata/unicode.c (BODY for TO_LOOP): Likewise. + * iconvdata/iso-2022-jp.c (TAG_none, TAG_language, TAG_language_j, + TAG_language_ja, TAG_language_k, TAG_language_ko, TAG_language_z, + TAG_language_zh, CURRENT_TAG_MASK): New enum values. + (EMIT_SHIFT_TO_INIT): Don't emit an escape sequence if ASCII_set + is already selected but set2 or tag are set. + (conversion): New enum type. + (cvlist_t): New type. + (CVLIST, CVLIST_FIRST, CVLIST_REST): New macros. + (conversion_lists): New array. + (BODY for TO_LOOP): Keep track of Unicode 3.1 language tag. If "ja", + prefer conversion to Japanese character sets. If "zh", prefer + conversion to GB2312. If "ko", prefer conversion to KSC5601. Small + optimizations. + (INIT_PARAMS): Add tag. + (UPDATE_PARAMS): Add tag. + +2001-06-04 Bruno Haible + + * locale/programs/locfile.c (write_locale_data): Before creat(), + unlink the file, to avoid crashing the processes that mmap it. Change + a double slash to a single slash. Free fname in case of error return. + +2001-06-02 Jakub Jelinek + + * sysdeps/i386/fpu/s_frexpl.S (__frexpl): Mostly revert 2000-12-03 + changes, do the special handling for denormal numbers, not for + normalized numbers (patch by ). + + * math/test-misc.c (main): Test frexpl with denormal arguments. + +2001-06-04 Jakub Jelinek + + * math/libm-test.inc (llround_test): Add two new llround tests. + * sysdeps/ieee754/ldbl-96/s_llroundl.c (__llroundl): Don't allow + overflow when rounding away from zero. + +2001-06-04 Jakub Jelinek + + * math/Makefile (libm-calls): Add e_log2, w_log2, remove s_log2. + * math/math_private.h (__ieee754_log2, __ieee754_log2f, + __ieee754_log2l): New prototypes. + * sysdeps/generic/w_log2.c: New file. + * sysdeps/generic/w_log2f.c: New file. + * sysdeps/generic/w_log2l.c: New file. + * sysdeps/generic/s_log2l.c: Move... + * sysdeps/generic/e_log2l.c: ...to here. Rename to __ieee754_log2l. + * sysdeps/ieee754/k_standard.c (__kernel_standard): Handle log2(0) + and log2(x < 0). + * sysdeps/i386/fpu/s_log2.S: Move... + * sysdeps/i386/fpu/e_log2.S: ...to here. Rename to __ieee754_log2. + * sysdeps/i386/fpu/s_log2f.S: Move... + * sysdeps/i386/fpu/e_log2f.S: ...to here. Rename to __ieee754_log2f. + * sysdeps/i386/fpu/s_log2l.S: Move... + * sysdeps/i386/fpu/e_log2l.S: ...to here. Rename to __ieee754_log2l. + * sysdeps/m68k/fpu/s_log2.c: Move... + * sysdeps/m68k/fpu/e_log2.c: ...to here. Rename to __ieee754_log2. + * sysdeps/m68k/fpu/s_log2f.c: Move... + * sysdeps/m68k/fpu/e_log2f.c: ...to here. Rename to __ieee754_log2f. + * sysdeps/m68k/fpu/s_log2l.c: Move... + * sysdeps/m68k/fpu/e_log2l.c: ...to here. Rename to __ieee754_log2l. + * sysdeps/ieee754/dbl-64/s_log2.c: Move... + * sysdeps/ieee754/dbl-64/e_log2.c: ...to here. Rename to + __ieee754_log2. + * sysdeps/ieee754/flt-32/s_log2f.c: Move... + * sysdeps/ieee754/flt-32/e_log2f.c: ...to here. Rename to + __ieee754_log2f. + +2001-06-04 Jakub Jelinek + + * sysdeps/generic/w_exp2.c (u_threshold): Lower threshold so that + even arguments which result in denormalized exp2 are accepted. + (__exp2): Arguments equal to u_threshold already result into + underflow. + * sysdeps/generic/w_exp2f.c (u_threshold, __exp2f): Likewise. + * sysdeps/generic/w_exp2l.c (u_threshold, __exp2l): Likewise. + * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Lomark was too + low, with corrected lowmark use greaterequal, not greater. + * sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise. + +2001-06-04 Jakub Jelinek + + * math/libm-test.inc (ilogb_test): Test that ilogb(+-Inf) == INT_MAX. + * sysdeps/i386/fpu/s_ilogb.S (__ilogb): Return INT_MAX for +-Inf. + * sysdeps/i386/fpu/s_ilogbf.S (__ilogbf): Likewise. + * sysdeps/i386/fpu/s_ilogbl.S (__ilogbl): Likewise. + * sysdeps/ieee754/dbl-64/s_ilogb.c (__ilogb): Likewise. + * sysdeps/ieee754/flt-32/s_ilogbf.c (__ilogbf): Likewise. + * sysdeps/ieee754/ldbl-128/s_ilogbl.c (__ilogbl): Likewise. + * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Likewise. + +2001-06-04 Jakub Jelinek + + * sysdeps/generic/w_coshl.c (__coshl): Test if finite argument + gave non-finite result instead of using constant in generic + version. + * sysdeps/generic/w_coshf.c (__coshf): Likewise. + * sysdeps/generic/w_cosh.c (__cosh): Likewise. + * sysdeps/generic/w_exp10.c (o_threshold, u_threshold): Remove. + (__exp10): Test if finite argument gave non-finite result. + * sysdeps/generic/w_exp10f.c (o_threshold, u_threshold, __exp10f): + Likewise. + * sysdeps/generic/w_exp10l.c (o_threshold, u_threshold, __exp10l): + Likewise. + +2001-06-04 Jakub Jelinek + + * sysdeps/ieee754/ldbl-96/e_coshl.c (__ieee754_coshl): Fix + overflow threshold constant (log(LDBL_MAX)+M_LN2l). + +2001-05-29 Bruno Haible + + * locale/programs/ld-ctype.c (idx_table): New struct type. + (idx_table_init, idx_table_get, idx_table_add): New functions. + (MAX_CHARNAMES_IDX): Remove macro. + (locale_ctype_t): Change type of charnames_idx field. + (ctype_startup): Change initialization of charnames_idx field. + (find_idx): Use idx_table_get and idx_table_add for speed. + + * locale/programs/charmap.c (charmap_new_char): Fix ucs4 value + computation of characters in a range. + +2001-05-29 Bruno Haible + + * iconvdata/gb18030.c (__fourbyte_to_ucs1): Add mappings for , + . + (__ucs_to_gb18030_tab1): Likewise. + (BODY for FROM_LOOP): Add mapping for ... + (BODY for TO_LOOP): Likewise. + * iconvdata/tst-table-charmap.sh: Update for charmaps containing + syntax. + * iconvdata/tst-table-from.c (bmp_only): New variable. + (utf8_decode): If bmp_only, don't return characters outside Unicode + plane 0. + (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print + a conversion line if utf8_decode returns NULL. + * iconvdata/tst-table-to.c (main): When testing encodings other than + UTF-8 and GB18030, loop upto U+30000 instead of U+10000. Use UTF-8 + instead of UCS-2 as input. + * iconvdata/tst-table.sh: For GB18030, use only the part < 0x10000 + of the charmap. + +2001-05-29 Bruno Haible + + * iconvdata/cns11643l1.c: Update to Unicode 3.1. + (__cns11643l1_to_ucs4_tab): Regenerated. + (__cns11643l1_from_ucs4_tab12): Regenerated. + * iconvdata/cns11643.c: Update to Unicode 3.1. + (__cns11643l14_to_ucs4_tab): Remove array. + (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, + __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, + __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New arrays. + (__cns11643_from_ucs4p0_tab): Renamed from __cns11643_from_ucs4_tab. + (__cns11643_from_ucs4p2_tab): New array. + * iconvdata/cns11643.h (__cns11643l14_to_ucs4_tab): Remove declaration. + (__cns11643l3_to_ucs4_tab, __cns11643l4_to_ucs4_tab, + __cns11643l5_to_ucs4_tab, __cns11643l6_to_ucs4_tab, + __cns11643l7_to_ucs4_tab, __cns11643l15_to_ucs4_tab): New declarations. + (cns11643_to_ucs4): Treat planes 3, 4, 5, 6, 7, 15 instead of 14. + (__cns11643_from_ucs4_tab): Remove declaration. + (__cns11643_from_ucs4p0_tab, __cns11643_from_ucs4p2_tab): New + declarations. + (ucs4_to_cns11643): Update for new arrays. Treat U+3400..U+4DFF and + U+20000..U+2A6D6. + * iconvdata/cns11643l2.h (__cns11643_from_ucs4_tab): Remove + declaration. + (__cns11643_from_ucs4p0_tab): New declaration. + (ucs4_to_cns11643l2): Update for new arrays. + * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Handle planes + 3 to 7. + (BODY for TO_LOOP): Handle planes 3 to 7, instead of plane 14. + * iconvdata/EUC-TW.irreversible: New file. + * iconvdata/tst-table.sh: Use it. + * iconvdata/Makefile (distribute): Add CP1255.irreversible, + CP1258.irreversible, EUC-TW.irreversible. + +2001-05-29 Bruno Haible + + * locale/C-translit.h.in: Add transliterations for new Unicode 3.1 + mathematical symbols. + +2001-06-05 Andreas Jaeger + + * manual/stdio.texi (Portable Positioning): Fix description of + fpos_t and fpos64_t. + +2001-06-06 Ulrich Drepper + + * sysdeps/generic/wordexp.c: Undo last patch. Use strndupa instead. + + * po/sk.po: Update from translation team. + +2001-06-05 Andreas Jaeger + + * sysdeps/unix/sysv/linux/shm_open.c (where_is_shmfs): Recognize + tmpfs, patch by Stanislav Brabec . + Closes PR libc/2315. + +2001-06-05 Ulrich Drepper + + * sysdeps/generic/wordexp.c: Add missing free. + Patch by yeti@physics.muni.cz. + +2001-06-02 Tom Browder + + * misc/tst-tsearch.c (mangle_tree): Ensure array indices are + within bounds when lag > 0. + +2001-06-05 Ulrich Drepper + + * po/tr.po: New file. + +2001-06-05 Andreas Jaeger + + * manual/libm-err-tab.pl (parse_ulps): Fix typo. + +2001-06-04 H.J. Lu + + * sysdeps/alpha/elf/start.S: Add .type for the entry point. + * sysdeps/arm/elf/start.S: Likewise. + * sysdeps/hppa/elf/start.S: Likewise. + * sysdeps/i386/elf/start.S: Likewise. + * sysdeps/m68k/elf/start.S: Likewise. + * sysdeps/mips/elf/start.S: Likewise. + * sysdeps/ia64/elf/start.S: Likewise. + * sysdeps/sh/elf/start.S: Likewise. + * sysdeps/s390/s390-32/elf/start.S: Likewise. + * sysdeps/s390/s390-64/elf/start.S: Likewise. + * sysdeps/cris/elf/start.S: Likewise. + +2001-06-04 Bruce Mitchener + + * manual/resource.texi: Correct setpriority/nice documentation. + + * sysdeps/unix/nice.c: Correct nice() implementation. + +2001-06-04 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/e_sinhl.c: New file, contributed by + Stephen L Moshier . + +2001-06-03 Roland McGrath + + * Makefile (postclean): Remove obsolete sysd-Makefile. + +2001-06-01 Roland McGrath + + * sysdeps/alpha/fpu/fclrexcpt.c: #include + and use compat_symbol/versioned_symbol instead of plain + symbol_version/default_symbol_version. + * sysdeps/alpha/fpu/fegetenv.c: Likewise. + * sysdeps/alpha/fpu/fesetenv.c: Likewise. + * sysdeps/alpha/fpu/feupdateenv.c: Likewise. + * sysdeps/alpha/fpu/fgetexcptflg.c: Likewise. + * sysdeps/alpha/fpu/fraiseexcpt.c: Likewise. + * sysdeps/alpha/fpu/fsetexcptflg.c: Likewise. + * sysdeps/arm/fpu/fclrexcpt.c: Likewise. + * sysdeps/arm/fpu/fegetenv.c: Likewise. + * sysdeps/arm/fpu/fesetenv.c: Likewise. + * sysdeps/arm/fpu/fraiseexcpt.c: Likewise. + * sysdeps/arm/fpu/fsetexcptflg.c: Likewise. + * sysdeps/i386/fpu/fclrexcpt.c: Likewise. + * sysdeps/i386/fpu/fegetenv.c: Likewise. + * sysdeps/i386/fpu/fesetenv.c: Likewise. + * sysdeps/i386/fpu/feupdateenv.c: Likewise. + * sysdeps/i386/fpu/fgetexcptflg.c: Likewise. + * sysdeps/i386/fpu/fraiseexcpt.c: Likewise. + * sysdeps/i386/fpu/fsetexcptflg.c: Likewise. + * sysdeps/m68k/fpu/fclrexcpt.c: Likewise. + * sysdeps/m68k/fpu/fegetenv.c: Likewise. + * sysdeps/m68k/fpu/fesetenv.c: Likewise. + * sysdeps/m68k/fpu/feupdateenv.c: Likewise. + * sysdeps/m68k/fpu/fgetexcptflg.c: Likewise. + * sysdeps/m68k/fpu/fraiseexcpt.c: Likewise. + * sysdeps/m68k/fpu/fsetexcptflg.c: Likewise. + * sysdeps/powerpc/fclrexcpt.c: Likewise. + * sysdeps/powerpc/fpu/fegetenv.c: Likewise. + * sysdeps/powerpc/fpu/fesetenv.c: Likewise. + * sysdeps/powerpc/fpu/feupdateenv.c: Likewise. + * sysdeps/powerpc/fpu/fgetexcptflg.c: Likewise. + * sysdeps/powerpc/fpu/fraiseexcpt.c: Likewise. + * sysdeps/powerpc/fpu/fsetexcptflg.c: Likewise. + + * iconvdata/cp1258.c: Include for abort decl. + * iconvdata/iso-2022-cn-ext.c: Likewise. + +2001-06-01 Andreas Jaeger + + * Versions.def: Add version 2.2.4. + +2001-06-01 Ulrich Drepper + + * socket/Makefile (routines): Add sockatmark. + * socket/Versions [GLIBC_2.2.4]: Add sockatmark. + * socket/sys/socket.h: Add prototype for sockatmark. + * sysdeps/generic/sockatmark.c: New file. + * sysdeps/unix/sockatmark.c: New file. + +2001-06-01 Andreas Jaeger + + * sysdeps/unix/sysv/linux/speed.c (cfsetispeed): Max speed is + B4000000. + (cfsetospeed): Likewise. + Reported by Lukasz Trabinski . + +2001-05-31 Joseph S. Myers + + * misc/sys/cdefs.h (__restrict_arr): Define to empty for C++. + +2001-05-30 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: greg_t + needs to have the same aligment as the kernel structure. + +2001-05-29 Jakub Jelinek + + * sunrpc/rpc/types.h (u_char, u_short, u_int, u_long, quad_t, + u_quad_t, fsid_t, daddr_t, caddr_t): Make sure the types are defined. + * posix/sys/types.h (u_char, u_short, u_int, u_long, quad_t, + u_quad_t, fsid_t, daddr_t, caddr_t): Protect the __USE_BSD typedefs + against multiple definition. + +2001-05-30 Ulrich Drepper + + * po/da.po: Update from translation team. + +2001-05-29 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/e_acosl.c: New file, contributed by + Stephen L Moshier . + + * math/libm-test.inc (sinh_test): Add new test case. + + * sysdeps/ieee754/ldbl_96/e_sinhl.c (__ieee754_sinhl): sinhl(x) = + x when x < 2^-32. + Patch by Stephen L Moshier . + +2001-05-23 Andreas Jaeger + + * iconvdata/testdata/WINDOWS-1255..UTF-8: Renamed to... + * iconvdata/testdata/WINDOWS-1255..UTF8: this. + +2001-05-27 Andreas Jaeger + + * manual/stdio.texi (String Streams): Fix fmemopen description. + Reported by Michal Kochanowicz . + +2001-05-26 H.J. Lu + + * sysdeps/unix/sysv/linux/mips/syscalls.list: Change sigsuspend + to s_sigsuspend. Add s_mmap2. + + * sysdeps/mips/atomicity.h: New file. + + * sysdeps/unix/sysv/linux/mips/getsysstats.c: New file. + + * sysdeps/unix/sysv/linux/mips/bits/ipc.h (ipc_perm): Put + back __key. + +2001-05-25 Bruce Mitchener + + * manual/ctype.texi: Minor fix. + * manual/install.texi: Likewise. + * manual/startup.texi: Likewise. + * manual/examples/dir.c: Use perror() rather than puts(). + +2001-05-25 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Put stuff following + #endif directive inside a comment to avoid compiler warnings. + +2001-05-25 Philipp Thomas + + * nis/nis_print.c (nis_nstype2str): Don't mark names of + naming services for translation, only UNKNOWN needs it. + Add comment to prevent it for the future. + +2001-05-25 Joseph S. Myers + + * misc/sys/cdefs.h (__restrict_arr): Define appropriately for GCC + 3.1 and non-GCC C99 compilers. + +2001-05-22 David Mosberger + + * sysdeps/ia64/memmove.S: Increase MEMLAT from 6 to 21 for better + performance. + * sysdeps/ia64/memcpy.S: Likewise. + + * sysdeps/ia64/bcopy.S: New file. + + * sysdeps/ia64/bzero.S: New file (derived from memset.S). + +2001-05-26 Ulrich Drepper + + * sysdeps/ia64/fpu/libm-test-ulps: Add deltas for tanh(-0.7). + +2001-05-24 Ulrich Drepper + + * iconvdata/Makefile: Add rules for CP10007. + * iconvdata/gconv-modules: Add entries for CP10007 ad MacCyrillic. + * iconvdata/cp10007.c: New file. + * iconvdata/tst-tables.sh: Add CP10007. + +2001-05-23 kaz Kojima + + * sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT. + (_dl_runtime_profile): Likewise.. + +2001-05-23 Thorsten Kukuk + + * sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out. + * posix/tst-getaddrinfo.c: Remove AF_UNIX test. + +2001-05-19 H.J. Lu + + * elf/dl-deps.c (_dl_map_object_deps): Pass objname and + errstring of the failed DSO to _dl_signal_error (). + +2001-05-23 Ulrich Drepper + + * iconvdata/gconv-modules: Add more aliases to enable use in + locale names. + +2001-05-23 Andreas Jaeger + + * sysdeps/unix/sysv/linux/ia64/Makefile (CFLAGS-initfini.s): + Remove, it's not used anywhere anymore. + * sysdeps/unix/sysv/linux/s390/s390-64/Makefile + (CFLAGS-initfini.s): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Makefile + (CFLAGS-initfini.s): Likewise. + * sysdeps/unix/sysv/linux/powerpc/Makefile (CFLAGS-initfini.s): + Likewise. + * sysdeps/unix/sysv/linux/i386/Makefile (CFLAGS-initfini.s): + Likewise. + +2001-05-21 Bruno Haible + + * wcsmbs/mbrtowc.c (mbrtowc): Remove local variable 'flush', always + use 0 instead, and rely on the converter to do the flush. + * wcsmbs/tst-mbrtowc.c (utf8_test_1): New function, taken from + utf8_test. + (utf8_test_2, utf8_test_3): New function. + (utf8_test): Call utf8_test_1, utf8_test_2, utf8_test_3. + +2001-05-22 Jakub Jelinek + + * elf/dl-close.c (_dl_close): Save imap->l_reldeps, not map->l_reldeps. + + * elf/Makefile (distribute): Add reldep4mod[1234].c. + (tests): Add reldep4. + (modules-names): Add reldep4mod[1234]. + (reldep4mod1.so, reldep4mod2.so, reldep4, reldep4.out): New rules. + * elf/reldep4.c: New file. + * elf/reldep4mod1.c: Likewise. + * elf/reldep4mod2.c: Likewise. + * elf/reldep4mod3.c: Likewise. + * elf/reldep4mod4.c: Likewise. + +2001-05-18 Jakub Jelinek + + * elf/dl-lookup.c (PROTECTED): Remove defines. + (add_dependency): Mark it with internal_function. + (_dl_do_lookup, _dl_do_lookup_versioned): New functions. + (_dl_lookup_symbol, _dl_lookup_symbol_skip, + _dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip): Use + it if we don't want do_lookup* inlined. + +2001-05-18 Jakub Jelinek + + * include/link.h (struct r_scope_elem): Remove r_duplist and + r_nduplist fields. + * elf/dl-load.c (_dl_map_object_from_fd): Don't initialize them. + * elf/dl-lookup.c (_dl_lookup_symbol_skip): Look in r_list, not + r_duplist. + (_dl_lookup_versioned_symbol_skip): Likewise. + * elf/dl-deps.c (struct list): Remove dup field, rename unique to next. + (_dl_map_object_deps): Don't compute duplicate list. + + * elf/dl-symbol.c: Removed. + * elf/Makefile (routines): Remove dl-symbol. + +2001-05-22 Ulrich Drepper + + * po/el.po: Update from translation team. + * po/sv.po: Likewise. + +2001-05-20 Bruno Haible + + * iconvdata/cp1255.c: Completely rewritten. + * iconvdata/Makefile (gen-8bit-gap-modules): Remove cp1255. + * iconvdata/testdata/WINDOWS-1255: New file. + * iconvdata/testdata/WINDOWS-1255..UTF8: New file. + * iconvdata/TESTS: Add WINDOWS-1255 test. + * iconvdata/CP1255.irreversible: New file. + +2001-05-20 Bruno Haible + + * iconvdata/cp1258.c: Completely rewritten. + * iconvdata/Makefile (gen-8bit-gap-modules): Remove cp1258. + * iconvdata/testdata/WINDOWS-1258: New file. + * iconvdata/testdata/WINDOWS-1258..UTF8: New file. + * iconvdata/TESTS: Add WINDOWS-1258 test. + * iconvdata/tst-table-from.c (try): Reset the iconv descriptor before + the main call, and flush it afterwards. + (utf8_decode): Return a string, possibly containing several Unicode + characters. + (main): Update all utf8_decode calls. + * iconvdata/CP1258.irreversible: New file. + +2001-05-20 Bruno Haible + + * iconv/gconv.c (__gconv): For flush without output, pass do_flush = 2. + * iconv/skeleton.c: Distinguish do_flush = 1 and do_flush = 2. In the + first case, set outbuf, outstart, outend, and call PREPARE_LOOP before + EMIT_SHIFT_TO_INIT; then pass the output produced by this step down to + the next step. In the second case, clear the state without calling + EMIT_SHIFT_TO_INIT. + * iconvdata/ibm930.c (EMIT_SHIFT_TO_INIT): Use outbuf instead of + data->__outbuf, and outend instead of data->__outbufend. + * iconvdata/ibm933.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/ibm935.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/ibm937.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/ibm939.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/iso-2022-cn.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/iso-2022-cn-ext.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/iso-2022-kr.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/utf-7.c (EMIT_SHIFT_TO_INIT): Likewise. + +2001-05-21 Jakub Jelinek + + * elf/rtld.c (dl_main): Compute l_map_end for the main program. + * elf/dl-sym.c (_dl_sym): Don't check for l_addr == 0. + If match == _dl_loaded, caller can still come from the main program. + (_dl_vsym): Likewise. + * elf/dl-open.c (dl_open_worker): Don't check for l_addr == 0. + * elf/dl-error.c (_dl_signal_error): Change NULL objname into "". + * elf/restest2.c: New test. + * elf/Makefile (tests): Add restest2. + (restest2, LDFLAGS-restest2): Add rules. + +2001-05-22 Ulrich Drepper + + * intl/Makefile: Add a few more dependencies to avoid races in the + test shell scripts. + +2001-05-22 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/s_log1pl.c: New file, contributed by + Stephen L Moshier . + +2001-05-22 Martin Schwidefsky + + * sysdeps/s390/s390-32/backtrace.c: Make backtrace return the + return addresses instead of the stack pointers. + * sysdeps/s390/s390-64/backtrace.c: Likewise. + +2001-05-21 Jakub Jelinek + + * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Include + bits/sigcontext.h instead of bits/sigstack.h. + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Add + multiple-inclusion guards. + +2001-05-21 Andreas Jaeger + + * locale/programs/ld-collate.c (handle_ellipsis): Fix message. + Patch by Philipp Thomas . + +2001-05-17 Bruce Mitchener + + * manual/arpg.texi: Spelling, misc fixes. + * manual/arith.texi: Likewise. + * manual/crypt.texi: Likewise. + * manual/debug.texi: Likewise. + * manual/getopt.texi: Likewise. + * manual/intro.texi: Likewise. + * manual/memory.texi: Likewise. + * manual/nss.texi: Likewise. + * manual/pattern.texi: Likewise. + * manual/process.texi: Likewise. + * manual/resource.texi: Likewise. + * manual/search.texi: Likewise. + * manual/setjmp.texi: Likewise. + * manual/signal.texi: Likewise. + * manual/socket.texi: Likewise. + * manual/stdio.texi: Likewise. + * manual/string.texi: Likewise. + * manual/sysinfo.texi: Likewise. + * manual/terminal.texi: Likewise. + * manual/llio.texi: Document madvise(). + +2001-05-20 Roland McGrath + + * Makeconfig (sysdep-makeconfigs): Include any Makeconfig files + found within $(add-ons) directories too. + [linuxthreads add-on]: Move variable settings for linuxthreads + to new file linuxthreads/Makeconfig. + +2001-05-20 Franz Sirl + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_STD_AUXV): + Define for linux >= 2.4.5 on powerpc. + (__ASSUME_MMAP2_SYSCALL): Likewise. + +2001-05-19 Roland McGrath + + * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Don't leak the + result port when failing with ELOOP. Do the ELOOP check when + following an absolute symlink target as well as relative. + Remove #ifdef SYMLOOP_MAX conditional--it should always be defined. + +2001-05-18 Andreas Jaeger + + * po/fr.po: Free software is "logiciel libre". + Patch by Martin Michlmayr . + + * sysdeps/powerpc/elf/libc-start.c: Use __cxa_atexit. + Patch by ekato@ees.hokudai.ac.jp, closes PR libc/2271. + +2001-05-17 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: New file. + +2001-05-17 Ulrich Drepper + + * elf/dl-profile.c (_dl_mcount): Check whether state is + GMON_PROF_ON before doing anything. + +2001-05-17 H.J. Lu + + * elf/sprof.c (read_symbols): Move "++symtab" into the while loop. + +2001-05-17 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Use + CHECK_SIGSET_NULL_OK and not CHECK_SIGSET for all parameters. + Reported by Mark Burton . + +2001-05-17 Jakub Jelinek + + * elf/ldconfig.c (add_dir): Only warn about stat failure if + opt_verbose. + (search_dir): Likewise. + +2001-05-17 Ulrich Drepper + + * sysdeps/i386/i486/atomicity.h (exchange_and_add): Correct second + parameter of xaddl. Patch by H . J . Lu . + +2001-05-14 Bruno Haible + + * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): If SO is seen + without previous announcement, reject it regularly, don't abort. + +2001-05-16 Ulrich Drepper + + * math/tgmath.h: Fix handling of int parameters to binary and + ternary functions. Reported by mitr@volny.cz. + + * math/test-tgmath.c: Add tests for calls with integer parameters. + +2001-05-15 Jakub Jelinek + + * sunrpc/rpc_thread.c (rpc_default): Remove. + (__rpc_thread_destroy): Use __libc_tsd_RPC_VARS_mem instead of + rpc_default. + (rpc_thread_multi, __rpc_thread_svc_fdset, __rpc_thread_createerr, + __rpc_thread_svc_pollfd, __rpc_thread_svc_max_pollfd): Likewise. + * sunrpc/auth_none.c (authnone_private): Fix a typo. + +2001-05-16 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Fix stack allocation. + +2001-05-16 Bruce Mitchener + + * manual/llio.texi: Many grammar and typo fixes to the section on AIO. + +2001-05-15 Andreas Jaeger + + * sysdeps/ieee754/ldbl-128/s_expm1l.c: New file, contributed by + Stephen L Moshier . + + * sysdeps/i386/fpu/libm-test-ulps: Adjust for change. + + * math/libm-test.inc: Add comment with ToDo. + + * sysdeps/i386/fpu/e_expl.c: Rewritten to C and using a more + accurate algorithm. Patch by Stephen L Moshier . + + * sysdeps/i386/fpu/e_expl.S: Removed. + +2001-05-14 Roland McGrath + + * csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into a + static pattern rule also that also covers + $(objpx)g$(static-start-installed-name). + [$(start-installed-name) != $(static-start-installed-name)] + (extra-objs, omit-deps, install-lib): Add + $(static-start-installed-name) and g$(static-start-installed-name). + * sysdeps/mach/hurd/i386/Makefile: Don't add crt0.o to those here; + just setting static-start-installed-name is now sufficient. + (extra-objs): Add static-start.o here. + (CFLAGS-initfini.s): Remove obsolete variable. + * sysdeps/mach/hurd/i386/Makeconfig: New file. + Define static-start-installed-name here. + + * Makeconfig: Include existing $(full_config_sysdirs:=/Makeconfig). + * Make-dist (+sysdep-tsrcs): Look for Makeconfig files. + + * Makerules ($(+sysdir_pfx)sysd-Makefile): Remove this target and + associated hair. Instead, just use $(wildcard ...) in the include. + + * configure.in (critic_missing, aux_missing): Collect in these vars + the names of the missing programs, and include them in the error msgs. + * configure: Regenerated. + +2001-05-14 Andreas Jaeger + + * sysdeps/i386/fpu/libm-test-ulps: Adjust for new tests. + + * math/libm-test.inc (tanh_test): Add testcases for last tanh bug. + +2001-05-14 Stephen L Moshier + + * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Fix sign test. + +2001-05-11 Jakub Jelinek + + * posix/regex.c (re_match_2_internal): Swap mbs_offset and csize + as well if swapping strings. + Make sure stop is not past end of second string. + * posix/bug-regex4.c: New test. + * posix/Makefile (tests): Add bug-regex4. + +2001-05-10 Andreas Jaeger + + * manual/install.texi (Linux): Clarify that Linux 2.2 is minimal + requirement. + +2001-05-12 Andreas Jaeger + + * sysdeps/ieee754/dbl-64/s_sin.c: Include "math_private.h" for + internal prototypes. + * sysdeps/ieee754/dbl-64/doasin.c: Likewise. + * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. + * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. + * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. + * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. + * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. + * sysdeps/ieee754/dbl-64/branred.c: Likewise. + + * math/math_private.h: Add prototypes for internal functions of + the IBM Accurate Mathematical Library. + + * sysdeps/ieee754/dbl-64/s_atan.c: Include "math.h" for + prototypes. + * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. + + * sysdeps/ieee754/dbl-64/e_asin.c: Include "math_private.h" for + internal prototypes. + * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. + * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. + * sysdeps/ieee754/dbl-64/e_log.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. + * sysdeps/generic/e_rem_pio2l.c: Likewise. + (__ieee754_rem_pio2l): Fix prototype. + + * math/math_private.h (__copysign): Add internal prototype. + +2001-05-11 Andreas Jaeger + + * sysdeps/unix/sysv/linux/configure.in: Move binutils check to... + * sysdeps/unix/sysv/linux/mips/configure.in: ...here. New file. + +2001-05-11 Andreas Jaeger + + * sysdeps/unix/sysv/linux/configure.in: Check binutils version on + MIPS. + + * sysdeps/mips/rtld-ldscript.in: Removed unneeded binary output + format directive. Patch by Steven J. Hill . + +2001-05-11 Roland McGrath + + * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Don't use + $(build-module) here, since we don't need the full magilla. + Just use $(build-module-helper) and append our special options. + +2001-05-09 Andreas Schwab + + * sysdeps/unix/readdir.c: Make sure we don't modify errno when we + reached EOF. + +2001-05-07 H.J. Lu + + * elf/ldconfig.c (dir_entry): Add ino and dev. + (add_single_dir): Compare ino and dev to check if 2 directory + paths are the same or not. Free entry->path for duplicates. + (add_dir): Initialize ino and dev for entry. + (search_dir): Handle symlink to directory. + +2001-05-07 Andreas Jaeger + + * sysdeps/i386/fpu/libm-test-ulps: Add ulps for new exp tests. + + * math/libm-test.inc (exp_test): Add some more tests. + (pow_test): Run double only test also for long double. + + * math/test-ldouble.c (TEST_LDOUBLE): Define. + * math/test-ildoubl.c (TEST_LDOUBLE): Likewise. + + * sysdeps/generic/bits/confname.h: Remove extra comma at end of + enumeration. + Closes PR libc/2240. + + * scripts/config.guess: Imported from gnu.org. + * scripts/config.sub: Likewise. + +2001-05-05 Jakub Jelinek + + * include/features.h (__USE_EXTERN_INLINES): Don't define if + __NO_INLINE__ is defined. + * ctype/ctype.h (tolower, toupper): Change the guard condition to + __USE_EXTERN_INLINES check only. + * stdlib/stdlib.h (strtod, ...): Likewise. + * wcsmbs/wchar.h (mbrlen): Likewise. + * string/string.h: Only include bits/string.h and bits/string2.h + if __NO_INLINE__ is not defined. + +2001-05-07 Andreas Jaeger + + * debug/Makefile ($(objpfx)xtrace): Substitute @SLIBDIR@ instead + of @LIBDIR@. + +2001-05-04 H.J. Lu + + * malloc/Makefile ($(objpfx)memusage): Substitute @SLIBDIR@ + not @LIBDIR@. + +2001-05-06 Andreas Jaeger + + * sysdeps/i386/fpu/e_fmodl.c: New, rewrite of e_fmodl.S. + * sysdeps/i386/fpu/e_fmodl.S: Removed. + * sysdeps/i386/fpu/e_atan2l.c: New, rewrite of e_atan2l.S. + * sysdeps/i386/fpu/e_atan2l.S: Removed. + * sysdeps/i386/fpu/e_acosl.c: New, rewrite of e_acos.S. + * sysdeps/i386/fpu/s_atanl.c: New, rewrite of e_atanl.S. + * sysdeps/i386/fpu/e_sqrtl.c: New, rewrite of e_sqrt.S. + * sysdeps/i386/fpu/e_acosl.S: Removed. + * sysdeps/i386/fpu/s_atanl.S: Removed. + * sysdeps/i386/fpu/e_sqrtl.S: Removed. + +2001-05-05 Mark Kettenis + + * sysdeps/mach/hurd/bits/environments.h: Add comment from + sysdeps/generic/bits/environments.h. Define _POSIX_V6_* values. + +2001-04-30 Jakub Jelinek + + * posix/confstr.c (confstr) [_CS_V6_WIDTH_RESTRICTED_ENVS]: Move so + that _CS_LFS_CFLAGS can fall through to the empty returned string + case. Add FALLTHROUGH comment. + +2001-04-29 Ralf Baechle + + * sysdeps/unix/sysv/linux/mips/bits/sem.h: Make structure + definitions match the kernel definitions. + * sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. + +2001-04-29 Ben Collins + + * sysdeps/sparc/sparc64/dl-machine.h: Fix multiline strings + warnings. + * sysdeps/sparc/sparc64/soft-fp/qp_add.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_cmp.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_div.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_feq.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_fge.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_fgt.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_fle.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_flt.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_fne.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_mul.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Likewise. + * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Likewise. + +2001-04-29 Andreas Schwab + + * sysdeps/unix/sysv/linux/kernel-features.h: Fix missing backslash + in last change. + +2001-04-29 Andreas Jaeger + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_FCNTL64): + Define for Arm, PowerPC and SH if kernel is 2.4.4 or newer. + + * sysdeps/unix/sysv/linux/bits/socket.h (PF_WANPIPE): New, from + Linux 2.4.4. + (AF_WANPIPE): Likewise. + (MSG_MORE): New. + + * sysdeps/unix/sysv/linux/alpha/bits/socket.h: Add same changes as + for Linux generic version. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/socket.h: Likewise. + + * sysdeps/gnu/netinet/tcp.h (TCP_QUICKACK): New. + +2001-04-27 Ulrich Drepper + + * nis/nss-nis.h: Correct test for invalid error number. + * nis/nss-nisplus.h: Likewise. + + * nis/Makefile (libnss_compat-rountines): Add nss-nisplus. + +2001-04-26 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add getunwind. + + * string/strcoll.c: Fix two memory allocation problems. + * string/Makefile (tests): Add bug-strcoll1. + * string/bug-strcoll1.c: New file. + + * malloc/mcheck.c (mcheck): Call malloc once before setting the + hooks to allow the internal check hooks to be set up if necessary. + + * nis/nss-nis.h: Move yperr2nss_tab definition into separate file + and rename to __yperr2nss_tab. Change YPERR_COUNT into variable + __yperr2nss_count. + * nis/nss-nis.c: New file. + * nis/nss-nisplus.h: Move niserr2nss_tab definition into separate file + and rename to __niserr2nss_tab. Change NISERR_COUNT into variable + __niserr2nss_count. + * nis/nss-nisplus.c: New file. + * nis/Makefile (libnss_compat-routines): Add nss-nis. + (libnss_nis-routines): Likewise. + (libnss_nisplus-routines): Add nss-nisplus. + + * nis/nss_nisplus/nisplus-alias.c: Remove unnecessary initializations. + * nis/nss_nisplus/nisplus-ethers.c: Likewise. + * nis/nss_nisplus/nisplus-grp.c: Likewise. + * nis/nss_nisplus/nisplus-hosts.c: Likewise. + * nis/nss_nisplus/nisplus-network.c: Likewise. + * nis/nss_nisplus/nisplus-proto.c: Likewise. + * nis/nss_nisplus/nisplus-pwd.c: Likewise. + * nis/nss_nisplus/nisplus-rpc.c: Likewise. + * nis/nss_nisplus/nisplus-service.c: Likewise. + * nis/nss_nisplus/nisplus-spwd.c: Likewise. + * nis/nss_nis/nis-alias.c: Likewise. + * nis/nss_nis/nis-ethers.c: Likewise. + * nis/nss_nis/nis-grp.c: Likewise. + * nis/nss_nis/nis-network.c: Likewise. + * nis/nss_nis/nis-proto.c: Likewise. + * nis/nss_nis/nis-pwd.c: Likewise. + * nis/nss_nis/nis-spwd.c: Likewise. + * nis/nss_compat/compat-grp.c: Likewise. + * nis/nss_compat/compat-initgroups.c: Likewise. + * nis/nss_compat/compat-pwd.c: Likewise. + * nis/nss_compat/compat-spwd.c: Likewise. + + * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Some more + optimizations. Patch by Jakub Jelinek . + +2001-04-26 Andreas Jaeger + + * po/zh_TW.po: Update. + Patch by Tung-Han Hsieh . + +2001-04-25 Ulrich Drepper + + * malloc/malloc.c: Allow MALLOC_ALIGNMENT to be defined on the + compiler command line. + * sysdeps/hppa/Makefile: Add -DMALLOC_ALIGNMENT=16 to compiler + command line for malloc.c. + +2001-04-25 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: Move to... + * sysdeps/unix/sysv/linux/sparc/bits/time.h: ...here. + * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: Remove. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/socket.h: Move to... + * sysdeps/unix/sysv/linux/sparc/bits/socket.h: ...here. Adjust + struct msghdr for __WORDSIZE == 32. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statvfs.h: Move to... + * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: ...here. Adjust + for __WORDSIZE == 32. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Remove. + * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/get_clockfreq.c: New + file. + * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S (__libc_siglongjmp): + Rename from longjmp, make longjmp weak alias to it. + +2001-04-24 David S. Miller + + * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: New file. + +2001-04-25 Matthew Wilcox + + * sysdeps/hppa/stackinfo.h: New file. + * sysdeps/unix/sysv/linux/hppa/getdents64.c: New file. + * sysdeps/unix/sysv/linux/hppa/mmap64.c: New file. + * sysdeps/unix/sysv/linux/hppa/bits/resource.h: New file. + * sysdeps/unix/sysv/linux/kernel-features.h: Add descriptions + of PA kernel features. + +2001-04-25 Ulrich Drepper + + * locale/programs/localedef.c (main): Always set a file name for + the initial locale. + * locale/programs/locfile.c (locfile_read): filename is allowed to + be NULL. + +2001-04-12 Paul Bame + + * sysdeps/hppa/fpu/fclrexcpt.c: Clear the exception flags, not the + enable flags. + +2001-04-24 Ulrich Drepper + + * sysdeps/generic/bits/environments.h (_POSIX_V6_LPBIG_OFFBIG, + _XBS5_LPBIG_OFFBIG): Define to -1. + Fix typos. + + * sysdeps/generic/bits/confname.h: Add _CS_V6_WIDTH_RESTRICTED_ENVS. + * posix/confstr.c: Handle _CS_V6_WIDTH_RESTRICTED_ENVS. + * posix/getconf.c: Handle _POSIX_V6_WIDTH_RESTRICTED_ENVS. + * posix/tst-getconf.sh: Add _POSIX_V6_WIDTH_RESTRICTED_ENVS. + + * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/Implies: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: Removed. + +2001-03-21 Alan Modra + + * sysdeps/hppa/dl-machine.h (RTLD_START): Set up dp with DT_PLTGOT + value from application so that constructors in non-PIC libs work. + +2000-12-13 Jes Sorensen + + * sysdeps/hppa/dl-machine.h (RTLD_START): _dl_init now returns a + function pointer, hence load the jump address and gp from the + function pointer before jumping. + +2001-04-24 Andreas Jaeger + + * sysdeps/generic/send.c (__send): Return ssize_t. + * sysdeps/mach/hurd/send.c (__send): Likewise. + * sysdeps/mach/hurd/recv.c (recv): Likewise. + * sysdeps/mach/hurd/sendto.c (sendto): Likewise. + * sysdeps/generic/sendto.c (sendto): Likewise. + * sysdeps/generic/recvmsg.c (recvmsg): Likewise. + * sysdeps/mach/hurd/recvfrom.c (recvfrom): Likewise. + * sysdeps/generic/recvfrom.c (recvfrom): Likewise. + * sysdeps/generic/sendmsg.c (sendmsg): Likewise. + + * socket/sys/socket.h: send* and recv* return ssize_t. + + * include/sys/socket.h: send returns ssize_t. + + * sysdeps/i386/fpu_control.h: Fix comments. + +2001-04-24 Ulrich Drepper + + * sysdeps/ia64/Dist: Add hp-timing.c. + * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Add ucontext_i.h. + * posix/Makefile (distribute): Add tst-getconf.sh. + * po/Makefile (distribute): Add $(BROKEN_LINGUAS:=.po). + +2001-04-23 Ulrich Drepper + + * sysdeps/ia64/Makefile [subdir=csu] (sysdep_routines): Add hp-timing. + * sysdeps/ia64/Versions: Add _dl_cpuclock_offset for ld in 2.2.3. + * sysdeps/ia64/hp-timing.c: New file. + * sysdeps/ia64/hp-timing.h: New file. + * sysdeps/unix/sysv/linux/ia64/bits/time.h: Add definitions for + CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. + + * sysdeps/generic/clock_getcpuclockid.c: Make function generic, test + using #ifdef whether the clock is available. + * sysdeps/unix/i386/clock_getcpuclockid.c: Not needed anymore. + + * sysdeps/generic/dl-sysdep.c: Initialize _dl_cpuclock_offset to move + it into data section. + + * sysdeps/unix/i386/i586/clock_getres.c: Removed. + * sysdeps/unix/i386/i586/clock_gettime.c: Removed. + * sysdeps/unix/i386/i586/clock_nanosleep.c: Removed. + * sysdeps/unix/i386/i586/clock_settime.c: Removed. + * sysdeps/unix/i386/i586/cpuclock-init.h: Removed. + * sysdeps/generic/cpuclock-init.h: Removed. + * sysdeps/unix/i386/i686/Implies: Removed. + * sysdeps/unix/i386/i686/tempname.c: Removed. + * sysdeps/i386/i686/Versions: New file. + * sysdeps/unix/i386/i586/Versions: Removed. + + * sysdeps/posix/clock_getres.c: If HP_TIMING_AVAIL is nonzero handle + CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. + * sysdeps/unix/clock_gettime.c: Likewise. + * sysdeps/unix/clock_nanosleep.c: Likewise. + * sysdeps/unix/clock_settime.c: Likewise. + * sysdeps/posix/tempname.c: Is HP_TIMING_AVAIL is nonzero define + RANDOM_BITS use CPU clock. + + * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: New file. + * sysdeps/sparc/Versions: New file. + + * elf/dl-support.c: Don't use cpuclock-init.h definitions, use + hp-timing.h definitions. + * sysdeps/generic/dl-sysdep.c: Likewise. + + * include/libc-internal.h: Include hp-timing.h. Use hp_timing_t in + __get_clockfreq prototype. + + * sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq): + Use hp_timing_t type. + * sysdeps/generic/get_clockfreq.c (__get_clockfreq): Likewise. + + * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: New file. + + * sysdeps/posix/pathconf.c (__pathconf): For _PC_ASYNC_IO test + whether named file is a regular file or a block device. + * sysdeps/posix/fpathconf.c (__fpathconf): Likewise. + +2001-04-23 Andreas Jaeger + + * nscd/nscd.h: Add noreturn attribute for start_threads. + +2001-04-22 Ulrich Drepper + + * posix/getconf.c: Fix names of XBS5 LFS test variables. + Add missing configuration variables from XPG6. + * posix/tst-getconf.c: New file. + * posix/Makefile (generated): Add tst-getconf.out. + (tests): Add ($objpfx)tst-getconf.out. + Add rule to run tst-getconf.sh. + * sysdeps/generic/bits/confname.h: Add missing _PC_ and _SC_ values + from XPG6. + * sysdeps/posix/fpathconf.c: Add handling of _PC_ALLOC_SIZE_MIN and + _PC_SYMLINK_MAX. + * sysdeps/posix/pathconf.c: Likewise. + * sysdeps/posix/sysconf.c: Correct spelling of _SC_MULTI_PROCESS + and _SC_SYMLOOP_MAX. + +2001-04-22 Philip Blundell + + * sysdeps/arm/fpu/feenablxcpt.c: New file. + * sysdeps/arm/fpu/fedisablxcpt.c: New file. + * sysdeps/arm/fpu/fegetexcpt.c: New file. + +2001-04-22 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/sys/user.h (struct user_fpregs): + Renamed from struct user_fp. + (struct user_regs): New. + (struct user): Use struct user_regs rather than struct pt_regs to + avoid dependency on asm/ptrace.h. Use struct user_fpregs in place + of struct user_fp and struct user_fp_struct. + * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Include sys/procfs.h + not sys/elf.h. + +2001-04-22 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/sys/elf.h: Move contents to + sys/procfs.h, and tell the user to include that file instead. + * sysdeps/unix/sysv/linux/arm/sys/procfs.h: Remove old cruft + surrounded with #if 0. + (elf_greg_t, ELF_NGREG, elf_gregset_t, elf_fpregset_t): Moved here + from sys/elf.h. + (prgregset_t, prfpregset_t): Define in terms of elf_gregset_t and + elf_fpregset_t respectively. + +2001-04-22 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/register-dump.h: Also print the + address that faulted. + +2001-04-21 Ulrich Drepper + + * sysdeps/generic/bits/confname.h: Add _SC_V6_* and _CS_POSIX_V6_* + values. + * sysdeps/generic/bits/environments.h: Define _POSIX_V6_* values. + * posix/confstr.c: Handle _CS_POSIX_V6_* values. + * posix/getconf.c: Handle _CS_POSIX_V6_* and _SC_V6_* values. + * sysdeps/posix/sysconf.c: Handle _SC_V6_* values. + + * sysdeps/powerpc/fpu/libm-test-ulps: Add deltas for atan2f. + * sysdeps/s390/fpu/libm-test-ulps: Likewise. + * sysdeps/sh/sh4/fpu/libm-test-ulps: Likewise. + * sysdeps/mips/fpu/libm-test-ulps: Likewise. + +2001-04-21 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Correct check for invalid + offset. + +2001-04-21 Ulrich Drepper + + * posix/getopt.h: Treat __cplusplus like __STDC__. + +2001-04-20 John S. Marvin + + * sysdeps/unix/sysv/linux/hppa/clone.S: Fix clone system call + entry point stub. + +2001-04-20 Richard Hirst + + * elf/elf.h: Corrected R_PARISC_DIR14R (should be 6, not 5), + and added R_PARISC_DPREL21L and R_PARISC_DPREL14R for modutils. + + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Removed ptrace + entry so the ptrace.c wrapper is used. + +2001-04-20 Alan Modra + + * sysdeps/hppa/dl-lookupcfg.h (_dl_function_address): Prototype. + (DL_FUNCTION_ADDRESS): Define. + (DL_DT_INIT_ADDRESS): Define. + (DL_DT_FINI_ADDRESS): Define. + * sysdeps/hppa/Versions: Add _dl_function_address. + * sysdeps/hppa/dl-machine.h (ELF_MACHINE_START_ADDRESS): Define. + * sysdeps/hppa/dl-symaddr.c (_dl_start_address): Rename to + _dl_function_address. + +2001-04-21 Andreas Jaeger + + * rt/aio_misc.c (handle_fildes_io): Add noreturn attribute. + * resolv/gai_misc.c (handle_requests): Likewise. + * malloc/obstack.c (print_and_abort): Likewise. + * malloc/mcheck.c (mabort): Likewise. + + * sysdeps/unix/i386/i586/clock_settime.c: Include + "libc-internal.h" for __get_clockfreq declaration. + +2001-04-21 Ulrich Drepper + + * elf/dl-support.c: Include cpuclock-init.h. Use CPUCLOCK_VARDEF and + CPUCLOCK_INIT if defined. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/generic/cpuclock-init.h: New file. + * sysdeps/unix/i386/i586/cpuclock-init.h: New file. + * sysdeps/unix/i386/i586/Versions: New file. + * sysdeps/unix/i386/i586/clock_settime.c: New file. + * sysdeps/unix/i386/i586/clock_gettime.c: Handle thread CPU clock + separately by calling __pthread_clock_gettime if this function is + available. Subtract offset from tsc value before computing time value. + +2001-04-20 Ulrich Drepper + + * iconv/iconv_prog.c (print_known_names): If printing goes not to + a tty print in a more machine-friendly way. + + * sysdeps/ieee754/ldbl-128/e_asinl.c: New file. + Contributed by Stephen L Moshier . + +2001-04-20 Andreas Jaeger + + * intl/Makefile (tests): Reorder conditions, tst-gettext needs msgfmt. + +2001-04-20 Andreas Schwab + + * sysdeps/m68k/fpu/libm-test-ulps: Update. + +2001-04-19 Alan Modra + + * Makerules (libc_pic.os): Add $(LDFLAGS-c_pic.os). + * sysdeps/hppa/Makefile (LDFLAGS-c_pic.os): Define. + (CFLAGS-.os): Remove. + + * sysdeps/unix/sysv/linux/hppa/sysdep.h (CALL_MCOUNT): Update comment. + + * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (NGREG, NFPREG, + gregset): Correct for new kernel definitions. + +2001-04-19 Alan Modra + + * sysdeps/hppa/elf/initfini.c: Change dlt reg save to r3 and + generate unwind info by hand. + +2001-04-19 Ulrich Drepper + + * sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Optimize a bit. + + * configure.in: Correct regular expression for msgfmt. + Patch by Bruno Haible . + +2001-04-19 Andreas Jaeger + + * po/el.po: Add comment explaining what's broken. + + * po/Makefile (BROKEN_LINGUAS): New. + (ALL_LINGUAS): Don't add broken languages. + +2001-04-19 Roland McGrath + + * sysdeps/mach/hurd/mlock.c: New file. + * sysdeps/mach/hurd/munlock.c: New file. + * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_MEMLOCK_RANGE): Define it. + + * misc/Makefile (routines): Add mlock munlock mlockall munlockall. + * sysdeps/generic/mlock.c: New file. + * sysdeps/generic/munlock.c: New file. + * sysdeps/generic/mlockall.c: New file. + * sysdeps/generic/munlockall.c: New file. + * sysdeps/generic/bits/mman.h (MCL_CURRENT, MCL_FUTURE): New macros. + * sysdeps/unix/sysv/linux/syscalls.list (mlock, munlock, + mlockall, munlockall): Change caller field to - from EXTRA. + Don't use __ names; not used (and not declared in include/sys/mman.h). + + * hurd/privports.c (__get_privileged_ports): Renamed with __. + Use __ names for calls we make. + (get_privileged_ports): Add alias. + * hurd/hurd.h: Declare it with the __ name. + * sysdeps/mach/hurd/reboot.c (reboot): Use __get_privileged_ports. + * sysdeps/mach/hurd/adjtime.c (__adjtime): Likewise. + * sysdeps/mach/hurd/settimeofday.c (__settimeofday): Likewise. + + * hurd/hurdsig.c (write_corefile): Check RLIMIT_CORE limit and do + nothing if it's zero. + +2001-04-19 Matthew Wilcox + + * sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL): + Change to return a signed result for compatibility with other + architectures, and correctness. + +2001-04-19 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_32BITUIDS): + HPPA always had them. Patch by Matthew Wilcox . + +2001-04-19 Andreas Jaeger + + * configure.in: Require gettext 0.10.36 or newer. + + * manual/install.texi (Tools for Compilation): Mention gettext 0.10.36. + + * po/zh_TW.po: Remove extraneous backslashes. + + * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Remove unused + variables b and n. + +2001-04-18 Jakub Jelinek + + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. + * sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S (__setcontext): + Copy first word of uc_sigmask into __uc_sigmask. + * sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S (__getcontext): + Save uc_link around trap. Copy __uc_sigmask into first word of + uc_sigmask, clear the rest. Make sure setcontext to the created + context doesn't do this though. + * sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h: New file. + * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Add + uc_stack and uc_sigmask, rename old uc_sigmask to __uc_sigmask in the + 64bit version, make uc_sigmask __sigset_t in the 32bit version. + +2001-04-19 Andreas Jaeger + + * sysdeps/unix/sysv/linux/hppa/umount.c: Fix typos in last patch. + + * rt/Makefile (otherlibs): Added for static NSS. + + * glibcbug.in (BUGGLIBC): Send to new alias. + +2001-04-02 Andreas Schwab + + * Makerules (build-module): Make sure exit codes get checked + properly and remove unnecessary slashes. + +2001-04-17 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq): + Handle kernels which report only three digits after the decimal point. + Reported by Van Okamura . + + * sysdeps/alpha/fpu/libm-test-ulps: Adjust error values for atan2f. + +2001-04-17 David S. Miller + + * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update for new atan2 tests. + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise. + +2001-04-17 Jakub Jelinek + + * sysdeps/ieee754/ldbl-128/e_logl.c (__ieee754_logl): Make sure + desired exceptions are raised for exceptional values. + * math/libm-test.inc (acosh_test, atan_test, atan2_test, cacos_test, + cacosh_test, casin_test, casinh_test, catan_test, catanh_test, + clog_test, log_test, log1p_test, tan_test): Increase precision of + expected values to satisfy ldbl-128. + * sysdeps/alpha/fpu/libm-test-ulps: Adjust accordingly. + * sysdeps/arm/libm-test-ulps: Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Likewise. + * sysdeps/ia64/fpu/libm-test-ulps: Likewise. + * sysdeps/m68k/fpu/libm-test-ulps: Likewise. + * sysdeps/mips/fpu/libm-test-ulps: Likewise. + * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. + * sysdeps/s390/fpu/libm-test-ulps: Likewise. + * sysdeps/sh/sh4/fpu/libm-test-ulps: Likewise. + * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Likewise. + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise. + +2001-04-17 Andreas Jaeger + + * configure.in: Move test for critical programs up. + +2001-04-16 Stephen L Moshier + + * sysdeps/ieee754/flt-32/e_asinf.c (pio2_hi, pio2_lo, pio4_hi): + Correct the values. + (pSx, qSx): Replace by shorter approximation. + Use f suffix on float constants. + +2001-04-16 Ulrich Drepper + + * sysdeps/ieee754/ldbl-128/k_tanl.c: New file. + Contributed by Stephen L Moshier . + + * string/string.h: Replace const in attribute list with __const__. + +2001-04-16 Roland McGrath + + * grp/initgroups.c (initgroups) [NGROUPS_MAX != 0]: Always use sysconf + instead of the constant NGROUPS_MAX. That way, the limit can be + raised in the kernel configuration without having to recompile libc. + + * sysdeps/posix/euidaccess.c: Don't #include or try to + define NGROUPS_MAX; we don't use it here. + +2001-04-16 Andreas Jaeger + + * math/libm-test.inc (atan2_test): Add more testcases. + + * iconv/gconv_db.c: Include gconv_charset.h for + __gconv_lookup_alias prototype. + +2001-04-13 Ulrich Drepper + + * sysdeps/ieee754/ldbl-128/s_atanl.c: New file. + Contributed by Stephen L Moshier . + +2001-04-13 Jes Sorensen + + * intl/tst-codeset.c: Include string.h to get prototype for strcmp(). + +2001-04-13 Jes Sorensen + + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Add __pad0 to + explicitly pad struct siginfo instead of relying on compiler padding. + +2001-04-12 Ulrich Drepper + + * sysdeps/ia64/Dist: Add elf/entry.h. + + * iconvdata/Makefile (distribute): Add TESTS2. + +2001-04-13 Jakub Jelinek + + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): + Calculate load address differently. + +2001-04-12 Bruno Haible + + * iconvdata/TESTS2: New file. + * iconvdata/run-iconv-test.sh: Also run tests from TESTS2. + * iconvdata/testdata/alfabeta..UTF-8: New file. + * iconvdata/testdata/alfabeta..UTF-16.BE: New file. + * iconvdata/testdata/alfabeta..UTF-16.LE: New file. + * iconvdata/testdata/alfabeta..UTF-32.BE: New file. + * iconvdata/testdata/alfabeta..UTF-32.LE: New file. + +2001-04-11 Bruno Haible + + * iconvdata/utf-32.c: New file. + * iconvdata/gconv-modules: Add entries for UTF-32, UTF-32LE, UTF-32BE. + * iconvdata/Makefile (modules): Add UTF-32. + (distribute): Add utf-32.c. + +2001-04-11 Bruno Haible + + * iconvdata/utf-16.c (PREPARE_LOOP): Initialize 'swap' after possibly + changing it in the state. After incrementing 'inptr', store it back. + * iconvdata/unicode.c (PREPARE_LOOP): After incrementing 'inptr', + store it back. + +2001-04-11 Bruno Haible + + * iconvdata/utf-16.c (gconv_init): Use MAX_NEEDED_FROM, not + MIN_NEEDED_FROM. + +2001-04-11 David Mosberger + + * sysdeps/ia64/htonl.S: Drop superfluous "alloc". + * sysdeps/ia64/htons.S: Likewise. + + * sysdeps/ia64/memset.S: Add unwind directives. + * sysdeps/ia64/strncpy.S: Likewise. + * sysdeps/ia64/strcat.S: Likewise. + + * sysdeps/ia64/memccpy.S: Add unwind directives. Drop superfluous + restore of ar.pfs. + * sysdeps/ia64/strchr.S: Likewise. + * sysdeps/ia64/memmove.S: Likewise. + * sysdeps/ia64/memcpy.S: Likewise. + * sysdeps/ia64/memcmp.S: Likewise. + * sysdeps/ia64/memchr.S: Likewise. + * sysdeps/ia64/strcmp.S: Likewise. + * sysdeps/ia64/strlen.S: Likewise. + * sysdeps/ia64/strcpy.S: Likewise. + * sysdeps/ia64/strncmp.S: Likewise. + +2001-04-11 Jakub Jelinek + + * wcsmbs/wchar.h (fgetwc, getwc, getwchar, fputwc, putwc, putwchar, + fgetws, fputws, ungetwc, getwc_unlocked, getwchar_unlocked, + fgetwc_unlocked, fputwc_unlocked, putwc_unlocked, putwchar_unlocked, + fgetws_unlocked, fputws_unlocked, wcsftime): Add __THROW. + +2001-04-11 Andreas Jaeger + + * sysdeps/mips/elf/start.S [__ASSEMBLY__]: Define it. + +2001-04-11 Andreas Schwab + + * sysdeps/m68k/fpu/libm-test-ulps: Adjusted. + +2001-04-11 Ulrich Drepper + + * sysdeps/arm/stackinfo.h: New file. + +2001-04-08 Thorsten Kukuk + + * sunrpc/rpc_main.c: If we compile RPC thread safe, allow + rpcgen to generate thread safe code. + +2001-04-10 Andreas Jaeger + + * math/test-fenv.c (initial_tests): Protect FE_TONEAREST declaration. + +2001-04-10 Ulrich Drepper + + * elf/dl-minimal.c (__assert_fail): Change error string. It's + most of the time no bug in ld.so. + (__assert_perror_fail): Likewise. + +2001-04-11 Hans-Peter Nilsson + + * sysdeps/generic/bits/fenv.h (fexcept_t): Change default type + from struct to unsigned int. + +2001-04-10 Franz Sirl + + * elf/elf.h (AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE, + AT_IGNOREPPC): New defines. + * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Print them. + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_STD_AUXV): + Define for newer powerpc kernels. + * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Use the standard + DL_FIND_ARG_COMPONENTS if __ASSUME_STD_AUXV is defined. + +2000-4-10 kaz Kojima + + * sysdeps/sh/stackinfo.h: New file. + +2001-04-10 Ulrich Drepper + + * locale/tst-C-locale.c (run_test): Add tests for locale objects. + * locale/newlocale.c (__newlocale): Correct setting __ctype_b, + __ctype_tolower, and __ctype_toupper elements. + + * ctype/ctype_l.c: Fix definitions of __tolower_l and __toupper_l. + Reported by Konstantin Osipov . + + * sysdeps/i386/fpu/libm-test-ulps: Add deltas for tgamma to help + the lousy AMD FPU. + +2001-04-10 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: New file. + * sysdeps/unix/sysv/linux/powerpc/Dist: Add sys/ptrace.h. + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Delete wrong stuff. + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Correct typedefs. + +2001-04-10 Ulrich Drepper + + * elf/dl-deps.c (_dl_map_object_deps): Provide complete error + message. Based on a patch by HJ Lu. + +2001-04-10 Andreas Schwab + + * math/libm-test.inc (csinh_test): Don't require the invalid + exception for csinh (x + iNaN), but make it optional. + +2001-04-09 David Mosberger + + * sysdeps/ia64/elf/start.S (_start): Add unwind directives. + + * sysdeps/generic/entry.h [!__ASSEMBLY__]: Declare _start. + * sysdeps/ia64/elf/entry.h: New file. + * sysdeps/unix/sysv/linux/mips/entry.h [!__ASSEMBLY__]: Declare + __start. + * elf/rtld.c: Don't declare ENTRY_POINT. Use ENTRY_POINT instead + of &ENTRY_POINT. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/mach/hurd/dl-sysdep.c: Likewise. + * sysdeps/ia64/elf/start.S: Save base address of register backing + store in __libc_ia64_register_backing_store_base. + +2001-04-10 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S: Fix return + value of getcontext. + * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S: Fix return + value of setcontext. + * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/s390/swapcontext.c: Skip setcontext + call by changing the saved context. + +2001-04-10 Ulrich Drepper + + * sysdeps/alpha/stackinfo.h: New file. + * sysdeps/ia64/stackinfo.h: New file. + +2001-04-10 Andreas Schwab + + * sysdeps/m68k/fpu/e_pow.c: Correct handling of some exceptional + values. + * sysdeps/m68k/fpu/e_scalb.c: Likewise. + +2001-04-09 Ulrich Drepper + + * sysdeps/sparc/sparc32/sparcv9/Dist: Add hp-timing.c. + * sysdeps/sparc/sparc64/Dist: Add hp-timing.c. + + * libio/Makefile (distribute): Add fd_to_filename.h. + +2001-04-05 David S. Miller + + Add hp-timing support for sparcv9/sparc64 targets. + * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: New file + * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: New file + * sysdeps/sparc/sparc64/hp-timing.c: New file + * sysdeps/sparc/sparc64/hp-timing.h: New file + * sysdeps/sparc/sparc32/sparcv9/Makefile: Build hp-timing. + * sysdeps/sparc/sparc64/Makefile: Likewise. + +2001-04-09 Jakub Jelinek + + * sysdeps/generic/fd_to_filename.h: New file. + * sysdeps/unix/sysv/linux/fd_to_filename.h: New file. + * libio/freopen.c (freopen): If FILENAME is NULL, try to get + filename from the open file descriptor. + * libio/freopen64.c (freopen64): Likewise. + +2001-04-09 Bruno Haible + + * misc/error.c (error): fflush stdout also if + error_print_progname != NULL. + (error_at_line): Likewise. + +2001-04-07 Bruno Haible + + * intl/gettextP.h (struct loaded_domain): Add codeset_cntr field. + (struct binding): Add codeset_cntr field. + (_nl_load_domain): Add domainbinding argument. + (_nl_init_domain_conv, _nl_free_domain_conv): New declarations. + (_nl_find_msg): New declaration, moved here from loadinfo.h. + * intl/loadinfo.h (struct loaded_l10nfile): Remove domainbinding field. + (_nl_make_l10nflist): Remove domainbinding argument. + (_nl_find_msg): Move declaration to gettextP.h. + * intl/bindtextdom.c (set_binding_values): Initialize ->codeset_cntr + to 0. Increment it when ->codeset is changed. + * intl/dcigettext.c (DCIGETTEXT): Pass binding to _nl_find_msg. + (_nl_find_msg): Add domainbinding argument. Reinitialize the converter + if domainbinding->codeset_cntr has been incremented. + * intl/finddomain.c (_nl_find_domain): Don't pass domainbinding to + _nl_make_l10nflist(). Pass it to _nl_load_domain() instead. + * intl/l10nflist.c (_nl_make_l10nflist): Remove domainbinding argument. + * intl/loadmsgcat.c (_nl_init_domain_conv): New function, extracted + from _nl_load_domain. Append //TRANSLIT also when using libiconv. + (_nl_free_domain_conv): New function, extracted from _nl_unload_domain. + (_nl_load_domain): Add domainbinding argument. Call + _nl_init_domain_conv. + (_nl_unload_domain): Call _nl_free_domain_conv. + * intl/Makefile (distribute): Add tst-codeset.sh, tstcodeset.po. + (test-srcs): Add tst-codeset. + (tests): Depend on tst-codeset.out. + (tst-codeset.out): New rule. + (CFLAGS-tst-codeset.c): New variable. + * intl/tst-codeset.sh: New file. + * intl/tstcodeset.po: New file. + * intl/tst-codeset.c: New file. + * locale/findlocale.c (_nl_find_locale): Update _nl_make_l10nflist + calls. + +2001-04-07 Roland McGrath + + * mach/msgserver.c (__mach_msg_server_timeout): Add an assert. + +2001-03-31 Roland McGrath + + * sysdeps/mach/hurd/fork.c: Skip NEWPROC just like NEWTASK when + copying send rights into child. When we hit our name for our proc + port, just copy NEWPROC directly instead of repeating proc_task2proc + to install the child's port. + +2001-04-08 Roland McGrath + + * Makeconfig ($(common-objpfx)soversions.i): Grok entries with DEFAULT + in second column, to provide default values for third column. + * shlib-versions: Add comments about using DEFAULT in second column. + (s390x-.*-linux.*): Replace individual entries with a DEFAULT entry. + (cris-.*-linux.*): Likewise. + +2001-04-09 Ulrich Drepper + + * Makefile (distribute): Add scripts/documented.sh. + * scripts/documented.sh: New file. + +2001-04-08 Hans-Peter Nilsson + + * sysdeps/unix/sysv/linux/cris/Dist: New file. + * sysdeps/unix/sysv/linux/cris/Makefile: New file. + * sysdeps/unix/sysv/linux/cris/_G_config.h: New file. + * sysdeps/unix/sysv/linux/cris/bits/fcntl.h: New file. + * sysdeps/unix/sysv/linux/cris/bits/mman.h: New file. + * sysdeps/unix/sysv/linux/cris/bits/resource.h: New file. + * sysdeps/unix/sysv/linux/cris/brk.c: New file. + * sysdeps/unix/sysv/linux/cris/chown.c: New file. + * sysdeps/unix/sysv/linux/cris/clone.S: New file. + * sysdeps/unix/sysv/linux/cris/fchown.c: New file. + * sysdeps/unix/sysv/linux/cris/fcntl.c: New file. + * sysdeps/unix/sysv/linux/cris/fxstat.c: New file. + * sysdeps/unix/sysv/linux/cris/getegid.c: New file. + * sysdeps/unix/sysv/linux/cris/geteuid.c: New file. + * sysdeps/unix/sysv/linux/cris/getgid.c: New file. + * sysdeps/unix/sysv/linux/cris/getgroups.c: New file. + * sysdeps/unix/sysv/linux/cris/getresgid.c: New file. + * sysdeps/unix/sysv/linux/cris/getresuid.c: New file. + * sysdeps/unix/sysv/linux/cris/getrlimit.c: New file. + * sysdeps/unix/sysv/linux/cris/getrlimit64.c: New file. + * sysdeps/unix/sysv/linux/cris/getuid.c: New file. + * sysdeps/unix/sysv/linux/cris/lchown.c: New file. + * sysdeps/unix/sysv/linux/cris/lockf64.c: New file. + * sysdeps/unix/sysv/linux/cris/lxstat.c: New file. + * sysdeps/unix/sysv/linux/cris/mmap.S: New file. + * sysdeps/unix/sysv/linux/cris/mmap64.S: New file. + * sysdeps/unix/sysv/linux/cris/msgctl.c: New file. + * sysdeps/unix/sysv/linux/cris/profil-counter.h: New file. + * sysdeps/unix/sysv/linux/cris/register-dump.h: New file. + * sysdeps/unix/sysv/linux/cris/semctl.c: New file. + * sysdeps/unix/sysv/linux/cris/setegid.c: New file. + * sysdeps/unix/sysv/linux/cris/seteuid.c: New file. + * sysdeps/unix/sysv/linux/cris/setfsgid.c: New file. + * sysdeps/unix/sysv/linux/cris/setfsuid.c: New file. + * sysdeps/unix/sysv/linux/cris/setgid.c: New file. + * sysdeps/unix/sysv/linux/cris/setgroups.c: New file. + * sysdeps/unix/sysv/linux/cris/setregid.c: New file. + * sysdeps/unix/sysv/linux/cris/setresgid.c: New file. + * sysdeps/unix/sysv/linux/cris/setresuid.c: New file. + * sysdeps/unix/sysv/linux/cris/setreuid.c: New file. + * sysdeps/unix/sysv/linux/cris/setrlimit.c: New file. + * sysdeps/unix/sysv/linux/cris/setuid.c: New file. + * sysdeps/unix/sysv/linux/cris/shmctl.c: New file. + * sysdeps/unix/sysv/linux/cris/socket.S: New file. + * sysdeps/unix/sysv/linux/cris/sys/ucontext.h: New file. + * sysdeps/unix/sysv/linux/cris/syscall.S: New file. + * sysdeps/unix/sysv/linux/cris/sysdep.S: New file. + * sysdeps/unix/sysv/linux/cris/sysdep.h: New file. + * sysdeps/unix/sysv/linux/cris/vfork.S: New file. + * sysdeps/unix/sysv/linux/cris/xstat.c: New file. + +2001-04-08 Hans-Peter Nilsson + + * sysdeps/cris/Dist: New file. + * sysdeps/cris/Implies: New file. + * sysdeps/cris/Makefile: New file. + * sysdeps/cris/__longjmp.S: New file. + * sysdeps/cris/_mcount.S: New file. + * sysdeps/cris/bits/endian.h: New file. + * sysdeps/cris/bits/setjmp.h: New file. + * sysdeps/cris/bits/string.h: New file. + * sysdeps/cris/dl-machine.h: New file. + * sysdeps/cris/elf/start.S: New file. + * sysdeps/cris/machine-gmon.h: New file. + * sysdeps/cris/memcopy.h: New file. + * sysdeps/cris/memusage.h: New file. + * sysdeps/cris/setjmp.S: New file. + * sysdeps/cris/sysdep.h: New file. + * sysdeps/cris/wordcopy.c: New file. + +2001-04-08 Hans-Peter Nilsson + + * elf/elf.h: Add new relocations for CRIS. + +2001-04-08 Hans-Peter Nilsson + + * shlib-versions: Add cases for Linux on CRIS. + +2001-04-08 Hans-Peter Nilsson + + * configure.in (ASM_LINE_SEP tests): Handle CRIS assembly, with + ';' for comments and '@' for line separator. + +2001-04-08 Hans-Peter Nilsson + + * sysdeps/unix/sysv/linux/hppa/sysdep.h (INLINE_SYSCALL): Fix + typo; s/==/=/ for assignment. + +2001-04-08 Hans-Peter Nilsson + + * malloc/Makefile: Correct comment; mtrace is Perl, not AWK. + +2001-04-08 Hans-Peter Nilsson + + * iconv/gconv_simple.c (internal_ucs4_loop_unaligned): Check for + empty input before checking full output. + +2001-04-08 Hans-Peter Nilsson + + * iconv/gconv.c (__gconv): Don't derefer parameter cd before + checking if == -1L. + +2001-04-08 Ulrich Drepper + + * inet/rexec.c (rexec_af): Avoid calling perror with errno being set. + +2001-04-07 Stephen L Moshier + + * sysdeps/ieee754/ldbl-128/e_logl.c: Correct infinity and NaN + return values. + +2001-04-07 Ulrich Drepper + + * stdlib/tst-setcontext.c (main): Add a test for setcontext. + + * sysdeps/unix/sysv/linux/i386/getcontext.S: New file. + * sysdeps/unix/sysv/linux/i386/setcontext.S: New file. + * sysdeps/unix/sysv/linux/i386/makecontext.S: New file. + * sysdeps/unix/sysv/linux/i386/swapcontext.S: New file. + * sysdeps/unix/sysv/linux/i386/ucontext_i.h: New file. + * sysdeps/unix/sysv/linux/i386/Dist: Add ucontext_i.h. + +2001-04-07 Andreas Jaeger + + * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_y1l): Use sincos + instead of separate sin and cos. + (__ieee754_j1l): Likewise. + +2001-04-06 Ulrich Drepper + + * sysdeps/ia64/abort-instr.h: New file. Code by David Mosberger. + + * sysdeps/ia64/atomicity.h: New file. Copied from libstdc++. + + * sysdeps/i386/i486/atomicity.h: Clean up the asms. + + * sysdeps/generic/e_scalb.c: Don't use FE_INVALID unless it's + available. + * sysdeps/generic/e_scalbf.c: Likewise. + * sysdeps/generic/e_scalbl.c: Likewise. + Patch by Mark Hatle . + +2001-04-05 David S. Miller + + * sysdeps/sparc/abort-instr.h: New file. + +2001-04-05 Matt Wilson + + * sysdeps/unix/sysv/linux/alpha/getsysstats.c (GET_NPROCS_PARSER): + added code to parse new 2.4 format. + (GET_NPROCS_CONF_PARSER): Likewise. + +2001-04-05 David S. Miller + + * scripts/config.sub: Recognize sparcv9b like sparcv9. + * configure.in: Add sparcv9b. + * sysdeps/sparc/sparc32/sparcv9b/Implies: New file + * sysdeps/sparc/sparc32/sparcv9b/memcpy.S: New file + * sysdeps/sparc/sparc64/sparcv9b/memcpy.S: New file + +2001-04-06 David Mosberger + + * stdlib/tst-setcontext.c: Move st2[] to global scope. + (f2): Verify that stack pointer is inside st2[]. + + * sysdeps/unix/sysv/linux/ia64/getcontext.S: It helps to save r12. + * sysdeps/unix/sysv/linux/ia64/setcontext.S: It helps to restore r12. + +2001-04-06 Ulrich Drepper + + * timezone/antarctica: Update from tzdata2001b. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/europe: Likewise. + * timezone/northamerica: Likewise. + + * iconv/iconv_open.c: Move strip and upstr definitions... + * iconv/gconv_charset.h: ...here. New file. + * iconv/gconv_db.c (once): Move to file level. + (do_lookup_alias): Split out from __gconv_find_transform. + (__gconv_find_transform): Call do_lookup_alias. + (__gconv_loopup_alias): New function. + * locale/langinfo.h: Define _NL_*_CODESET values for all categories + but LC_CTYPE. + * locale/categories.def: Add entries for new _NL_*_CODESET values. + * locale/C-ctype.c: Use _nl_C_codeset to initialize CODESET entry. + * locale/C-address.c: Initialize _NL_*_CODESET element. + * locale/C-collate.c: Likewise. + * locale/C-identification.c: Likewise. + * locale/C-measurement.c: Likewise. + * locale/C-messages.c: Likewise. + * locale/C-monetary.c: Likewise. + * locale/C-name.c: Likewise. + * locale/C-numeric.c: Likewise. + * locale/C-paper.c: Likewise. + * locale/C-telephone.c: Likewise. + * locale/C-time.c: Likewise. + * locale/localeinfo.h: Declare _nl_C_codeset. + * locale/C_name.c: Define _nl_C_codeset. + * locale/findlocale.c: Before accepting locale check that the used + charset does not conflict with what the locale name said. + * locale/programs/ld-address.c: Emit codeset information. + * locale/programs/ld-collate.c: Likewise. + * locale/programs/ld-identification.c: Likewise. + * locale/programs/ld-measurement.c: Likewise. + * locale/programs/ld-messages.c: Likewise. + * locale/programs/ld-monetary.c: Likewise. + * locale/programs/ld-name.c: Likewise. + * locale/programs/ld-numeric.c: Likewise. + * locale/programs/ld-paper.c: Likewise. + * locale/programs/ld-telephone.c: Likewise. + * locale/programs/ld-time.c: Likewise. + + * localedata/tests-mbwc/tst_funcs.h (TST_HEAD_LOCALE): It is an error + if the locale data couldn't be found. + + * string/Makefile: Define tst-strxfrm-ENV. + + * ysdeps/unix/sysv/linux/ia64/getcontext.S: Fix comment. + +2001-04-06 Andreas Jaeger + + * include/sys/profil.h: New file. + + * dlfcn/modatexit.c: Add prototypes to silence GCC. + * dlfcn/modcxaatexit.c: Likewise. + * elf/globalmod1.c: Likewise. + +2001-04-05 David S. Miller + + * elf/elf.h (HWCAP_SPARC_ULTRA3): Define it. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Add it to + capability flags table and HWCAP_IMPORTANT, increase + _DL_HWCAP_COUNT to 6. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. + +2001-04-04 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Fix + initialization of stack_end (bug reported by Zheng Gengbin + ). + +2001-04-05 Ulrich Drepper + + * sysdeps/i386/fpu/libm-test-ulps: Relax errors for asinl. + +2001-04-05 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: New file. + +2001-04-05 Ulrich Drepper + + * sysdeps/ieee754/ldbl-96/e_asinl.c: Correct handling of +-Inf. + * sysdeps/i386/fpu/e_asinl.S: Removed. Too inaccurate. + + * login/tst-utmp.c: Make file usable again in tst-utmpx.c. + +2001-04-04 Ulrich Drepper + + * sysdeps/unix/sysv/aix/dl-libc.c: Don't use the ELF version, + define simple replacements here. Patch by Michael Keezer. + + * sysdeps/ieee754/ldbl-128/e_logl.c: New file. + * sysdeps/ieee754/ldbl-96/e_asinl.c: New file. + Contributed by Stephen L Moshier . + + * posix/fnmatch_loop.c: Undefine NEW_PATTERN when it is not used + anymore. + +2001-04-01 Andreas Jaeger + + * sysdeps/generic/s_nextafter.c (NO_LONG_DOUBLE): Add nexttowardl + alias. + + * sysdeps/generic/s_fma.c (NO_LONG_DOUBLE): Add fmal alias. + +2001-04-04 Ulrich Drepper + + * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Add ucontext_i.h. + * sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise. + +2001-04-04 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: New file. + * sysdeps/unix/sysv/linux/s390/swapcontext.c: New file. + +2001-04-04 Andreas Jaeger + + * sysdeps/powerpc/dl-machine.h (ELF_MACHINE_NO_REL): Move to right + place. + +2001-04-04 Ulrich Drepper + + * sunrpc/rpc_scan.c (symbols): Add entry for HYPER. + * sunrpc/rpc_scan.h (enum tok_kind): Add TOK_HYPER. + * sunrpc/rpc_parse.c (get_type): Handle TOK_HYPER. + (unsigned_dec): Likewise. + Patch by atai@jezebel.dreamhost.com. + + * nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): Pass + pointer to int as last parameter of yp_match. + Patch by kanazawa@flab.fujitsu.co.jp. + +2001-04-03 Ulrich Drepper + + * resolv/netdb.h (gai_strerror): Make return value const. + * sysdeps/generic/gai_strerror.c (gai_strerror): Likewise. + * sysdeps/posix/gai_strerror.c (gai_strerror): Likewise. + Add strings for new error values. + +2001-03-29 Michael Keezer + + * posix/tst-gnuglob.c: Added ifdef _DIRENT_HAVE_D_TYPE. + * login/tst-utmp.c: Handle case where ut_tv is not available but + ut_time is. + * sysdeps/unix/sysv/aix/utmpx.h: New file. + * sysdeps/unix/sysv/aix/bits/utmpx.h: Added + _HAVE_UT_TYPE/PID/ID/TV/HOST defines. + * sysdeps/unix/sysv/aix/libc-start.c: Removed temp code and made stub. + * sysdeps/unix/sysv/aix/gettimeofday.c: New file added routines + to access RTCU timer reg. + * sysdeps/unix/sysv/aix/Makefile: Remove /usr/lib/crt0.o + added dl-libc, dl-open,dl-sym, dl-close to misc. + * sysdeps/unix/sysv/aix/start.c: New file. Start code. + * sysdeps/unix/sysv/aix/dlldr.h: New file. AIX __loadx defines. + * sysdeps/unix/sysv/aix/dl-close.c: New file. AIX dl-close. + * sysdeps/unix/sysv/aix/dl-open.c: New file. AIX dl-open. + * sysdeps/unix/sysv/aix/dl-sym.c: New file. AIX dl-sym. + * sysdeps/unix/sysv/aix/dl-libc.c: New file. libc_dl-xxx support. + * sysdeps/generic/strtoll.c: Added SHLIB_COMPAT(libc,GLIBC_2_0, + GLIBC_2_2). + * sysdeps/generic/strtoull.c: Likewise. + * sysdeps/powerpc/ppc-mcount.S: Added nop after bl instruction. + * sysdeps/unix/sysv/aix/powerpc/memset.c: New file to include + sysdeps/generic/memset.c. + * sysdeps/unix/sysv/aix/getpeername.c: Define __getpeername. + +2001-04-03 Ulrich Drepper + + * iconv/Makefile (CFLAGS-charmap.c): Add -DNEED_NULL_POINTER. + * locale/programs/charmap.c: Define null_pointer if + NEED_NULL_POINTER is defined. + + * misc/dirname.c (dirname): Handle multiple slashes correctly. + +2001-04-03 Martin Schwidefsky + + * sysdeps/s390/s390-64/initfini.c: Fix __gmon_start__ GOT access. + +2001-04-03 Martin Schwidefsky + + * sysdeps/s390/s390-32/bcopy.S: Optimize for speed. + * sysdeps/s390/s390-64/bcopy.S: Likewise. + * sysdeps/s390/s390-32/mempcy.S: Likewise. + * sysdeps/s390/s390-64/memcpy.S: Likewise. + +2001-04-02 Bruno Haible + + * manual/message.texi (Advanced gettext functions): More specific + syntax in the plural formula examples. + +2001-04-02 Franz Sirl + + * sysdeps/powerpc/atomicity.h: Silence warnings. + * sysdeps/powerpc/dl-machine.h: Likewise. + * sysdeps/powerpc/register-dump.h: Likewise. + * sysdeps/powerpc/fpu/s_lrint.c: Likewise. + +2001-04-02 Andreas Jaeger + + * misc/tst-dirname.c (main): Add more tests, derived from a bug + report by Michael Kerrisk . + +2001-04-01 Andreas Jaeger + + * debug/xtrace.sh (pcprofileso): Use SLIBDIR since libpcprofile.so + is installed there. + * malloc/memusage.sh (memusageso): Likewise for libmemusage.so. + +2001-04-01 H.J. Lu + + * posix/annexc.c (macrofile): Renamed from TMPFILE and set to + tmpnam (NULL). + * stdlib/isomac.c (macrofile): Likewise. + +2001-03-30 Thorsten Kukuk + + * inet/rcmd.c: Allow AF_UNSPEC as parameter. + * nis/ypclnt.c (yp_all): Print error message only at last try, + check for protocoll error only if we don't have a network error. + +2001-04-02 Andreas Schwab + + * resolv/res_data.c (res_isourserver): Fix cast. + +2001-04-02 Andreas Jaeger + + * sysdeps/unix/sysv/linux/hppa/umount.c: Add prototype for + __umount2. + + * sysdeps/i386/dl-machine.h (RTLD_START): Don't use multi-line + strings. + (ELF_MACHINE_RUNTIME_TRAMPOLINE): Likewise. + + * sysdeps/ieee754/dbl-64/uroot.h: Add missing braces arount + initializers. + * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Likewise. + + * elf/rtld.c (print_statistics)[!HP_TIMING_NONAVAIL]: Avoid + warning about unused variable. + + * string/string.h (strndupa): Add cast for C++ conformance. + (strdupa): Likewise. + Fixes PR libc/2173, reported by tbrowder@home.com. + +2001-03-30 Roland McGrath + + * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Don't append + options after $(build-module), which is no longer a single command. + (LDFLAGS-link-rpcuserlibs): New variable to hold those options. + (LDFLAGS-libmachuser-link.so, LDFLAGS-libhurduser-link.so): New + variables using it. Reported by Mark Kettenis . + +2001-03-11 Roland McGrath + + * elf/rtld.c (dl_main): Add cast to quiet warning. + * elf/dl-load.c (_dl_map_object_from_fd): Likewise. + * iconv/gconv_conf.c (__gconv_get_path): Likewise. + (__gconv_read_conf): Likewise. + * iconv/gconv_db.c (gen_steps): Likewise. + (__gconv_find_transform): Likewise. + * locale/programs/charmap-dir.c (fopen_uncompressed): Likewise. + (fopen_uncompressed): Use const in second argument's type. + +2001-03-11 Roland McGrath + + * sysdeps/mach/hurd/dl-sysdep.c (__writev): New function. + + * mach/mach_error.h: Fix ancient #endif syntax. + * hurd/hurdmalloc.c: Likewise. + + * sysdeps/generic/atomicity.h (exchange_and_add, atomic_add, + compare_and_swap): Add volatile qualifier to first arg, to bring + these prototypes in line with all the other implementations. + Add a #warning to remind the builder that these are not atomic. + +2001-03-04 Roland McGrath + + * hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Use innermore first + member of TEMP_F so its type is _IO_FILE * as expected. + + * hurd/fopenport.c (seekio): Conditionalize type of POS argument + on [USE_IN_LIBIO]. Check the value for overflow, since for libio + it might exceed off_t's range. + +2001-02-25 Roland McGrath + + * sysdeps/mach/hurd/sysd-stdio.c (__stdio_reopen): Use prototype. + * sysdeps/unix/bsd/getpt.c (__posix_openpt): Likewise. + + * sysdeps/mach/hurd/i386/intr-msg.h (SYSCALL_EXAMINE): Make this a + macro instead of an inline function, + (MSG_EXAMINE): Likewise. + + * hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): Remove extraneous ##. + + * hurd/get-host.c: Include for decls of built-ins. + * hurd/hurdchdir.c: Likewise. + * sysdeps/mach/hurd/i386/sigreturn.c: Likweise. + * sysdeps/mach/hurd/opendir.c: Likewise. + + * mach/mach_init.c: Include for _exit decl. + + * mach/errsystems.awk: Give output file a trailing newline. + + * mach/Machrules (MIG): Prepend CC='${CC}' to the mig command, so that + the script will use our compiler for the cpp stage. + + With --enable-all-warnings we get a whole bunch of warnings, + and these are just a few fixes; there are more needed to silence it. + * mach/mach/mig_support.h (__mig_strncpy, mig_strncpy): Add extern + decls before extern inline defns to quiet gcc warning. + * hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp): Likewise. + * sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Likewise. + +2001-03-31 Andreas Jaeger + + * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_RAWHDLC): Added. + (ARPHRD_HDLC): Define as alias for ARPHRD_CISCO. + (ARPHRD_CISCO): New. + Changes from Linux 2.4.3. + +2001-03-30 Isamu Hasegawa + + * posix/regex.c: Avoid an access violation if malloc fails. + +2001-03-30 Andreas Jaeger + + * sysdeps/alpha/ldiv.S (ldiv): Add alias for imaxdiv. + +2001-03-29 Ulrich Drepper + + * posix/regex.c: Remove unnecessary ifs. + + * math/bits/mathcalls.h: Remove infnan declaration. + +2001-03-29 H.J. Lu + + * include/endian.h: Define BIG_ENDI, LITTLE_ENDI, HIGH_HALF, + and LOW_HALF only if _LIBC is defined and _ISOMAC is not defined. + * stdlib/isomac.c (fmt): Define _LIBC and _ISOMAC. + +2001-03-29 Isamu Hasegawa + + * posix/regex.c: Fix typo and add a sentinel. + +2001-03-29 Ulrich Drepper + + * sysdeps/unix/sysv/linux/shm_open.c: Open new file always with + O_NOFOLLOW. Suggested by Christoph Roland. + +2001-03-27 Martin Schwidefsky + + * sysdeps/s390/bits/string.h: New unified 31/64 bit string.h. + * sysdeps/s390/s390-32/bits/string.h: Remove. + * sysdeps/s390/s390-64/bits/string.h: Remove. + * sysdeps/s390/s390-32/strcmp.S: New file. + * sysdeps/s390/s390-64/strcmp.S: New file. + +2001-03-27 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix typo. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise. + +2001-03-27 Ulrich Drepper + + * version.h (VERSION): Bump to 2.2.3. + + * stdlib/isomac.c (fmt): Don't define _LIBC. + * include/endian.h: Define BIG_ENDI, LITTLE_ENDI, HIGH_HALF, and + LOW_HALF only if _LIBC is defined. + + * sysdeps/i386/fpu/libm-test-ulps: Slight adjustment of yn() error. + + * posix/fnmatch_loop.c (FCT): Handle !() after * special like @() + and +(). + * posix/tst-fnmatch.input: Add test cases for matching empty strings. + + * sysdeps/ieee754/dbl-64/endian.h: Removed. Move definitions... + * include/endian.h: ...to here. + +2001-03-27 kaz Kojima + + * sysdeps/sh/sys/ucontext.h (NFREG): Rename to NFPREG. + * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (NFREG): Likewise. + +2001-03-27 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/ldconfig.h: Fix typo. + +2001-03-26 Ulrich Drepper + + * sysdeps/ia64/fpu/Dist: Add new files to distribute. + * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Likewise. + * sysdeps/unix/sysv/linux/ia64/Dist: Likewise. + + * gmon/Makefile (headers): Add sys/profil.h. + +2001-03-18 Andreas Jaeger + + * manual/install.texi (Tools for Compilation): Advise to use GCC + 2.95.3. + (Supported Configurations): Mention s390x. + +2001-03-26 Ben Collins + + * sysdeps/unix/sysv/linux/mips/bits/mman.h: Add MAP_* and MADV_* + defines to match other architectures. + +2001-03-26 Ulrich Drepper + + * libio/Makefile (tests): Add tst-ext. + * libio/tst-ext.c: New file. + + * libio/iosetvbuf.c (_IO_setvbuf): Clear line buffer flag for _IONBF. + +2001-03-25 Ulrich Drepper + + Add changes which were in this form in the original patch by + Eric Norum . + * include/rpc/rpc.h: Remove svc_fdset, rpc_createerr, svc_pollfd, and + svc_max_pollfd. + * sunrpc/rpc/rpc.h: Declare __rpc_thread_svc_fdset, + __rpc_thread_createerr, __rpc_thread_svc_pollfd, and + __rpc_thread_svc_max_pollfd. + Define svc_fdset, get_rpc_createerr, svc_pollfd, and + svc_max_pollfd. + * sunrpc/rpc_thread.c: Handle first thread special, it uses the + global variables. + Define __rpc_thread_svc_fdset, __rpc_thread_createerr, + __rpc_thread_svc_pollfd, and __rpc_thread_svc_max_pollfd. + * sunrpc/Versions [libc] (GLIBC_2.2.3): Export __rpc_thread_svc_fdset, + __rpc_thread_createerr, __rpc_thread_svc_pollfd, and + __rpc_thread_svc_max_pollfd. + * sunrpc/clnt_gen.c: Replace use of rpc_createerr by call to + get_rpc_createerr. + * sunrpc/clnt_perr.c: Likewise. + * sunrpc/clnt_simp.c: Likewise. + * sunrpc/clnt_tcp.c: Likewise. + * sunrpc/clnt_udp.c: Likewise. + * sunrpc/clnt_unix.c: Likewise. + * sunrpc/pm_getport.c: Likewise. + + * sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): getgroups32 + syscall checks for negative n so don't test here as well. + +2001-03-23 Jes Sorensen + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (ENTRY): Moved to ... + * sysdeps/ia64/sysdep.h: ...here. + + * sysdeps/ia64/sysdep.h (LOCAL_ENTRY): Define. + * sysdeps/ia64/sysdep.h (LOCAL_LEAF): Define. + + * sysdeps/ia64/_mcount.S (_mcount_ret_helper): Use LOCAL_LEAF() to + declare instead of LEAF(). Suggestion from David Mosberger. + +2001-03-21 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (CALL_MCOUNT): Add unwind + directives. + (PSEUDO): Drop .psr and .lsb directives. + + * sysdeps/unix/sysv/linux/ia64/setjmp.S: Ditto. Add unwind + directives. + * sysdeps/unix/sysv/linux/ia64/sysdep.S: Ditto. + + * sysdeps/ia64/elf/start.S: Misc cleanup: remove .psr and .lsb + directives etc. + * sysdeps/unix/sysv/linux/ia64/brk.S: Ditto. + * sysdeps/unix/sysv/linux/ia64/__longjmp.S: Ditto. + * sysdeps/ia64/_mcount.S: Remove .psr and .lsb directives (no + longer needed). Add unwind directives. + + * sysdeps/ia64/sysdep.h: Define ASM_UNW_PRLG_RP, ASM_UNW_PRLG_PFS, + ASM_UNW_PRLG_PSP, ASM_UNW_PRLG_PR, and ASM_UNW_PRLG_GRSAVE. + +2001-03-21 Paul Eggert + + * posix/regex.h (RE_INVALID_INTERVAL_ORD): New macro. + (RE_SYNTAX_POSIX_EGREP): Use it. + * posix/regex.c (regex_compile): Implement it. + +2001-03-21 Paul Eggert + + * posix/regex.c (GET_UNSIGNED_NUMBER): Check for overflow. + Rewrite to avoid duplicate code. + +2001-03-21 H.J. Lu + + * elf/Makefile (tests): Don't depend on $(objpfx)tst-pathopt.out + for cross-compiling. + ($(objpfx)tst-pathopt.out): Undo the last change. + +2001-03-24 Mark Kettenis + + * sysdeps/mach/hurd/i386/bits/sigcontext.h (sc_sp, sc_fp, sc_pc, + sc_ps): Define as aliases for sc_uesp, sc_ebl, sc_eip and sc_efl. + + * sysdeps/mach/hurd/i386/init-first.c: Include . + (_dl_argv): Declare. + (init) [SHARED]: Readjust _dl_argv if we switched to a new stack. + +2001-03-22 Andreas Jaeger + + * iconvdata/Makefile (generated): Add iconv-test.xxx. + + * posix/Makefile (generated): Add bug-regex2.mtrace and + bug-regex2-mem. + +2001-03-21 Ulrich Drepper + + * csu/version.c (__gnu_get_libc_release): Add prototype. + (__gnu_get_libc_version): Likewise. + * include/gnu/libc-version.h: Remove prototypes for not exported + functions. + +2001-03-21 Jes Sorensen + + * sysdeps/unix/sysv/linux/ia64/makecontext.c: Include libintl.h + for internationalized printfs to work. + +2001-03-09 Bruno Haible + + * intl/dcigettext.c (transmem_block_t): Change to unsigned char, to + avoid compiler warning. + (_nl_find_msg): Add casts to avoid compiler warnings. + +2001-03-21 Ulrich Drepper + + * gmon/Makefile (routines): Add sprofil. + (tests): Add tst-sprofil. + (noprof): Add sprofil. + * gmon/Versions [libc] (GLIBC_2.2.3): Add sprofil. + +2001-03-20 David Mosberger + + * sysdeps/generic/sprofil.c: New file. + * sysdeps/posix/sprofil.c: New file. + * gmon/tst-sprofil.c: New file. + * gmon/sys/profil.h: New file. + +2001-03-20 Andreas Schwab + + * include/unistd.h: Adjust prototype of __gethostname. + +2001-03-20 Jakub Jelinek + + * sysdeps/sparc/stackinfo.h: New file. + +2001-03-21 Andreas Jaeger + + * elf/global.c (main): Use proper prototype. + +2001-03-20 Ulrich Drepper + + * sunrpc/Makefile (routines): Add rpc_thread. + (CPPFLAGS): Add -D_RPC_THREAD_SAFE. + * sunrpc/rpc_thread.c: New file. + * sunrpc/Versions [libc] (GLIBC_2.2.3): Export __rpc_thread_destroy. + * sunrpc/auth_none.c: Don't use global variables. Access state in + thread-local storage. + * sunrpc/clnt_perr.c: Likewise. + * sunrpc/clnt_raw.c: Likewise. + * sunrpc/clnt_simp.c: Likewise. + * sunrpc/key_call.c: Likewise. + * sunrpc/rpc_common.c: Likewise. + * sunrpc/svc.c: Likewise. + * sunrpc/svc_raw.c: Likewise. + * sunrpc/svc_simple.c: Likewise. + * sunrpc/svcauth_des.c: Likewise. + * hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add + _HURD_THREADVAR_RPC_VARS. + * sysdeps/generic/bits/libc-tsd.h: Mention _LIBC_TSD_KEY_RPC_VARS. + * include/rpc/rpc.h: Define data structures for internal thread-local + "global" variables. + Based on patches by Eric Norum . + + * elf/dl-load.c: Various little optimizations. + + * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Return + LINUX_LINK_MAX only if the statfs function is not implemented for + the filesystem. + + * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Return + LINUX_LINK_MAX only if the fstatfs function is not implemented for + the filesystem. + +2001-03-19 Ulrich Drepper + + * elf/dl-dst.h (DL_DST_COUNT): Add __builtin_expect. + + * elf/dl-load.c (_dl_dst_count): Make DST recognition more robust. + (_dl_dst_substitute): Likewise. + +2001-03-17 Bruno Haible + + * intl/loadmsgcat.c (_nl_load_domain) [!_LIBC]: Use fstat, not fstat64. + +2001-03-17 Bruno Haible + + * intl/gettextP.h (struct expression): Add operators lnot, less_than, + greater_than, less_or_equal, greater_or_equal. Replace args2/args3 + union by a 'nargs' counter and an 'args[]' array. + * intl/plural.y: Don't include stdarg.h. + (new_exp): Take an array of arguments instead of varargs. + (new_exp_0, new_exp_1, new_exp_2, new_exp_3): New functions. + ('?' ':'): Make right-associative. + (EQUOP2): New token, replaces '=' and '!'. + (CMPOP2): New token. + (ADDOP2): New token, replaces '+' and '-'. + (MULOP2): New token, replaces '*', '/' and '%'. + ('!'): New token. + (exp): Add rules for CMPOP2 and '!'. Don't call YYABORT. + (start): Call YYABORT here. + (FREE_EXPRESSION): Update. + (yylex): Don't skip "\\n". Recognize comparison and '!' operators. + Update for new token symbols. + * intl/loadmsgcat.c (plvar, plone, germanic_plural, + init_germanic_plural): Update. + * intl/dcigettext.c (_nl_find_msg): Optimize for space. + (plural_eval): Recognize comparison and '!' operators. Optimize for + space. + +2001-03-10 Bruno Haible + + * intl/loadmsgcat.c (_nl_load_domain): locale_charset() doesn't return + NULL any more. + +2001-01-05 Bruno Haible + + * intl/loadmsgcat.c: Include headers needed for alloca(). + (freea): New macro. + (_nl_load_domain): Add fallback code for platforms lacking alloca. + * intl/localealias.c: (ADD_BLOCK, FREE_BLOCK): Remove macros. + (freea): New macro. + (read_alias_file): Simplify fallback code for platforms lacking + alloca. + +2001-01-07 Bruno Haible + + * intl/gettextP.h (__gettextdebug): Remove declaration. + (__gettext_free_exp, __gettextparse): Convert prototype to K&R C + syntax. + (gettext_free_exp__, gettextparse__): New non-libc declarations. + * intl/plural.y [!_LIBC]: Define gettextparse__, gettext_free_exp__, + not __gettextparse, __gettext_free_exp. + * intl/loadmsgcat.c [!_LIBC]: Use gettextparse__, not __gettextparse. + +2001-02-24 Bruno Haible + + * intl/dcigettext.c: Update comment about HAVE_LOCALE_NULL. + +2001-01-05 Bruno Haible + + * intl/loadmsgcat.c (_nl_load_domain): Add fallback code for platforms + lacking strtoul, like SunOS4. + +2001-01-05 Bruno Haible + + * intl/l10nflist.c (_nl_normalize_codeset): Use tolower, not _tolower. + +2001-01-05 Bruno Haible + + * intl/bindtextdom.c (set_binding_values): Convert prototype to K&R C + syntax. + * intl/dcigettext.c (transcmp): Convert to K&R C syntax. + * intl/explodename.c (_nl_find_language): Convert to K&R C syntax. + * intl/plural.y (__gettext_free_exp, yylex, yyerror): Convert to K&R C + syntax. + +2001-01-07 Bruno Haible + + * intl/gettextP.h (gettext__, dgettext__, dcgettext__, textdomain__, + bindtextdomain__, bind_textdomain_codeset__): New declarations, from + old libgettext.h. + * intl/bindtextdom.c: Include libgnuintl.h instead of libgettext.h. + * intl/dcgettext.c: Likewise. + * intl/dcigettext.c: Likewise. + * intl/dcngettext.c: Likewise. + * intl/dngettext.c: Likewise. + * intl/finddomain.c: Likewise. + * intl/ngettext.c: Likewise. + * intl/textdomain.c: Likewise. + * intl/dgettext.c: Include libgnuintl.h instead of libgettext.h. + Include gettextP.h. + * intl/gettext.c: Likewise. Don't include locale.h. + +2001-03-17 Bruno Haible + + * intl/gettextP.h (ZERO): New macro. + (struct binding): Always use ZERO. + * intl/bindtextdom.c (offsetof): Provide fallback for platforms that + lack it, like SunOS4. + (set_binding_values): Use offsetof, not sizeof. + * intl/dcigettext.c (offsetof): Provide fallback for platforms that + lack it, like SunOS4. + (ZERO): Remove macro. + (struct transmem_list): Use ZERO. + (DCIGETTEXT): Use offsetof, not sizeof. + +2001-03-17 Bruno Haible + + * intl/gettextP.h: Include . Include gettext.h, for + nls_uint32. + * intl/bindtextdom.c: Don't include gettext.h. + * intl/dcgettext.c: Likewise. + * intl/dcigettext.c: Likewise. + * intl/dcngettext.c: Likewise. + * intl/dngettext.c: Likewise. + * intl/finddomain.c: Likewise. + * intl/localealias.c: Likewise. + * intl/ngettext.c: Likewise. + * intl/plural.y: Likewise. + * intl/textdomain.c: Likewise. + +2001-03-17 Bruno Haible + + * intl/gettext.h: Don't include . + +2001-03-17 Bruno Haible + + * intl/Makefile (CPPFLAGS): Set LOCALEDIR instead of GNULOCALEDIR. + * intl/dcigettext.c (_nl_default_dirname): Initialize with LOCALEDIR. + +2001-03-19 Ulrich Drepper + + * sysdeps/unix/i386/i686/tempname.c: New file. + + * sysdeps/posix/tempname.c (__gen_tempname): If RANDOM_BITS is + defined use this macro to get some bits of randomness instead of + the usual gettimeofday or time calls. + +2001-03-16 Paul Eggert + + * sysdeps/posix/tempname.c (uint64_t): Define to uintmax_t if + not defined, and if UINT64_MAX is not defined. + +2001-03-19 Ulrich Drepper + + * elf/cache.c: Mark and have translated a few more messages. + +2001-03-19 Martin Schwidefsky + + * elf/cache.c: Add case for FLAG_S390_LIB64. + * sysdeps/generic/ldconfig.h: Add define for FLAG_S390_LIB64. + * sysdeps/unix/sysv/linux/s390/ldconfig.h: New file. + * sysdeps/unix/sysv/linux/s390/readelflib.c: New file. + +2001-03-19 Ulrich Drepper + + * string/Makefile (tests): Add tst-strxfrm. + * string/tst-strxfrm.c: New file. Based on a test case by Paul Eggert. + * string/Depend: New file. + +2001-03-19 Paul Eggert + + * string/strxfrm.c (strxfrm): strxfrm should return 0, not 1, + when given the empty string in nontrivial locales. + +2001-03-17 H.J. Lu + + * manual/Makefile (install): Use $(INSTALL_DATA) instead of + cp to install `dir'. + +2001-03-19 Andreas Schwab + + * Makerules (build-shlib): Make sure exit codes get checked + properly. + +2001-03-18 Ulrich Drepper + + * Makerules (build-shlib): Remove unnecessary slashes introduced in + last change. + + * configure.in: Test for -Bgroup option of linker. + * config.make.in: Define have-Bgroup. + + * conform/data/unistd.h-data: Require gethostname. + * posix/unistd.h: Make gethostname prototype available for + __USE_XOPEN2K. + + * crypt/Makefile: When generating DSO link with libc_nonshared.a. + * debug/Makefile: Likewise. + * dlfcn/Makefile: Likewise. + * hesiod/Makefile: Likewise. + * iconvdata/extra-module.mk: Likewise. + * locale/Makefile: Likewise. + * login/Makefile: Likewise. + * math/Makefile: Likewise. + * nis/Makefile: Likewise. + * nss/Makefile: Likewise. + * resolv/Makefile: Likewise. + * rt/Makefile: Likewise. + +2001-03-17 Ulrich Drepper + + * inet/Makefile (tests): Remove left-over comment. + + * posix/unistd.h (gethostname): Change type of second parameter + back to size_t as per upcoming XPG6. + * sysdeps/unix/sysv/aix/gethostname.c: Change type of second + parameter back to size_t as per upcoming XPG6. + * sysdeps/unix/sysv/sysv4/gethostname.c: Likewise. + * sysdeps/unix/sysv/gethostname.c: Likewise. + * sysdeps/mach/hurd/gethostname.c: Likewise. + * sysdeps/generic/gethostname.c: Likewise. + +2001-03-16 Ulrich Drepper + + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): + Handle NaN here. + + * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): + Internationalize. + +2001-02-06 Jakub Jelinek + + * elf/dl-load.c (_dl_map_object): Don't test l_opencount when + looking for name matches. + +2001-02-26 Jakub Jelinek + + * sysdeps/generic/sigcontextinfo.h (CALL_SIGHANDLER): Define. + * sysdeps/mach/hurd/i386/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/s390/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/sh/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h: Likewise. + +2001-03-16 Ulrich Drepper + + * sysdeps/ieee754/ldbl-96/s_erfl.c: New file. + Contributed by Stephen L. Moshier . + + * sysdeps/i386/fpu/libm-test-ulps: Adjust for addition of erfl and + erfcl. + * sysdeps/ia64/fpu/libm-test-ulps: Likewise. + +2001-03-16 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): + Drop hack that was needed for 2.1.1 kernel headers. + + * sysdeps/unix/sysv/linux/ia64/ucontext_i.h: New file. + + * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Rewrite to make it + overlay with kernel's "struct sigcontext". + + * sysdeps/unix/sysv/linux/ia64/Makefile (sysdep_headers): Add + sys/rse.h for "misc" subdir. + (sysdep_routines): Add __start_context for "stdlib" subdir. + + * sysdeps/unix/sysv/linux/ia64/sys/rse.h: New file (based on + kernel file of the same name). + + * stdlib/Makefile (tests): Add tst-setcontext. + * stdlib/tst-setcontext.c: New file (based on a sample program by + Uli Drepper). + + * sysdeps/unix/sysv/linux/ia64/setcontext.S: New file. + * sysdeps/unix/sysv/linux/ia64/getcontext.S: New file. + * sysdeps/unix/sysv/linux/ia64/__start_context.S: New file. + * sysdeps/unix/sysv/linux/ia64/makecontext.c: New file. + * sysdeps/unix/sysv/linux/ia64/swapcontext.c: New file. + + * sysdeps/unix/sysv/linux/ia64/__longjmp.S (__longjmp): Use extr.u + instead of shift & and. + +2001-03-16 Martin Schwidefsky + + * sysdeps/s390/s390-64/bits/huge_val.h: Move to... + * sysdeps/s390/bits/huge_val.h: ...here. + * sysdeps/s390/s390-32/bit/huge_val.h: Remove. + * sysdeps/s390/s390-64/ffs.c: Move to... + * sysdeps/s390/ffs.c: ...here. + * sysdeps/s390/s390-32/ffs.c: Remove. + +2001-03-16 Jakub Jelinek + + * elf/ldconfig.c (search_dir): Remove bogus diagnostic, instead + update osversion from more recent library. + +2001-03-13 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/Dist: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/Dist: ...here. + * sysdeps/unix/sysv/linux/s390/Makefile: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: ...here. + * sysdeps/unix/sysv/linux/s390/Versions: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/Versions: ...here. + * sysdeps/unix/sysv/linux/s390/alphasort64.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c: ...here. + * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/bits/fcntl.h: ...here. + * sysdeps/unix/sysv/linux/s390/bits/mman.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/bits/mman.h: ...here. + * sysdeps/unix/sysv/linux/s390/bits/resource.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h: ...here. + * sysdeps/unix/sysv/linux/s390/bits/stat.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/bits/stat.h: ...here. + * sysdeps/unix/sysv/linux/s390/chown.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: ...here. + * sysdeps/unix/sysv/linux/s390/clone.S: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: ...here. + * sysdeps/unix/sysv/linux/s390/fchown.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/fchown.c: ...here. + * sysdeps/unix/sysv/linux/s390/fcntl.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c: ...here. + * sysdeps/unix/sysv/linux/s390/fxstat.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c: ...here. + * sysdeps/unix/sysv/linux/s390/getdents64.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c: ...here. + * sysdeps/unix/sysv/linux/s390/getegid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getegid.c: ...here. + * sysdeps/unix/sysv/linux/s390/geteuid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/geteuid.c: ...here. + * sysdeps/unix/sysv/linux/s390/getgid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getgid.c: ...here. + * sysdeps/unix/sysv/linux/s390/getgroups.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getgroups.c: ...here. + * sysdeps/unix/sysv/linux/s390/getresgid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getresgid.c: ...here. + * sysdeps/unix/sysv/linux/s390/getresuid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getresuid.c: ...here. + * sysdeps/unix/sysv/linux/s390/getrlimit.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getrlimit.c: ...here. + * sysdeps/unix/sysv/linux/s390/getrlimit64.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getrlimit64.c: ...here. + * sysdeps/unix/sysv/linux/s390/getuid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/getuid.c: ...here. + * sysdeps/unix/sysv/linux/s390/lchown.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: ...here. + * sysdeps/unix/sysv/linux/s390/lockf64.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c: ...here. + * sysdeps/unix/sysv/linux/s390/lxstat.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c: ...here. + * sysdeps/unix/sysv/linux/s390/mmap.S: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: ...here. + * sysdeps/unix/sysv/linux/s390/mmap64.S: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: ...here. + * sysdeps/unix/sysv/linux/s390/msgctl.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/msgctl.c: ...here. + * sysdeps/unix/sysv/linux/s390/oldgetrlimit64.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/oldgetrlimit64.c: ...here. + * sysdeps/unix/sysv/linux/s390/readdir64.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c: ...here. + * sysdeps/unix/sysv/linux/s390/readdir64_r.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c: ...here. + * sysdeps/unix/sysv/linux/s390/register-dump.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h: ...here. + * sysdeps/unix/sysv/linux/s390/scandir64.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c: ...here. + * sysdeps/unix/sysv/linux/s390/semctl.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/semctl.c: ...here. + * sysdeps/unix/sysv/linux/s390/setegid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setegid.c: ...here. + * sysdeps/unix/sysv/linux/s390/seteuid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/seteuid.c: ...here. + * sysdeps/unix/sysv/linux/s390/setfsgid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setfsgid.c: ...here. + * sysdeps/unix/sysv/linux/s390/setfsuid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setfsuid.c: ...here. + * sysdeps/unix/sysv/linux/s390/setgid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setgid.c: ...here. + * sysdeps/unix/sysv/linux/s390/setgroups.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setgroups.c: ...here. + * sysdeps/unix/sysv/linux/s390/setregid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setregid.c: ...here. + * sysdeps/unix/sysv/linux/s390/setresgid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setresgid.c: ...here. + * sysdeps/unix/sysv/linux/s390/setresuid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setresuid.c: ...here. + * sysdeps/unix/sysv/linux/s390/setreuid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setreuid.c: ...here. + * sysdeps/unix/sysv/linux/s390/setrlimit.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setrlimit.c: ...here. + * sysdeps/unix/sysv/linux/s390/setuid.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/setuid.c: ...here. + * sysdeps/unix/sysv/linux/s390/shmctl.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/shmctl.c: ...here. + * sysdeps/unix/sysv/linux/s390/socket.S: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/socket.S: ...here. + * sysdeps/unix/sysv/linux/s390/sys/procfs.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/sys/procfs.h: ...here. + * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: ...here. + * sysdeps/unix/sysv/linux/s390/syscall.S: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: ...here. + * sysdeps/unix/sysv/linux/s390/syscalls.list: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: ...here. + * sysdeps/unix/sysv/linux/s390/sysdep.S: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: ...here. + * sysdeps/unix/sysv/linux/s390/sysdep.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: ...here. + * sysdeps/unix/sysv/linux/s390/versionsort64.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c: ...here. + * sysdeps/unix/sysv/linux/s390/xstat.c: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/xstat.c: ...here. + +2001-03-13 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-64/Dist: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/elfclass.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/fcntl.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/ipc.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/mman.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/msq.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/sem.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/shm.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/siginfo.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigstack.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/stat.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/types.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/getdents.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/glob.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/glob64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/pread64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/readdir.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c : New file. + * sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/procfs.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c: New file. + +2001-03-13 Martin Schwidefsky + + * sysdeps/s390/Dist: Move to... + * sysdeps/s390/390-32/Dist: ...here. + * sysdeps/s390/Implies: Move to... + * sysdeps/s390/s390-32/Implies: ...here. + * sysdeps/s390/Makefile: Move to... + * sysdeps/s390/s390-32/Makefile: ...here. + * sysdeps/s390/Versions: Move to... + * sysdeps/s390-32/s390/Versions: ...here. + * sysdeps/s390/add_n.S: Move to... + * sysdeps/s390/s390-32/add_n.S: ...here. + * sysdeps/s390/addmul_1.S: Move to... + * sysdeps/s390/s390-32/addmul_1.S: ...here. + * sysdeps/s390/atomicity.h: Move to... + * sysdeps/s390/s390-32/atomicity.h: ...here. + * sysdeps/s390/backtrace.c: Move to... + * sysdeps/s390/s390-32/backtrace.c: ...here. + * sysdeps/s390/bcopy.S: Move to... + * sysdeps/s390/s390-32/bcopy.S: ...here. + * sysdeps/s390/bits/byteswap.h: Move to... + * sysdeps/s390/s390-32/bits/byteswap.h: ...here. + * sysdeps/s390/bits/huge_val.h: Move to... + * sysdeps/s390/s390-32/bits/huge_val.h: ...here. + * sysdeps/s390/bsd-_setjmp.S: Move to... + * sysdeps/s390/s390-32/bsd-_setjmp.S: ...here. + * sysdeps/s390/bsd-setjmp.S: Move to... + * sysdeps/s390/s390-32/bsd-setjmp.S: ...here. + * sysdeps/s390/bzero.S: Move to... + * sysdeps/s390/s390-32/bzero.S: ...here. + * sysdeps/s390/elf/bsd-_setjmp.S: Move to... + * sysdeps/s390/s390-32/elf/bsd-_setjmp.S: ...here. + * sysdeps/s390/elf/bsd-setjmp.S: Move to... + * sysdeps/s390/s390-32/elf/bsd-setjmp.S: ...here. + * sysdeps/s390/elf/start.S: Move to... + * sysdeps/s390/s390-32/elf/start.S: ...here. + * sysdeps/s390/ffs.c: Move to... + * sysdeps/s390/s390-32/ffs.c: ...here. + * sysdeps/s390/memchr.S: Move to... + * sysdeps/s390/s390-32/memchr.S: ...here. + * sysdeps/s390/memcpy.S: Move to... + * sysdeps/s390/s390-32/memcpy.S: ...here. + * sysdeps/s390/memset.S: Move to... + * sysdeps/s390/s390-32/memset.S: ...here. + * sysdeps/s390/mul_1.S: Move to... + * sysdeps/s390/s390-32/mul_1.S: ...here. + * sysdeps/s390/s390-mcount.S: Move to... + * sysdeps/s390/s390-32/s390-mcount.S: ...here. + * sysdeps/s390/strcpy.S: Move to... + * sysdeps/s390/s390-32/strcpy.S: ...here. + * sysdeps/s390/strncpy.S: Move to... + * sysdeps/s390/s390-32/strncpy.S: ...here. + * sysdeps/s390/sub_n.S: Move to... + * sysdeps/s390/s390-32/sub_n.S: ...here. + +2001-03-13 Martin Schwidefsky + + * sysdeps/s390/s390-64/Dist: New file. + * sysdeps/s390/s390-64/Implies: New file. + * sysdeps/s390/s390-64/Makefile: New file. + * sysdeps/s390/s390-64/__longjmp.c: New file. + * sysdeps/s390/s390-64/add_n.S: New file. + * sysdeps/s390/s390-64/atomicity.h: New file. + * sysdeps/s390/s390-64/backtrace.c: New file. + * sysdeps/s390/s390-64/bcopy.S: New file. + * sysdeps/s390/s390-64/bits/byteswap.h: New file. + * sysdeps/s390/s390-64/bits/huge_val.h: New file. + * sysdeps/s390/s390-64/bits/setjmp.h: New file. + * sysdeps/s390/s390-64/bits/string.h: New file. + * sysdeps/s390/s390-64/bsd-_setjmp.S: New file. + * sysdeps/s390/s390-64/bsd-setjmp.S: New file. + * sysdeps/s390/s390-64/bzero.S: New file. + * sysdeps/s390/s390-64/dl-machine.h: New file. + * sysdeps/s390/s390-64/elf/bsd-_setjmp.S: New file. + * sysdeps/s390/s390-64/elf/bsd-setjmp.S: New file. + * sysdeps/s390/s390-64/elf/setjmp.S: New file. + * sysdeps/s390/s390-64/elf/start.S: New file. + * sysdeps/s390/s390-64/ffs.c: New file. + * sysdeps/s390/s390-64/initfini.c: New file. + * sysdeps/s390/s390-64/memchr.S: New file. + * sysdeps/s390/s390-64/memcpy.S: New file. + * sysdeps/s390/s390-64/memset.S: New file. + * sysdeps/s390/s390-64/s390x-mcount.S: New file. + * sysdeps/s390/s390-64/setjmp.S: New file. + * sysdeps/s390/s390-64/strcpy.S: New file. + * sysdeps/s390/s390-64/strncpy.S: New file. + * sysdeps/s390/s390-64/sub_n.S: New file. + * sysdeps/s390/s390-64/sysdep.h: New file. + +2001-03-13 Martin Schwidefsky + + * scripts/config.guess: Add support for Linux on 64 bit S/390. + * scripts/config.sub: Likewise. + +2001-03-13 Martin Schwidefsky + + * configure.in: Add support for 64 bit S/390. + + * elf/elf.h: Add new relocations for 64 bit S/390. + + * shlib-versions: Add rules for Linux on 64 bit S/390. + +2001-03-13 Martin Schwidefsky + + * sysdeps/s390/__longjmp.c: Move to... + * sysdeps/s390/s390-32/__longjmp.c: ...here. Add code + to load the floating point registers that should be saved + according to the ABI. + + * sysdeps/s390/bits/setjmp.h: Move to... + * sysdeps/s390/s390-32/bits/setjmp.h: ...here. Avoid + the use of long long in the __jmp_buf type definition. + + * sysdeps/s390/bits/string.h: Move to... + * sysdeps/s390/s390-32/bits/string.h: ...here. Add several missing + #ifndef _FORCE_INLINES. + + * sysdeps/s390/dl-machine.h: Move to... + * sysdeps/s390/s390-32/dl-machine.h: ...here. Add a check for the + executables EI_CLASS in elf_machine_matches_host. + + * sysdeps/s390/elf/setjmp.S: Move to... + * sysdeps/s390/s390-32/elf/setjmp.S: ...here. Replace + branches to globally defined symbol __sigsetjmp by branches to + a local label (this avoids the generation of a R_390_PC16DBL + relocation in -fpic code). + + * sysdeps/s390/gmp-mparam.h: Use defines from to + calculate BITS_PER_MP_LIMB, BYTES_PER_MP_LIMB and BITS_PER_LONGINT. + + * sysdeps/s390/initfini.c: Move to... + * sysdeps/s390/s390-32/initfini.c: ...here. Replace ALIGN with + ".align 4,0x07". + + * sysdeps/s390/setjmp.S: Move to... + * sysdeps/s390/s390-32/setjmp.S: ...here. Add code to store the + floating point registers that should be saved according to the ABI. + + * sysdeps/s390/sys/ucontext.h: Remove since it is unused. + + * sysdeps/unix/sysv/linux/s390/sysdep.h: Move to... + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: ...here. Include + sysdeps/s390/s390-32/sysdep.h instead of sysdeps/s390/sysdep.h. + +2001-03-13 Martin Schwidefsky + + * configure.in: Change machine=s390 to machine=s390/s390-32. + + * elf/elf.h: Correct comment for R_390_PLT16DBL. + +2001-03-12 Jakub Jelinek + + * csu/Makefile (abi-tag.h): Define OS and version separately, allow + version to be overriden from config.h. + * csu/abi-note.S: Use OS and version separately, include config.h. + * elf/dl-load.c (_dl_osversion): New. + (_dl_map_object_from_fd): Kill some warnings. + (open_verify): Check .note.ABI-tag of the library if present. + * elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx). + * elf/cache.c (struct cache_entry): Add osversion. + (print_entry): Print osversion. + (print_cache): Pass osversion to it. + (compare): Sort according to osversion. + (save_cache): Set osversion. + (add_to_cache): Add osversion argument. + * sysdeps/generic/ldconfig.h (add_to_cache, process_file, + process_elf_file): Add osversion argument. + * elf/readlib.c (process_file): Likewise. + * sysdeps/generic/readelflib.c (process_elf_file): Likewise. + * sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file, + process_elf32_file, process_elf64_file): Likewise. + * sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file, + process_elf32_file, process_elf64_file): Likewise. + * sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file, + process_elf32_file, process_elf64_file): Likewise. + * elf/ldconfig.c (manual_link): Pass it. + (search_dir): Issue diagnostic if two libs with the same soname in + the same directory have different .note.ABI-tag. Record osversion in + dlib_entry and use it from there. + (struct lib_entry): Remove. + (struct dlib_entry): Add osversion. + * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check + osversion. + * sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused + field with osversion. + * sysdeps/generic/ldsodefs.h (_dl_osversion): Declare. + * sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h. + * sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel + version in _dl_osversion. + * sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION. + * Makerules (build-shlib-helper, build-module-helper): New. + (build-shlib, build-module-helper): Make sure .note.ABI-tag comes + early. + * config.h.in (__ABI_TAG_VERSION): Add. + * elf/dl-minimal.c (__strtoul_internal): Set endptr on return. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): + Handle LD_ASSUME_KERNEL. + * sysdeps/unix/sysv/linux/dl-librecon.h: New. + +2001-03-15 Ulrich Drepper + + * timezone/antarctica: Update from tzdata2001a. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/backward: Likewise. + * timezone/etcetera: Likewise. + * timezone/europe: Likewise. + * timezone/leapseconds: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/systemv: Likewise. + * timezone/yearistype: Likewise. + * timezone/zone.tab: Likewise. + * timezone/tzdump.c: Update from tzcode2001a. + +2001-03-15 H.J. Lu + + * intl/Makefile: Fix a typo. + +2001-03-14 David Mosberger + + * gmon/gmon.c (write_call_graph): Avoid unaligned accesses when + writing arc structures. + +2001-03-15 H.J. Lu + + * elf/Makefile ($(objpfx)tst-pathopt.out): Protected against + cross-compiling. + +2001-03-13 Andreas Schwab + + * posix/PTESTS2C.sed: Replace literal CRs by `\r'. + +2001-03-15 Ulrich Drepper + + * sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Fix test + for control message fitting into message data. + Patch by James Antill . + + * posix/tst-fnmatch.input: Add test case for FNM_PERIOD handling with + FNM_EXTMATCH. + + * posix/fnmatch_loop.c: Optimize handling of ?() and @(). + * posix/fnmatch.c: Define STRLEN and STRCAT appropriately. + + * posix/Versions [libc] (GLIBC_2.2.3): Add fnmatch. + * posix/fnmatch.c: Define with new default version GLIBC_2.2.3 to + avoid running binaries with libc versions without FNM_EXTMATCH support. + + * include/wchar.h: Add prototype for __wcscat. + * wcsmbs/wcscat.c: Define __wcscat and make wcscat weak alias. + + * posix/fnmatch.h (FNM_EXTMATCH): Define. + * posix/fnmatch.c (NO_LEADING_PERIOD): Define. + (posixly_correct): Move global variable here. + (INT, EXT, END): Name new functions defined in fnmatch_loop.c. + (fnmatch): Pretty printing. + * posix/fnmatch_loop.c: Add code to handle FNM_EXTMATCH. + * posix/tst-fnmatch.c: Recognize EXTMATCH flag. + * posix/tst-fnmatch.input: Add tests for extended matching. + + * posix/testfnm.c: Add test for patterns with multiple ** before /. + * posix/fnmatch_loop.c: Fix problem with the test above. + +2001-03-14 Ulrich Drepper + + * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Remove + reference to usqrt. + + * resolv/res_data.c (fp_nquery): Call __res_ninit not __res_init. + +2001-03-12 Andreas Jaeger + + * sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file): + Use EM_X86_64 instead of EM_X8664. + +2001-03-12 Ulrich Drepper + + * sysdeps/ieee754/dbl-64/upow.h: Define nZERO and nINF. + + * sysdeps/ieee754/dbl-64/e_remainder.c: Fix handling of boundary + conditions. + + * sysdeps/ieee754/dbl-64/e_pow.c: Fix handling of boundary + conditions. + + * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Handle Inf and NaN + correctly. + (__cos): Likewise. + + * sysdeps/ieee754/dbl-64/e_asin.c (__ieee754_asin): Handle NaN + correctly. + (__ieee754_acos): Likewise. + +2001-03-12 Andreas Jaeger + + * sysdeps/unix/sysv/linux/s390/sysdep.h (_LINUX_S390_SYSDEP_H): + Fix typo. Patch by Martin Schwidefsky . + + * sysdeps/s390/bits/string.h: Protect __STRING_INLINE against + redefinition. + +2001-03-11 Roland McGrath + + * sysdeps/mach/hurd/configure.in: Add a sanity check on $prefix. + +2001-03-11 Ulrich Drepper + + * sysdeps/ieee754/dbl-64/endian.h: Define also one of BIG_ENDI and + LITTLE_ENDI. + + * sysdeps/ieee754/dbl-64/MathLib.h (Init_Lib): Use void as + parameter list. + + Last-bit accurate math library implementation by IBM Haifa. + Contributed by Abraham Ziv , Moshe Olshansky + , Ealan Henis , and + Anna Reitman . + * math/Makefile (dbl-only-routines): New variable. + (libm-routines): Add $(dbl-only-routines). + * sysdeps/ieee754/dbl-64/e_acos.c: Empty, definition is in e_asin.c. + * sysdeps/ieee754/dbl-64/e_asin.c: Replaced with accurate asin + implementation. + * sysdeps/ieee754/dbl-64/e_atan2.c: Replaced with accurate atan2 + implementation. + * sysdeps/ieee754/dbl-64/e_exp.c: Replaced with accurate exp + implementation. + * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Don't use __kernel_sin and + __kernel_cos. + * sysdeps/ieee754/dbl-64/e_log.c: Replaced with accurate log + implementation. + * sysdeps/ieee754/dbl-64/e_remainder.c: Replaced with accurate + remainder implementation. + * sysdeps/ieee754/dbl-64/e_pow.c: Replaced with accurate pow + implementation. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Replaced with accurate sqrt + implementation. + * sysdeps/ieee754/dbl-64/k_cos.c: Empty, definition is in s_sin.c. + * sysdeps/ieee754/dbl-64/k_sin.c: Empty, definition is in s_sin.c. + * sysdeps/ieee754/dbl-64/s_atan.c: Replaced with accurate atan + implementation. + * sysdeps/ieee754/dbl-64/s_cos.c: Empty, definition is in s_sin.c. + * sysdeps/ieee754/dbl-64/s_sin.c: Replaced with accurate sin/cos + implementation. + * sysdeps/ieee754/dbl-64/s_sincos.c: Rewritten to not use __kernel_sin + and __kernel_cos. + * sysdeps/ieee754/dbl-64/s_tan.c: Replaced with accurate tan + implementation. + * sysdeps/ieee754/dbl-64/Dist: Add new non-code files. + * sysdeps/ieee754/dbl-64/MathLib.h: New file. + * sysdeps/ieee754/dbl-64/asincos.tbl: New file. + * sysdeps/ieee754/dbl-64/atnat.h: New file. + * sysdeps/ieee754/dbl-64/atnat2.h: New file. + * sysdeps/ieee754/dbl-64/branred.c: New file. + * sysdeps/ieee754/dbl-64/branred.h: New file. + * sysdeps/ieee754/dbl-64/dla.h: New file. + * sysdeps/ieee754/dbl-64/doasin.c: New file. + * sysdeps/ieee754/dbl-64/doasin.h: New file. + * sysdeps/ieee754/dbl-64/dosincos.c: New file. + * sysdeps/ieee754/dbl-64/dosincos.h: New file. + * sysdeps/ieee754/dbl-64/endian.h: New file. + * sysdeps/ieee754/dbl-64/halfulp.c: New file. + * sysdeps/ieee754/dbl-64/mpa.c: New file. + * sysdeps/ieee754/dbl-64/mpa.h: New file. + * sysdeps/ieee754/dbl-64/mpa2.h: New file. + * sysdeps/ieee754/dbl-64/mpatan.c: New file. + * sysdeps/ieee754/dbl-64/mpatan.h: New file. + * sysdeps/ieee754/dbl-64/mpatan2.c: New file. + * sysdeps/ieee754/dbl-64/mpexp.c: New file. + * sysdeps/ieee754/dbl-64/mpexp.h: New file. + * sysdeps/ieee754/dbl-64/mplog.c: New file. + * sysdeps/ieee754/dbl-64/mplog.h: New file. + * sysdeps/ieee754/dbl-64/mpsqrt.c: New file. + * sysdeps/ieee754/dbl-64/mpsqrt.h: New file. + * sysdeps/ieee754/dbl-64/mptan.c: New file. + * sysdeps/ieee754/dbl-64/mydefs.h: New file. + * sysdeps/ieee754/dbl-64/powtwo.tbl: New file. + * sysdeps/ieee754/dbl-64/root.tbl: New file. + * sysdeps/ieee754/dbl-64/sincos.tbl: New file. + * sysdeps/ieee754/dbl-64/sincos32.c: New file. + * sysdeps/ieee754/dbl-64/sincos32.h: New file. + * sysdeps/ieee754/dbl-64/slowexp.c: New file. + * sysdeps/ieee754/dbl-64/slowpow.c: New file. + * sysdeps/ieee754/dbl-64/uasncs.h: New file. + * sysdeps/ieee754/dbl-64/uatan.tbl: New file. + * sysdeps/ieee754/dbl-64/uexp.h: New file. + * sysdeps/ieee754/dbl-64/uexp.tbl: New file. + * sysdeps/ieee754/dbl-64/ulog.h: New file. + * sysdeps/ieee754/dbl-64/ulog.tbl: New file. + * sysdeps/ieee754/dbl-64/upow.h: New file. + * sysdeps/ieee754/dbl-64/upow.tbl: New file. + * sysdeps/ieee754/dbl-64/urem.h: New file. + * sysdeps/ieee754/dbl-64/uroot.h: New file. + * sysdeps/ieee754/dbl-64/usncs.h: New file. + * sysdeps/ieee754/dbl-64/utan.h: New file. + * sysdeps/ieee754/dbl-64/utan.tbl: New file. + * sysdeps/i386/fpu/branred.c: New file. + * sysdeps/i386/fpu/doasin.c: New file. + * sysdeps/i386/fpu/dosincos.c: New file. + * sysdeps/i386/fpu/halfulp.c: New file. + * sysdeps/i386/fpu/mpa.c: New file. + * sysdeps/i386/fpu/mpatan.c: New file. + * sysdeps/i386/fpu/mpatan2.c: New file. + * sysdeps/i386/fpu/mpexp.c: New file. + * sysdeps/i386/fpu/mplog.c: New file. + * sysdeps/i386/fpu/mpsqrt.c: New file. + * sysdeps/i386/fpu/mptan.c: New file. + * sysdeps/i386/fpu/sincos32.c: New file. + * sysdeps/i386/fpu/slowexp.c: New file. + * sysdeps/i386/fpu/slowpow.c: New file. + * sysdeps/ia64/fpu/branred.c: New file. + * sysdeps/ia64/fpu/doasin.c: New file. + * sysdeps/ia64/fpu/dosincos.c: New file. + * sysdeps/ia64/fpu/halfulp.c: New file. + * sysdeps/ia64/fpu/mpa.c: New file. + * sysdeps/ia64/fpu/mpatan.c: New file. + * sysdeps/ia64/fpu/mpatan2.c: New file. + * sysdeps/ia64/fpu/mpexp.c: New file. + * sysdeps/ia64/fpu/mplog.c: New file. + * sysdeps/ia64/fpu/mpsqrt.c: New file. + * sysdeps/ia64/fpu/mptan.c: New file. + * sysdeps/ia64/fpu/sincos32.c: New file. + * sysdeps/ia64/fpu/slowexp.c: New file. + * sysdeps/ia64/fpu/slowpow.c: New file. + * sysdeps/m68k/fpu/branred.c: New file. + * sysdeps/m68k/fpu/doasin.c: New file. + * sysdeps/m68k/fpu/dosincos.c: New file. + * sysdeps/m68k/fpu/halfulp.c: New file. + * sysdeps/m68k/fpu/mpa.c: New file. + * sysdeps/m68k/fpu/mpatan.c: New file. + * sysdeps/m68k/fpu/mpatan2.c: New file. + * sysdeps/m68k/fpu/mpexp.c: New file. + * sysdeps/m68k/fpu/mplog.c: New file. + * sysdeps/m68k/fpu/mpsqrt.c: New file. + * sysdeps/m68k/fpu/mptan.c: New file. + * sysdeps/m68k/fpu/sincos32.c: New file. + * sysdeps/m68k/fpu/slowexp.c: New file. + * sysdeps/m68k/fpu/slowpow.c: New file. + + * iconvdata/gconv-modules: Add a number of alias, mostly for IBM + codepages. + +2001-03-11 Andreas Jaeger + + * elf/elf.h (EM_*): Synch with official list. + +2001-03-07 David Mosberger + + * sysdeps/ia64/bits/fenv.h (FE_NONIEEE_ENV): New macro. + +2001-03-07 Jes Sorensen + + * sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Remove unused + variables addr & len. + +2001-02-22 Jes Sorensen + + * sysdeps/ia64/fpu/feenablxcpt.c (feenableexcept): Remove + punctuation in asm constraint. + +2001-03-07 Mark Kettenis + + * resolv/netdb.h [__USE_GNU]: Define __need_timespec and include + to get definition of `struct timespec'. + +2001-03-08 Jakub Jelinek + + * elf/rtld.c (dl_main): If tracing, warn about undefined symbols if + LD_WARN=1, not if LD_WARN is unset. + +2001-03-07 Andreas Schwab + + * elf/ldconfig.h: Moved to ... + * sysdeps/generic/ldconfig.h: ... here. + * sysdeps/unix/sysv/linux/i386/ldconfig.h: New file. + * sysdeps/unix/sysv/linux/m68k/ldconfig.h: New file. + * sysdeps/unix/sysv/linux/ia64/ldconfig.h: New file. + * elf/readlib.c (interpreters, known_libs): Use + SYSDEP_KNOWN_INTERPRETER_NAMES and SYSDEP_KNOWN_LIBRARY_NAMES + instead of hard coding old names. + +2001-03-09 Ulrich Drepper + + * catgets/Makefile (generated): Add test-gencat.h. + (sample.SJIS.cat): Also generate header. + * catgets/sample.SJIS: Add new set and message, both with symbolic + names. + * catgets/test-gencat.sh: Also compare generated header with what + we expect. + +2001-03-07 Jakub Jelinek + + * catgets/gencat.c (read_input_file): Preserve properly symbolic + names. + +2001-03-06 Andreas Jaeger + + * sysdeps/s390/dl-machine.h (elf_machine_relplt): Removed, it's not + needed. + (elf_machine_pltrel_p): Likewise. + * sysdeps/powerpc/dl-machine.h: Likewise. + * sysdeps/generic/dl-machine.h (elf_machine_pltrel_p): Likewise. + +2001-03-09 Ulrich Drepper + + * sysdeps/unix/sysv/linux/arm/Dist: Add dl-procinfo.c and + dl-procinfo.h. + +2001-03-05 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/dl-procinfo.c: New file. + * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: New file. + * sysdeps/unix/sysv/linux/arm/Makefile [subdir=elf] + (sysdep-dl-routines, sysdep_routines, sysdep-rtld-routines): Add + dl-procinfo. + +2001-03-09 Ulrich Drepper + + * dlfcn/tstatexit.c (main): Don't perform the test if __dso_handle + is not available. + * dlfcn/tstcxaatexit.c (main): Likewise. + +2001-03-10 Andreas Jaeger + + * sysdeps/i386/fpu/libm-test-ulps: Revert last patch. + +2001-03-09 Andreas Jaeger + + * sysdeps/s390/dl-machine.h (elf_machine_matches_host): Handle + both new and old EM_S390 values. + (EM_S390_OLD): New constant. + + * elf/elf.h (EM_S390): Use official value. + +2001-03-09 Ulrich Drepper + + * conform/data/sys/socket.h-data: Allow SO* symbols. + +2001-03-07 Andreas Schwab + + * sysdeps/ia64/fpu/Makefile: Modify sysdep_routines instead of + routines, and sysdep-CPPFLAGS instead of CPPFLAGS. + +2001-03-07 Andreas Jaeger + + * resolv/Makefile (routines): Only build gai_sigqueue when threads + are available. + +2001-03-07 Jakub Jelinek + + * elf/ldconfig.c (_dl_sysdep_message): Remove. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Include + ldsodefs.h. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. + + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Use + _dl_error_printf instead of _dl_sysdep_error. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h (_dl_procinfo): + Use _dl_printf instead of _dl_sysdep_message. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h (_dl_procinfo): + Likewise. + +2001-03-06 Ben Collins + + * manual/arith.texi (Integers): Fix documentation of fast and + least integer typedefs. + +2001-03-06 Jakub Jelinek + + * resolv/Depend: New file. + * resolv/Makefile (extra-libs, tests): Build libanl and ga_test only + when libpthread is built. + +2001-03-06 Andreas Jaeger + + * sysdeps/i386/fpu/libm-test-ulps: Add some deltas. + + * sysdeps/sh/dl-machine.h (elf_machine_rela): Add missing comma. + Patch by kaz Kojima . + +2001-03-05 Ulrich Drepper + + * stdlib/Versions: Remove __new_exitfn again. Not needed. + +2001-03-05 Andreas Jaeger + + * stdlib/msort.c (qsort): Don't use alloca in a function call. + +2001-03-05 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/stat.h (__S_TYPEISMQ, __S_TYPEISSEM, + __S_TYPEISSHM): Rewrite to enforce correct use the macros. They still + always return zero. + * sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise. + +2001-03-04 Andreas Jaeger + + * stdlib/longlong.h: Don't use multi-line strings. + * iconvdata/tst-loading.c: Likewise. + + * csu/Makefile ($(objpfx)version-info.h): Don't use multi-line + string. + +2001-03-04 Ulrich Drepper + + * sysdeps/ia64/fpu/libm-test-ulps: Adjust for addition of lgammal. + + * rt/lio_listio.c: Add a few asserts. + + * elf/global.c: New file. + * elf/globalmod1.c: New file. + * elf/Makefile: Add rules to build and run global. + + * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Define SI_ASYNCNL. + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Likewise. + + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: New file. + Contributed by Stephen L. Moshier . + + * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Fix handling of boundary cases. + + * sysdeps/ieee754/dbl-64/e_gamma_r.c: Always initialize sign variable. + * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. + + * sysdeps/i386/fpu/libm-test-ulps: Adjust after addition of lgammal. + + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Fix typo in last change. + +2001-03-04 Andreas Jaeger + + * resolv/tst-aton.c: Add testcase for IP with four periods. + + * resolv/inet_addr.c: Don't recognize an IP with four periods. + Patch by Andre' Breiler . + +2001-02-27 Philip Blundell + + * elf/elf.h: Add new ARM definitions from latest (B-01) + specification. Correct naming of EF_ARM_ALIGN8 et al. + +2001-03-04 Ulrich Drepper + + * stdio-common/tst-printf.sh: Remove bashisms. + Patch by Matthew Clarke . + +2001-03-03 Ulrich Drepper + + * Versions.def: Add libanl definition. + * shlib-versions: Add entry for libanl. + * resolv/Makefile (distribute): Add gai_misc.h and ga_test.c. + (routines): Add gai_sigqueue. + (extra-libs): Add libanl. + (libanl-routines): New variable. + Add rules to build libanl and ga_test. + * resolv/Versions [libc] (GLIBC_2.2.3): Add __gai_sigqueue. + [libanl]: New library. + * resolv/netdb.h: Add definitions for libanl. + * resolv/getaddrinfo_a.c: New file. + * resolv/gai_cancel.c: New file. + * resolv/gai_error.c: New file. + * resolv/gai_misc.c: New file. + * resolv/gai_misc.h: New file. + * resolv/gai_notify.c: New file. + * resolv/gai_suspend.c: New file. + * resolv/ga_test.c: New file. + * sysdeps/generic/gai_sigqueue.c: New file. + * sysdeps/unix/sysv/linux/gai_sigqueue.c: New file. + * sysdeps/generic/bits/siginfo.h: Allow __need_sigevent_t being defined + and provide only that definition. + * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Likewise. + + * rt/aio_misc.c: Fix typos in comments. + * rt/lio_listio.c: Pretty printing. Little optimization in request + list handling. + + * elf/rtld.c: Remove commented out code. + + * sysdeps/unix/sysv/linux/linux_fsinfo.h (SHMFS_SUPER_MAGIC): + Update for real 2.4 kernels. + +2001-03-01 Ulrich Drepper + + * elf/dl-load.c: Pretty printing. + + * elf/dl-object.c (_dl_new_object): Don't add the loader's scope + twice. + +2001-02-28 Ulrich Drepper + + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Don't handle + relocations which are not in ld.so if RTLD_BOOTSTRAP is defined. + + * sysdeps/powerpc/dl-machine.c (__process_machine_rela): Fix typo. + + * elf/dl-misc.c (_dl_debug_vdprintf): Fix typo visible on 64-bit + machines. + + * sysdeps/unix/sysv/linux/powerpc/sysdep.h (C_TEXT): Define. + +2001-02-27 Ulrich Drepper + + * sysdeps/powerpc/elf/libc-start.c: Use new output functions and + _dl_debug_mask. + + * elf/Versions [ld]: Don't export _dl_debug_message anymore. Export + _dl_debug_printf. + * elf/dl-misc.c: Remove definition of _dl_sysdep_output and + _dl_debug_message. Define _dl_debug_vdprintf, _dl_debug_printf, + _dl_debug_printf_c, and _dl_printf. + * sysdeps/generic/ldsodefs.h: Don't declare _dl_sysdep_output, + _dl_debug_message, _dl_sysdep_message, _dl_sysdep_error, and + _dl_sysdep_fatal. Declare _dl_debug_printf, _dl_debug_printf_c, + _dl_printf, _dl_error_printf, and _dl_fatal_printf. + * elf/dl-close.c: Replace use of old output functions with the new + ones. + * 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-open.c: Likewise. + * elf/dl-profile.c: Likewise. + * elf/dl-reloc.c: Likewise. + * elf/dl-version.c: Likewise. + * elf/do-lookup.h: Likewise. + * elf/rtld.c: Likewise. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/generic/libc-start.c: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-machine.h: Likewise. + * sysdeps/s390/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise. + + * sysdeps/generic/ldsodefs.h: Remove _dl_secure declaration. + + * dlfcn/Makefile: Don't run tstatexit test unless .hidden is + supported by assembler. + + * sysdeps/generic/ldsodefs.h: Remove commented-out variable + declaractions. + + * elf/rtld.c: Little optimizations in handling _dl_lazy. + + * elf/cache.c (save_cache): Portability changes. + * elf/dl-profile.c (_dl_start_profile): Likewise. + + * elf/sln.c: Cleanups. Remove arbitrary limits. + + * elf/dl-close.c: Replace _dl_debug_* variables with _dl_debug_mask. + * elf/dl-deps.c: Likewise. + * elf/dl-fini.c: Likewise. + * elf/dl-init.c: Likewise. + * elf/dl-load.c: Likewise. + * elf/dl-lookup.c: Likewise. + * elf/dl-open.c: Likewise. + * elf/dl-reloc.c: Likewise. + * elf/dl-support.c: Likewise. + * elf/dl-version.c: Likewise. + * elf/do-lookup.h: Likewise. + * elf/rtld.c: Likewise. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/generic/ldsodefs.h: Likewise. + * sysdeps/generic/libc-start.c: Likewise. + * elf/Versions: Don't export _dl_debug_impcalls and _dl_debug_files. + Export _dl_debug_mask. + * Versions.def: Define GLIBC_2.2.3 for ld. + +2001-02-26 Greg McGary + + * sysdeps/unix/make-syscalls.sh (ptr): Handle `V' keyletter. + +2001-02-26 Paul Eggert + + Modify mkstemp.c and tempname.c so that they can be used by + GNU applications on non-glibc platforms. + + * misc/mkstemp.c (__GT_FILE): Define to zero if not defined. + + * sysdeps/posix/tempname.c: Include if HAVE_CONFIG_H. + Include , , only if + STDC_HEADERS || _LIBC. + Include only if HAVE_FCNTL_H || _LIBC. + Include only if HAVE_UNISTD_H || _LIBC. + Include only if HAVE_SYS_TIME_H || _LIBC. + (__set_errno): Define this macro if doesn't. + (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): + Define these macros if doesn't. + (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): + Define these macros if doesn't. + Ignore S_ISDIR if STAT_MACROS_BROKEN. + (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, + lxstat64, __xstat64): Define if not _LIBC. + (struct_stat64): New macro. + (direxists, __gen_tempname): Use it, to avoid a + portability problem with Solaris 8. + (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC). + (__gen_tempname): Invoke gettimeofday only if + HAVE_GETTIMEOFDAY || _LIBC; otherwise, fall back on plain "time". + Use portable macros like S_IRUSR | S_IWUSR rather than nonportable + octal values like 0600. + +2001-02-26 Ulrich Drepper + + * sysdeps/ieee754/ldbl-96/e_jnl.c: New file. + Contributed by Stephen L. Moshier . + + * sysdeps/i386/fpu/libm-test-ulps: Update for jnl and ynl introduction. + * sysdeps/ia64/fpu/libm-test-ulps: Likewise. + + * posix/wordexp-test.c (testit): Remove warnings. + + * dlfcn/Makefile (distribute): Add modatexit.c and modcxaatexit.c. + (tests): Add tstatexit and tstcxaatexit. + (module-names): Add modatexit and modcxaatexit. + Add rules to build and run tstatexit and tstcxaatexit. + * dlfcn/modatexit.c: New file. + * dlfcn/modcxaatexit.c: New file. + * dlfcn/tstatexit.c: New file. + * dlfcn/tstcxaatexit.c: New file. + + * io/Makefile: Pass -DHAVE_DOT_HIDDEN to stat and mknod functions if + .hidden is available. + * io/stat.c: If .hidden is available use it to avoid exporting + functions. + * io/fstat.c: Likewise. + * io/lstat.c: Likewise. + * io/stat64.c: Likewise. + * io/fstat64.c: Likewise. + * io/lstat64.c: Likewise. + * sysdeps/generic/mknod.c: Likewise. + + * malloc/mtrace.c: Use __cxa_atexit and not atexit. + * sysdeps/generic/bb_init_func.c: Likewise. + * sysdeps/generic/libc-start.c: Likewise. + + * stdlib/atexit.c (__new_exitfn): Move to cxa_atexit.c. + (atexit): Implement using __cxa_atexit. + Use .hidden if availble to avoid exporting atexit. + * stdlib/cxa_atexit.c (__new_exitfn): Moved to here from atexit.c. + * stdlib/Versions: Export __new_exitfn for GLIBC_2.2.3. + * stdlib/Makefile (routines): Add old_atexit. + (static-only-routines): Add atexit. + Pass -DHAVE_DOT_HIDDEN for atexit.c if .hidden is available. + * stdlib/old_atexit.c: New file. + + * intl/Makefile: Remove bogus endif. + +2001-02-26 Andreas Jaeger + + * iconvdata/Makefile (tests): Fix typo in last patch. + + * intl/Makefile (tests): Run mtrace-tst-gettext only when perl is + available. + Reported by Achim Gottinger . + +2001-02-25 Andreas Jaeger + + * intl/Makefile (plural.c): Reorder rules so that they work if + BISON doesn't exist. + +2001-02-25 Ulrich Drepper + + * intl/locale.alias: Don't use nb_NO but define aliases for it. + +2001-02-23 Ulrich Drepper + + * sysdeps/i386/strtok.S: Continue to return NULL after the first + time this happened. + +2001-02-23 Andreas Jaeger + + * string/tester.c (test_strtok_r): Add testcase. + (test_strtok_r): Always initialize cp for proper checking. + + * sysdeps/generic/strtok.c (strtok): Handle case of first strtok + returning NULL correctly. + Patch by Fumitoshi UKAI . + * sysdeps/generic/strtok_r.c (__strtok_r): Likewise. + +2001-02-23 Ulrich Drepper + + * sysdeps/unix/sysv/aix/bits/types.h: Define __need_NULL before + including . + * sysdeps/unix/sysv/aix/write.c: Define alias __libc_write. + * include/libc-symbols.h (weak_alias): Don't use .weak if + HAVE_ASM_GLOBAL_DOT_NAME is defined. + Patches by Michael Keezer . + + * sysdeps/generic/ftime.c: Don't include at all. + Patch by Michael Keezer . + + * sysdeps/unix/sysv/aix/Dist: Remove restf.S and savef.S. + * sysdeps/unix/sysv/aix/Makefile [$(subdir) == misc] + (sysdep_routines): Remove restf.S and savef.S. + * sysdeps/unix/sysv/aix/restf.S: Removed. + * sysdeps/unix/sysv/aix/savef.S: Removed. + * sysdeps/powerpc/fprrest.S: Use C_TEXT to define label. Also define + alternative names used on some platforms. + * sysdeps/powerpc/fprsave.S: Likewise. + * sysdeps/powerpc/gprrest0.S: Likewise. + * sysdeps/powerpc/gprrest1.S: Likewise. + * sysdeps/powerpc/gprsave0.S: Likewise. + * sysdeps/powerpc/gprsave1.S: Likewise. + Patch by Michael Keezer . + +2001-02-22 Ulrich Drepper + + * sysdeps/i386/elf/start.S (_fp_hw): Actually define label. + +2001-02-22 Andreas Jaeger + + * string/tst-strtok.c (main): Fix error messages. + +2001-02-22 Andreas Jaeger + + * math/Makefile: Remove omit-long-double-fcts. + +2001-02-18 Maciej W. Rozycki + + * sysdeps/mips/bsd-_setjmp.S (_setjmp): Reorder instructions to + avoid problems on MIPS I. + * sysdeps/mips/bsd-setjmp.S (setjmp): Likewise. + + * sysdeps/mips/dl-machine.h (RTLD_START): Remove duplicate ".set + noreorder". + +2001-02-21 Ulrich Drepper + + * posix/fnmatch_loop.c: Handle ranges outside glibc correctly. + + * sysdeps/generic/ftime.c: Include . + + * configure.in: Don't check for libgd if user passed --without-gd. + Patch by Achim Gottinger . + + * sysdeps/i386/i686/strtok.S: Continue to return NULL after the + first time this happened. + * string/Makefile (tests): Add tst-strtok. + +2001-02-21 Andreas Jaeger + + * string/tst-strtok.c: New testcase, reported by + Andrew Church . + +2001-02-20 Ulrich Drepper + + * libio/iofwide.c: Remove fwide alias. + +2001-02-20 Andreas Jaeger + + * iconvdata/Makefile (tests): Only run mtrace-tst-loading if perl + is available. + Reported by Achim Gottinger . + +2001-02-19 Ulrich Drepper + + * iconv/tst-iconv1.c (main): Remove debugging code. + + * sysdeps/ieee754/flt-32/e_powf.c: Handle x == +-1 correctly. + * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. + + * sysdeps/generic/e_scalb.c: Set invalid exception for invalid + parameters. + * sysdeps/generic/e_scalbf.c: Likewise. + * sysdeps/generic/e_scalbl.c: Likewise. + + * sysdeps/ia64/fpu/Makefile (libm-sysdep-routines): Add libm_error, + libm_frexp4, libm_frexp4f, libm_frexp4l, and all the functions also + in libc. + (routines): Replace libm_error with libc_libm_error. + * sysdeps/ia64/fpu/Dist: Add libc_libm_error.c. + * sysdeps/ia64/fpu/libc_libm_error.c: New file. + +2001-02-18 Mark Kettenis + + * malloc/mtrace.c [USE_IN_LIBIO]: Define fopen as _IO_fopen64. + (mtrace): Revert 2001-02-13 patch: use fopen instead of fopen64. + +2001-02-17 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/clone2.S: Use clone2 and don't use + scratch registers across the system call. + +2001-02-19 Andreas Jaeger + + * malloc/Makefile (tests): Run mtrace only when perl is available. + Reported by Achim Gottinger . + +2001-02-19 Ulrich Drepper + + * sysdeps/ieee754/ldbl-96/e_j1l.c: New file. + Contributed by Stephen L. Moshier . + + * sysdeps/i386/fpu/libm-test-ulps: Adjust error values for j1 and y1. + * sysdeps/ia64/fpu/libm-test-ulps: Adjust error values for y1. + * math/libm-test.inc (j1_test): Mark constants as long double. + (jn_test): Likewise. + (y1_test): Likewise. + (yn_test): Likewise. + + * libio/iogetline.c: Move return until after last statement. + + * localedata/show-ucs-data.c: Don't show < > for better readability. + + * sysdeps/ia64/fpu/Dist: New file. + * sysdeps/ia64/fpu/Makefile: New file. + * sysdeps/ia64/fpu/Versions: New file. + * sysdeps/ia64/fpu/e_acos.S: New file. + * sysdeps/ia64/fpu/e_acosf.S: New file. + * sysdeps/ia64/fpu/e_acosl.S: New file. + * sysdeps/ia64/fpu/e_asin.S: New file. + * sysdeps/ia64/fpu/e_asinf.S: New file. + * sysdeps/ia64/fpu/e_asinl.S: New file. + * sysdeps/ia64/fpu/e_atan2.S: New file. + * sysdeps/ia64/fpu/e_atan2f.S: New file. + * sysdeps/ia64/fpu/e_atan2l.c: New file. + * sysdeps/ia64/fpu/e_cosh.S: New file. + * sysdeps/ia64/fpu/e_coshf.S: New file. + * sysdeps/ia64/fpu/e_coshl.S: New file. + * sysdeps/ia64/fpu/e_exp.S: New file. + * sysdeps/ia64/fpu/e_expf.S: New file. + * sysdeps/ia64/fpu/e_expl.c: New file. + * sysdeps/ia64/fpu/e_fmod.S: New file. + * sysdeps/ia64/fpu/e_fmodf.S: New file. + * sysdeps/ia64/fpu/e_fmodl.S: New file. + * sysdeps/ia64/fpu/e_hypot.S: New file. + * sysdeps/ia64/fpu/e_hypotf.S: New file. + * sysdeps/ia64/fpu/e_hypotl.S: New file. + * sysdeps/ia64/fpu/e_log.S: New file. + * sysdeps/ia64/fpu/e_log10.c: New file. + * sysdeps/ia64/fpu/e_log10f.c: New file. + * sysdeps/ia64/fpu/e_log10l.c: New file. + * sysdeps/ia64/fpu/e_logf.S: New file. + * sysdeps/ia64/fpu/e_logl.c: New file. + * sysdeps/ia64/fpu/e_pow.S: New file. + * sysdeps/ia64/fpu/e_powf.S: New file. + * sysdeps/ia64/fpu/e_powl.S: New file. + * sysdeps/ia64/fpu/e_rem_pio2.c: New file. + * sysdeps/ia64/fpu/e_rem_pio2f.c: New file. + * sysdeps/ia64/fpu/e_remainder.S: New file. + * sysdeps/ia64/fpu/e_remainderf.S: New file. + * sysdeps/ia64/fpu/e_remainderl.S: New file. + * sysdeps/ia64/fpu/e_scalb.S: New file. + * sysdeps/ia64/fpu/e_scalbf.S: New file. + * sysdeps/ia64/fpu/e_scalbl.S: New file. + * sysdeps/ia64/fpu/e_sinh.S: New file. + * sysdeps/ia64/fpu/e_sinhf.S: New file. + * sysdeps/ia64/fpu/e_sinhl.S: New file. + * sysdeps/ia64/fpu/e_sqrt.S: New file. + * sysdeps/ia64/fpu/e_sqrtf.S: New file. + * sysdeps/ia64/fpu/e_sqrtl.S: New file. + * sysdeps/ia64/fpu/k_rem_pio2.c: New file. + * sysdeps/ia64/fpu/k_rem_pio2f.c: New file. + * sysdeps/ia64/fpu/k_rem_pio2l.c: New file. + * sysdeps/ia64/fpu/libm_atan2_reg.S: New file. + * sysdeps/ia64/fpu/libm_error.c: New file. + * sysdeps/ia64/fpu/libm_frexp4.S: New file. + * sysdeps/ia64/fpu/libm_frexp4f.S: New file. + * sysdeps/ia64/fpu/libm_frexp4l.S: New file. + * sysdeps/ia64/fpu/libm_reduce.S: New file. + * sysdeps/ia64/fpu/libm_support.h: New file. + * sysdeps/ia64/fpu/libm_tan.S: New file. + * sysdeps/ia64/fpu/s_atan.S: New file. + * sysdeps/ia64/fpu/s_atanf.S: New file. + * sysdeps/ia64/fpu/s_atanl.S: New file. + * sysdeps/ia64/fpu/s_cbrt.S: New file. + * sysdeps/ia64/fpu/s_cbrtf.S: New file. + * sysdeps/ia64/fpu/s_cbrtl.S: New file. + * sysdeps/ia64/fpu/s_ceil.S: New file. + * sysdeps/ia64/fpu/s_ceilf.S: New file. + * sysdeps/ia64/fpu/s_ceill.S: New file. + * sysdeps/ia64/fpu/s_cos.S: New file. + * sysdeps/ia64/fpu/s_cosf.S: New file. + * sysdeps/ia64/fpu/s_cosl.S: New file. + * sysdeps/ia64/fpu/s_expm1.S: New file. + * sysdeps/ia64/fpu/s_expm1f.S: New file. + * sysdeps/ia64/fpu/s_expm1l.S: New file. + * sysdeps/ia64/fpu/s_floor.S: New file. + * sysdeps/ia64/fpu/s_floorf.S: New file. + * sysdeps/ia64/fpu/s_floorl.S: New file. + * sysdeps/ia64/fpu/s_frexp.c: New file. + * sysdeps/ia64/fpu/s_frexpf.c: New file. + * sysdeps/ia64/fpu/s_frexpl.c: New file. + * sysdeps/ia64/fpu/s_ilogb.S: New file. + * sysdeps/ia64/fpu/s_ilogbf.S: New file. + * sysdeps/ia64/fpu/s_ilogbl.S: New file. + * sysdeps/ia64/fpu/s_ldexp.S: New file. + * sysdeps/ia64/fpu/s_ldexpf.S: New file. + * sysdeps/ia64/fpu/s_ldexpl.S: New file. + * sysdeps/ia64/fpu/s_log1p.S: New file. + * sysdeps/ia64/fpu/s_log1pf.S: New file. + * sysdeps/ia64/fpu/s_log1pl.S: New file. + * sysdeps/ia64/fpu/s_logb.S: New file. + * sysdeps/ia64/fpu/s_logbf.S: New file. + * sysdeps/ia64/fpu/s_logbl.S: New file. + * sysdeps/ia64/fpu/s_matherrf.c: New file. + * sysdeps/ia64/fpu/s_matherrl.c: New file. + * sysdeps/ia64/fpu/s_modf.S: New file. + * sysdeps/ia64/fpu/s_modff.S: New file. + * sysdeps/ia64/fpu/s_modfl.S: New file. + * sysdeps/ia64/fpu/s_nearbyint.S: New file. + * sysdeps/ia64/fpu/s_nearbyintf.S: New file. + * sysdeps/ia64/fpu/s_nearbyintl.S: New file. + * sysdeps/ia64/fpu/s_rint.S: New file. + * sysdeps/ia64/fpu/s_rintf.S: New file. + * sysdeps/ia64/fpu/s_rintl.S: New file. + * sysdeps/ia64/fpu/s_round.S: New file. + * sysdeps/ia64/fpu/s_roundf.S: New file. + * sysdeps/ia64/fpu/s_roundl.S: New file. + * sysdeps/ia64/fpu/s_scalbn.S: New file. + * sysdeps/ia64/fpu/s_scalbnf.S: New file. + * sysdeps/ia64/fpu/s_scalbnl.S: New file. + * sysdeps/ia64/fpu/s_significand.S: New file. + * sysdeps/ia64/fpu/s_significandf.S: New file. + * sysdeps/ia64/fpu/s_significandl.S: New file. + * sysdeps/ia64/fpu/s_sin.c: New file. + * sysdeps/ia64/fpu/s_sincos.c: New file. + * sysdeps/ia64/fpu/s_sincosf.c: New file. + * sysdeps/ia64/fpu/s_sincosl.c: New file. + * sysdeps/ia64/fpu/s_sinf.c: New file. + * sysdeps/ia64/fpu/s_sinl.c: New file. + * sysdeps/ia64/fpu/s_tan.S: New file. + * sysdeps/ia64/fpu/s_tanf.S: New file. + * sysdeps/ia64/fpu/s_tanl.S: New file. + * sysdeps/ia64/fpu/s_trunc.S: New file. + * sysdeps/ia64/fpu/s_truncf.S: New file. + * sysdeps/ia64/fpu/s_truncl.S: New file. + * sysdeps/ia64/fpu/w_acos.c: New file. + * sysdeps/ia64/fpu/w_acosf.c: New file. + * sysdeps/ia64/fpu/w_acosl.c: New file. + * sysdeps/ia64/fpu/w_asin.c: New file. + * sysdeps/ia64/fpu/w_asinf.c: New file. + * sysdeps/ia64/fpu/w_asinl.c: New file. + * sysdeps/ia64/fpu/w_atan2.c: New file. + * sysdeps/ia64/fpu/w_atan2f.c: New file. + * sysdeps/ia64/fpu/w_atan2l.c: New file. + * sysdeps/ia64/fpu/w_cosh.c: New file. + * sysdeps/ia64/fpu/w_coshf.c: New file. + * sysdeps/ia64/fpu/w_coshl.c: New file. + * sysdeps/ia64/fpu/w_exp.c: New file. + * sysdeps/ia64/fpu/w_expf.c: New file. + * sysdeps/ia64/fpu/w_fmod.c: New file. + * sysdeps/ia64/fpu/w_fmodf.c: New file. + * sysdeps/ia64/fpu/w_fmodl.c: New file. + * sysdeps/ia64/fpu/w_hypot.c: New file. + * sysdeps/ia64/fpu/w_hypotf.c: New file. + * sysdeps/ia64/fpu/w_hypotl.c: New file. + * sysdeps/ia64/fpu/w_log.c: New file. + * sysdeps/ia64/fpu/w_log10.c: New file. + * sysdeps/ia64/fpu/w_log10f.c: New file. + * sysdeps/ia64/fpu/w_log10l.c: New file. + * sysdeps/ia64/fpu/w_logf.c: New file. + * sysdeps/ia64/fpu/w_logl.c: New file. + * sysdeps/ia64/fpu/w_pow.c: New file. + * sysdeps/ia64/fpu/w_powf.c: New file. + * sysdeps/ia64/fpu/w_powl.c: New file. + * sysdeps/ia64/fpu/w_remainder.c: New file. + * sysdeps/ia64/fpu/w_remainderf.c: New file. + * sysdeps/ia64/fpu/w_remainderl.c: New file. + * sysdeps/ia64/fpu/w_scalb.c: New file. + * sysdeps/ia64/fpu/w_scalbf.c: New file. + * sysdeps/ia64/fpu/w_scalbl.c: New file. + * sysdeps/ia64/fpu/w_sqrt.c: New file. + * sysdeps/ia64/fpu/w_sqrtf.c: New file. + * sysdeps/ia64/fpu/w_sqrtl.c: New file. + * sysdeps/ia64/fpu/libm-test-ulps: Adjust for long double + implementation. + * sysdeps/ia64/fpu/bits/mathdef.h: Correct float_t and double_t types. + Change FP_ILOGBNAN for new implementation. + * Verions.def: Add 2.2.3 versions. + +2001-02-18 Ulrich Drepper + + * math/libm-test.inc (scalb_test): Require invalid exception being + raised for invalid parameters. + * sysdeps/i386/fpu/e_scalb.S: Raise invalid exception if necessary. + * sysdeps/i386/fpu/e_scalbf.S: Likewise. + * sysdeps/i386/fpu/e_scalbl.S: Likewise. + +2001-02-18 Mark Kettenis + + * sysdeps/mach/getsysstats.c (__get_phys_pages): Change return + value to long int. + (__get_avphys_pages): Likewise. + +2001-02-18 Ulrich Drepper + + * math/libm-test.inc (pow_test): Correct expected results for x == +-1. + * sysdeps/i386/fpu/e_pow.S: Handle x == +-1 correctly. + * sysdeps/i386/fpu/e_powf.S: Likewise. + * sysdeps/i386/fpu/e_powl.S: Likewise. + + * sysdeps/i386/fpu/bits/mathinline.h: Remove pow inline code. + +2001-02-17 Ulrich Drepper + + * math/Makefile (libm-calls): It's e_exp2 not s_exp2. + + * sysdeps/generic/s_exp2l.c: Renamed to... + * sysdeps/generic/e_exp2l.c: ...this. New file. + * sysdeps/i386/fpu/s_exp2.S: Renamed to... + * sysdeps/i386/fpu/e_exp2.S: ...this. New file. + * sysdeps/i386/fpu/s_exp2f.S: Renamed to... + * sysdeps/i386/fpu/e_exp2f.S: ...this. New file. + * sysdeps/i386/fpu/s_exp2l.S: Renamed to... + * sysdeps/i386/fpu/e_exp2l.S: ...this. New file. + * sysdeps/ieee754/flt-32/s_exp2f.c: Renamed to... + * sysdeps/ieee754/flt-32/e_exp2f.c: ...this. New file. + * sysdeps/ieee754/dbl-64/s_exp2.c: Renamed to... + * sysdeps/ieee754/dbl-64/e_exp2.c: ...this. New file. + * sysdeps/m68k/fpu/s_exp2.c: Renamed to... + * sysdeps/m68k/fpu/e_exp2.c: ...this. New file. + * sysdeps/m68k/fpu/s_exp2f.c: Renamed to... + * sysdeps/m68k/fpu/e_exp2f.c: ...this. New file. + * sysdeps/m68k/fpu/s_exp2l.c: Renamed to... + * sysdeps/m68k/fpu/e_exp2l.c: ...this. New file. + +2001-02-17 Andreas Jaeger + + * configure.in: Allow gcc 3. + +2001-02-16 Ulrich Drepper + + * math/w_acos.c: Move to ... + * sysdeps/generic/w_acos.c: ...here. New file. + * math/w_acosf.c: Move to ... + * sysdeps/generic/w_acosf.c: ...here. New file. + * math/w_acosh.c: Move to ... + * sysdeps/generic/w_acosh.c: ...here. New file. + * math/w_acoshf.c: Move to ... + * sysdeps/generic/w_acoshf.c: ...here. New file. + * math/w_acoshl.c: Move to ... + * sysdeps/generic/w_acoshl.c: ...here. New file. + * math/w_acosl.c: Move to ... + * sysdeps/generic/w_acosl.c: ...here. New file. + * math/w_asin.c: Move to ... + * sysdeps/generic/w_asin.c: ...here. New file. + * math/w_asinf.c: Move to ... + * sysdeps/generic/w_asinf.c: ...here. New file. + * math/w_asinl.c: Move to ... + * sysdeps/generic/w_asinl.c: ...here. New file. + * math/w_atan2.c: Move to ... + * sysdeps/generic/w_atan2.c: ...here. New file. + * math/w_atan2f.c: Move to ... + * sysdeps/generic/w_atan2f.c: ...here. New file. + * math/w_atan2l.c: Move to ... + * sysdeps/generic/w_atan2l.c: ...here. New file. + * math/w_atanh.c: Move to ... + * sysdeps/generic/w_atanh.c: ...here. New file. + * math/w_atanhf.c: Move to ... + * sysdeps/generic/w_atanhf.c: ...here. New file. + * math/w_atanhl.c: Move to ... + * sysdeps/generic/w_atanhl.c: ...here. New file. + * math/w_cosh.c: Move to ... + * sysdeps/generic/w_cosh.c: ...here. New file. + * math/w_coshf.c: Move to ... + * sysdeps/generic/w_coshf.c: ...here. New file. + * math/w_coshl.c: Move to ... + * sysdeps/generic/w_coshl.c: ...here. New file. + * math/w_drem.c: Move to ... + * sysdeps/generic/w_drem.c: ...here. New file. + * math/w_dremf.c: Move to ... + * sysdeps/generic/w_dremf.c: ...here. New file. + * math/w_dreml.c: Move to ... + * sysdeps/generic/w_dreml.c: ...here. New file. + * math/w_exp10.c: Move to ... + * sysdeps/generic/w_exp10.c: ...here. New file. + * math/w_exp10f.c: Move to ... + * sysdeps/generic/w_exp10f.c: ...here. New file. + * math/w_exp10l.c: Move to ... + * sysdeps/generic/w_exp10l.c: ...here. New file. + * math/w_exp2.c: Move to ... + * sysdeps/generic/w_exp2.c: ...here. New file. + * math/w_exp2f.c: Move to ... + * sysdeps/generic/w_exp2f.c: ...here. New file. + * math/w_exp2l.c: Move to ... + * sysdeps/generic/w_exp2l.c: ...here. New file. + * math/w_fmod.c: Move to ... + * sysdeps/generic/w_fmod.c: ...here. New file. + * math/w_fmodf.c: Move to ... + * sysdeps/generic/w_fmodf.c: ...here. New file. + * math/w_fmodl.c: Move to ... + * sysdeps/generic/w_fmodl.c: ...here. New file. + * math/w_hypot.c: Move to ... + * sysdeps/generic/w_hypot.c: ...here. New file. + * math/w_hypotf.c: Move to ... + * sysdeps/generic/w_hypotf.c: ...here. New file. + * math/w_hypotl.c: Move to ... + * sysdeps/generic/w_hypotl.c: ...here. New file. + * math/w_j0.c: Move to ... + * sysdeps/generic/w_j0.c: ...here. New file. + * math/w_j0f.c: Move to ... + * sysdeps/generic/w_j0f.c: ...here. New file. + * math/w_j0l.c: Move to ... + * sysdeps/generic/w_j0l.c: ...here. New file. + * math/w_j1.c: Move to ... + * sysdeps/generic/w_j1.c: ...here. New file. + * math/w_j1f.c: Move to ... + * sysdeps/generic/w_j1f.c: ...here. New file. + * math/w_j1l.c: Move to ... + * sysdeps/generic/w_j1l.c: ...here. New file. + * math/w_jn.c: Move to ... + * sysdeps/generic/w_jn.c: ...here. New file. + * math/w_jnf.c: Move to ... + * sysdeps/generic/w_jnf.c: ...here. New file. + * math/w_jnl.c: Move to ... + * sysdeps/generic/w_jnl.c: ...here. New file. + * math/w_lgamma.c: Move to ... + * sysdeps/generic/w_lgamma.c: ...here. New file. + * math/w_lgammaf.c: Move to ... + * sysdeps/generic/w_lgammaf.c: ...here. New file. + * math/w_lgammaf_r.c: Move to ... + * sysdeps/generic/w_lgammaf_r.c: ...here. New file. + * math/w_lgammal.c: Move to ... + * sysdeps/generic/w_lgammal.c: ...here. New file. + * math/w_lgammal_r.c: Move to ... + * sysdeps/generic/w_lgammal_r.c: ...here. New file. + * math/w_lgamma_r.c: Move to ... + * sysdeps/generic/w_lgamma_r.c: ...here. New file. + * math/w_log10.c: Move to ... + * sysdeps/generic/w_log10.c: ...here. New file. + * math/w_log10f.c: Move to ... + * sysdeps/generic/w_log10f.c: ...here. New file. + * math/w_log10l.c: Move to ... + * sysdeps/generic/w_log10l.c: ...here. New file. + * math/w_log.c: Move to ... + * sysdeps/generic/w_log.c: ...here. New file. + * math/w_logf.c: Move to ... + * sysdeps/generic/w_logf.c: ...here. New file. + * math/w_logl.c: Move to ... + * sysdeps/generic/w_logl.c: ...here. New file. + * math/w_pow.c: Move to ... + * sysdeps/generic/w_pow.c: ...here. New file. + * math/w_powf.c: Move to ... + * sysdeps/generic/w_powf.c: ...here. New file. + * math/w_powl.c: Move to ... + * sysdeps/generic/w_powl.c: ...here. New file. + * math/w_remainder.c: Move to ... + * sysdeps/generic/w_remainder.c: ...here. New file. + * math/w_remainderf.c: Move to ... + * sysdeps/generic/w_remainderf.c: ...here. New file. + * math/w_remainderl.c: Move to ... + * sysdeps/generic/w_remainderl.c: ...here. New file. + * math/w_scalb.c: Move to ... + * sysdeps/generic/w_scalb.c: ...here. New file. + * math/w_scalbf.c: Move to ... + * sysdeps/generic/w_scalbf.c: ...here. New file. + * math/w_scalbl.c: Move to ... + * sysdeps/generic/w_scalbl.c: ...here. New file. + * math/w_sinh.c: Move to ... + * sysdeps/generic/w_sinh.c: ...here. New file. + * math/w_sinhf.c: Move to ... + * sysdeps/generic/w_sinhf.c: ...here. New file. + * math/w_sinhl.c: Move to ... + * sysdeps/generic/w_sinhl.c: ...here. New file. + * math/w_sqrtl.c: Move to ... + * sysdeps/generic/w_sqrtl.c: ...here. New file. + * math/w_tgamma.c: Move to ... + * sysdeps/generic/w_tgamma.c: ...here. New file. + * math/w_tgammaf.c: Move to ... + * sysdeps/generic/w_tgammaf.c: ...here. New file. + * math/w_tgammal.c: Move to ... + * sysdeps/generic/w_tgammal.c: ...here. New file. + + * locale/programs/ld-address.c (address_finish): Add 'S' to allow + formats for postal_fmt. + +2001-02-16 Jakub Jelinek + + * sysdeps/unix/sysv/linux/alpha/syscalls.list (ftruncate): Add + __ftruncate64 alias. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (ftruncate): + Likewise. + +2001-02-15 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/__longjmp.S (__longjmp): No need to + do "loadrs". Writing to bspstore already takes care of + invalidating the "clean" partition. + +2001-02-16 Andreas Schwab + + * sysdeps/m68k/fpu/s_nextafterl.c: New file. + * sysdeps/m68k/fpu/s_fpclassifyl.c: New file. + +2001-02-15 Jakub Jelinek + + * posix/regex.c (init_syntax_once): Add prototype. + (TRANSLATE): If MBS_SUPPORT, translate all characters up to '\xff'. + (re_search_2): Avoid warning. + (count_mbs_length): Add prototype. + * posix/tst-regex3.c: New file. + * posix/Makefile (tests): Add bug-regex3. + +2001-02-15 Ulrich Drepper + + * stdio-common/Makefile (tests): Add tst-gets. + * stdio-common/tst-gets.c: New file. + * stdio-common/tst-gets.input: New file. + + * elf/elf.h (DT_CHECKSUM): Define. + + * sysdeps/generic/strtoll.c: Don't export __strto*_internal as + default symbol. + * sysdeps/generic/strtoull.c: Likewise. + +2001-02-14 Wolfram Gloger + + * malloc/malloc.c (new_heap): When allocating large chunk aligned + to HEAP_MAX_SIZE, prefer one with lower address, to avoid `holes' + between the heaps. + +2001-02-14 Ulrich Drepper + + * math/libm-test.inc (j0_test): Check whether sincos is available. + (j1_test): Likewise. + (jn_test): Likewise. + (y0_test): Likewise. + (y1_test): Likewise. + (yn_test): Likewise. + + * posix/tst-gnuglob.c: Make a few entries DT_UNKNOWN and teach + fake filesystem routines to handle this. + + * time/sys/time.h: Make settimeofday and adjtime available if + _BSD_SOURCE. + + * time/sys/time.h: Make timer* macros available for BSD. + + * iconvdata/gb18030.c: Update for Dec 2000 re-release of GB18030. + Patch by Yong Li . + + * sysdeps/generic/glob.c (CONVERT_DIRENT_DIRENT64): Fix copying of + name. + + * posix/Makefile (tests): Add tst-gnuglob. + * posix/tst-gnuglob.c: New file. + +2001-02-13 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add __ftruncate64. + +2001-02-13 Ulrich Drepper + + * locale/programs/ld-paper.c (paper_output): Pretty printing. + + * iconvdata/Makefile (modules): Add GBBIG5. + (distribute): Add gbbig5.c. + * iconvdata/gconv-modules: Add entries for GBBIG5 module. + + * iconvdata/gbbig5.c: New file. + Contributed by Yong Li . + +2001-02-13 Philip Blundell + + * manual/crypt.texi: Remove outdated references to crypt add-on. + + * manual/creature.texi: Improve wording slightly. + +2001-02-13 Ulrich Drepper + + * io/ftw.c: Always use readdir64. + * io/ftw64.c: Likewise. + * sysdeps/unix/sysv/linux/ttyname.c: Likewise. + * sysdeps/unix/sysv/linux/ttyname_r.c: Likewise. + * sysdeps/generic/glob.c: Likewise. Convert results of gl_readdir + callback to dirent. Still allow compiling outside glibc. + * sysdeps/gnu/glob64.c: Define COMPILE_GLOB64. + * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise. + + * malloc/mtrace.c: Use fopen64. + * posix/spawni.c: Use __open64. + * sysdeps/unix/opendir.c: Likewise. + * sysdeps/unix/sysv/linux/gethostid.c: Likewise. + + * sysdeps/generic/ftruncate64.c: Define __ftruncate64 and make old + name a weak alias. + * sysdeps/unix/sysv/aix/ftruncate64.c: Likewise. + * sysdeps/unix/sysv/linux/ftruncate64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise. + + * resolv/res_data.c: Add cast to avoid warning. + + * include/unistd.h: Declare __ftruncate64. + + * sysdeps/generic/utmp_file.c: Use LFS functions and types. + + * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use __lseek64 + instead of __lseek. + +2001-02-13 Andreas Jaeger + + * login/getutent_r.c: Include for NULL. + * login/getutid_r.c: Likewise. + +2001-02-12 Ulrich Drepper + + * sysdeps/dbl-64/e_j0.c: Little optimization, use sincos. + * sysdeps/dbl-64/e_j1.c: Likewise. + * sysdeps/dbl-64/e_jn.c: Likewise. + * sysdeps/flt-32/e_j0f.c: Likewise. + * sysdeps/flt-32/e_j1f.c: Likewise. + * sysdeps/ldbl-96/e_j0l.c: Likewise. + +2000-12-02 H.J. Lu + + * resolv/res_libc.c (res_init): Don't make it default. + +2001-02-12 Ulrich Drepper + + * manual/debug.texi: Improved the wording. + Patch by Philip Blundell . + +2001-02-12 Andreas Jaeger + + * posix/Makefile (tests): Don't run bug-regex2 when + cross-compiling. + + * libio/Makefile (tests): Don't run test-freopen when + cross-compiling. + + * manual/stdio.texi (Streams and I18N): Fix typos. + +2001-02-12 Ulrich Drepper + + * sysdeps/i386/fpu/libm-test-ulps: Adjust for errors in y0l. + + * math/libm-test.inc (j0_test): Make expected results long double + constants. + (y0_test): Likewise. + + * sysdeps/ieee754/ldbl-96/e_j0l.c: New file. + Contributed by Stephen L. Moshier . + +2001-02-11 Jakub Jelinek + + * sysdeps/generic/strtoll.c (__strtoq_internal): Ressurect alias + which was exported from libc. + * sysdeps/generic/strtoull.c (__strtouq_internal): Likewise. + +2001-02-12 Andreas Jaeger + + * manual/arith.texi (Parsing of Integers): Fix some wordings. + +2001-02-11 Ulrich Drepper + + * sysdeps/generic/getsysstat.c: Change return value of get_phys_pages + and get_avphys_page to long int. + * sysdeps/unix/sysv/linux/getsysstat.c: Likewise. + * include/sys/sysinfo.h: Likewise. + * sysdeps/generic/sys/sysinfo.h: Likewise. + * sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise. + + * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Fail if we + cannot return as many values as the user asked for. + +2001-02-11 Andreas Jaeger + + * manual/resource.texi (Memory Resources): Fix typo. + + * libio/Makefile ($(objpfx)test-freopen.out): Pass + run-program-prefix. + + * libio/test-freopen.sh: Use run_program_prefix. + +2001-02-10 Andreas Jaeger + + * stdlib/Makefile (tests): Don't run tst-fmtmsg when + cross-compiling. + ($(objpfx)tst-fmtmsg.out): Pass run-program-prefix. + + * stdlib/tst-fmtmsg.sh (test): Use run_program_prefix for static + only builds. + + * elf/Makefile (tests): Only run tst-pathopt with shared libs. + + * posix/Makefile: Fix typo, it's build-static-nss. + + * iconv/Makefile (extra-objs): New. + +2001-02-10 Mark Kettenis + + * sysdeps/unix/stime.c: Include . + + * sysdeps/mach/hurd/setitimer.c: Include . + +2001-02-10 Andreas Jaeger + + * manual/string.texi (Search Functions): Fix typo. + +2001-02-10 Mark Kettenis + + * sysdeps/unix/bsd/times.c: Reorder includes and add . + (timeval_to_clock_t): Add clk_tck argument and use that instead of + CLK_TCK. + (__times): Use __getclktck to get the number of clock ticks per + second and use its return value instead of CLK_TCK. + +2001-02-10 Mark Kettenis + + * sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h (_HAVE_SA_LEN): Define. + +2001-02-10 Mark Kettenis + + * sysdeps/mach/gettimeofday.c: Include . + +2001-02-10 Andreas Jaeger + + * wctype/wcfuncs.c (func): Add prototype declarations to avoid + warning. + +2001-02-09 Ulrich Drepper + + * posix/Makefile: Add rules to build and run bug-regex2. + * posix/bug-regex2.c: New file. + +2001-02-10 Jakub Jelinek + + * posix/regex.c (convert_mbs_to_wcs): Change is_binary to char *. + (regex_compile): Likewise. + (FREE_VARIABLES): Don't free is_binary1 and is_binary2. + (re_match_2_internal): Use just is_binary instead of two variables. + Use REGEX_TALLOC to allocate it and FREE_VAR to free on failure. + +2001-02-09 Ulrich Drepper + + * version.h (VERSION): Bump to 2.2.2. + + * iconv/Makefile (distribute): Add iconv_charmap.c and + dummy-repertoire.c. + * elf/Makefile (distribute): Add firstobj.c. + * Makefile (distribute): Add include/pthread.h. + + * configure.in: Require makeinfo version 4. + + * libio/tst_wscanf.c (main): Add cast to avoid warning. + * libio/tst_swscanf.c (main): Likewise.. + +2001-02-09 Jakub Jelinek + + * sysdeps/generic/setenv.c (unsetenv): Remove const from len. + * sysdeps/sparc/fpu/bits/mathinline.h (sqrt, fdim): Don't define if + __NO_MATH_INLINES. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Only declare refsym + if not RTLD_BOOTSTRAP. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. + +2001-02-09 Ulrich Drepper + + * locale/programs/linereader.c (get_ident): Stop loop if EOF. Use + lr_ungetc to push back last read character. + * locale/programs/linereader.h (lr_ungetc): Don't push back is + character is EOF. + (lr_ignore_rest): Don't warn about garbage if it is really the end + of the file. + + * manual/Makefile: Use ifnottext and not ifinfo to protect Top node + definition. + +2001-02-08 Ulrich Drepper + + * Makerules (build-shlib): Work around different order of + processing of -B option in different gcc versions. + + * posix/regex.c: Fix alignment problem. + Patch by Isamu Hasegawa . + + * sysdeps/alpha/strrchr.S: Little optimization. + Patch by Richard Henderson . + + * sysdeps/alpha/alphaev67/strrchr.S: New file. + Contributed by Rick Gorton . + +2001-02-08 kaz Kojima + + * sysdeps/sh/sh3/setjmp.S (__sigsetjmp): Correct function name + in the assembler end directive. + +2001-02-08 Andreas Jaeger + + * manual/stdio.texi (Closing Streams): Fix typos. + +2001-02-07 Ulrich Drepper + + * sysdeps/alpha/alphaev67/strncat.S: Align last write address. + Patch by Richard Henderson . + Reported by Claus-Justus Heine . + + * stdlib/strfmon.c [USE_IN_LIBIO]: Define lock variable and store + pointer in FILE structure before calling _IO_init. + * stdlib/Makefile: Add -D_IO_MTSAFE_IO to CFLAGS for strfmon and + strfmon_l if necessary. + Reported by Jury Gerold . + + * sysdeps/gnu/netinet/tcp.h: Correct values of TCP_ macros. + Patch by Pekka.Pietikainen@cern.ch. + + * posix/regex.c: Correct several problems with 64-bit architectures + introduced in the MBS changes. + Patch by Isamu Hasegawa . + +2001-02-07 Jakub Jelinek + + * math/tgmath.h: Only add l suffixes if __NO_LONG_DOUBLE_MATH is + not defined. + * sysdeps/alpha/fpu/bits/mathinline.h: Honour __NO_MATH_INLINES. + +2001-02-07 Andreas Jaeger + + * manual/install.texi (Tools for Compilation): Fix typo. + Reported by Pavel Machek . + +2001-02-07 Ulrich Drepper + + * stdlib/strtod.c: Never stop prematurely reading digits before the + decimal point is found. Compute exponent limit for negative exponents + correctly. For numbers ending in all zeros eat the zeros even before + the decimal point if the exponent is negative [PR libc/2072]. + * stdlib/Makefile (tests): Add bug-strtod. + * stdlib/bug-strtod.c: New file. + +2001-02-07 Andreas Jaeger + + * posix/bug-regex1.c: Include for fwide. + +2001-02-06 Ulrich Drepper + + * posix/regex.c (regex_compile): Don't store pointer in wchar_t array. + Store index. + (compile_range): Handle index being passed, not pointer. + Patch by Isamu Hasegawa . + + * posix/regex.c: Fix a cast in the code for bracket handling which + caused 8-bit uncleanliness. + Patch by Michal Jaegermann . + + * posix/Makefile (tests): Add bug-regex1. + * posix/bug-regex1.c: New file. + Contributed by Jim Meyering . + + * posix/regex.c: Many cleanups for incorrect format strings. + +2001-02-06 Andreas Jaeger + + * time/time.h (CLK_TCK): Check for !__STRICT_ANSI. + +2001-02-06 Ulrich Drepper + + * locale/programs/locale.c (write_locales): Use scandir to read + directory so that the entries are sorted. + +2001-02-06 Andreas Jaeger + + * include/pthread.h: New file. + + * wctype/wctype.h: Move internal interfaces from here to... + * include/wctype.h: ...here. + + * wcsmbs/wchar.h: Move __wcslen from here to... + * include/wchar.h: ...here. + + * posix/sys/wait.h: Move __wait from here to... + * include/sys/wait.h: ...here. + + * string/string.h: Move __ffs and __strerror_r from here to... + * include/string.h: ...here. + + * stdlib/stdlib.h: Move __on_exit from here to... + * include/stdlib.h: ...here. + + * libio/stdio.h: Move __vsnprintf from here to... + * include/stdio.h: ...here. + +2001-02-06 Andreas Schwab + + * sysdeps/unix/sysv/linux/ia64/ioperm.c: Don't include kernel + headers. + + * timezone/Makefile: Don't assume that $(inst_zonedir) is a subdir + of $(inst_datadir). + +2001-02-06 Ulrich Drepper + + * iconvdata/Makefile: Add dependency for bug-iconv2.out. + +2001-02-06 Andreas Jaeger + + * elf/firstobj.c: Add prototype. + + * posix/regex.c (convert_mbs_to_wcs): Make static, add prototype + (truncate_wchar): Likewise. + +2001-02-06 Ulrich Drepper + + * locale/programs/locale.c: Implement --verbose option for -a + which prints detailed information about the locales. + +2001-02-05 Ulrich Drepper + + * sunrpc/xdr_rec.c (set_input_fragment): Change type of header + variable to uint32_t. + Reported by Ulrich Weigand . + +2001-02-04 Bruno Haible + + * locale/C-translit.h.in: Add transliterations for CJK units of + measurement. + +2001-02-05 Ulrich Drepper + + * elf/cache.c (print_entry): Use PRIx64 instead of Lx in printf + string. Include instead of . + + * localedata/Makefile (tests): Add bug-iconv-trans. + Define bug-iconv-trans-ENV. + * localedata/bug-iconv-trans.c: New file. + +2001-02-04 Bruno Haible + + * iconv/gconv_trans.c (__gconv_transliterate): Use a temporary output + pointer, to avoid accumulating output from incomplete (unsuccessful) + transliteration attempts. + +2001-02-05 Ulrich Drepper + + * elf/ldconfig.c (search_dir): Use PRIx64 instead of Lx in printf + string. Include instead of . + + * configure.in: Add check for bison. + * config.make.in: Define BISON variable. + * intl/Makefile: Use BISON instead of YACC when generating plural.c. + Rename YFLAGS to BISONFLAGS. + +2001-02-05 Andreas Jaeger + + * io/test-lfs.c (do_test): Test lseek64 return value, call + test_ftello. + (test_ftello): New function to test ftello64 and fseeko64. + + * signal/signal.h: Move __sigaction from here to... + * include/signal.h: ...here. + + * io/fcntl.h: Move __fcntl and __open to... + * include/fcntl.h: ...here. + +2001-02-04 Philip Blundell + + * configure.in: Distinguish ARM from Thumb. + +2001-02-04 Philip Blundell + + * sysdeps/arm/dl-machine.h (elf_machine_rel): Correct handling of + PC24 relocs with negative value. + +2001-02-04 Ulrich Drepper + + * iconv/Makefile (iconv_prog-modules): Define. Add vpath to find + files in locale/programs. Add CFLAGS definition to allow compiling + localedef files. + * iconv/dummy-repertoire.c: New file. + * iconv/iconv_charmap.c: New file. + * iconv/iconv_prog.h: New file. + * iconv/iconv_prog.c: Make verbose and omit_invalid global. + (main): If parameter for -f and -t contain slashes try first to resolve + the strings as filenames of charmap files. Use them for conversion + in this case. + * iconvdata/run-iconv-test.sh: If charmaps exist also run tests with + iconv getting charmap names as parameters. + * locale/programs/linereader.c (lr_token): Take extra parameters + verbose and pass it to get_string. + (get_string): Take extra parameters verbose. + * locale/programs/charmap.c (parse_charmap): Take extra parameters + verbose and be_quiet. Change all callers of lr_token and + parse_charmap. + * locale/programs/charmap.h: Likewise. + * locale/programs/ld-address.c: Likewise. + * locale/programs/ld-collate.c: Likewise. + * locale/programs/ld-ctype.c: Likewise. + * locale/programs/ld-identification.c: Likewise. + * locale/programs/ld-measurement.c: Likewise. + * locale/programs/ld-messages.c: Likewise. + * locale/programs/ld-monetary.c: Likewise. + * locale/programs/ld-name.c: Likewise. + * locale/programs/ld-numeric.c: Likewise. + * locale/programs/ld-paper.c: Likewise. + * locale/programs/ld-telephone.c: Likewise. + * locale/programs/ld-time.c: Likewise. + * locale/programs/linereader.c: Likewise. + * locale/programs/linereader.h: Likewise. + * locale/programs/localedef.c: Likewise. + * locale/programs/locfile.c: Likewise. + * locale/programs/locfile.h: Likewise. + * locale/programs/repertoire.c: Likewise. + +2001-02-03 Ulrich Drepper + + * iconv/iconv_prog.c (main): If output file name is "-" write to + stdout. + (main): If -f or -t argument is missing use charset of the current + locale. + +2001-02-03 Andreas Jaeger + + * sysdeps/i386/elf/start.S (_start): Align stack to 16-byte + boundary for SSE/SSE-2 alignment. + + * posix/Makefile ($(objpfx)annexc.out): Also pass sysincludes to + annexc. + +2001-02-03 Ulrich Drepper + + * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: File was using crlf. + Remove comma at end of enum. + + * elf/dl-init.c: Add a few __builtin_expect. + + * hesiod/hesiod.c: Remove unnecessary code. Remove all uses of strcat. + +2001-02-02 Ulrich Drepper + + * hesiod/hesiod.c (hesiod_resolve): Also search HS records if + errno is ECONNREFUSED. + + * posix/Makefile: Define MBS_SUPPORT for regex.c. + * posix/regex.c: Implement multibyte character handling. + Patch by Isamu Hasegawa . + + * string/tst-svc.input: Add two more test cases. + * string/tst-svc.expect: Modify to reflect new test cases. + +2001-02-01 Jakub Jelinek + + * sysdeps/posix/getaddrinfo.c (gaih_local, gaih_inet): Replace all + tp->name tests with tp->name[0] tests. + +2001-01-29 Ben Collins + + * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r): + Fix check for name == NULL. + +2001-02-01 Ulrich Drepper + + * elf/Makefile: Add rules to build and run initfirst test. + * elf/initfirst.c: New file. + * elf/firstobj.c: New file. + + * Makerules (build-shlib): Add $(extra-B-$(@F:lib%.so=%).so). + * configure.in: Test for -z initfirst linker option. + * config.make.in: Add have-z-initfirst. + * elf/dl-init.c (_dl_init): Split out actual initialization code in + new function call_init. If _dl_initfirst is non-NULL initialize first. + * elf/dl-load.c (_dl_map_from_fd): If DF_1_INITFIRST flag is set + remember object in _dl_initfirst. + * elf/soinit.c: Remove special support for calling + __pthread_initialize_minimal. + + * conform/conformtest.pl: Add missing $prepend in type test. + +2001-01-31 Ulrich Drepper + + * elf/elf.h (SHT_CHECKSUM): New definition. + + * posix/fnmatch_loop.c: Remove incorrect reverse condition in + [. .] matching. Patch by Isamu Hasegawa . + * posix/tst-fnmatch.input: Add tests for [. .] in locales. + +2001-01-31 Mark Kettenis + + * misc/sys/select.h: Include instead of + to get definition of `struct timeval'. + +2001-01-31 Ulrich Drepper + + * posix/tst-fnmatch.input: Add test cases for de_DE.UTF-8 locale. + * posix/fnmatch_loop.c: Fix handling of [= =] for multibyte charsets. + +2001-01-30 Ulrich Drepper + + * iconv/gconv_open.c (__gconv_open): Set conv_flags if IGNORE is + seen, not flags. + + * nis/nis_findserv.c: Include . + +2001-01-30 Yong Li + + * iconv/iconv_prog.c (main): Correct error handling method name. + +2001-01-29 Ben Collins + + * sysdeps/sparc/fpu/fraiseexcpt.c: Include . + * sysdeps/hppa/fpu/fraiseexcpt.c: Likewise. + * sysdeps/m68k/fpu/fraiseexcpt.c: Likewise. + * sysdeps/s390/fpu/fraiseexcpt.c: Likewise. + +2001-01-30 Ulrich Drepper + + * locale/programs/ld-measurement.c (measurement_finish): Fix a typo. + Patch by Marko Myllynen . + + * string/bits/string2.h (__strpbrk_c2): Correct parameter types + (int instead of char). + (__strpbrk_c3): Likewise. + Reported by GOTO Masanori . + + * sysdeps/generic/bits/sockaddr.h: Remove SA_LEN macro. + * sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h: Likewise. + * include/sys/socket.h: Add SA_LEN here for internal use. + Reported by Arkadiusz Miskiewicz . + +2001-01-29 Ulrich Drepper + + * malloc/Makefile: Don't build memusagestat if cross-compiling. + + * sysdeps/generic/dl-sysdep.c (set_seen): Fix typo. + + * math/libm-test.inc (rint_test): Add a few more tests for round + to even rounding. + +2001-01-28 Ulrich Drepper + + * conform/data/pthread.h-data: Correct return type of pthread_exit. + + * conform/conformtest.pl: Add -fno-builtin to CFLAGS. + + * conform/data/stdlib.h-data: Add _Exit. + + * inet/arpa/inet.h: Don't include . Define socklen_t + if not already happened. + * inet/netinet/in.h: Don't include , use . + Don't include and . + + * conform/data/netinet/in.h-data: Allow all of . + + * conform/data/spawn.h-data: Allow all of . + + * sysdeps/ia64/fpu/fraiseexcpt.c: Include . Removed + unused variable. + + * sunrpc/xdr_rec.c (xdrrec_getpos): Add cast to long to avoid warning. + * sunrpc/xdr_sizeof.c (x_inline): Likewise. + + * sysdeps/ieee754/ldbl-96/s_frexpl.c: Include . + + * conform/conformtest.pl: Define $mustprepend{"stdio.h"}. + * libio/stdio.h: Define va_list correctly. + + * conform/data/pthread.h-data: Make priority protocol related + functions optional. Fix typos. + + * posix/sched.h: Define sched_priority as __sched_priority. + * sysdeps/generic/bits/sched.h (struct sched_param): Rename element + to __sched_priority. + * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. + +2001-01-27 Ulrich Drepper + + * sysdeps/generic/clock_getcpuclockid.c: Include instead + of . + + * sysdeps/unix/stime.c: Include for NULL. + * sysdeps/unix/time.c: Likewise. + + * conform/data/time.h-data: CLK_TCK is not in XPG6. Fix tzname entry. + * sysdeps/mach/hurd/bits/time.h: Don't define CLK_TCK for XPG6. + * sysdeps/mach/hurd/i386/bits/time.h: Likewise. + * sysdeps/unix/sysv/linux/bits/time.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/time.h: Likewise. + * sysdeps/unix/sysv/linux/i386/bits/time.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/time.h: Likewise. + * time/time.h: Likewise. + + * conform/conformtest.pl (@headers): Add complex.h and tgmath.h. + * conform/data/complex.h-data: New file. + * conform/data/tgmath.h-data: New file. + + * conform/data/wchar.h-data: Add missing functions. + + * sysdeps/gnu/bits/utmpx.h: Define RUN_LVL only if __USE_GNU. + + * conform/data/termios.h-data: Add missing const in tcsetattr() + prototype. + + * posix/sys/wait.h: Include and . + Don't define pid_t here. + + * conform/data/sys/utsname.h-data: Don't provide fixed array sizes. + + * conform/data/sys/time.h-data: Allow sys/select.h. + * conform/data/sys/un.h-data: Fix typo. + * time/sys/time.h: Don't include all of , just struct timeval. + * sysdeps/posix/clock_getres.c: Include instead of + . + * sysdeps/unix/clock_nanosleep.c: Likewise. + * sysdeps/unix/i386/clock_getcpuclockid.c: Likewise. + * sysdeps/unix/i386/i586/clock_getres.c: Likewise. + * sysdeps/unix/clock_gettime.c: Also include . + * sysdeps/unix/clock_settime.c: Likewise. + + * sysdeps/generic/pselect.c: Include for NULL. + * login/getutent.c: Likewise. + * login/getutid.c: Likewise. + * login/getutline.c: Likewise. + + * socket/sys/un.h: Define SUN_LEN only if __USE_MISC. + + * sysdeps/unix/sysv/linux/bits/statvfs.h: Change type of f_fsid field + to unsigned long. Add __f_unused. Define _STATVFSBUF_F_UNUSED. + * sysdeps/unix/sysv/linux/internal_statvfs.c: Adjust initialization of + f_fsid field after change in struct statvfs. + * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: New file. + * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statvfs.h: New file. + + * conform/data/sys/stat.h-data: Remove isfdtype. Use + optional-macro. + + * conform/data/sys/socket.h-data: Fix typos. Correct getsockopt, + recvfrom, send, and socketpair prototypes. Add allow lines. + * socket/sys/socket.h: Include . + Don't use fancy __SOCKADDR_ARG definition unless __USE_GNU. + Fix type of second parameter of listen. + Don't declare isfdtype unless __USE_MISC. + * sysdeps/generic/listen.c: Fix type of second parameter of listen. + * sysdeps/mach/hurd/listen.c: Likewise. + * sysdeps/generic/bits/socket.h (struct sockaddr_storage): Define + ss_family and __ss_family. + * sysdeps/unix/sysv/aix/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. + (struct msghdr): Change type of msg_iovlen to int and type of + msg_controllen to socklen_t. + * sysdeps/unix/sysv/linux/alpha/bits/socket.h: New file. + * sysdeps/unix/sysv/linux/ia64/bits/socket.h: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/socket.h: New file. + * inet/rcmd.c (rcmd_af): __ss_family is now ss_family. + (rresvport_af): Likewise. + + * conform/data/sys/shm.h-data: SHMLBA is not required to by a constant. + * conform/conformtest.pl: Implement handling of symbol. + + * signal/signal.h: Fix handling of __need_* symbols. + * misc/sys/select.c: Define fd_set here. Remove __fd_set. Define + fd_mask only if __USE_MISC. Declare pselect for __USE_XOPEN2K. + * include/sys/select.h: Use fd_set not __fd_set. + * sysdeps/generic/bits/select.h: Likewise. + * sysdeps/i386/bits/select.h: Likewise. + * sysdeps/generic/bits/types.h: Don't define __fd_mask, __NFDBITS, + __FDELT, __FDMASK, and __fd_set here. + * sysdeps/unix/sysv/aix/bits/types.h: Likewise. + * sysdeps/unix/sysv/hpux/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/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. + * time/sys/time.h: Define struct timeval before including + and . + + * conform/data/sys/time.h-data: fd_set is a typedef. + * conform/data/sys/select.h-data: New file. + * conform/data/sys/mman.h-data: Make typed mem stuff optional. + * conform/conformtest.pl (@headers): Add sys/select.h. + (type, optional-type): Unless testing a typedef instantiate object. + Implement optional-function. + + * math/test-misc.c: Include . + +2001-01-27 Andreas Jaeger + + * misc/efgcvt_r.c: Include . + +2001-01-26 Ulrich Drepper + + * conform/data/stdlib.h-data: Account for XPG6 changes. + * stdlib/stdlib.h (__random): Change return value type to long. + (posix_memalign): Cleanup parameter names. + (setenv, unsetenv): Make available for __USE_XOPEN2K. + Change return type of unsetenv to int. + (qecvt, qgcvt, qfcvt): Declare only if __USE_MISC. + * include/stdlib.h: Change return type of unsetenv to int. + Change return type of random to long int. + * sysdeps/generic/setenv.c (unsetenv): Change return type to int. + Return -1 and set errno if parameter is invalid. + * stdlib/random.c (__random): Change return value type to long. + + * conform/data/stdio.h-data: Account for changes in XPG6. + + * conform/data/spawn.h-data: Correct posix_spawnattr_setflags + prototype. + + * conform/conformtest.pl: Define $mustprepend{"signal.h"}. + * conform/data/signal.h-data: Fix sigev_notify_function entry. + Fix typo (SIGVALRM -> SIGVTALRM). + * sysdeps/unix/sysv/linux/bits/siginfo.h: Define sigev_notify_attr + with real type. + * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/bits/siginfo.h: Likewise. + + * conform/conformtest.pl: Implement optional-element. Define + $mustprepend{"sched.h"}. + * conform/data/sched.h-data: Make sporadic scheduler definitions + optional. + + * pwd/pwd.h: Don't define getpwent_r for XPG. + + * io/sys/poll.h: Define nfds_t and use it in poll prototype. + * sysdeps/generic/poll.c: Use nfds_t type in function definition. + * sysdeps/mach/hurd/poll.c: Likewise. + * sysdeps/unix/bsd/poll.c: Likewise. + * sysdeps/unix/sysv/linux/poll.c: Likewise. + * sysdeps/unix/sysv/aix/poll.c: Likewise. + * sysdeps/generic/bits/poll.h: Define NPOLLFILE only if __USE_MISC. + * sysdeps/unix/sysv/linux/bits/poll.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/poll.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/poll.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/poll.h: Likewise. + * conform/data/poll.h-data: Fix typo in poll prototype. + + * sysdeps/gnu/netinet/tcp.h: Define everything but TCP_ macros + only if __USE_MISC. + * conform/data/netinet/tcp.h-data: Reserved prefix TCP_. + + * sysdeps/gnu/net/if.h: Cleanup namespace. Define IF_NAMESIZE. + + * inet/netinet/in.h: Make IPPROTO_ constants also macros. + + * conform/conformtest.pl: Implement optional-type. + + * resolv/netdb.h: Include not . Include + only if __USE_MISC. Include instead of + defining uint32_t here. Define IPPORT_RESERVED. + (struct hostent): Type of h_length element is int. + (getnameinfo): Type of flags parameter is unsigned int. + * inet/getnameinfo.c (getnameinfo): flags argument is unsigned. + * conform/data/netdb.h-data: Add many missing definitions. + + * conform/conformtest.pl: Implement optional-macro. + * conform/data/math.h-data: Update for XPG6. + + * math/math.h (HUGE): Define as FLT_MAX value but don't use + FLT_MAX. Don't include . + (MAXFLOAT): Likewise. + + * math/math.h: Define MATH_ERRNO and MATH_ERREXCEPT. + + * include/bits/xopen_lim.h: Don't define FOPEN_MAX here. + + * conform/data/limits.h-data: Mark constants as optional wherever + appropriate. + + * posix/bits/posix2_lim.h: Set correct values for + _POSIX2_COLL_WEIGHTS_MAX and _POSIX2_CHARCLASS_NAME_MAX. Remove + EQUIV_CLASS_MAX. + + * posix/bits/posix1_lim.h: Define _POSIX_TZNAME_MAX as 6. + Required by POSIX. + + * intl/loadmsgcat.c: Include for _LIBC. + + * conform/data/netinet/in.h-data: Add reserved prefixes. + + * conform/data/arpa/inet.h-data: Fix a few typos. + +2001-01-26 Andreas Jaeger + + * sysdeps/generic/strtol.c: Include + * stdlib/strtod.c: Likewise + * stdlib/strfmon.c: Likewise. + * string/strcoll.c: Likewise. + * string/strxfrm.c: Likewise. + * wctype/wcfuncs_l.c: Likewise. + * wctype/wctype_l.c: Likewise. + * wctype/wctrans_l.c: Likewise. + + * include/bits/locale.h: New file. + +2001-01-26 Ulrich Drepper + + * locale/langinfo.h: Correct logic in #ifs when defining YESSTR + and NOSTR. + + * locale/Makefile (headers): Add bits/locale.h. + * locale/langinfo.h: Don't include . Include + and use __LC_ constants instead of LC_. + * locale/locale.h: Include and define LC_ constants + using __LC_ constants. + * locale/bits/locale.h: New file. + * locale/loadlocale.c: Include . + * locale/nl_langinfo.h: Likewise. + + * posix/glob.h: Cleanup namespace for non-_GNU_SOURCE case. + + * io/sys/stat.h: Define S_IFSOCK for XPG6. + + * conform/data/fcntl.h-data: posix_madvise is not expected here. + + * conform/conformtest.pl: Fix handling of macro-str. + + * conform/data/inttypes.h-data: Add missing definition and all of + stdint.h-data. + + * sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Bump to 20. + +2001-01-25 Ulrich Drepper + + * conform/conformtest.pl (@headers): Add stdint.h. + * conform/data/stdint.h-data: New file. + + * conform/conformtest.pl: Recognize options --headers and + --dialect. Add dialect-specific CFLAGS. + + * conform/conformtest.pl: Implement handling of recursive + allow-header. + + * conform/data/locale.h-data: Add new struct lconv members. + + * posix/wordexp.h: Correct definition of wordexp_t. + * posix/wordexp.c: Moved to ... + * sysdeps/generic/wordexp.c: ...here. New file. + * sysdeps/unix/sysv/linux/alpha/wordexp.c: New file. + * sysdeps/unix/sysv/linux/ia64/wordexp.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c: New file. + * sysdeps/unix/sysv/linux/alpha/Versions [libc] (GLIBC_2.2.2): Add + wordexp. + * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. + + * math/tgmath.h: Pretty printing. + + * math/Makefile (tests): Add test-tgmath. + (CFLAGS-test-tgmath.c): New variable. + * math/test-tgmath.c: New file. Contributed by Jakub Jelinek. + + * conform/conformtest.pl: Handle allow-header in secondary headers + correctly. + + * conform/data/fcntl.h-data: Mark symbols introduced in XPG6 with + #ifdef. + + * conform/data/netinet/in.h-data: Use correct comment character. + * conform/data/sys/stat.h-data: Likewise. + +2001-01-25 Jakub Jelinek + + * math/tgmath.h (__TGMATH_BINARY_FIRST_REAL_ONLY, + __TGMATH_BINARY_REAL_ONLY, __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY, + __TGMATH_TERNARY_REAL_ONLY): Use proper arguments to + __builtin_classify_type, add ##f suffixes where appropriate. + (__TGMATH_UNARY_REAL_IMAG): Remove extraneous left parenthesis. + (__TGMATH_BINARY_REAL_IMAG): Likewise, use proper arguments to + __builtin_classify_type. + (fma): Fix spelling of first argument. + +2001-01-25 Ulrich Drepper + + * conform/data/unistd.h-data: Mark functions removed in XPG6 + correctly. + + * posix/unistd.h: Don't make functions removed in XPG6 available if + __USE_XOPEN2K. + + * conform/conformtest.pl: Implement optional-constant. + * conform/data/unistd.h-data: Use optional-constant wherever + appropriate. + + * sysdeps/generic/bits/confname.h: Correct names of _SC_PBS + constants and add _SC_STREAMS. + * sysdeps/posix/sysconf.c (__sysconf): Likewise. + + * sysdeps/unix/sysv/linux/statvfs64.c: Rename to __statvfs64 and + make old name weak alias. + * sysdeps/generic/statvfs64.c: Likewise. + * sysdeps/unix/sysv/linux/fstatvfs64.c: Rename to __fstatvfs64 and + make old name weak alias. + * sysdeps/generic/fstatvfs64.c: Likewise. + * include/sys/statvfs.h: New file. + + * sysdeps/generic/bits/confname.h: Define _PC_REC_INCR_XFER_SIZE, + _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, and + _PC_REC_XFER_ALIGN. + * sysdeps/posix/pathconf.c (__pathconf): Implement handling of + _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, + _PC_REC_MIN_XFER_SIZE, and _PC_REC_XFER_ALIGN. + * sysdeps/posix/fpathconf.c (__fpathconf): Likewise. + + * conform/conformtest.pl: Run Unix tests for XPG6. + Implement handling of known namespace violations. + Improve printing of results. + + * posix/unistd.h (usleep): Correct return type. + * sysdeps/unix/sysv/linux/usleep.c: Correct return type. + * sysdeps/unix/bsd/usleep.c: Correct return type. + * sysdeps/mach/usleep.c: Correct return type. + * sysdeps/generic/usleep.c: Correct return type. + + * posix/unistd.h (sync): Correct return type. + * sysdeps/generic/sync.c: Likewise. + * sysdeps/mach/hurd/sync.c: Likewise. + + * sysdeps/generic/bits/confname.h (_SC_IOV_MAX): New definition. + + * posix/unistd.h: Make seteuid and setegid available for XPG6. + + * wcsmbs/wchar.h: Get FILE definition for XPG5. + + * conform/data/ctype.h-data: Use correct comment form. + * conform/data/errno.h-data: Likewise. + * conform/data/math.h-data: Likewise. + * conform/data/mqueue.h-data: Likewise. + * conform/data/netdb.h-data: Likewise. + * conform/data/pthread.h-data: Likewise. + +2001-01-24 Ulrich Drepper + + * conform/data/wordexp.h-data: Fix typo. + + * conform/conformtest.pl: Handle allow-header correctly. + + * conform/data/time.h-data: Use correct comment form. + + * conform/conformtest.pl (checknamespace): Ignore #undef lines. + + * configure.in: Comment out binutils version test. + + * stdlib/strtod.c (str_to_mpn): Correct parsing of thousands + separators. + Reported by Lagardere Jean-Francois . + + * stdlib/tst-strtod.c (locale_test): New function. + (main): Call locale_test. + * stdlib/Makefile (tst-strtod-ENV): New variable. + +2001-01-24 Mark Kettenis + + * hurd/hurdsig.c (_hurdsig_getenv): Remove spurious innermost + declaration of value such that we actually return the value of the + environment variable. + +2001-01-24 Andreas Jaeger + + * sysdeps/unix/sysv/linux/init-first.c: Remove extra __sysctl + prototype. + * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. + + * include/sys/sysctl.h: New file. + +2001-01-23 Andreas Jaeger + + * stdlib/Makefile ($(objpfx)isomac.out): Also pass sysincludes to + isomac. + + * elf/dl-load.c (_dl_init_paths): Don't use strdupa in function + arguments. Reported by Jiri Kubicek , + closes PR libc/2039. + + * manual/install.texi (Tools for Compilation): Change required + binutils version. + +2001-01-22 Andreas Jaeger + + * configure.in: Add test for new enough binutils version, move + compiler/binutils test up. + + * Versions.def: Add version GLIBC_2.2.2. + +2001-01-21 Ulrich Drepper + + * iconvdata/TESTS: UTF-8 test data for IBM932 and IBM943 are now + available. + * iconvdata/testdata/IBM932: New file. + * iconvdata/testdata/IBM932..UTF8: New file. + * iconvdata/testdata/IBM943: New file. + * iconvdata/testdata/IBM943..UTF8: New file. + Contributed by Masahide Washizawa . + +2001-01-21 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Correctly mask offset. + +2001-01-21 Ulrich Drepper + + * malloc/malloc.c: Remove a few unnecessary initializers of global + variables. + +2000-12-09 H.J. Lu + + * nss/Makefile (routines): Add digits_dots. + * nss/Versions (libc): Add __nss_hostname_digits_dots to GLIBC_2.2.2. + * nss/digits_dots.c (__nss_hostname_digits_dots): Turn template + into a function. + * nss/nsswitch.h (__nss_hostname_digits_dots): New internal NSS + function. + * nss/getXXbyYY.c (H_ERRNO_VAR_P): New definition. + (TYPE_VAR_P): Likewise. + (FLAGS_VAR): Likewise. + (AF_VAR_P): Likewise. + (INTERNAL (REENTRANT_NAME)): Call __nss_hostname_digits_dots () + instead of including digits_dots.c. + * nss/getXXbyYY_r.c (H_ERRNO_VAR_P): New definition. + (TYPE_VAR_P): Likewise. + (FLAGS_VAR): Likewise. + (AF_VAR_P): Likewise. + (INTERNAL (REENTRANT_NAME)): Call __nss_hostname_digits_dots () + instead of including digits_dots.c. + +2001-01-21 Ulrich Drepper + + * sysdeps/posix/getaddrinfo.c: Reduce .data size. + +2001-01-21 Andreas Jaeger + + * elf/constload2.c: Add prototype for init. + +2001-01-21 Ulrich Drepper + + * stdlib/stdlib.h (drand48_data): Make available only for + __USE_MISC. Rename elements to protect namespace. Change type + and position of a and init element. + * stdlib/drand48-iter.c: Don't handle unsigned short > 16 bit + differently. Adjust for drand48_data change. Don't compute a here, + it comes from drand48_data. + * stdlib/lcong48_r.c: Don't handle unsigned short > 16 bit + differently. Adjust for drand48_data change. Compute a here. + * stdlib/srand48_r.c: Likewise. + * stdlib/drand48.c: Adjust for drand48_data change. + * stdlib/lrand48.c: Likewise. + * stdlib/mrand48.c: Likewise. + * stdlib/seek48.c: Likewise. + * stdlib/drand48_r.c: Likewise. + * stdlib/lrand48_r.c: Likewise. + * stdlib/mrand48_r.c: Likewise. + * stdlib/seed48_r.c: Likewise. Don't handle unsigned short > 16 bit + differently. + * stdlib/erand48_r.c: Don't handle unsigned short > 16 bit differently. + * stdlib/jrand48_r.c: Likewise. + + * po/sv.po: Update from translation team. + +2001-01-21 Andreas Jaeger + + * stdio-common/vfprintf.c (vfprintf): Add casts. + +2001-01-20 Ulrich Drepper + + * iconvdata/run-iconv-test.sh: Reorgnize a bit to allow running only + the ASCII test. + * iconvdata/TESTS: Add entries for IBM932 and IBM943. + + * iconvdata/Makefile (modules): Add IBM932 and IBM943. + * iconvdata/gconv-modules: Add entries for IBM932 and IBM943. + * iconvdata/ibm932.c: New file. + * iconvdata/ibm932.h: New file. + * iconvdata/ibm943.c: New file. + * iconvdata/ibm943.h: New file. + Patches by Masahide Washizawa . + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix typo + preventing optimization from being done. Set the correct type bit + in seen. Don't define and use _dl_base_addr unless + NEED_DL_BASE_ADDR is defined. + + * io/ftw.c (ftw_dir): Add slash after directory name if there + wasn't any. Reported by loris . + * io/Makefile (tests): Add bug-ftw2. + * io/bug-ftw2.c: New file. + +2001-01-19 Ulrich Drepper + + * stdlib/jrand48_r.c (__jrand48_r): Correct constructing of + results. Reported by Jeff Higham . + * stdlib/tst-rand48.c: New file. + * stdlib/Makefile (tests): Add tst-rand48. + + * locale/newlocale.c (__newlocale): Fix test for setting all + categories. + +2001-01-19 Mark Kettenis + + * sysdeps/mach/hurd/chroot.c (chroot): Revert 1999-02-27 changes, + but change looking up the initial directory port in a similar way + as done by _hurd_change_directory_port_from_name. + * hurd/fchroot.c (fchroot): Likewise. + +2001-01-18 Ulrich Drepper + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): If HAVE_AUX_XID is + defined don't look whether the AT_*ID values were set. + If HAVE_AUX_PAGESIZE is defined don't look whether the pagesize is set. + (_dl_show_auxv): Rewrite to avoid switch statement. + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_AT_PAGESIZE for kernel >= 2.4.1. + * sysdeps/unix/sysv/linux/ldsodefs.h: Define HAVE_AUX_XID. + Define HAVE_AUX_PAGESIZE if __ASSUME_AT_PAGESIZE is defined. + + * sysdeps/unix/sysv/linux/fxstat64.c: Add one __builtin_expect. + * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/xstat64.c: Likewise. + + * elf/rtld.c (process_envvars): Call __strtoul_internal instead of + strtoul. + * elf/dl-minimal.c (strtol, __strtol_internal, strtoul): Removed. + (__sigjmp_save): Set __mask_was_saved to zero since we don't save + anything. + * dlfcn/eval.c (__strtol_internal): Define here. + (eval): Use __strtol_internal instead of strtol. + + * elf/elf.h: Add a few more EF_MIPS_* constants. + +2001-01-17 Ulrich Drepper + + * manual/Makefile (chapters): Add debug. + * manual/debug.texi: New file. + * manual/examples/execinfo.c: New file. + Patch by suckfish@ihug.co.nz. + +2001-01-17 Andreas Schwab + + * sysdeps/m68k/bits/byteswap.h (__bswap_32): Add cast to avoid + invalid asm. + +2001-01-17 Andreas Jaeger + + * nscd/connections.c (nscd_run): Use proper format specifier. + +2001-01-16 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Move x86_cap_flags and + x86_platforms data into new file after prepending _dl_. Change + users. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: New file. + * sysdeps/unix/sysv/linux/i386/Dist: Add dl-procinfo.c. + * sysdeps/unix/sysv/linux/i386/Makefile: Add rules to build + dl-procinfo.c. + + * setjmp/setjmp.h: Cleanup definition of setjmp macro. + + * sysdeps/i386/elf/bsd-setjmp.S: Real implementation. + * sysdeps/i386/elf/bsd-_setjmp.S: Removed. + * sysdeps/i386/elf/setjmp.S (setjmp): Removed here. + (_setjmp): Likewise. + * sysdeps/i386/bsd-_setjmp.S: Real implementation. + * sysdeps/i386/bsd-setjmp.S: Real implementation. + * sysdeps/i386/bits/setjmp.h: Remove PUSH_SIGNAL_MASK definition. + * sysdeps/i386/setjmp.S: Remove PIC support. This is the non-ELF + version. + +2001-01-16 Andreas Jaeger + + * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h (SIGCONTEXT): Fix + misapplied last patch. + +2001-01-15 Ulrich Drepper + + * stdlib/random.c (__initstate): Clean up a cast. + (__setstate): Likewise. + + * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove select + syscall handling. The generic Linux version should work. + +2001-01-15 Andreas Jaeger + + * sysdeps/unix/sysv/linux/sys/sendfile.h: Fix typo. + + * stdio-common/tstscanf.c (main): Add two testcases for '*' modifier. + +2001-01-14 Jakub Jelinek + + * nss/getent.c (print_aliases, aliases_keys, ethers_keys, + netgroup_keys, print_rpc, rpc_keys, print_shadow, shadow_keys): + New functions. + (group_keys, hosts_keys, network_keys, passwd_keys, protocols_keys): + If number is 0, list all. + (services_keys): Likewise. Lookup aliases as well. + (databases): New table. + (build_doc): Prepare argp doc text with list of supported databases. + (main): Change to table driven processing. + +2001-01-14 Thorsten Kukuk + + * sunrpc/xdr.c (xdr_long, xdr_u_long): Fix comments about these + functions. + +2001-01-03 Jakub Jelinek + + * sunrpc/xdr.c (xdr_long, xdr_u_long): Return FALSE if trying to + encode value which does not fit in the 32bit type. + +2001-01-15 Hiroyuki Machida + + * sysdeps/unix/sysv/linux/mips/register-dump.h (REGISTER_DUMP): + Change type of CTX to (struct sigcontext *). + * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h (GET_PC): Likewise. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + (SIGCONTEXT): Likewise. Add 2nd arg _code. + (SIGCONTEXT_EXTRA_ARGS): Add 2nd arg _code. + +2001-01-13 Ulrich Drepper + + * manual/texinfo.tex: Update from upstream version. + +2001-01-13 Jakub Jelinek + + * inet/ether_ntoh.c (lookup_function): Change arguments to match + _nss_*_getntohost_r prototype. + (ether_ntohost): Pass errno pointer to NSS function. + +2001-01-12 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MS_SYNC): Fix value. + (MAP_LOCKED): New definition. + (MAP_NORESERVE): New definition. + +2001-01-12 Ulrich Drepper + + * assert/assert.h: Use static_cast instead of C-style cast for C++. + Patch by Enrico Scholz . + +2001-01-12 Ben Collins + + * sysdeps/generic/segfault.c (install_handler): Use access, not + __access. + +2001-01-12 Andreas Jaeger + + * posix/fnmatch_loop.c (FCT): Remove signed warnings. + * posix/wordexp.c (do_parse_glob): Likewise. + * sysdeps/posix/sigblock.c (__sigblock): Likewise. + * sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise. + * elf/dl-open.c (_dl_open): Likewise. + * elf/dl-close.c (_dl_close): Likewise. + * elf/dl-load.c (_dl_map_object): Likewise. + * iconv/iconv_prog.c (process_fd): Likewise. + * stdio-common/vfscanf.c (_IO_vfscanf): Likewise. + + * locale/localeinfo.h (struct locale_data): Use __flexarr instead + of a zero-length array. + +2001-01-11 Jakub Jelinek + + * stdlib/cxa_atexit.c (__cxa_atexit): Cast to (void *, int) func. + * stdlib/cxa_finalize.c (__cxa_finalize): Add hidden second argument. + * stdlib/cxa_on_exit.c: Remove. + * stdlib/Makefile: Revert last patch. + * stdlib/Versions: Likewise. + * include/stdlib.h: Likewise. + * stdlib/exit.h: Revert last patch. + (struct exit_function): Add second argument to cxa fn. + * stdlib/exit.c: Revert last patch. + (exit): Add hidden second argument. + +2001-01-11 H.J. Lu + + * elf/dl-libc.c (do_dlopen): Move DL_STATIC_INIT to ... + * elf/dl-open.c (_dl_open): Here. + * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_lock): + Make it static. + (_dl_static_init): Initialize the variables every time when possible. + * sysdeps/unix/sysv/linux/ia64/ldsodefs.h (DL_STATIC_INIT): + Undefine it first. + +2001-01-11 Ulrich Drepper + + * stdlib/Makefile (routines): Add cxa_on_exit. + * stdlib/Versions [libc] (GLIBC_2.2.1): Add __cxa_on_exit. + * stdlib/cxa_on_exit.c: New file. + * include/stdlib.h: Add prototype for __cxa_on_exit. + * stdlib/exit.c: Handle ef_cxa2. + * stdlib/exit.h (enum): Add ef_cxa2. + (struct exit_function): Add cxa2. + + * Versions.def [ld]: Add GLIBC_2.2.1. + +2001-01-10 H.J. Lu + + * elf/dl-libc.c (do_dlopen): Call DL_STATIC_INIT for static binaries. + * sysdeps/unix/sysv/linux/ia64/Makefile (sysdep-dl-routines): Add + dl-static. + * sysdeps/unix/sysv/linux/ia64/Versions (ld): Add _dl_var_init. + * sysdeps/generic/ldsodefs.h (DL_STATIC_INIT): Defined if not defined. + * sysdeps/unix/sysv/linux/ia64/ldsodefs.h: New file. + * sysdeps/unix/sysv/linux/ia64/dl-static.c: New file. + * sysdeps/unix/sysv/linux/ia64/Dist: Add dl-static.c. + +2001-01-11 Ulrich Drepper + + * libio/stdio.h: Remove definition of off_t. + +2001-01-11 Andreas Jaeger + + * wcsmbs/tst-mbrtowc.c (utf8_test): New function by Markus Kuhn + . + +2001-01-10 Ulrich Drepper + + * sunrpc/Makefile (distribute): Add errqueue.h. + +2001-01-10 H.J. Lu + + * sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Also preserve + r9, r10 and r11 for language specific registers. + +2001-01-10 Jakub Jelinek + + * sunrpc/clnt_udp.c (clntudp_bufcreate): Set IP_RECVERR on the + UDP socket. + (clntudp_call): Handle MSG_ERRQUEUE. + * sysdeps/generic/errqueue.h: New file. + * sysdeps/unix/sysv/linux/errqueue.h: New file. + +2001-01-10 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_getpagesize): Removed. + +2001-01-10 Joseph S. Myers + + * CONFORMANCE: Update. + +2001-01-09 Ulrich Drepper + + * sysdeps/generic/elf/backtracesyms.c (__backtrace_symbols): + Minimal cleanups. Add assert to ensure memory handling is correct. + + * manual/conf.texi (File Minimums): Fix _POSIX_PATH_MAX value. + Reported by Ben Collins . + + * time/strftime.c (my_strftime): Mark previous GNU extensions + which are now in C99 as such. + +2001-01-08 Ulrich Drepper + + * elf/rtld.c (process_envvars): Place output files for profiling + in SUID binaries in /var/profile. + + * elf/dl-load.c (_dl_map_object): Don't look in cache for + preloading in SUID binaries. + + * elf/dl-profile.c (_dl_start_profile): Open the output file with + O_NOFOLLOW if possible. + + * include/stdlib.h: Add __posix_openpt declaration. + * stdlib/stdlib.h: Add posix_openpt declaration. + * login/Versions: Add posix_openpt for GLIBC_2.2.1. + * sysdeps/generic/getpt.c: Define posix_openpt. + * sysdeps/unix/bsd/getpt.c: Likewise. + * sysdeps/unix/sysv/linux/getpt.c: Likewise. + + * time/Makefile (tests): Add tst-mktime. + * time/tst-mktime.c: New file. + + * posix/tst-dir.c (main): One more mkdir() test. + + * sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize): + Remove getpagesize syscall. We assume that the pagesize is always + determined from the auxiliary vector. + + * intl/dcigettext.c: Fix a few warnings. + Patch by Bruno Haible . + +2001-01-08 Andreas Jaeger + + * io/test-lfs.c (do_test): Check lseek64 return for EINVAL. + Reported by Joseph S. Myers . + +2001-01-08 Ulrich Drepper + + * sysdeps/generic/segfault.c (install_handler): Check output file + name with access(). + + * resolv/res_query.c: Use simply getenv() for HOSTALIASES. + * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add HOSTALIASES. + + * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add missing comma. + + * malloc/memusage.c (me): Use access() to determine whether we + should write the output file or not. + + * libio/bits/stdio.h (printf): Define macro to map printf call to + fprintf which gcc can optimize. + * stdio-common/printf.c: Undefine printf. + +2001-01-07 Ulrich Drepper + + * sysdeps/generic/bits/byteswap.h (__bswap_64): Partly revert last + patch. We must use unsigned int for l member of union. + + * sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Don't call + _dl_aux_init for shared libraries. + + * sysdeps/unix/sysv/linux/glob64.c: Moved to ... + * sysdeps/gnu/glob64.c: ...here. New file. + +2001-01-07 Ben Collins + + * manual/examples/longopt.c: Make the "struct option" a little + more like it should be, adding usage of required_argument, + noargument and such, and also setting the options string right. + + * manual/sysinfo.texi (Load Average): New section, documents + getloadavg(). + +2001-01-06 Ulrich Drepper + + * version.h (VERSION): Bump to 2.2.1. + + * sysdeps/unix/sysv/linux/mips/Dist: Remove sys/acct.h. + * sysdeps/alpha/Dist: Add alphaev6/stxncpy.S and alphaev6/stxcpy.S. + * sysdeps/unix/sysv/aix/Dist: Add uitrunc.c, savef.S, and restf.S. + * dlfcn/Makefile (distribute): Add errmsg1mod.c. + * Makefile (distribute): Add include/libc-internal.h. + * libio/Makefile (distribute): Avoid overwriting. + + * iconvdata/ibm937.c (BODY to IBM937): Correct several mistakes in + buffer and table handling. + +2001-01-05 H.J. Lu + + * elf/dl-support.c (non_dynamic_init): Move the auxiliary + vector checking to ... + (_dl_aux_init): Here. New function. Defined only if + HAVE_AUX_VECTOR is defined. + + * sysdeps/generic/libc-start.c (__libc_start_main): Call + _dl_aux_init for static binaries if HAVE_AUX_VECTOR is defined. + + * sysdeps/powerpc/elf/libc-start.c (__libc_start_main): Call + _dl_aux_init. + + * sysdeps/unix/sysv/linux/ldsodefs.h (DL_FIND_AUXV): Removed. + (HAVE_AUX_VECTOR): Defined. + (_dl_aux_init): Declared. + +2001-01-05 Ben Collins + + * manual/string.texi (Finding Tokens in a String): Document XPG + basename() and dirname(), as well as GNU basename(). + +2001-01-05 Jakub Jelinek + + * Makeconfig (preprocess-version): Replace -traditional with + -x assembler-with-cpp. + +2001-01-05 Joseph S. Myers + + * math/bits/cmathcalls.h: Don't define inline cimag, creal or conj + for GCC 2.97 or later. + +2001-01-05 Ben Collins + + * manual/stdio.texi (getline): Clarify the return value in the + case of EOF being reached before a newline. + +2001-01-04 Jakub Jelinek + + * sunrpc/pmap_clnt.c (__get_myaddress): Return TRUE if successful, + FALSE otherwise. + (pmap_set, pmap_unset): Check __get_myaddress return value. + +2001-01-05 Mark Kettenis + + * sysdeps/generic/netinet/if_ether.h: Include . + (struct ether_addr): Declare ether_addr_octet member as + `u_int8_t'. Add __attribute__ ((__packed__)). + +2001-01-06 Mark Kettenis + + * sysdeps/mach/hurd/readdir64.c: New file. + * sysdeps/mach/hurd/readdir64_r.c: New file. + +2001-01-07 Mark Kettenis + + * sysdeps/mach/hurd/fstatvfs.c (fstatvfs): Add comment about + `struct statfs' and `struct statvfs' being identical. + * sysdeps/mach/hurd/statvfs.c (statvfs): Likewise. + +2001-01-06 Mark Kettenis + + * sysdeps/mach/hurd/fstatfs64.c: New file. + * sysdeps/mach/hurd/fstatvfs64.c: New file. + * sysdeps/mach/hurd/statfs64.c: New file. + * sysdeps/mach/hurd/statvfs64.c: New file. + * sysdeps/mach/hurd/statfsconv.c: New file. + * sysdeps/mach/hurd/Dist: Add statfsconv.c. + +2001-01-06 Ulrich Drepper + + * iconv/skeleton.c: Reset outbuf for next round of the loop. + Reported by Owen Taylor . + * iconv/Makefile (tests): Add tst-iconv3. + * iconv/tst-iconv3.c: New file. + + * iconvdata/ibm930.c: Fix handling of state. Optimize a bit. + * iconvdata/ibm933.c: Likewise. + * iconvdata/ibm935.c: Likewise. + * iconvdata/ibm937.c: Likewise. + * iconvdata/ibm939.c: Likewise. + * iconvdata/ibm930.h: Adjust single byte table for optimization. + * iconvdata/ibm933.h: Likewise. + * iconvdata/ibm935.h: Likewise. + * iconvdata/ibm939.h: Likewise. + + * iconvdata/testdata/IBM930: Add misssing SI. + * iconvdata/testdata/IBM933: Likewise. + * iconvdata/testdata/IBM935: Likewise. + * iconvdata/testdata/IBM937: Likewise. + * iconvdata/testdata/IBM939: Likewise. + +2001-01-06 Andreas Jaeger + + * configure.in: Check for old add-ons that shouldn't be used with + current glibc anymore. + +2001-01-06 Mark Kettenis + + * sysdeps/mach/hurd/readdir_r.c (__readdir_r): Return error number + instead of -1 on failure. Don't forget to copy file name into + *ENTRY if successful. Set *RESULT to NULL upon reaching the end + of the directory. + +2001-01-06 Mark Kettenis + + * sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Don't forget to + copy st_atime member. + +2001-01-05 Ulrich Drepper + + * io/ftw.c (ftw_dir): Don't add a second slash at the beginning + for searches from the root directory. + Reported by loris [PR libc/1991]. + * io/Makefile (tests): Add bug-ftw1. + * io/bug-ftw1.c: New file. + + * elf/dl-support.c (non_dynamic_init): Don't define DL_FIND_AUXV + if it is not available. Instead use it only if it is available. + * sysdeps/unix/sysv/linux/ldsodefs.h: New file. + + * iconv/gconv_simple.c (internal_ics4_loop): Correct test for + overflowing output buffer. + (internal_ucs4_loop_unaligned): Likewise. + (ucs4_internal_loop): Likewise. + (ucs4_internal_loop_unaligned): Likewise. + (internal_ucs4le_loop): Likewise. + (internal_ucs4le_loop_unaligned): Likewise. + (ucs4le_internal_loop): Likewise. + (ucs4le_internal_loop_unaligned): Likewise. + Reported by Owen Taylor . + * iconv/Makefile (tests): Add tst-iconv2. + * iconv/tst-iconv2.c: New file. + +2001-01-04 H.J. Lu + + * elf/dl-support.c (DL_FIND_AUXV): New. Defined if not defined. + (_dl_clktck): Declared. + (non_dynamic_init): Take 3 arguments. + Set _dl_pagesize, _dl_platform and _dl_clktck from AUX. + +2001-01-01 Bruno Haible + + Finish implementation of plural form handling. + * intl/dcigettext.c (known_translation_t): Rename 'domain' field to + 'domainname'. Remove 'plindex' field. Add 'domain' and + 'translation_length' fields. + (transcmp): Don't compare 'plindex' fields. + (plural_lookup): New function. + (DCIGETTEXT): Change cache handing in the plural case. Don't call + plural_eval before the translation and its catalog file have been + found. Remove plindex from cache key. Add 'translation_length' and + 'domain' to cache result. + (_nl_find_msg): Remove index argument, return length of translation + to the caller instead. Weaken comparison of string lengths, to account + for plural entries. Call iconv() on the entire result string, not + only on the portion needed so far. + * intl/loadinfo.h (_nl_find_msg): Remove index argument, add lengthp + argument. + * intl/loadmsgcat.c (_nl_load_domain): Adapt to _nl_find_msg change. + +2001-01-04 Ulrich Drepper + + * intl/plural.y (yylex): Minimal improvement in number scanner. + +2000-07-31 Bruno Haible + + * intl/plural.y: Include config.h. Needed to define 'inline' away for + C compilers that don't support it. + (yylex): Don't use gcc specific case range syntax. + * intl/loadmsgcat.c (INIT_GERMANIC_PLURAL): New macro, for old + compilers. + +2000-10-12 Bruno Haible + + * intl/finddomain.c: Remove unneeded includes. + +2000-10-12 Bruno Haible + + * intl/localealias.c (memcpy): Return first argument, just like the + real memcpy function does. + * intl/bindtextdom.c (memcpy): Likewise. + * intl/finddomain.c (memcpy): Likewise. + * intl/l10nflist.c (memcpy): Likewise. + * intl/textdomain.c (memcpy): Likewise. + From Paul Eggert . + +2001-01-03 Jakub Jelinek + + * resolv/resolv.h (struct __res_state): Add nsinit field. + * resolv/res_send.c (res_nsend): Use it instead of nscount. + * resolv/res_init.c (__res_vinit): Initialize it. + (res_nclose): Clear it instead of nscount. + +2001-01-04 Ulrich Drepper + + * malloc/mtrace.pl: Fix matching of addresses. + Patch by Aharon Robbins . + + * Versions.def (ld): Add GLIBC_2.2. + + * catgets/gencat.c: Copyright 2001. + * csu/version.c: Likewise. + * debug/catchsegv.sh: Likewise. + * debug/xtrace.sh: Likewise. + * elf/ldconfig.c: Likewise. + * elf/sprof.c: Likewise. + * iconv/iconv_prog.c: Likewise. + * locale/locale.c: Likewise. + * locale/localedef.c: Likewise. + * malloc/memusage.sh: Likewise. + * malloc/mtrace.pl: Likewise. + * nscd/nscd.c: Likewise. + * posix/getconf.c: Likewise. + +2001-01-04 Mark Kettenis + + * include/stdio.h: Only provide __getwc_unlocked prototype if + USE_IN_LIBIO is defined. + +2001-01-04 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/socket.S (__socket): Fix error code + handling. + +2001-01-03 Andreas Schwab + + * sysdeps/generic/strtoll.c: Remove unused __strtoq_internal alias. + * sysdeps/generic/strtoull.c: Remove unused __strtouq_internal alias. + + * sysdeps/wordsize-64/strtol.c: Add strtoq alias and fix strtoll alias. + * sysdeps/wordsize-64/strtoul.c: Add strtouq alias and fix + strtoull alias. + * sysdeps/wordsize-64/wcstol.c: Add wcstoq alias and fix wcstoll alias. + * sysdeps/wordsize-64/wcstoul.c: Add wcstouq alias and fix + wcstoull alias. + + * sysdeps/generic/strtoul.c: Make sure we find strtol.c in this + directory. + * sysdeps/generic/strtol_l.c: Likewise. + * sysdeps/generic/strtoul_l.c: Likewise. + * sysdeps/generic/wcstoul.c: Likewise, for wcstol.c. + + * sysdeps/wordsize-64/strtol_l.c: Fix alias. + * sysdeps/wordsize-64/strtoul_l.c: Likewise. + * sysdeps/wordsize-64/wcstol_l.c: Fix alias. + * sysdeps/wordsize-64/wcstoul_l.c: Likewise. + +2001-01-04 Andreas Jaeger + + * nss/nsswitch.c: Include files for missing prototypes, remove + buggy declaration of prototypes. + +2001-01-03 Franz Sirl + + * resolv/Versions: Fix bracing. + * sysdeps/powerpc/soft-fp/Versions: Likewise. + * sysdeps/sparc/sparc64/soft-fp/Versions: Likewise. + +2001-01-02 Franz Sirl + + * sysdeps/powerpc/dl-machine.c (__process_machine_rela): Fix typo. + +2001-01-02 Ulrich Drepper + + * manual/Makefile (TEXI2PDF): Change to texi2dvi --pdf. + Suggested by Minko Markov . + +2001-01-02 Franz Sirl + + * sysdeps/powerpc/elf/start.S (__data_start): Make it global. + * sysdeps/powerpc/dl-machine.c (dl_reloc_overflow): Print the name of + the failing symbol. + (__process_machine_rela): Pass symbol to dl_reloc_overflow(). + +2001-01-02 Ben Collins + + * time/tzset.c (tzset_internal): Make sure we fall back to UTC + if TZ is not set and TZDEFAULT is not present. + +2001-01-01 Ben Collins + + * string/strings.h: Make sure we declare our functions even if + string.h is already included, based on whether or not __USE_BSD is + defined. + +2001-01-02 Ulrich Drepper + + * dlfcn/dlerror.c (dlerror): Handle call of dlerror() before any + other dlopen() and dlsym(). + Based on a patch by Ben Collins . + +2001-01-02 Andreas Jaeger + + * dlfcn/errmsg1.c (main): Call dlerror initially. + Reported by Ben Collins . + +2001-01-02 Ulrich Drepper + + * intl/dcigettext.c (guess_category_value): Rewrite so that LANGUAGE + value is ignored if the selected locale is the C locale. + * intl/tst-gettext.c: Set locale for above change. + * intl/tst-translit.c: Likewise. + +2001-01-02 Andreas Jaeger + + * libio/wgenops.c (_IO_wdoallocbuf): Use correct wide access macro. + (_IO_switch_to_wget_mode): Likewise. + (_IO_sputbackwc): Likewise. + (_IO_sungetwc): Use wint_t for result. + + * stdio-common/vfscanf.c (__vfscanf): Use WINT_T for done. + + * sysdeps/generic/strtol.c (strtol): Make cnt size_t for correct + signedness. + + * sysdeps/generic/printf_fphex.c (putc): Cast _IO_putwc_unlocked + to (int) to avoid warnings. + * stdio-common/printf_fp.c (putc): Likewise. + * stdio-common/printf_size.c (putc): Likewise. + + * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Make + constant unsigned. + +2001-01-01 Andreas Jaeger + + * inet/rcmd.c (rcmd_af): Use socklen_t for len. + +2000-12-31 Andreas Jaeger + + * include/libc-internal.h: Add prototype for __libc_freeres. + + * sysdeps/unix/sysv/linux/init-first.c: Include + for prototypes, remove redundant prototypes. + * gmon/gmon.c: Likewise. + * sysdeps/unix/i386/i586/clock_getres.c: Likewise. + * sysdeps/unix/i386/i586/clock_gettime.c: Likewise. + * malloc/mtrace.c: Likewise. + + * sysdeps/generic/enbl-secure.c: Include for + prototypes. + * elf/soinit.c: Likewise. + * sysdeps/generic/prof-freq.c: Likewise. + * sysdeps/mach/hurd/profil.c: Likewise. + * debug/noophooks.c: Likewise. + * debug/pcprofile.c: Likewise. + * sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Likewise. + * sysdeps/generic/get_clockfreq.c: Likewise. + * malloc/set-freeres.c: Likewise. + + * locale/localeinfo.h: Add internal prototypes. + + * elf/rtld.c (dl_main): Fix prototype. + + * iconvdata/tst-table-to.c (main): Use return instead of exit to + avoid warning. + + * nis/rpcsvc/yp_prot.h: Remove __P. + * nis/rpcsvc/ypupd.h: Likewise. + * nis/rpcsvc/yp.h: Likewise. + + * sunrpc/rpc_main.c: Add noreturn attributes. + * sunrpc/rpc_scan.h: Likewise. + + * sunrpc/rpc_hout.c (storexdrfuncdecl): Make static. + + * sunrpc/rpcinfo.c: Add noreturn attribute to brdcst. + + * sunrpc/proto.h: Add noreturn attributes to error and crash. + + * posix/bsd-getpgrp.c: Add prototype to avoid warning. + + * sunrpc/svc_unix.c: Include for prototypes. + + * sunrpc/create_xid.c: Include for prototypes. + + * include/rpc/rpc_msg.h: Add prototypes for some functions. + * include/rpc/auth.h: Likewise. + * include/rpc/auth_des.h: Likewise. + * include/rpc/clnt.h: Likewise. + * include/rpc/rpc.h: Likewise. + * include/rpc/svc.h: Likewise. + * include/rpc/svc_auth.h: Likewise. + + * include/rpc/des_crypt.h: New file. + + * malloc/memusagestat.c (main): Use return instead of exit to + avoid warning. + * io/pwd.c (main): Likewise. + * iconvdata/tst-table-from.c (main): Likewise. + * ctype/test_ctype.c (main): Likewise. + * setjmp/tst-setjmp.c (main): Likewise. + * signal/tst-signal.c (main): Likewise. + * stdlib/tst-strtol.c (main): Likewise. + * stdlib/tst-strtod.c (main): Likewise. + * stdlib/tst-strtoll.c (main): Likewise. + * stdlib/tst-xpg-basename.c (main): Likewise. + * dirent/tst-seekdir.c (main): Likewise. + * grp/testgrp.c (main): Likewise. + * inet/test_ifindex.c (main): Likewise. + * io/test-utime.c (main): Likewise. + * posix/test-vfork.c (main): Likewise. + * posix/testfnm.c (main): Likewise. + * stdio-common/temptest.c (main): Likewise. + * stdio-common/test_rdwr.c (main): Likewise. + * stdio-common/tst-fileno.c (main): Likewise. + * stdio-common/tst-sscanf.c (main): Likewise. + * stdio-common/tstscanf.c (main): Likewise. + * string/bug-strncat1.c (main): Likewise. + * string/bug-strpbrk1.c (main): Likewise. + * string/bug-strspn1.c (main): Likewise. + * string/test-ffs.c (main): Likewise. + * string/tst-inlcall.c (main): Likewise. + * string/tst-svc.c (main): Likewise. + * timezone/test-tz.c (main): Likewise. + * wctype/test_wcfuncs.c (main): Likewise. + * wctype/test_wctype.c (main): Likewise. + + * stdlib/tst-random.c: Add attribute noreturn to fail. + +2000-12-28 Wolfram Gloger + + * malloc/malloc.c (MALLOC_COPY): Handle case if source and + destination overlap. Assume dest is always below source if + overlapping. + +2000-12-30 Ulrich Drepper + + * elf/dl-close.c (_dl_close): We can ignore the NODELETE flag if the + object was not yet initialized. + +2000-12-28 H.J. Lu + + * elf/dl-deps.c (_dl_map_object_deps): Make sure the DSO state + is always consistent even if its dependency is failed. + + * elf/dl-open.c (_dl_open): Increment the open count before + calling _dl_close () in case of failure. + + * elf/neededtest4.c: New file. + * elf/neededobj5.c: New file. + * elf/neededobj6.c: New file. + + * elf/Makefile (distribute): Add neededobj5.c and neededobj6.c. + (tests): Add neededtest4. + (modules-names): Add neededobj5 and neededobj6. + ($(objpfx)neededobj6.so): New target. + ($(objpfx)neededtest4): New target. + ($(objpfx)neededtest4.out): New target. + +2000-12-28 Joseph S. Myers + + * misc/sys/cdefs.h (__attribute_format_strfmon__): Define. + * stdlib/monetary.h: Add strfmon format attributes. + +2000-12-28 Roland McGrath + + * sysdeps/mach/hurd/ioctl.c (do_ioctl): Avoid double-increment after + __mempcpy does it for us. + +2000-12-28 Andreas Jaeger + + * sysdeps/generic/dl-environ.c: Add prototype for unsetenv. + + * sysdeps/unix/sysv/linux/i386/setrlimit.c: Add prototype for + __new_setrlimit. + + * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Add prototype for + __old_getrlimit64. + + * sysdeps/unix/sysv/linux/i386/getrlimit.c: Add prototype for + __new_getrlimit. + + * sysdeps/unix/sysv/linux/i386/chown.c: Add prototypes for + __chown_is_lchown and __real_chown. + + * sysdeps/generic/ldsodefs.h: Add noreturn attribute to + _dl_reloc_bad_type. + + * sunrpc/rpc_hout.c (print_funcdef): Add break statement to shut + up GCC's warning about "deprecated use of label at end of compound + statement." + * sunrpc/rpc_cout.c (emit_inline): Likewise. + + * gmon/bb_exit_func.c: Include for internal + prototypes. + Remove struct bb and __bb_head since those are declared by + sys/gmon.h. + +2000-12-22 Ben Collins + + * manual/charset.texi: Fix typo in description of WCHAR_MAX. + + * manual/argp.texi: Document argp_domain as part of struct argp. + +2000-12-28 Andreas Jaeger + + * catgets/Makefile (generated): Add sample.SJIS.cat. + + * sunrpc/rpc_dtable.c: Include rpc/clnt.h for prototypes. + + * elf/dl-minimal.c: Add prototypes. + + * include/locale.h: Add internal prototypes. + * include/sys/gmon.h: Likewise. + + * dlfcn/errmsg1mod.c: Add prototype for foo to shut up GCC. + +2000-12-27 Ben Collins + + * elf/dl-open.c (_dl_open): Correctly set the new objname pointer + when reallocating the error strings. + Reported by Kalle Olavi Niemitalo + +2000-12-27 Ulrich Drepper + + * dlfcn/Makefile (tests): Add errmsg1. + (modules-names): Add errmsg1mod. + Add rules to run errmsg1. + * dlfcn/errmsg1.c: New file. + * dlfcn/errmsg1mod.c: New file. + + * dlfcn/dlerror.c (dlerror): Always create output string which + includes object file name. + + * sysdeps/alpha/alphaev6/memcpy.S: Don't go through unrolled loop + if we would go through it only once. + Patch by Rick Gorton . + + * sysdeps/alpha/alphaev67/strncat.S: Fix handling of numeric parameter. + Patch by Richard Henderson . + +2000-12-27 Jakub Jelinek + + * malloc/malloc.c (memmove): Add prototypes. + (MALLOC_MEMMOVE): Define. + (chunk_realloc): Use it instead of MALLOC_COPY if source and + destination might overlap. + +2000-12-27 Andreas Jaeger + + * stdio-common/printf_fp.c (__printf_fp): Add prototype for nested + function. + * elf/dl-load.c (_dl_map_object_from_fd): Likewise. + * locale/programs/locale.c (show_locale_vars): Likewise. + (show_info): Likewise. + * locale/programs/ld-collate.c (collate_output): Likewise. + * locale/programs/ld-ctype.c (set_class_defaults): Likewise. + * elf/dl-deps.c (_dl_map_object_deps): Likewise. + * stdlib/rpmatch.c (rpmatch): Likewise. + + * setjmp/tst-setjmp.c: Make local functions static. + * setjmp/jmpbug.c: Likewise. + * signal/tst-signal.c: Likewise. + * stdio-common/tfformat.c: Likewise. + * string/tst-svc.c: Likewise. + * time/clocktest.c: Likewise. + * time/tst-getdate.c: Likewise. + * dirent/list.c: Likewise. + * dirent/opendir-tst1.c: Likewise. + * posix/runtests.c: Likewise. + * posix/tst-getaddrinfo.c: Likewise. + * posix/tst-chmod.c: Likewise. + * posix/wordexp-test.c: Likewise. + * misc/tst-efgcvt.c: Likewise. + * timezone/tst-timezone.c: Likewise. + * rt/tst-clock.c: Likewise. + * rt/tst-shm.c: Likewise. + * rt/tst-aio2.c: Likewise. + * rt/tst-aio3.c: Likewise. + * rt/tst-aio4.c: Likewise. + * rt/tst-aio5.c: Likewise. + + * dlfcn/failtest.c: Add prototype for foo. + + * dlfcn/glrefmain.c: Add prototype for do_test. + + * dlfcn/tst-dladdr.c: Add prototype for do_test. + + * string/test-ffs.c (main): Add prototype for nested function. + + * sunrpc/des_soft.c: Include rpc/des_crypt.h for prototype. + + * nss/XXX-lookup.c: Add prototype to shut up GCC. + + * include/netinet/ether.h (DECLARE_NSS_PROTOTYPES): Fix + setetherent prototype. + Add internal interfaces. + + * nis/nss_nis/nis-ethers.c (_nss_nis_setetherent): Likewise. + * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_setetherent): Likewise. + + * resolv/res_data.c: Don't add (conflicting) prototypes for _LIBC. + + * nis/nis_intern.h: Add prototype for __pmap_getnisport. + + * nss/nss_files/files-ethers.c: Include netinet/ether.h to get + prototypes, remove struct etherent since it's declared in ether.h. + Fix ntohost declaration. + + * elf/dl-profile.c (_dl_mcount): Add empty statement to shut up GCC. + + * include/getopt.h: Add internal interfaces. + * include/termios.h: Likewise. + * include/resolv.h: Likewise. + * include/netdb.h: Likewise. + * include/grp.h: Likewise. + * include/pwd.h: Likewise. + * include/shadow.h: Likewise. + * include/rpc/netdb.h: Likewise. + * include/setjmp.h: Likewise. + + * include/stdio.h: Add prototypes for compatibility functions. + * include/grp.h: Likewise. + * include/pwd.h: Likewise. + * include/shadow.h: Likewise. + + * include/fenv.h: Define internal interfaces. + +2000-12-27 Ulrich Drepper + + * sysdeps/generic/bits/byteswap.h (__bswap_64): Handle constant + argument case separately. + * sysdeps/i386/bits/byteswap.h (__bswap_64): Likewise. + +2000-12-27 Andreas Jaeger + + * include/sys/wait.h: Add some prototypes. + * Rules (dummy.c): Create also prototype to shut up GCC. + +2000-12-27 Andreas Jaeger + + * sysdeps/mach/hurd/if_index.c (__protocol_available): Uncomment, + it's not needed at the moment. + * sysdeps/generic/if_index.c (__protocol_available): Likewise. + * sysdeps/unix/sysv/linux/if_index.c (__protocol_available): Likewise. + +2000-12-26 Andreas Jaeger + + * libio/getc_u.c: Include stdio.h via system path to get internal + prototypes. + * libio/getwc_u.c: Likewise. + + * stdlib/strfmon.c: Fix prototype of __printf_fp. + + * stdio-common/vfprintf.c (process_arg): Move __printf_fphex and + __printf_fp prototypes to ... + * include/printf.h: ...here. + + * include/stdio.h: Add some internal prototypes to shut up GCC. + * include/stdlib.h: Likewise. + + * sysdeps/posix/sigpause.c (__sigpause): Use ISO C prototype + declaration. + + * include/signal.h: Add prototypes for internal sigpause + interfaces. + +2000-12-26 Ulrich Drepper + + * sysdeps/generic/bits/byteswap.h (__bswap_64): Make it usable for + 64bit platforms. Reported by Dave Gilbert . + + * string/Makefile (tests): Add tst-bswap. + * string/tst-bswap.c: New file. + +2000-12-11 Bruno Haible + + * Makefile ($(inst_includedir)/gnu/stubs.h): Sort in the C locale. + +2000-12-26 Ulrich Drepper + + * sunrpc/Makefile (rpcgen-cmd): Use single quotes in sed call. + Patch by Ed Connell . + +2000-12-24 Ulrich Drepper + + * locale/iso-639.def: Correct one entry. Add two missing entries. + + * locale/iso-4217.def: Change entry for Eritrea. + Reported by Daniel Yacob . + +2000-12-23 Ben Collins + + * manual/charset.texi (Extended Char Intro): Fix typo in ISO 6937 + description. + + * manual/stdio.texi (Dynamic Output): Document the return value of + asprintf. Also make the asprintf/snprintf examples a little + better (check for some error returns). + +2000-12-22 Andreas Jaeger + + * include/stdio.h: Add __ftrylockfile prototype. + +2000-12-21 H.J. Lu + + * sysdeps/ia64/fpu/math_ldbl.h (ieee_long_double_shape_type): + Make sign_exponent element signed. + + * sysdeps/ieee754/ldbl-96/math_ldbl.h (ieee_long_double_shape_type): + Fix a typo. + + * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Remove dead branch. + +2000-12-21 Andreas Jaeger + + * nis/nss_nisplus/nisplus-ethers.c (struct etherent): Removed. + * inet/ether_hton.c: Likewise + * inet/ether_ntoh.c: Likewise. + + * nis/nss_nis/nis-ethers.c (_nss_nis_getntohost_r): Fix + declaration to match prototype. + + * include/netinet/ether.h (struct etherent): Declare here so that + all implementations use the same struct. + + * nis/nss_nis/nis-ethers.c: Include netinet/ether.h to get + prototypes. + (struct ether): Removed. + Use struct etherent instead of ether everywhere. + + * include/rpc/auth.h (DECLARE_NSS_PROTOTYPES): New. + + * include/rpc/auth_des.h (DECLARE_NSS_PROTOTYPES): New. + + * sunrpc/publickey.c: Include auth_des.h for prototypes. + +2000-12-20 Ulrich Drepper + + * math/test-misc.c: Add more tests for nextafter functions. + + * sysdeps/i386/fpu/s_nextafterl.c: Handle change from denormal to + normal correctly. Correct test for sign. + Based on a patch by HJ Lu. + +2000-12-19 Ulrich Drepper + + * Makeconfig (preprocess-version): Add -traditional to gcc call. + Cleanup sed calls. + +2000-12-19 Andreas Jaeger + + * include/netinet/ether.h (DECLARE_NSS_PROTOTYPES): New. + + * nis/nis_intern.h: Add prototype for __do_niscall3. + + * nis/nss_nis/nis-rpc.c (_nss_nis_setrpcent): Fix declaration to + match prototype. + + * include/netdb.h (DECLARE_NSS_PROTOTYPES): Reformat. + + * include/rpc/netdb.h (DECLARE_NSS_PROTOTYPES): New. + + * include/aliases.h (DECLARE_NSS_PROTOTYPES): New. + +2000-12-18 Ulrich Drepper + + * math/test-misc.c: Add more tests for nextafter. + * sysdeps/i386/fpu/s_nextafterl.c: Handle decrement for x<0 correctly. + * sysdeps/ieee754/ldbl-96/math_ldbl.h + (ieee_long_double_shape_type): Make sign_exponent element signed. + + * manual/message.texi: Add Estonian to plural overview list. + Correct rule for Slavic languages. + Patch by Stanislav Brabec . + + * nis/nss_nis/nis-netgrp.c: Remove unnecessary initializations. + +2000-12-18 Andreas Jaeger + + * test-skeleton.c: Use temp_name_list instead of name_list to + avoid collision with name_list from inet/netgroup.h. + + * nss/nss_files/files-network.c (NEED_H_ERRNO): Define. + + * include/grp.h (DECLARE_NSS_PROTOTYPES): New. + * include/pwd.h (DECLARE_NSS_PROTOTYPES): New. + * include/netdb.h (DECLARE_NSS_PROTOTYPES): New. + * include/shadow.h (DECLARE_NSS_PROTOTYPES): New. + + * hesiod/nss_hesiod/hesiod-proto.c (_nss_hesiod_setprotoent): Fix + declaration to match prototype. + * hesiod/nss_hesiod/hesiod-pwd.c (_nss_hesiod_setpwent): Likewise. + * hesiod/nss_hesiod/hesiod-grp.c (_nss_hesiod_setgrent): Likewise. + * hesiod/nss_hesiod/hesiod-service.c (_nss_hesiod_setservent): + Likewise. + * nis/nss_nis/nis-grp.c (_nss_nis_setgrent): Likewise. + * nis/nss_nis/nis-pwd.c (_nss_nis_setpwent): Likewise. + * nis/nss_nis/nis-proto.c (_nss_nis_setprotoent): Likewise. + * nis/nss_nis/nis-service.c (_nss_nis_setservent): Likewise. + (_nss_nis_getservbyport_r): Likewise. + * nis/nss_nis/nis-hosts.c (_nss_nis_sethostent): Likewise. + * nis/nss_nis/nis-spwd.c (_nss_nis_setspent): Likewise. + * nis/nss_nis/nis-network.c (_nss_nis_getnetent_r): Likewise. + (_nss_nis_setnetent): Likewise + * nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Likewise. + (_nss_nis_endnetgrent): Likewise. + * nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_endnetgrent): + Likewise. + (_nss_nisplus_setnetgrent): Likewise. + * nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_setspent): Likewise. + * nis/nss_nisplus/nisplus-pwd.c (_nss_nisplus_setpwent): Likewise. + * nis/nss_nisplus/nisplus-grp.c (_nss_nisplus_setgrent): Likewise. + * nis/nss_nisplus/nisplus-network.c (_nss_nisplus_setnetent): + Likewise. + * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_sethostent): + Likewise. + * nis/nss_nisplus/nisplus-service.c (_nss_nisplus_setservent): + Likewise. + * nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_setprotoent): + Likewise. + * nis/nss_compat/compat-spwd.c (_nss_compat_setspent): Likewise. + * nis/nss_compat/compat-pwd.c (_nss_compat_setpwent): Likewise. + * nis/nss_compat/compat-grp.c (_nss_compat_setgrent): Likewise. + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. + * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. + (_nss_dns_getnetbyaddr_r): Likewise. + +2000-12-17 Andreas Jaeger + + * sysdeps/generic/k_sinl.c (__kernel_sinl): Fix functions + parameter. + + * sysdeps/unix/sysv/linux/shm_open.c (freeit): Make static and add + unused attribute to shut up gcc warnings. + + * sysdeps/generic/k_sinl.c: Include math_private for prototypes. + * sysdeps/generic/k_tanl.c: Likewise. + * sysdeps/generic/k_cosl.c: Likewise. + * sysdeps/generic/e_j0l.c: Likewise. + * sysdeps/generic/e_j1l.c: Likewise. + * sysdeps/generic/e_jnl.c: Likewise. + * sysdeps/generic/e_lgammal_r.c: Likewise. + + * elf/vismain.c: Move prototypes for functions in vismod*.c to + vismod.h. + * elf/vismod.h: New file. + * elf/Makefile (distribute): Add vismod.h. + * elf/vismod1.c: Include vismod.h. + * elf/vismod2.c: Likewise. + * elf/vismod3.c: Likewise. + + * elf/constload3.c: Add prototype declarations to shut up gcc. + * elf/failobj.c: Likewise. + * elf/nodelmod3.c: Likewise. + * elf/filtmod1.c: Likewise. + * elf/filtmod2.c: Likewise. + * elf/reldepmod1.c: Likewise. + * elf/reldepmod2.c: Likewise. + * elf/reldepmod3.c: Likewise. + * elf/reldepmod4.c: Likewise. + * elf/unload2dep.c: Likewise. + * elf/unload2mod.c: Likewise. + * elf/ltglobmod1.c: Likewise. + * elf/pathoptobj.c: Likewise. + * elf/neededobj1.c: Likewise. + * elf/neededobj2.c: Likewise. + * elf/neededobj3.c: Likewise. + * elf/neededobj4.c: Likewise. + * elf/nextmod1.c: Likewise. + * elf/nextmod2.c: Likewise. + + * locale/programs/ld-collate.c (collate_finish): Don't use labels + at end of compound statement. + * locale/programs/locale.c (show_info): Likewise. + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. + +2000-12-16 Jakub Jelinek + + * catgets/gencat.c (read_input_file): Avoid calling obstack_free + with a pointer not returned by obstack_ functions. + +2000-12-16 Ulrich Drepper + + * sysdeps/unix/sysv/aix/bits/stat.h (struct stat): Align with AIX + version. + (struct stat64): Likewise. + Reported by Michael Keezer . + + * timezone/asia: Update from tzdata2000h. + * timezone/australasia: Likewise. + * timezone/backward: Likewise. + * timezone/europe: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +2000-12-14 Jakub Jelinek + + * io/ftw.c (ftw_dir): If process_entry returned non-zero result + and dir.stream is NULL, only free dir.content. + * io/ftwtest.c (cb, main): Add --early-exit option to test it. + * io/ftwtest-sh: Test with --early-exit. + +2000-12-13 Jakub Jelinek + + * misc/efgcvt.c (FCVT_MAXDIG): Define. + (FCVT_BUFPTR): New variable. + (fcvt): If fcvt_r returns -1 on the static short buffer, + try to malloc a sufficiently large one and retry. + (free_mem): New function. + * misc/qefgcvt.c (FCVT_MAXDIG): Define. + * misc/tst-efgcvt.c (fcvt_tests): Add new test. + +2000-12-15 Ulrich Drepper + + * misc/dirname.c (dirname): Fix search for second to last slash. + +2000-12-13 Andreas Jaeger + + * misc/tst-dirname.c (main): Fix typo in test to really use + the examples from Unix98. + Reported by Michael Kerrisk . + +2000-12-09 H.J. Lu + + * sysdeps/ia64/fpu/s_fabs.S: New file. + * sysdeps/ia64/fpu/s_fabsf.S: New file. + * sysdeps/ia64/fpu/s_fabsl.S: New file. + +2000-12-15 Andreas Jaeger + + * stdio-common/scanf9.c (main): Reformat and change to avoid + warnings. + + * stdio-common/tstdiomisc.c: Make local functions static. + * stdio-common/tst-printf.c: Likewise. + + * elf/constload2.c: Add prototype declarations to shut up gcc. + * elf/dep1.c: Likewise. + * elf/dep2.c: Likewise. + * elf/dep3.c: Likewise. + * elf/dep4.c: Likewise. + * elf/ltglobmod2.c: Likewise. + + * libio/fmemopen.c: Make local functions static. + + * elf/Makefile (distribute): Added testobj.h. + + * elf/testobj.h: New file. + + * elf/testobj1.c: Include testobj.h and move prototype + declarations to testobj.h. + * elf/testobj2.c: Likewise. + * elf/testobj3.c: Likewise. + * elf/testobj4.c: Likewise. + * elf/testobj5.c: Likewise. + * elf/testobj6.c: Likewise. + * elf/testobj1_1.c: Likewise. + * elf/preloadtest.c: Likewise. + +2000-12-15 Ben Collins + + * misc/sys/cdefs.h: Fix thinko in checks for flexarr macros. + Patch by Akim Demaille in Debian bug report. + +2000-12-14 H.J. Lu + + * sysdeps/ieee754/flt-32/s_sincosf.c (__sincosf): The exponent + field in a float is 8 bits, not 11 bits. + +2000-12-13 Jakub Jelinek + + * math/test-misc.c (main): Adjust m for IEEE quad long double. + +2000-12-13 Andreas Jaeger + + * manual/message.texi (Using gettextized software): Fix typo. + + * manual/charset.texi (Converting a Character): Fix mbstouwcs + program to compile. + Patch by Martin Buchholz . + + * sysdeps/unix/sysv/linux/sigpending.c (sigpending): Fix typo. + Reported by Michael Kerrisk . + +2000-12-11 Andreas Jaeger + + * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h: Declare + kernel_sigset_t and use it. + Patch by Hiroyuki Machida . + +2000-12-10 Richard Henderson + + * sysdeps/alpha/alphaev67/fpu/Implies: New file. + * sysdeps/alpha/alphaev6/fpu/e_sqrtf.S: New file. + * sysdeps/alpha/alphaev6/fpu/e_sqrt.S: New file. + +2000-12-10 Jakub Jelinek + + * sysdeps/alpha/htonl.S: Fix a typo. + +2000-12-10 Jakub Jelinek + + * sysdeps/alpha/alphaev6/stxcpy.S: Exchange t8 with t10. + +2000-12-10 Andreas Jaeger + + * locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fixed + cast as suggested by Jakub Jelinek and Ulrich + Drepper . + +2000-12-09 Andreas Jaeger + + * sysdeps/unix/sysv/linux/mips/sigaction.c: New file. + + * sysdeps/unix/sysv/linux/mips/sys/acct.h: Removed, we can use the + generic version. + Patches by Hiroyuki Machida . + + * locale/programs/ld-collate.c (handle_ellipsis): Fix format + string. + + * locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Fix + format string. + + * nscd/hstcache.c (addhstbyname): Add cast to avoid warning. + * nscd/connections.c (handle_request): Likewise. + * nscd/pwdcache.c (addpwbyname): Likewise. + * nscd/grpcache.c (addgrbyname): Likewise. + + * nscd/nscd_conf.c (nscd_parse_file): Remove extra argument. + +2000-12-09 Ulrich Drepper + + * string/stratcliff.c: Add tests for stpncpy, memcpy, and mempcpy. + + * Makeconfig (default_cflags): Make -O2 the default for stable + releases. + +2000-12-08 H.J. Lu + + * sysdeps/ia64/fpu/s_isinfl.S: Renamed to ... + * sysdeps/ia64/fpu/s_isinf.S: This. + Add a .pred.rel.mutex note to avoid false report. + + * sysdeps/ia64/fpu/s_isnanl.S: Renamed to ... + * sysdeps/ia64/fpu/s_isnan.S: This. + + * sysdeps/ia64/fpu/s_fpclassify.S: New file. + * sysdeps/ia64/fpu/s_fpclassifyf.S: New file. + * sysdeps/ia64/fpu/s_fpclassifyl.S: New file. + * sysdeps/ia64/fpu/s_isinff.S: New file. + * sysdeps/ia64/fpu/s_isinfl.S: New file. + * sysdeps/ia64/fpu/s_isnanf.S: New file. + * sysdeps/ia64/fpu/s_isnanl.S: New file. + * sysdeps/ia64/fpu/s_finite.S: New file. + * sysdeps/ia64/fpu/s_finitef.S: New file. + * sysdeps/ia64/fpu/s_finitel.S: New file. + * sysdeps/ia64/fpu/s_signbit.S: New file. + * sysdeps/ia64/fpu/s_signbitf.S: New file. + * sysdeps/ia64/fpu/s_signbitl.S: New file. + * sysdeps/ia64/fpu/s_copysign.S: New file. + * sysdeps/ia64/fpu/s_copysignf.S: New file. + * sysdeps/ia64/fpu/s_copysignl.S: New file. + +2000-12-08 Ulrich Drepper + + * math/libm-test.inc (main): Fix typos in messages. + + * string/stratcliff.c: Add test for rawmemchr. + +2000-12-08 Jakub Jelinek + + * elf/dl-open.c (_dl_open): If objname points right after errstring, + allocate it together with errstring using alloca. + * elf/dl-error.c (_dl_signal_error): If malloc failed, set objname + to "", because it might point to local stack. + +2000-12-05 H.J. Lu + + * nss/Makefile (routines): Add getnssent and getnssent_r. + * nss/nsswitch.h (__nss_setent): New internal NSS function. + (__nss_endent): Likewise. + (__nss_getent_r): Likewise. + (__nss_getent): Likewise. + * nss/getnssent_r.c: New file. + * nss/getnssent.c: New file. + * nss/getXXent.c (H_ERRNO_VAR): Updated. + (GETFUNC_NAME): Updated to call __nss_getent (). + * nss/getXXent_r.c (H_ERRNO_VAR_P): New. + (STAYOPEN_TMPVAR): Updated. + (STAYOPEN_VAR): Updated. + (SETFUNC_NAME): Updated to call __nss_setent (). + (ENDFUNC_NAME): Updated to call __nss_endent (). + (INTERNAL (REENTRANT_GETNAME)): Updated to call __nss_getent_r (). + +2000-12-08 Andreas Jaeger + + * nscd/dbg_log.h (dbg_log): Correct attribute. + +2000-12-08 Jakub Jelinek + + * elf/dl-load.c (fillin_rpath): Don't assume there is '\0' at + cp + len. Compute where from dirname. + Reported by . + +2000-12-08 Richard Henderson + + * sysdeps/alpha/_mcount.S: Fix typo. + * sysdeps/alpha/strncpy.S: Likewise. + + * sysdeps/alpha/alphaev6/Implies: New file. + * sysdeps/alpha/alphaev67/Implies: New file. + * sysdeps/alpha/alphaev67/ffs.S: New file. + * sysdeps/alpha/alphaev67/ffsll.S: New file. + * sysdeps/alpha/alphaev67/rawmemchr.S: New file. + * sysdeps/alpha/alphaev67/stpcpy.S: New file. + * sysdeps/alpha/alphaev67/stpncpy.S: New file. + * sysdeps/alpha/rawmemchr.S: New file. + * sysdeps/alpha/strcat.S: Tail call to __stxcpy. + * sysdeps/alpha/strcpy.S: Likewise. + + From GMP 3.1.1: + * sysdeps/alpha/alphaev6/addmul_1.s: New file. + + From rick.gorton@alpha-processor.com: + * sysdeps/alpha/alphaev6/memchr.S: New file. + * sysdeps/alpha/alphaev6/memcpy.S: New file. + * sysdeps/alpha/alphaev6/memset.S: New file. + * sysdeps/alpha/alphaev6/stxcpy.S: New file. + * sysdeps/alpha/alphaev6/stxncpy.S: New file. + * sysdeps/alpha/alphaev67/strcat.S: New file. + * sysdeps/alpha/alphaev67/strchr.S: New file. + * sysdeps/alpha/alphaev67/strlen.S: New file. + * sysdeps/alpha/alphaev67/strncat.S: New file. + * sysdeps/alpha/htonl.S: Use a shorter sequence. + +2000-12-08 Jakub Jelinek + + * inet/getnameinfo.c (getnameinfo): Fix NI_NOFQDN support. + Reported by . + +2000-12-07 Jes Sorensen + + * sysdeps/ia64/elf/start.S (__data_start): Add __data_start variable. + Pointed out by Hans Boehm. + +2000-12-07 H.J. Lu + + * elf/dl-version.c (match_symbol): Check map->l_name[0] for printing. + +2000-12-07 Andreas Jaeger + + * misc/error.c: Add format attributes for __error and __error_at_line. + + * nscd/dbg_log.h: Add format attribute. + +2000-12-08 Ulrich Drepper + + * misc/sys/syslog.h: Add format attributes to syslog and vsyslog. + Patch by Joseph S. Myers . + +2000-12-07 Dan Pop + + * sysdeps/ia64/strcpy.S: Fix a bug in a recovery code sequence. + +2000-12-06 Ulrich Drepper + + * sysdeps/unix/sysv/aix/Makefile [$(subdir)==misc] + (sysdep_routines): Add uitrunc. + * sysdeps/unix/sysv/aix/uitrunc.c: New file. + Patches by Michael Keezer . + +2000-12-06 Roland McGrath + + * sysdeps/mach/hurd/ioctl.c (__ioctl): Don't clobber ARG as we copy in + argument data, since it will be used to copy out too (for INOUT). + Reported by Marcus Brinkmann . + + * sysdeps/mach/hurd/ioctl.c: Include . + (__ioctl): Use uintptr_t instead of unsigned long int. + +2000-12-06 Jim Wilson + + * stdlib/l64a.c (l64a): Truncate M to 32-bit value. + +2000-12-06 Ulrich Drepper + + * stdio-common/printf_fp.c (__printf_fp): Handle decimal point in + x.5 rounding correctly. + +2000-12-06 Mark Kettenis + + * stdio-common/perror.c (perror): Conditionalize code dealing with + wide-oriented streams on USE_IN_LIBIO. + +2000-12-06 Mark Kettenis + + * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): Mark + as internal_function. + +2000-12-05 Ulrich Drepper + + * sysdeps/alpha/elf/start.S (__data_start): Define. + +2000-12-05 H.J. Lu + + * nss/getXXent_r.c (setup): Change the return type to int. + +2000-12-05 Ulrich Drepper + + * sysdeps/unix/sysv/aix/Makefile [$(subdir)==misc] + (sysdep_routines): Add restf and savef. + * sysdeps/unix/sysv/aix/restf.c: New file. + * sysdeps/unix/sysv/aix/savef.c: New file. + Patches by Michael Keezer . + + * sysdeps/unix/opendir.c (__opendir): Don't use o_directory_works + if O_DIRECTORY is not defined. + Patch by Michael Keezer . + + * include/libc-symbols.h (C_SYMBOL_DOT_NAME): Define. + Patch by Michael Keezer . + + * locale/programs/linereader.c (get_toplvl_escape): Recognize more + than 4 bytes in escape sequence. + Patch by Shinya Hanataka . + +2000-12-05 Andreas Jaeger + + * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Don't + set mips2. + + * sysdeps/unix/sysv/linux/mips/sysdep.h: New file. + + * sysdeps/unix/sysv/linux/mips/sys/syscall.h: Removed. + + * sysdeps/unix/mips/sysdep.h: Use SYS_ify. + Patches by Maciej W. Rozycki . + + * elf/dl-misc.c (_dl_sysdep_read_whole_file): Mark as + internal_function. + * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise. + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start_cleanup): Likewise. + + * sysdeps/generic/dl-cache.c: Remove declaration of + _dl_sysdep_read_whole_file. + + * elf/dl-load.c (_dl_map_object): Remove declaration of + _dl_load_cache_lookup. + + * sysdeps/generic/ldsodefs.h: Add declarations of + _dl_load_cache_lookup, _dl_unload_cache, + _dl_sysdep_read_whole_file, _dl_sysdep_start and + _dl_sysdep_start_cleanup. + + * elf/rtld.c: Remove prototypes that are defined in ldsodefs.h + now. + + * elf/dl-misc.c: Include to get prototypes. + * sysdeps/generic/dl-environ.c: Likewise. + + * stdio-common/printf_fp.c: Include instead of + . + * math/atest-exp.c: Likewise. + * math/atest-exp2.c: Likewise. + * math/atest-sincos.c: Likewise. + * stdio-common/_itoa.c: Likewise. + * stdio-common/_itowa.c: Likewise. + + * include/gmp.h: New file with internal prototypes. + + * sysdeps/generic/longjmp.c: Move _longjmp_unwind declaration from + here to... + * include/setjmp.h: ...here. + + * locale/Makefile (routines): Remove codeset_name since it's not + needed anywhere. + + * locale/codeset_name.c: Removed. + +2000-12-05 Ulrich Drepper + + * sysdeps/unix/sysv/aix/sys/param.h: Define MAXHOSTNAMELEN here. + +2000-12-05 Andreas Jaeger + + * sysdeps/unix/sysv/linux/sys/param.h: Revert last patch. + +2000-12-05 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/mmap64.S: Use mmap if mmap2 isn't + available. + +2000-12-05 Andreas Jaeger + + * nss/test-netdb.c: Mark local functions as static to avoid + warnings. + (main): Use return to silence warning. + + * stdlib/test-canon.c (check_path): Mark as static to avoid warning. + + * stdio-common/test-popen.c: Mark local functions as static to + avoid warnings. + (main): Use return to silence warning. + + * stdlib/testsort.c (compare): Mark as static to avoid warning. + + * assert/test-assert.c: Mark local functions as static to avoid + warnings. + * assert/test-assert-perr.c: Likewise. + + * math/libm-test.inc (main): Use return to silence warnings. + +2000-12-04 Ulrich Drepper + + * math/fenv.h: Fix typo in comment. + + * math/test-misc.c (main): Add a few more over and underflow tests + for scalb. + + * sysdeps/i386/fpu/e_scalb.S: Handle NaN as first parameter correctly. + * sysdeps/i386/fpu/e_scalbf.S: Likewise. + * sysdeps/i386/fpu/e_scalbl.S: Likewise. + * math/w_scalb.c: Don't use matherr except in SVID mode. + * math/w_scalbf.c: Likewise. + * math/w_scalbl.c: Likewise. + * math/test-misc.c: Add test for NaN and scalbl. + Reported by Fred J. Tydeman . + +2000-12-04 Ulrich Drepper + + * configure.in: Define HAVE_ASM_GLOBAL_DOT_NAME for AIX. + * config.h.in: Add HAVE_ASM_GLOBAL_DOT_NAME. + * include/libc-symbols.h (strong_alias): Define special version + for HAVE_ASM_GLOBAL_DOT_NAME. + (weak_alias): Likewise. + * sysdeps/powerpc/bsd-setjmp.S: Use strong_alias not .set. + * sysdeps/unix/sysv/aix/Makefile [$(subdir)==login] + (sysdep_routines): Add setutxent, getutxent, endutxent, getutxid, + getutxline, pututxline, and utmpxname. + * sysdeps/unix/sysv/aix/fchdir.c: Define __fchdir. + * sysdeps/unix/sysv/aix/lseek.c: Define __libc_lseek alias. + * sysdeps/unix/sysv/aix/open.c: Define __libc_open alias. + * sysdeps/unix/sysv/aix/pread.c: Define pread alias. + * sysdeps/unix/sysv/aix/pread64.c: Define pread64 alias. + * sysdeps/unix/sysv/aix/sysdep.h (JUMPTARGET): Use C_TEXT. + * sysdeps/unix/sysv/aix/bits/types.h: Define __clockid_t and __timer_t. + * sysdeps/unix/sysv/aix/bits/utmp.h: Cleanup. Add comments. + * sysdeps/unix/sysv/linux/sys/param.h (MAXHOSTNAMELEN): Define. + Patches by Michael Keezer . + +2000-12-04 H.J. Lu + + * configure.in: Change --with-oldest-abi=ABI to + --enable-oldest-abi=ABI. + +2000-12-02 Bruno Haible + + * stdio-common/perror.c (perror): If stderr is wide-oriented, use + fwprintf instead of fprintf. + +2000-12-04 Ulrich Drepper + + * sysdeps/alpha/fpu/bits/mathdef.h: Remove FLT_EVAL_METHOD and + DECIMAL_DIG definitions. + * sysdeps/arm/fpu/bits/mathdef.h: Likewise + * sysdeps/generic/bits/mathdef.h: Likewise + * sysdeps/i386/fpu/bits/mathdef.h: Likewise + * sysdeps/ia64/fpu/bits/mathdef.h: Likewise + * sysdeps/m68k/fpu/bits/mathdef.h: Likewise + * sysdeps/powerpc/fpu/bits/mathdef.h: Likewise + * sysdeps/sparc/fpu/bits/mathdef.h: Likewise + * sysdeps/sh/sh4/fpu/bits/mathdef.h: Likewise + +2000-12-03 Ulrich Drepper + + * math/test-fenv.c (main): Use return instead of exit to avoid warning. + + * math/atest-exp.c: Mark local functions as static to avoid warnings. + * math/atest-exp2.c: Likewise. + * math/atest-sincos.c: Likewise. + + * sysdeps/i386/fpu/bits/mathdef.h (DECIMAL_DIG): Correct value. + Reported by Fred J. Tydeman . + + * sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Hopefully fix + the handling of denormalized numbers. + + * math/test-misc.c (main): Test for fpclassify and pseudo denormal + numbers on x86. + * sysdeps/i386/fpu/fpclassifyl.c: New file. + + * sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Handle the + pseudo denormal representation of LDBL_MIN. + + * iconvdata/SJIS.irreversible: Remove unnecessary entries. + * iconvdata/EUC-JP.irreversible: Remove unnecessary entries. + + * iconvdata/sjis.c: Enable round-trip mapping of backslash and tilde. + * iconvdata/jis0208.c: Likewise. + * iconvdata/jis0212.c: Likewise. + Patch by Shinya Hanataka . + + * math/test-misc.c (main): More tests for frexp and some for + fpclassify and isnormal. + + * sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf): Correct + test for subnormal. + Reported by Fred J. Tydeman . + + * math/test-misc.c (main): Add tests for frexp. + Reported by Fred J. Tydeman . + * sysdeps/i386/fpu/s_frexpl.S: Don't overflow during the computation. + +2000-12-02 H.J. Lu + + * locale/lc-time.c (_nl_init_era_entries): Pass L'\0' instead of + '\0' to wcschr. + +2000-12-02 Ulrich Drepper + + * sysdeps/i386/fpu/s_frexp.S: Add missing fwait. + * sysdeps/i386/fpu/s_frexpf.S: Likewise. + * sysdeps/i386/fpu/s_frexpl.S: Likewise. + + * sysdeps/generic/glob.c: Adjust types of several variables to + avoid warnings. + +2000-12-01 Ulrich Drepper + + * sysdeps/unix/sysv/linux/shm_open.c: Remove incorrect comment. + +2000-11-30 Roland McGrath + + * hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): New macro. + (_HURD_HANDLE_IOCTLS, _HURD_HANDLE_IOCTL): Redefine using it, so as to + allow multiple instances using the same function name in one file. + +2000-12-01 Ulrich Drepper + + * configure.in: Correct test for pserver CVS access. + +2000-11-28 H.J. Lu + + * libio/libio.h: Remove extra "#if ... #endif". + +2000-11-29 H.J. Lu + + * stdio-common/vfscanf.c (ORIENT): Swap the COMPILE_WSCANF case. + +2000-12-01 H.J. Lu + + * nss/getXXbyYY_r.c: Fix verioned symbol handling. + * nss/getXXent_r.c: Likewise. + * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. + +2000-11-30 H.J. Lu + + * scripts/abi-versions.awk (oldest_abi): New variable. + Handle the oldest ABI supported. + + * Makerules ($(common-objpfx)abi-versions.h): Set oldest_abi + for scripts/abi-versions.awk. + + * configure.in: Add --with-oldest-abi=ABI. + * configure: Rebuild. + + * config.make.in (oldest-abi): New. + + * config.h.in (GLIBC_OLDEST_ABI): New. + + * csu/version.c (banner): Support GLIBC_OLDEST_ABI. + +2000-11-30 Jakub Jelinek + + * locale/setlocale.c (setname): Free for all categories, not just + LC_ALL. + (setlocale): Store a copy of string passed by user, not the string + itself. + +2000-11-30 Roland McGrath + + * sysdeps/mach/hurd/defs.c (init_stdio): Put this on __libc_subinit + rather than _hurd_fd_subinit, so it happens after it's safe to use + libc facilities like malloc. + +2000-11-28 Andreas Jaeger + + * sysdeps/unix/sysv/linux/getdents.c: Add _syscall_getdents64 + declaration, adjust declaration of __syscall_getdents to match + kernel. + +2000-11-29 H.J. Lu + + * sysdeps/generic/readelflib.c (check_ptr): Undefine it first. + +2000-11-29 Andreas Jaeger + + * sysdeps/unix/sysv/linux/hppa/brk.c (__brk): Remove unused variable. + +2000-11-28 Ulrich Drepper + + * dlfcn/defaultmod1.c: Add prototypes to avoid warnings. + * dlfcn/defaultmod2.c: Likewise. + * dlfcn/dlopen.c: Likewise. + * dlfcn/dlopenold.c: Likewise. + * dlfcn/failtestmod.c: Likewise. + * dlfcn/glreflib1.c: Likewise. + * dlfcn/glreflib2.c: Likewise. + * dlfcn/eval.c: Likewise. Add attributes. + + * ctype/ctype-extn.c: Define isblank and not __isblank. + + * time/strftime.c: Add const where necessary to avoid warnings. + * time/strptime.c (strptime_internal): Add casts to avoid warnings. + +2000-11-22 Paul Eggert + + * time/strftime.c (my_strftime): Do not invoke mbrlen with a + size of (size_t) -1; it's not portable. + +2000-11-28 Ulrich Drepper + + * sysdeps/i386/fpu/libm-test-ulps: Adjust some values for the + crappy i486 FPU. + Reported by Michael Deutschmann . + +2000-11-14 Jes Sorensen + + * sysdeps/ia64/_mcount.S: Call __mcount instead of __mcount_internal. + + * sysdeps/ia64/Makefile: Compile _mcount.S in subdir gmon as + _mcount is required by profiled binaries. + + * sysdeps/unix/sysv/linux/ia64/machine-gmon.h: Moved to... + * sysdeps/ia64/machine-gmon.h: ...here. + +2000-11-28 Masahide Washizawa + + * iconvdata/Makefile (modules): Add IBM922, IBM1124, and IBM1129. + (distribute): Add ibm922.c, ibm1124.c, ibm1129.c, ibm922.h, ibm1124.h, + and ibm1129.h. + * iconvdata/gconv-modules: Add entries for IBM922, IBM1124, and + IBM1129. + * iconvdata/ibm922.c: New file. + * iconvdata/ibm922.h: New file. + * iconvdata/ibm1124.c: New file. + * iconvdata/ibm1124.h: New file. + * iconvdata/ibm1129.c: New file. + * iconvdata/ibm1129.h: New file. + * iconvdata/testdata/IBM922: New file. + * iconvdata/testdata/IBM922..UTF8: New file. + * iconvdata/testdata/IBM1124: New file. + * iconvdata/testdata/IBM1124..UTF8: New file. + * iconvdata/testdata/IBM1129: New file. + * iconvdata/testdata/IBM1129..UTF8: New file. + +2000-11-28 Ulrich Drepper + + * catgets/gencat.c (normalize_line): Take extra parameter with escape + character. Change callers. + (open_conversion): Determine mapping of 0x5c as wchar_t value. + * catgets/Makefile: Add rules to build and run test-gencat. + * catgets/sample.SJIS: New file. + * catgets/test-gencat.c: New file. + * catgets/test-gencat.sh: New file. + Report and test case by Shinya Hanataka . + +2000-11-28 Andreas Jaeger + + * sysdeps/unix/sysv/linux/mips/bits/socket.h: Synch with generic + Linux version. + +2000-11-28 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/socket.h: Fix last patch. + +2000-11-28 Andreas Jaeger + + * sysdeps/unix/sysv/linux/bits/socket.h (struct cmsghdr): Use + __flexarr. + * sysdeps/unix/sysv/linux/mips/bits/socket.h (struct cmsghdr): + Likewise. + +2000-11-27 Ulrich Drepper + + * misc/getusershell.c: Make strings in okshells array const. + * misc/regexp.c: Add const to cast to avoid warnings. + * sysdeps/unix/sysv/linux/llseek.c: Add prototype for __llseek. + * sysdeps/unix/sysv/linux/i386/setresuid.c: Add prototype for + __setresuid. + * sysdeps/unix/sysv/linux/i386/setresgid.c: Add prototype for + setresgid. + * misc/error.c: Add prototypes for __error and __error_at_line. + * misc/mntent_r.c (__getmntent_r): Add break at end of switch + statement to avoid warning. + * test-skeleton.c: Mark timeout_handler with noreturn. + * iconv/skeleton.c (get16u): Add const to cast. + (get32u): Likewise. + * iconvdata/gb18030.c: Likewise. + * iconvdata/iso-2022-cn-ext.c: Likewise. + * iconvdata/ansi_x3.110.c: Add cast to avoid warning. + * iconvdata/big5.c: Likewise. + * iconvdata/big5hkscs.c: Likewise. + * iconvdata/iso_6937.c: Likewise. + * iconvdata/iso_6937-2.c: Likewise. + * iconvdata/t.61.c: Likewise. + * iconvdata/iso646.c: Add prototypes for gconv_init and gconv_env. + * iconvdata/unicode.c: Likewise. + * iconvdata/utf-16.c: Likewise. + * iconvdata/cns11643.h (ucs4_to_cns11643): Define needed as size_t. + * iconv/gconv_trans.c (__gconv_translit_find): Avoid one warning + with little code shuffling. + + * sysdeps/powerpc/Makefile (CFLAGS-initfini.s): Add -O1 to avoid + the problems introduced when the user selects -O3. + + * iconv/gconv.h (__gconv_info): Define __data element using __flexarr. + * misc/sys/cdefs.h: Define __flexarr. + Proposed by Joseph S. Myers . + + * iconvdata/iso-2022-jp.c: Add prototypes to avoid warnings. + * iconv/skeleton.c: Likewise. + * iconvdata/iso8859-1.c (BODY to 8859-1): Add const to cast. + * iconv/loop.c (get16): Add const to cast. + (get32): Likewise. + +2000-11-27 Andreas Jaeger + + * login/programs/pt_chown.c (do_pt_chown): Mark function as static + to avoid warning. + * login/programs/utmpdump.c (print_entry): Likewise. + +2000-11-25 Maciej W. Rozycki + + * sysdeps/mips/__longjmp.c (__longjmp): Restore SP and FP last and + in a single asm as they may be used to access other stored + registers. + * sysdeps/mips/mips64/__longjmp.c (__longjmp): Likewise. + +2000-11-27 Andreas Jaeger + + * rt/tst-aio.c: Mark test functions as static to avoid warnings. + * rt/tst-aio64.c: Likewise. + +2000-11-27 Ulrich Drepper + + * catgets/Makefile (test1.cat): Set LC_ALL, LOCPATH, and GCONV_PATH + for gencat run. + (libc.cat): Likewise. + * catgets/gencat.c: Implement handling of message catalogs encoded + with stateful character sets. + Based on a patch by Shinya Hanataka . + +2000-11-26 Ulrich Drepper + + * sysdeps/unix/opendir.c (__opendir): Add cast to avoid warning. + + * inet/getnameinfo.c: Adjust casts to avoid warnings. + * inet/rcmd.c: Likewise. + * inet/ruserpass.c: Likewise. + * inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK, + IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL, + IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL, + IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL, + IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL, + IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast. + * include/aliases.h: Add prototypes for internal __getalias* functions. + * include/netdb.h: Add prototypes for __old_gethostent_r, + __old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r, + __old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r, + __old_getservent_r, __old_getservbyname_r, __old_getservbyport_r, + __old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r. + * include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r, + __old_getrpcbynumber_r, __old_getrpcent_r. + + * include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r, + __getrpcent_r prototypes. + +2000-11-25 Ulrich Drepper + + * string/strcoll.c: Add casts to avoid warnings. + * string/strnlen.c: Likewise. + * string/strxfrm.c: Likewise. + * sysdeps/generic/_strerror.c: Likewise. + * sysdeps/generic/memrchr.c: Likewise. + * sysdeps/generic/strcasestr.c: Likewise. + * sysdeps/generic/strstr.c: Likewise. + + * locale/weight.h (findidx): Add const to cast to avoid warning. + + * elf/loadfail.c: Little cosmetic changes to avoid warnings. + * elf/loadtest.c: Likewise. + * elf/multiload.c: Likewise. + * elf/next.c: Likewise. + * elf/nodelete.c: Likewise. + * elf/noload.c: Likewise. + * elf/order.c: Likewise. + * elf/origtest.c: Likewise. + * elf/preloadtest.c: Likewise. + * elf/restest1.c: Likewise. + + * sysdeps/i386/i486/bits/string.h (__strncat_g) [i686]: Fourth + parameter of asm must be in %ecx. + + * string/tester.c: Mark test functions as static to avoid warnings. + + * iconv/gconv_conf.c (read_conf_file): Make mod_counter static to + preserve value over different gconv-modules files. + +2000-11-24 Ulrich Drepper + + * locale/findlocale.c: Add casts to avoid warnings. + * locale/localeinfo.h (LIMAGIC): Add cast to avoid warnings. + * misc/efgcvt_r.c (fcvt_r): Use ssize_t instead of int and add cast + to avoid warnings. + * misc/tsearch.c (const_node): New type. + (trecurse): Correct casts to avoid warnings. + (__twalk): Likewise. + * stdlib/tst-limits.c: Add z modifier to formats for WORD_BIT and + LONG_BIT. + + * debug/backtrace-tst.c (compare): Add casts to avoid warnings. + + * test-skeleton.c: Mark local functions as static to avoid warnings. + +2000-11-23 H.J. Lu + + * rt/tst-aio6.c (do_test): Use pipe instead of STDIN_FILENO to + support the background job. + Fix a typo. + +2000-11-24 Ulrich Drepper + + * iconv/gconv_conf.c (insert_module): Replace old entry if new one + has same names but lower cost. + +2000-11-23 Jakub Jelinek + + * sysdeps/sparc/sparc32/dl-machine.h: Ifdef out handling for relocs + which never occur during bootstrap. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. + +2000-11-23 Andreas Jaeger + + * nss/nss_files/files-hosts.c: Remove getipnodebyname. + + * nss/Versions: Remove _nss_files_getipnodebyname_r. + + * sysdeps/unix/sysv/linux/Versions: Fix typo in last patch. + +2000-11-18 Martin Buchholz + + * csu/gmon-start.c (__gmon_start__): Avoid over-clever trick `if + (called++) return;' + +2000-11-21 Alan Modra + + * sysdeps/generic/bsd-_setjmp.c (setjmp): Rename to _setjmp. + + * csu/abi-note.S: Correct comment for operating system number. + +2000-11-22 Ulrich Drepper + + * Versions.def: Add GLIBC_2.2.1 for glibc. + +2000-11-22 Andreas Schwab + + * sysdeps/unix/sysv/linux/syscalls.list: Add pivot_root. + * sysdeps/unix/sysv/linux/Versions: Add pivot_root at GLIBC_2.2.1. + +2000-11-22 Ulrich Drepper + + * rt/aio_suspend.c (aio_suspend): Convert timeout value to + absolute time for pthread_cond_timedwait call. + Reported by Lawrence Chen [libc/1930]. + + * rt/Makefile (tests): Add tst-aio6. + * rt/tst-aio6.c: New file. + +2000-11-23 Andreas Jaeger + + * sysdeps/s390/bits/string.h (strncat): Fix one more typo. + +2000-11-22 Andreas Jaeger + + * sysdeps/s390/bits/string.h (strncat): Add missing quotation marks. + +2000-11-21 Martin Schwidefsky + + * sysdeps/s390/bits/string.h: Make strncat always add a \0. + +2000-11-21 Andreas Schwab + + * sysdeps/alpha/setjmp.S: Remove __setjmp entry point. + * sysdeps/arm/setjmp.S: Likewise. + * sysdeps/arm/fpu/setjmp.S: Likewise. + * sysdeps/i386/setjmp.S: Likewise. + * sysdeps/i386/elf/setjmp.S: Likewise. + * sysdeps/s390/setjmp.S: Likewise. + * sysdeps/s390/elf/setjmp.S: Likewise. + * sysdeps/sh/sh3/setjmp.S: Likewise. + * sysdeps/sh/sh4/setjmp.S: Likewise. + * sysdeps/sparc/sparc32/setjmp.S: Likewise. + * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise. + * sysdeps/unix/sysv/linux/m68k/setjmp.c: Removed. + +2000-11-21 Andreas Jaeger + + * sysdeps/generic/__longjmp.c (__longjmp): Remove obsolete + NORETURN, fix parameter list. + + * string/bug-strncat1.c (main): Fix typo. + Patch by Bernhard Kaindl . + +2000-11-20 Ulrich Drepper + + * configure.in: Add --enable-all-warnings. + * config.make.in (all-warnings): New variable. + * Makeconfig (+gccwarn): Define with many more warnings if + all-warnings is yes. + +2000-11-20 Jakub Jelinek + + * iconvdata/bug-iconv2.c (main): Use %zd in format string. + * io/test-lfs.c (do_test): Cast statbuf.st_size to long long. + * malloc/tst-valloc.c (main): Cast valloc return value to long. + * malloc/tst-obstack.c (verbose_malloc): Use %zd in format string. + * math/test-fpucw.c (main): Use %lx in format string, cast + control words to long. + * stdio-common/tst-fmemopen.c (main): Use %td in format strings. + * stdlib/tst-strtol.c (tests): Avoid (bogus?) decimal constant is so + large that it is unsigned warning. + + * sysdeps/unix/sysv/linux/sparc/bits/types.h (__ssize_t): Changing + it to long on sparc64. + +2000-11-20 Andreas Jaeger + + * nscd/nscd.h (termination_handler): Add noreturn attribute. + (receiv_print_stats): Likewise. + + * elf/ldconfig.c (path_hwcap): Cast -1 for proper comparison. + +2000-11-20 Ulrich Drepper + + * malloc/thread-m.h: gcc doesn't tolerate zero-sized types anymore. + + * csu/gmon-start.c: Always have prototype for __gmon_start. + * csu/version.c: Add prototypes for __libc_print_version and + __libc_main. + * iconv/gconv.c: Include gconv_int.h and gconv.h. + * iconv/gconv.h (struct __gconv_step): Remove const from __from_name + and __to_name. + * iconv/gconv_builtin.h: Add ASCII module definitions. + * iconv/gconv_conf.c (__gconv_path_elem): Remove const. + (add_module): Add cast to avoid warning. Rework construction of + strings for new module. + * iconv/gconv_db.c (__gconv_alias_compare): Make s1 and s2 const. + (derivation_compare): Likewise. + * iconv/gconv_dl.c (do_release_shlib): Remove const from nodep. + (__gconv_release_shlib): Cast do_release_shlib as parameter for twalk. + * iconv/gconv_int.h (__gconv_path_elem): Remove const. + (struct gconv_alias): Remove const from fromname and toname. + * iconv/gconv_simple.c: Include gconv_builtin.h to get prototypes + for loop functions. + (internal_ucs4_loop): Use correct const-ness. + (ucs4_internal_loop): Likewise. + (internal_ucs4le_loop): Likewise. + (ucs4le_internal_loop_single): Likewise. + * iconv/gconv_trans.c (__gconv_transliterate): Make from_idx, from_tbl, + to_idx, to_tbl, winbuf, winbufend const. Change casts in + assignments appropriately. + (struct known_trans): Remove const from fname. + (trans_compare): Make s1 and s2 const. + * iconv/loop.c (LOOPFC): Make outend parameter const. Add cast to + avoid warning. + * iconv/skeleton.c: Remove cast in calls of loop functions. + * iconvdata/gconv-modules: Remove US-ASCII definitions. + * iconvdata/iso646.c: Remove US_ASCII support. + * include/set-hooks.h (DEFINE_HOOK): Also generate prototype. + * include/unistd.h: Add __libc_check_standard_fds prototype. + * string/bits/string2.h (__mempcpy_args): Add const to casts. + * sysdeps/generic/initfini.c: Add prototypes for dummy, _init, and + _fini. + * sysdeps/generic/libc-start.c: Add prototype for __libc_start_main. + * sysdeps/i386/i486/bits/string.h (strcmp): Add const to casts. + * sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Add cast to avoid + warning. + * sysdeps/unix/sysv/linux/init-first.c: Add prototypes for + __libc_init_first and _dl_start. + * intl/dcigettext.c (transcmp): Make s1 and s2 const. + (DCIGETTEXT): Make domaindata variable const. + * intl/loadmsgcat.c (_nl_load_domain): Rearrange domain initialization + to avoid warning. + +2000-11-20 Hiroyuki Machida + + * sysdeps/unix/sysv/linux/mips/clone.S: Fix comments. + + * sysdeps/unix/sysv/linux/mips/kernel_stat.h (kernel_stat): Expand + time_t to 'long int' not, 'unsigned int'. Use 'long int' for + __unused? members. + + * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOFOLLOW): Use same + value defined in /usr/include/asm-mips/fcntl.h. + +2000-11-18 Ulrich Drepper + + * stdio-common/Makefile (tests): Add test-vfprintf. + (test-vfprintf-ENV): New variable. + * stdio-common/test-vfprintf.c: New file. + + * wcsmbs/mbrtowc.c (__mbrtowc): Do not only flush if input is '\0'. + + * wcsmbs/Makefile (tests): Add tst-mbrtowc and tst-wcrtomb. + (tst-mbrtowc-ENV): New variable. + (tst-wcrtomb-ENV): New variable. + * wcsmbs/tst-mbrtowc.c: New file. + * wcsmbs/tst-wcrtomb.c: New file. + +2000-11-16 Andreas Jaeger + + * manual/install.texi (Tools for Compilation): Update + documentation for GCC 2.95.2. + +2000-11-18 Ulrich Drepper + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Only return -EAI_AGAIN + if IPv4 and IPv6 requests timed out. + +2000-11-18 Akim Demaille + + * malloc/obstack.h: Formatting changes. + (obstack_grow, obstack_grow0): Don't cast WHERE at all: it + prevents type checking. + (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't + cast the value to (void *): assigning a `foo *' to a `void *' + variable is valid. + (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int. + +2000-11-17 Ulrich Drepper + + * scripts/config.guess: Update from upstream maintainer. + * scripts/config.sub: Likewise. + +2000-11-16 Ulrich Drepper + + * libio/freopen.c (freopen): Reset _mode after succesful reopening. + * libio/freopen64.c (freopen64): Likewise. + Patch by Shinya Hanataka . + + * libio/Makefile: Add rules to build and run test-freopen. + * libio/test-freopen.c: New file. + * libio/test-freopen.sh: New file. + +2000-11-15 H.J. Lu + + * sysdeps/generic/ldsodefs.h (DL_DT_INIT_ADDRESS): Defined if + ELF_FUNCTION_PTR_IS_SPECIAL is not defined. + (DL_DT_FINI_ADDRESS): Likewise. + + * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): Set the + return type to ElfW(Addr). + (_dl_function_address): New prototype. + (DL_FUNCTION_ADDRESS): Defined. + (DL_DT_INIT_ADDRESS): Defined as DL_FUNCTION_ADDRESS. + (DL_DT_FINI_ADDRESS): Likewise. + + * sysdeps/ia64/Versions (GLIBC_2.2): Add _dl_function_address. + + * sysdeps/ia64/dl-machine.h (_dl_start_address): Removed. + (ELF_MACHINE_START_ADDRESS): Changed to DL_FUNCTION_ADDRESS. + + * sysdeps/ia64/dl-symaddr.c (_dl_start_address): Renamed to ... + (_dl_function_address): This. + + * elf/dl-fini.c (_dl_fini): Use DL_DT_FINI_ADDRESS to get the + function pointer for DT_FINI. + * elf/dl-close.c (_dl_close): Likewise. + + * elf/dl-init.c (_dl_init): Use DL_DT_INIT_ADDRESS to get the + function pointer for DT_INIT. + +2000-11-16 Jakub Jelinek + + * sysdeps/generic/printf_fphex.c (__printf_fphex): Compute correctly + end of wexpbuf buffer. + +2000-11-16 Andreas Jaeger + + * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Remove duplicate + definition of F_GETLK, F_SETLK, F_SETLKW. + +2000-11-16 Andreas Jaeger + + * sysdeps/generic/dl-cache.c (_DL_PLATFORMS_COUNT): Define to 0 if + it's not defined. + +2000-11-15 Jakub Jelinek + + * dlfcn/default.c (main): Add test for dladdr of main returning + argv[0] in dli_fname field. + +2000-11-15 Jakub Jelinek + + * Makeconfig (run-program-prefix): Move test-static test into the + variable. + + * sysdeps/alpha/dl-machine.h (RTLD_START): Update _dl_argv. + * sysdeps/sparc/sparc32/dl-machine.h (RTLD_START): Likewise, + schedule instructions. + * sysdeps/sparc/sparc64/dl-machine.h (RTLD_START): Likewise, + schedule instructions, fix a bug in copying auxiliary data. + +2000-11-15 Ulrich Drepper + + * manual/startup.texi (Program Arguments): Fix type of main's envp + parameter. + Reported by Raúl Núñez de Arenas Coronado . + + * iconvdata/gconv-modules: Add CP950 alias. + +2000-11-13 Jakub Jelinek + + * sysdeps/unix/sysv/linux/Makefile: Allow ports to override + syscall-list.h goal. + * sysdeps/unix/sysv/linux/sparc/Makefile: New file. + +2000-11-15 Ulrich Drepper + + * intl/Makefile: tst-gettext2.sh does not need a third parameter. + + * intl/tst-gettext2.sh: Copy locale data. Adjust LOCPATH. Verify + output of program. + + * intl/tst-gettext2.c: Set C locale if setting other locale + failed. Use gettext() not _(). + + * locale/setlocale.c: Increment _nl_msg_cat_cntr whenever we + successfully loaded a new locale. + +2000-11-13 Andreas Jaeger + + * configure.in: Require gcc 2.95 or newer. + +2000-11-15 Ulrich Drepper + + * sysdeps/unix/sysv/linux/paths.h: Adjust for FHS. + Patch by Arkadiusz Miskiewicz . + +2000-11-11 Jim Meyering + + * string/strndup.c (strndup): Cast return value to `char *'. + +2000-11-15 Jim Meyering + + * sysdeps/generic/memchr.c: Remove some useless parentheses. + [HAVE_STDLIB_H || defined _LIBC]: Include . + [HAVE_BP_SYM_H || defined _LIBC]: Guard inclusion of bp-sym.h. + [! (HAVE_BP_SYM_H || defined _LIBC)] (BP_SYM): Define as no-op. + Also #undef __memchr. + Use `weak_alias' only if it's defined. + +2000-11-10 H.J. Lu + + * Makefile.in (install): Set LANGUAGE=C LC_ALL=C. + +2000-11-15 Andreas Jaeger + + * elf/chroot_canon.c: Include . + + * elf/cache.c (struct cache_entry): Use uint64_t for hwcap. + (print_entry): Likewise. + (add_to_cache): Likewise. + + * elf/ldconfig.h (add_to_cache): Change prototype for hwcap change. + + * elf/ldconfig.c (struct lib_entry): Use uint64_t for hwcap. + (path_hwcap): Likewise. + (search_dir): Likewise. + + * sysdeps/generic/dl-cache.c (HWCAP_CHECK): Handle platform. + + * elf/cache.c (add_to_cache): Handle 64 bit hwcap entry. + + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h + (_dl_platform_string): New. + (_DL_HWCAP_PLATFORM): New. + (_dl_string_platform): New. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. + + * sysdeps/generic/dl-procinfo.h (_DL_HWCAP_COUNT): New. + (_dl_string_platform): New. + (_DL_HWCAP_PLATFORM): New. + (_dl_platform_string): New. + + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Added x86 platform + recognition. + (_DL_HWCAP_COUNT): New. + (_dl_string_platform): New. + (_DL_HWCAP_PLATFORM): New. + (_dl_platform_string): New. + +2000-11-14 Ulrich Drepper + + * iconvdata/gconv-modules: Add CP936 as alias for GBK. + +2000-11-14 Andreas Jaeger + + * sysdeps/generic/dl-cache.c (HWCAP_CHECK): Fix access to _dl_hwcap. + +2000-11-13 Roland McGrath + + * hurd/get-host.c (_hurd_get_host_config): Fix last change. + +2000-11-13 Marcus Brinkmann + + * hurd/get-host.c (_hurd_get_host_config): Fix possible buffer + underrun and make sure the result is null terminated even if there + is no trailing newline. + +2000-11-13 Jakub Jelinek + + * sysdeps/alpha/fpu/libm-test-ulps: Update. + +2000-11-10 H.J. Lu + + * sysdeps/ia64/fpu/libm-test-ulps: Updated. + +2000-11-10 Andreas Jaeger + + * elf/ldconfig.c (create_links): Fix alloca calculation. + Patch by Ben Collins . + +2000-11-09 Ulrich Drepper + + * inet/getnameinfo.c (getnameinfo): Use correct destination + parameter for if_indextoname. + Patch by Hideaki YOSHIFUJI . + +2000-11-09 H.J. Lu + + * sunrpc/Versions (GLIBC_2.1): Remove xdr_cryptkeyarg, + xdr_cryptkeyarg2, xdr_cryptkeyres, xdr_des_block, + xdr_key_netstarg, xdr_key_netstres, xdr_keybuf and + xdr_keystatus. + + * time/Versions (GLIBC_2.1): Move getitimer to... + * sysdeps/unix/sysv/linux/alpha/Versions (GLIBC_2.1): ...here. + +2000-11-03 Bruno Haible + + * manual/install.texi: Recommend to set LANGUAGE=C LC_ALL=C during + "make install", to work around a binary incompatibility between + glibc 2.1 and glibc 2.2 gconv modules. + +2000-11-09 Ulrich Drepper + + * intl/locale.alias: Add thai. + Patch by Chanop Silpa-Anan . + +2000-11-07 Akim Demaille + + * malloc/obstack.c (obstack_grow, obstack_grow0): Rename the second + argument `data' for consistency with the prototypes. + Qualify it `const'. + (obstack_copy, obstack_copy0): Rename the second argument as + `address' for consistency. Qualify it `const'. + * malloc/obstack.h (obstack_copy, obstack_copy0, obstack_grow) + (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify + `const' their input argument (`data' or `address'). + Adjust the corresponding macros to include `const' in casts. + +2000-11-06 Hideaki YOSHIFUJI + + * sysdeps/posix/getaddrinfo.c: Clean-up: define family to hold + target family. + +2000-11-06 Hideaki YOSHIFUJI + + * sysdeps/posix/getaddrinfo.c: Loosen protocol check to ease raw + socket creation. + +2000-11-06 Hideaki YOSHIFUJI + + * sysdeps/posix/getaddrinfo.c: Ensure to fill ai_socktype and + ai_protocol by internal table if service was not given. + +2000-11-06 Hideaki YOSHIFUJI + + * sysdeps/posix/getaddrinfo.c: Don't raise an error even if + numerical port was specified with protocol without socktype. + +2000-11-06 Hideaki YOSHIFUJI + + * sysdeps/posix/getaddrinfo.c: Ensure to check if protocol is ok. + +2000-11-06 Hideaki YOSHIFUJI + + * inet/getnameinfo.c: getnameinfo() NI_xxx flag validation. + +2000-11-06 Hideaki YOSHIFUJI + + * sysdeps/posix/getaddrinfo.c: Ensure not to fill garbage value in + sin6_scope_id field. + +2000-11-06 Hideaki YOSHIFUJI + + * inet/getnameinfo.c: Repair getnameinfo() sin6_socpe_id support. + +2000-11-06 Hideaki YOSHIFUJI + + * inet/getnameinfo.c: Repair NI_NOFQDN flag support. + +2000-11-06 Hideaki YOSHIFUJI + + * inet/getnameinfo.c: Wake-up sin6_scope_id support in + getnameinfo(): check for whether sin6_socpe_id exist was wrong. + +2000-11-09 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/mmap.S: Use mmap2 if it is present. + * sysdeps/unix/sysv/linux/s390/mmap64.S: New file. + +2000-11-09 H.J. Lu + + * io/Versions (GLIBC_2.1.1): Remove lockf64. + + +See ChangeLog.11 for earlier changes. diff -durpN glibc-2.2.4/Makeconfig glibc-2.2.5/Makeconfig --- glibc-2.2.4/Makeconfig Mon Jul 23 10:53:35 2001 +++ glibc-2.2.5/Makeconfig Wed Sep 12 11:49:45 2001 @@ -322,6 +322,9 @@ endif ifndef INSTALL_DATA INSTALL_DATA = $(INSTALL) -m 644 endif +ifndef INSTALL_SCRIPT +INSTALL_SCRIPT = $(INSTALL) +endif ifndef INSTALL_PROGRAM INSTALL_PROGRAM = $(INSTALL) endif @@ -380,10 +383,17 @@ ifndef static-start-installed-name static-start-installed-name = $(start-installed-name) endif +ifeq (yesyesyes,$(build-shared)$(elf)$(have-z-combreloc)) +combreloc-LDFLAGS = -Wl,-z,combreloc +LDFLAGS.so += $(combreloc-LDFLAGS) +LDFLAGS-rtld += $(combreloc-LDFLAGS) +endif + # Command for linking programs with the C library. ifndef +link +link = $(CC) -nostdlib -nostartfiles -o $@ \ $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \ + $(combreloc-LDFLAGS) \ $(addprefix $(csu-objpfx),$(start-installed-name)) \ $(+preinit) $(+prector) \ $(filter-out $(addprefix $(csu-objpfx),start.o \ @@ -727,7 +737,7 @@ define preprocess-versions sed '/^[ ]*#/d;s/^[ ]*%/#/' \ | $(CC) -E -undef -I$(common-objdir) -I$(..)include \ -include $(common-objpfx)config.h \ - -x assembler-with-cpp - \ + -DASSEMBLER -x assembler-with-cpp - \ | sed '/^[ ]*#/d;/^[ ]*$$/d' endef diff -durpN glibc-2.2.4/Makefile glibc-2.2.5/Makefile --- glibc-2.2.4/Makefile Mon Jul 23 10:53:35 2001 +++ glibc-2.2.5/Makefile Tue Jan 8 13:43:50 2002 @@ -1,4 +1,4 @@ -# Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1991-1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -75,7 +75,7 @@ vpath %.h $(subdir-dirs) # What to install. install-others = $(inst_includedir)/gnu/stubs.h -install-bin = glibcbug +install-bin-script = glibcbug ifeq (yes,$(build-shared)) install-others += $(inst_includedir)/gnu/lib-names.h @@ -84,7 +84,7 @@ endif include Makerules ifeq ($(build-programs),yes) -others: $(addprefix $(objpfx),$(install-bin)) +others: $(addprefix $(objpfx),$(install-bin-script)) endif # Install from subdirectories too. @@ -267,7 +267,7 @@ distribute := README README.libm INSTAL mkinstalldirs move-if-change install-sh \ test-installation.pl gen-FAQ.pl versions.awk\ gen-sorted.awk abi-versions.awk \ - firstversions.awk documented.sh) + firstversions.awk documented.sh cpp) distribute := $(strip $(distribute)) generated := $(generated) stubs.h diff -durpN glibc-2.2.4/Makerules glibc-2.2.5/Makerules --- glibc-2.2.4/Makerules Mon Jul 23 10:53:35 2001 +++ glibc-2.2.5/Makerules Thu Nov 15 17:02:19 2001 @@ -317,7 +317,7 @@ COMPILE.S = \ $(CC) -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS) $(ASFLAGS-$(suffix $@)) COMPILE.s = $(filter-out -pipe,$(CC)) -c $(ASFLAGS) -# If we want to generate MD% checksums for the sources do this now. +# If we want to generate MD5 checksums for the sources do this now. ifeq ($(md5),yes) generate-md5 = ; rm -f $(@:.d=.md5); \ $(CC) -E $< $(CFLAGS) $(CPPFLAGS) $($(<:$*.%=%)-CPPFLAGS) | \ @@ -400,7 +400,7 @@ endif ifeq ($(elf),yes) define build-shlib-helper -$(LINK.o) -shared -Wl,-O1 $(sysdep-LDFLAGS) $(config-LDFLAGS) \ +$(LINK.o) -shared $(static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) $(config-LDFLAGS) \ $(extra-B-$(@F:lib%.so=%).so) -B$(csu-objpfx) \ $(extra-B-$(@F:lib%.so=%).so) $(load-map-file) \ -Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \ @@ -460,7 +460,7 @@ $(LINK.o) -Wl,-G -Wl,-bM:SRE -Wl,-bnoent endef else define build-module-helper -$(LINK.o) -shared $(sysdep-LDFLAGS) $(config-LDFLAGS) \ +$(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \ -B$(csu-objpfx) $(load-map-file) \ $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \ -L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) @@ -720,10 +720,10 @@ force-install: # files in $(install-lib) matching `lib%.a' are ranlib'd after installation # unless they also appear in $(non-lib.a). $(install-data) are installed # as they are into $(datadir). $(headers) are installed as they are in -# $(includedir). $(install-bin) and $(install-sbin) are installed from the -# object directory into $(bindir) and $(sbindir), respectively. -# $(install-others) are absolute path names of files to install; rules to -# install them are defined elsewhere. +# $(includedir). $(install-bin), $(install-bin-script) and $(install-sbin) +# are installed from the object directory into $(bindir), $(bindir) and +# $(sbindir), respectively. $(install-others) are absolute path names of +# files to install; rules to install them are defined elsewhere. # The simple library name to install libc.a under. # This could be defined by a sysdep Makefile. @@ -762,6 +762,12 @@ $(INSTALL_PROGRAM) $< $@.new mv -f $@.new $@ endef +define do-install-script +$(make-target-directory) +$(INSTALL_SCRIPT) $< $@.new +mv -f $@.new $@ +endef + install-lib.so := $(filter %.so,$(install-lib:%_pic.a=%.so)) install-lib := $(filter-out %.so %_pic.a,$(install-lib)) @@ -929,6 +935,11 @@ $(addprefix $(inst_bindir)/,$(install-bi $(inst_bindir)/%: $(objpfx)% $(+force) $(do-install-program) endif +ifdef install-bin-script +$(addprefix $(inst_bindir)/,$(install-bin-script)): \ + $(inst_bindir)/%: $(objpfx)% $(+force) + $(do-install-script) +endif ifdef install-rootsbin $(addprefix $(inst_rootsbindir)/,$(install-rootsbin)): \ $(inst_rootsbindir)/%: $(objpfx)% $(+force) @@ -964,9 +975,11 @@ $(addprefix $(inst_includedir)/,$(header $(do-install) endif # headers -.PHONY: install-bin-nosubdir install-rootsbin-nosubdir install-sbin-nosubdir \ - install-lib-nosubdir install-data-nosubdir install-headers-nosubdir +.PHONY: install-bin-nosubdir install-bin-script-nosubdir \ + install-rootsbin-nosubdir install-sbin-nosubdir install-lib-nosubdir \ + install-data-nosubdir install-headers-nosubdir install-bin-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin)) +install-bin-script-nosubdir: $(addprefix $(inst_bindir)/,$(install-bin-script)) install-rootsbin-nosubdir: \ $(addprefix $(inst_rootsbindir)/,$(install-rootsbin)) install-sbin-nosubdir: $(addprefix $(inst_sbindir)/,$(install-sbin)) @@ -986,9 +999,9 @@ install-%:: install-%-nosubdir ; .PHONY: install install-no-libc.a-nosubdir ifeq ($(build-programs),yes) install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir\ - install-bin-nosubdir install-lib-nosubdir \ - install-others-nosubdir install-rootsbin-nosubdir \ - install-sbin-nosubdir + install-bin-nosubdir install-bin-script-nosubdir \ + install-lib-nosubdir install-others-nosubdir \ + install-rootsbin-nosubdir install-sbin-nosubdir else install-no-libc.a-nosubdir: install-headers-nosubdir install-data-nosubdir\ install-lib-nosubdir install-others-nosubdir @@ -1120,7 +1133,7 @@ $(foreach var,subdir-dirs sources elided headers sysdep_headers distribute dont_distribute generated \ others tests test-srcs extra-libs $(extra-libs:%=%-routines) \ versioned \ - $(addprefix install-,lib lib.so data bin sbin others), + $(addprefix install-,lib lib.so data bin bin-script sbin others), echo >> $@.new '$(subdir)-$(var) := $($(var))' echo >> $@.new '$(var) = $$($(subdir)-$(var))') endef diff -durpN glibc-2.2.4/NEWS glibc-2.2.5/NEWS --- glibc-2.2.4/NEWS Sat Aug 11 18:28:48 2001 +++ glibc-2.2.5/NEWS Mon Jan 7 22:36:25 2002 @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 2001-7-27 +GNU C Library NEWS -- history of user-visible changes. 2001-10-31 Copyright (C) 1992-2000, 2001 Free Software Foundation, Inc. See the end for copying conditions. @@ -6,6 +6,26 @@ Please send GNU C library bug reports us . Questions and suggestions should be send to . +Version 2.2.5 + +* Stephen Moshier implemented log2, log10, powl and cbrtl for the + 128-bit long double format. + +* Masahide Washizawa contributed iconv modules for IBM1132, IBM1133, IBM1160, + IBM1161, and IBM1162 charsets. + +* Andreas Jaeger contributed a port to x86-64/Linux. + +* Peter Bruin contributed a port to PowerPC/Hurd. + +* libc functions using I/O streams now can handle wide-oriented streams + as well. + +* optimizations in the dynamic linker. binaries created by recent binutils + versions start up quicker due to reduced time spend on relocations. + +* Support for use of gcc3 added by Jakub Jelinek and HJ Lu. + Version 2.2.4 * Stephen Moshier implemented cosh, expm1, log1p, acos, sinh, tanh, @@ -1315,4 +1335,4 @@ Copyright (C) 1992-1999, 2000 Free Softw Local variables: version-control: never -end: +End: diff -durpN glibc-2.2.4/PROJECTS glibc-2.2.5/PROJECTS --- glibc-2.2.4/PROJECTS Mon Jul 23 10:53:35 2001 +++ glibc-2.2.5/PROJECTS Wed Nov 14 00:49:20 2001 @@ -37,25 +37,6 @@ contact . for the current status (of course better use a mirror of ftp.gnu.org). -[ 6] Write `long double' versions of the math functions. - - The libm is in fact fdlibm (not the same as in Linux libc 5). - -**** Partly done. But we need someone with numerical experiences for - the rest. - - -[ 7] Several math functions have to be written: - - - exp2 - - with long double arguments. - - Beside this most of the complex math functions which are new in - ISO C99 should be improved. Writing some of them in assembler is - useful to exploit the parallelism which often is available. - - [ 8] If you enjoy assembler programming (as I do --drepper :-) you might be interested in writing optimized versions for some functions. Especially the string handling functions can be optimized a lot. @@ -156,9 +137,6 @@ contact . the currently implemented methods. -[22] Done. - - [23] The `strptime' function needs to be completed. This includes among other things that it must get teached about timezones. The solution envisioned is to extract the timezones from the ADO timezone @@ -179,9 +157,6 @@ contact . Factors should be number of uses (of course), influenced by aging. Just imagine a computer used by several people. The IDs of the current user should be preferred even if the last user spent more time. - - -[26] ...done [27] We need a second test suite with tests which cannot run during a normal diff -durpN glibc-2.2.4/README glibc-2.2.5/README --- glibc-2.2.4/README Fri Jul 27 23:17:22 2001 +++ glibc-2.2.5/README Tue Jan 8 10:27:14 2002 @@ -1,4 +1,4 @@ -This directory contains the version 2.2.4 release of the GNU C Library. +This directory contains the version 2.2.5 release of the GNU C Library. Many bugs have been fixed since the last release. Some bugs surely remain. diff -durpN glibc-2.2.4/Rules glibc-2.2.5/Rules --- glibc-2.2.4/Rules Mon Jul 23 10:53:35 2001 +++ glibc-2.2.5/Rules Wed Aug 29 15:44:35 2001 @@ -41,7 +41,8 @@ all: objs lib others ifeq ($(build-programs),yes) others: $(addprefix $(objpfx),$(extra-objs) \ - $(install-lib) $(install-bin) \ + $(install-lib) \ + $(install-bin) $(install-bin-script) \ $(install-rootsbin) $(install-sbin)) else others: $(addprefix $(objpfx),$(extra-objs) \ diff -durpN glibc-2.2.4/Versions.def glibc-2.2.5/Versions.def --- glibc-2.2.4/Versions.def Mon Jul 23 10:53:35 2001 +++ glibc-2.2.5/Versions.def Thu Dec 6 00:08:59 2001 @@ -13,9 +13,13 @@ libc { GLIBC_2.2.2 GLIBC_2.2.3 GLIBC_2.2.4 + GLIBC_2.2.5 %ifdef USE_IN_LIBIO HURD_CTHREADS_0.3 %endif +%ifdef EXPORT_UNWIND_FIND_FDE + GCC_3.0 +%endif } libcrypt { GLIBC_2.0 @@ -69,6 +73,7 @@ libpthread { GLIBC_2.1.1 GLIBC_2.1.2 GLIBC_2.2 + GLIBC_2.2.3 } libresolv { GLIBC_2.0 @@ -95,6 +100,7 @@ ld { } libthread_db { GLIBC_2.1.3 + GLIBC_2.2.3 } libanl { GLIBC_2.2.3 diff -durpN glibc-2.2.4/argp/argp-fmtstream.c glibc-2.2.5/argp/argp-fmtstream.c --- glibc-2.2.4/argp/argp-fmtstream.c Mon Jul 23 10:53:36 2001 +++ glibc-2.2.5/argp/argp-fmtstream.c Thu Aug 16 23:41:52 2001 @@ -1,5 +1,5 @@ /* Word-wrapping and line-truncating streams - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -41,6 +41,7 @@ #endif #if defined _LIBC && defined USE_IN_LIBIO +# include # include # define __vsnprintf(s, l, f, a) _IO_vsnprintf (s, l, f, a) #endif @@ -58,8 +59,10 @@ argp_fmtstream_t __argp_make_fmtstream (FILE *stream, size_t lmargin, size_t rmargin, ssize_t wmargin) { - argp_fmtstream_t fs = malloc (sizeof (struct argp_fmtstream)); - if (fs) + argp_fmtstream_t fs; + + fs = (struct argp_fmtstream *) malloc (sizeof (struct argp_fmtstream)); + if (fs != NULL) { fs->stream = stream; @@ -69,7 +72,7 @@ __argp_make_fmtstream (FILE *stream, fs->point_col = 0; fs->point_offs = 0; - fs->buf = malloc (INIT_BUF_SIZE); + fs->buf = (char *) malloc (INIT_BUF_SIZE); if (! fs->buf) { free (fs); @@ -94,7 +97,14 @@ __argp_fmtstream_free (argp_fmtstream_t { __argp_fmtstream_update (fs); if (fs->p > fs->buf) - fwrite_unlocked (fs->buf, 1, fs->p - fs->buf, fs->stream); + { +#ifdef USE_IN_LIBIO + if (_IO_fwide (fs->stream, 0) > 0) + __fwprintf (fs->stream, L"%.*s", (int) (fs->p - fs->buf), fs->buf); + else +#endif + fwrite_unlocked (fs->buf, 1, fs->p - fs->buf, fs->stream); + } free (fs->buf); free (fs); } @@ -134,7 +144,14 @@ __argp_fmtstream_update (argp_fmtstream_ /* No buffer space for spaces. Must flush. */ size_t i; for (i = 0; i < pad; i++) - putc_unlocked (' ', fs->stream); + { +#ifdef USE_IN_LIBIO + if (_IO_fwide (fs->stream, 0) > 0) + putwc_unlocked (L' ', fs->stream); + else +#endif + putc_unlocked (' ', fs->stream); + } } fs->point_col = pad; } @@ -267,9 +284,17 @@ __argp_fmtstream_update (argp_fmtstream_ else /* Output the first line so we can use the space. */ { - if (nl > fs->buf) - fwrite_unlocked (fs->buf, 1, nl - fs->buf, fs->stream); - putc_unlocked ('\n', fs->stream); +#ifdef USE_IN_LIBIO + if (_IO_fwide (fs->stream, 0) > 0) + __fwprintf (fs->stream, L"%.*s\n", + (int) (nl - fs->buf), fs->buf); + else +#endif + { + if (nl > fs->buf) + fwrite_unlocked (fs->buf, 1, nl - fs->buf, fs->stream); + putc_unlocked ('\n', fs->stream); + } len += buf - fs->buf; nl = buf = fs->buf; } @@ -286,7 +311,12 @@ __argp_fmtstream_update (argp_fmtstream_ *nl++ = ' '; else for (i = 0; i < fs->wmargin; ++i) - putc_unlocked (' ', fs->stream); +#ifdef USE_IN_LIBIO + if (_IO_fwide (fs->stream, 0) > 0) + putwc_unlocked (L' ', fs->stream); + else +#endif + putc_unlocked (' ', fs->stream); /* Copy the tail of the original buffer into the current buffer position. */ @@ -323,7 +353,15 @@ __argp_fmtstream_ensure (struct argp_fmt /* Flush FS's buffer. */ __argp_fmtstream_update (fs); - wrote = fwrite_unlocked (fs->buf, 1, fs->p - fs->buf, fs->stream); +#ifdef USE_IN_LIBIO + if (_IO_fwide (fs->stream, 0) > 0) + { + __fwprintf (fs->stream, L"%.*s", (int) (fs->p - fs->buf), fs->buf); + wrote = fs->p - fs->buf; + } + else +#endif + wrote = fwrite_unlocked (fs->buf, 1, fs->p - fs->buf, fs->stream); if (wrote == fs->p - fs->buf) { fs->p = fs->buf; diff -durpN glibc-2.2.4/argp/argp-help.c glibc-2.2.5/argp/argp-help.c --- glibc-2.2.4/argp/argp-help.c Mon Jul 23 10:53:36 2001 +++ glibc-2.2.5/argp/argp-help.c Mon Aug 20 12:55:03 2001 @@ -1,5 +1,5 @@ /* Hierarchial argument parsing help output - Copyright (C) 1995,1996,1997,1998,1999,2000 Free Software Foundation, Inc. + Copyright (C) 1995-2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . @@ -52,6 +52,9 @@ char *alloca (); #include #include #include +#ifdef USE_IN_LIBIO +# include +#endif #ifndef _ /* This is for other GNU distributions with internationalized messages. */ @@ -1702,19 +1705,39 @@ __argp_error (const struct argp_state *s __flockfile (stream); - fputs_unlocked (state ? state->name : program_invocation_short_name, - stream); - putc_unlocked (':', stream); - putc_unlocked (' ', stream); - va_start (ap, fmt); - vfprintf (stream, fmt, ap); - va_end (ap); - putc_unlocked ('\n', stream); +#ifdef USE_IN_LIBIO + if (_IO_fwide (stream, 0) > 0) + { + char *buf; + + __asprintf (&buf, fmt, ap); + + __fwprintf (stream, L"%s: %s\n", + state ? state->name : program_invocation_short_name, + buf); + + free (buf); + } + else +#endif + { + fputs_unlocked (state + ? state->name : program_invocation_short_name, + stream); + putc_unlocked (':', stream); + putc_unlocked (' ', stream); + + vfprintf (stream, fmt, ap); + + putc_unlocked ('\n', stream); + } __argp_state_help (state, stream, ARGP_HELP_STD_ERR); + va_end (ap); + __funlockfile (stream); } } @@ -1743,29 +1766,67 @@ __argp_failure (const struct argp_state { __flockfile (stream); - fputs_unlocked (state ? state->name : program_invocation_short_name, - stream); +#ifdef USE_IN_LIBIO + if (_IO_fwide (stream, 0) > 0) + __fwprintf (stream, L"%s", + state ? state->name : program_invocation_short_name); + else +#endif + fputs_unlocked (state + ? state->name : program_invocation_short_name, + stream); if (fmt) { va_list ap; - putc_unlocked (':', stream); - putc_unlocked (' ', stream); - va_start (ap, fmt); - vfprintf (stream, fmt, ap); +#ifdef USE_IN_LIBIO + if (_IO_fwide (stream, 0) > 0) + { + char *buf; + + __asprintf (&buf, fmt, ap); + + __fwprintf (stream, L": %s", buf); + + free (buf); + } + else +#endif + { + putc_unlocked (':', stream); + putc_unlocked (' ', stream); + + vfprintf (stream, fmt, ap); + } + va_end (ap); } if (errnum) { - putc_unlocked (':', stream); - putc_unlocked (' ', stream); - fputs (strerror (errnum), stream); + char buf[200]; + +#ifdef USE_IN_LIBIO + if (_IO_fwide (stream, 0) > 0) + __fwprintf (stream, L": %s", + __strerror_r (errnum, buf, sizeof (buf))); + else +#endif + { + putc_unlocked (':', stream); + putc_unlocked (' ', stream); + fputs (__strerror_r (errnum, buf, sizeof (buf)), stream); + } } - putc_unlocked ('\n', stream); +#ifdef USE_IN_LIBIO + if (_IO_fwide (stream, 0) > 0) + putwc_unlocked (L'\n', stream); + else +#endif + putc_unlocked ('\n', stream); __funlockfile (stream); diff -durpN glibc-2.2.4/assert/assert-perr.c glibc-2.2.5/assert/assert-perr.c --- glibc-2.2.4/assert/assert-perr.c Sat Aug 11 18:28:48 2001 +++ glibc-2.2.5/assert/assert-perr.c Thu Aug 16 21:47:59 2001 @@ -17,16 +17,17 @@ 02111-1307 USA. */ #include +#include #include #include #include #include -#include extern const char *__progname; #ifdef USE_IN_LIBIO +# include # include # define fflush(s) _IO_fflush (s) #endif @@ -46,17 +47,31 @@ __assert_perror_fail (int errnum, const char *function) { char errbuf[1024]; + char *buf; + #ifdef FATAL_PREPARE FATAL_PREPARE; #endif + (void) __asprintf (&buf, _("%s%s%s:%u: %s%sUnexpected error: %s.\n"), + __progname, __progname[0] ? ": " : "", + file, line, + function ? function : "", function ? ": " : "", + __strerror_r (errnum, errbuf, sizeof errbuf)); + /* Print the message. */ - (void) fprintf (stderr, _("%s%s%s:%u: %s%sUnexpected error: %s.\n"), - __progname, __progname[0] ? ": " : "", - file, line, - function ? function : "", function ? ": " : "", - __strerror_r (errnum, errbuf, sizeof errbuf)); +#ifdef USE_IN_LIBIO + if (_IO_fwide (stderr, 0) > 0) + (void) __fwprintf (stderr, L"%s", buf); + else +#endif + (void) fputs (buf, stderr); + (void) fflush (stderr); + + /* We have to free the buffer since the appplication might catch the + SIGABRT. */ + free (buf); abort (); } diff -durpN glibc-2.2.4/assert/assert.c glibc-2.2.5/assert/assert.c --- glibc-2.2.4/assert/assert.c Sat Aug 11 18:28:48 2001 +++ glibc-2.2.5/assert/assert.c Thu Aug 16 21:47:59 2001 @@ -17,15 +17,16 @@ 02111-1307 USA. */ #include +#include #include #include #include -#include extern const char *__progname; #ifdef USE_IN_LIBIO +# include # include # define fflush(s) _IO_fflush (s) #endif @@ -44,17 +45,31 @@ void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function) { + char *buf; + #ifdef FATAL_PREPARE FATAL_PREPARE; #endif + (void) __asprintf (&buf, _("%s%s%s:%u: %s%sAssertion `%s' failed.\n"), + __progname, __progname[0] ? ": " : "", + file, line, + function ? function : "", function ? ": " : "", + assertion); + /* Print the message. */ - (void) fprintf (stderr, _("%s%s%s:%u: %s%sAssertion `%s' failed.\n"), - __progname, __progname[0] ? ": " : "", - file, line, - function ? function : "", function ? ": " : "", - assertion); +#ifdef USE_IN_LIBIO + if (_IO_fwide (stderr, 0) > 0) + (void) __fwprintf (stderr, L"%s", buf); + else +#endif + (void) fputs (buf, stderr); + (void) fflush (stderr); + + /* We have to free the buffer since the appplication might catch the + SIGABRT. */ + free (buf); abort (); } diff -durpN glibc-2.2.4/catgets/gencat.c glibc-2.2.5/catgets/gencat.c --- glibc-2.2.4/catgets/gencat.c Fri Aug 10 12:11:47 2001 +++ glibc-2.2.5/catgets/gencat.c Sun Jan 20 19:20:30 2002 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1996-1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -247,7 +247,7 @@ print_version (FILE *stream, struct argp Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2001"); +"), "2002"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } diff -durpN glibc-2.2.4/config.h.in glibc-2.2.5/config.h.in --- glibc-2.2.4/config.h.in Sat Aug 11 18:28:48 2001 +++ glibc-2.2.5/config.h.in Thu Nov 15 17:02:56 2001 @@ -1,3 +1,7 @@ +#if !defined ASSEMBLER && !defined _ISOMAC && !defined __OPTIMIZE__ +# error "glibc cannot be compiled without optimization" +#endif + /* Define if using GNU ld, with support for weak symbols in a.out, and for symbol set and warning messages extensions in a.out and ELF. This implies HAVE_WEAK_SYMBOLS; set by --with-gnu-ld. */ @@ -44,6 +48,9 @@ /* Define a symbol_name as a global .symbol_name for ld. */ #undef HAVE_ASM_GLOBAL_DOT_NAME +/* Define if _Unwind_Find_FDE should be exported from glibc. */ +#undef EXPORT_UNWIND_FIND_FDE + /* Define to use GNU libio instead of GNU stdio. This is defined by configure under --enable-libio. */ #undef USE_IN_LIBIO @@ -85,6 +92,9 @@ /* Defined on PowerPC if the GCC being used has a problem with clobbering certain registers (CR0, MQ, CTR, LR) in asm statements. */ #undef BROKEN_PPC_ASM_CR0 + +/* Define if the linker supports the -z combreloc option. */ +#undef HAVE_Z_COMBRELOC /* Defined to some form of __attribute__ ((...)) if the compiler supports diff -durpN glibc-2.2.4/config.make.in glibc-2.2.5/config.make.in --- glibc-2.2.4/config.make.in Mon Jul 23 10:53:35 2001 +++ glibc-2.2.5/config.make.in Thu Nov 15 17:03:15 2001 @@ -1,5 +1,5 @@ # @configure_input@ -# From $Id: config.make.in,v 1.78 2001/07/09 11:51:53 aj Exp $. +# From $Id: config.make.in,v 1.81 2001/11/16 01:03:15 drepper Exp $. # Don't edit this file. Put configuration parameters in configparms instead. version = @VERSION@ @@ -40,11 +40,15 @@ have-protected = @libc_cv_asm_protected_ have-z-nodelete = @libc_cv_z_nodelete@ have-z-nodlopen = @libc_cv_z_nodlopen@ have-z-initfirst = @libc_cv_z_initfirst@ +have-z-combreloc = @libc_cv_z_combreloc@ have-initfini = @libc_cv_have_initfini@ have-Bgroup = @libc_cv_Bgroup@ need-nopic-initfini = @nopic_initfini@ with-cvs = @with_cvs@ old-glibc-headers = @old_glibc_headers@ +unwind-find-fde = @libc_cv_gcc_unwind_find_fde@ + +static-libgcc = @libc_cv_gcc_static_libgcc@ versioning = @VERSIONING@ oldest-abi = @oldest_abi@ @@ -87,6 +91,7 @@ BISON = @BISON@ # Installation tools. INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_INFO = @INSTALL_INFO@ OLD_DEBIAN_INSTALL_INFO = @OLD_DEBIAN_INSTALL_INFO@ diff -durpN glibc-2.2.4/configure glibc-2.2.5/configure --- glibc-2.2.4/configure Fri Aug 10 19:12:11 2001 +++ glibc-2.2.5/configure Tue Jan 8 14:16:44 2002 @@ -682,6 +682,7 @@ else with_fp=yes fi + # Check whether --with-binutils or --without-binutils was given. if test "${with_binutils+set}" = set; then withval="$with_binutils" @@ -910,7 +911,7 @@ else { echo "configure: error: can not r fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:914: checking host system type" >&5 +echo "configure:915: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -970,7 +971,7 @@ gnu* | linux* | sysv4* | solaris2* | iri aix*) # These systems are always xcoff xcoff=yes - elf=no + elf=no ;; esac @@ -1061,7 +1062,7 @@ fi # This can take a while to compute. sysdep_dir=$srcdir/sysdeps echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6 -echo "configure:1065: checking sysdep dirs" >&5 +echo "configure:1066: checking sysdep dirs" >&5 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1. os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`" @@ -1284,7 +1285,7 @@ echo "$ac_t""$default_sysnames" 1>&6 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1288: checking for a BSD compatible install" >&5 +echo "configure:1289: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1341,7 +1342,7 @@ if test "$INSTALL" = "${srcdir}/scripts/ INSTALL='\$(..)./scripts/install-sh -c' fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1345: checking whether ln -s works" >&5 +echo "configure:1346: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1370,7 +1371,7 @@ fi # Extract the first word of "pwd", so it can be a program name with args. set dummy pwd; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1374: checking for $ac_word" >&5 +echo "configure:1375: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PWD_P'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1409,7 +1410,7 @@ fi # These programs are version sensitive. echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1413: checking build system type" >&5 +echo "configure:1414: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -1437,7 +1438,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1441: checking for $ac_word" >&5 +echo "configure:1442: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1471,7 +1472,7 @@ if test -z "$CC"; then else # Found it, now check the version. echo $ac_n "checking version of $CC""... $ac_c" 1>&6 -echo "configure:1475: checking version of $CC" >&5 +echo "configure:1476: checking version of $CC" >&5 ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -1491,7 +1492,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1495: checking for $ac_word" >&5 +echo "configure:1496: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1525,7 +1526,7 @@ if test -z "$MAKE"; then else # Found it, now check the version. echo $ac_n "checking version of $MAKE""... $ac_c" 1>&6 -echo "configure:1529: checking version of $MAKE" >&5 +echo "configure:1530: checking version of $MAKE" >&5 ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -1554,7 +1555,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1558: checking for $ac_word" >&5 +echo "configure:1559: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1588,7 +1589,7 @@ if test -z "$MSGFMT"; then else # Found it, now check the version. echo $ac_n "checking version of $MSGFMT""... $ac_c" 1>&6 -echo "configure:1592: checking version of $MSGFMT" >&5 +echo "configure:1593: checking version of $MSGFMT" >&5 ac_prog_version=`$MSGFMT --version 2>&1 | sed -n 's/^.*GNU gettext.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -1608,7 +1609,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1612: checking for $ac_word" >&5 +echo "configure:1613: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1642,7 +1643,7 @@ if test -z "$MAKEINFO"; then else # Found it, now check the version. echo $ac_n "checking version of $MAKEINFO""... $ac_c" 1>&6 -echo "configure:1646: checking version of $MAKEINFO" >&5 +echo "configure:1647: checking version of $MAKEINFO" >&5 ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -1662,7 +1663,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1666: checking for $ac_word" >&5 +echo "configure:1667: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_SED'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1696,7 +1697,7 @@ if test -z "$SED"; then else # Found it, now check the version. echo $ac_n "checking version of $SED""... $ac_c" 1>&6 -echo "configure:1700: checking version of $SED" >&5 +echo "configure:1701: checking version of $SED" >&5 ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -1714,7 +1715,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1718: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1719: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1728,12 +1729,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1732 "configure" +#line 1733 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1764,7 +1765,7 @@ else cross_linkable=yes fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1768: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1769: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_cross'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1776,7 +1777,7 @@ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1780: checking whether we are using GNU C" >&5 +echo "configure:1781: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1785,7 +1786,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1790: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1798,7 +1799,7 @@ if test $ac_cv_prog_gcc != yes; then fi echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1802: checking build system type" >&5 +echo "configure:1803: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -1821,7 +1822,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1825: checking for $ac_word" >&5 +echo "configure:1826: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1853,7 +1854,7 @@ done fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1857: checking how to run the C preprocessor" >&5 +echo "configure:1858: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1868,13 +1869,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1878: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1879: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1885,13 +1886,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1902,13 +1903,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1912: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1913: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1951,7 +1952,7 @@ if test $RANLIB = ranlib; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1955: checking for $ac_word" >&5 +echo "configure:1956: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1983,7 +1984,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1987: checking for $ac_word" >&5 +echo "configure:1988: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2020,7 +2021,7 @@ fi # Determine whether we are using GNU binutils. echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6 -echo "configure:2024: checking whether $AS is GNU as" >&5 +echo "configure:2025: checking whether $AS is GNU as" >&5 if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2039,7 +2040,7 @@ rm -f a.out gnu_as=$libc_cv_prog_as_gnu echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6 -echo "configure:2043: checking whether $LD is GNU ld" >&5 +echo "configure:2044: checking whether $LD is GNU ld" >&5 if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2059,7 +2060,7 @@ gnu_ld=$libc_cv_prog_ld_gnu # Extract the first word of "${ac_tool_prefix}mig", so it can be a program name with args. set dummy ${ac_tool_prefix}mig; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2063: checking for $ac_word" >&5 +echo "configure:2064: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MIG'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2105,27 +2106,6 @@ test -n "$aux_missing" && echo "configur CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'` -case $CCVERSION in - 3.*) gcc3=yes;; -esac - -if test x"$gcc3" = xyes; then - echo "\ -*** This version of GNU libc cannot be compiled by GCC 3.x. -*** GCC 3.x will generate a library that is binary incompatible to -*** older and future releases of GNU libc. -*** You should compile this GNU libc release by an older GCC version -*** or wait for the next GNU libc release." - if test $enable_sanity = yes; then - echo "\ -*** If you really mean to use GCC 3.x, run configure again -*** using the extra parameter \`--disable-sanity-checks'." - exit 1 - else - echo "\ -*** This configuration is not supported by the GNU libc developers." - fi -fi # if using special system headers, find out the compiler's sekrit # header directory and add that to the list. NOTE: Only does the right # thing on a system that doesn't need fixincludes. (Not presently a problem.) @@ -2137,7 +2117,7 @@ fi # check if ranlib is necessary echo $ac_n "checking whether ranlib is necessary""... $ac_c" 1>&6 -echo "configure:2141: checking whether ranlib is necessary" >&5 +echo "configure:2121: checking whether ranlib is necessary" >&5 if eval "test \"`echo '$''{'libc_cv_ranlib_necessary'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2171,7 +2151,7 @@ fi # - two terminals occur directly after each other # - the path contains an element with a dot in it echo $ac_n "checking LD_LIBRARY_PATH variable""... $ac_c" 1>&6 -echo "configure:2175: checking LD_LIBRARY_PATH variable" >&5 +echo "configure:2155: checking LD_LIBRARY_PATH variable" >&5 case ${LD_LIBRARY_PATH} in [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* ) ld_library_path_setting="contains current directory" @@ -2188,10 +2168,25 @@ if test "$ld_library_path_setting" != "o *** and run configure again." 1>&2; exit 1; } fi +echo $ac_n "checking whether GCC supports -static-libgcc""... $ac_c" 1>&6 +echo "configure:2173: checking whether GCC supports -static-libgcc" >&5 +if eval "test \"`echo '$''{'libc_cv_gcc_static_libgcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then + libc_cv_gcc_static_libgcc= +else + libc_cv_gcc_static_libgcc=-static-libgcc +fi +fi + +echo "$ac_t""$libc_cv_gcc_static_libgcc" 1>&6 + + # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2195: checking for $ac_word" >&5 +echo "configure:2190: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2237,7 +2232,7 @@ if test "$BASH" = no; then # Extract the first word of "ksh", so it can be a program name with args. set dummy ksh; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2241: checking for $ac_word" >&5 +echo "configure:2236: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2287,7 +2282,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2291: checking for $ac_word" >&5 +echo "configure:2286: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2319,7 +2314,7 @@ done # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2323: checking for $ac_word" >&5 +echo "configure:2318: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2359,7 +2354,7 @@ fi # Extract the first word of "install-info", so it can be a program name with args. set dummy install-info; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2363: checking for $ac_word" >&5 +echo "configure:2358: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_INSTALL_INFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2394,7 +2389,7 @@ fi if test "$INSTALL_INFO" != "no"; then echo $ac_n "checking for old Debian install-info""... $ac_c" 1>&6 -echo "configure:2398: checking for old Debian install-info" >&5 +echo "configure:2393: checking for old Debian install-info" >&5 if eval "test \"`echo '$''{'libc_cv_old_debian_install_info'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2429,7 +2424,7 @@ fi # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2433: checking for $ac_word" >&5 +echo "configure:2428: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2464,7 +2459,7 @@ fi echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6 -echo "configure:2468: checking for signed size_t type" >&5 +echo "configure:2463: checking for signed size_t type" >&5 if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2488,12 +2483,12 @@ EOF fi echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6 -echo "configure:2492: checking for libc-friendly stddef.h" >&5 +echo "configure:2487: checking for libc-friendly stddef.h" >&5 if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2507: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_friendly_stddef=yes else @@ -2527,7 +2522,7 @@ override stddef.h = # The installed &6 -echo "configure:2531: checking whether we need to use -P to assemble .S files" >&5 +echo "configure:2526: checking whether we need to use -P to assemble .S files" >&5 if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2550,7 +2545,7 @@ asm-CPPFLAGS = -P # The assembler can't fi echo $ac_n "checking whether .text pseudo-op must be used""... $ac_c" 1>&6 -echo "configure:2554: checking whether .text pseudo-op must be used" >&5 +echo "configure:2549: checking whether .text pseudo-op must be used" >&5 if eval "test \"`echo '$''{'libc_cv_dot_text'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2571,7 +2566,7 @@ else fi echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6 -echo "configure:2575: checking for assembler global-symbol directive" >&5 +echo "configure:2570: checking for assembler global-symbol directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2601,7 +2596,7 @@ EOF fi echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6 -echo "configure:2605: checking for .set assembler directive" >&5 +echo "configure:2600: checking for .set assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2644,7 +2639,7 @@ EOF esac echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6 -echo "configure:2648: checking for .symver assembler directive" >&5 +echo "configure:2643: checking for .symver assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2663,7 +2658,7 @@ fi echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6 echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6 -echo "configure:2667: checking for ld --version-script" >&5 +echo "configure:2662: checking for ld --version-script" >&5 if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2686,7 +2681,7 @@ EOF if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o -nostartfiles -nostdlib -Wl,--version-script,conftest.map - 1>&5'; { (eval echo configure:2690: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; + 1>&5'; { (eval echo configure:2685: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_ld_version_script_option=yes else @@ -2725,7 +2720,7 @@ if test $elf = yes && test $shared != no fi if test $elf = yes; then echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6 -echo "configure:2729: checking for .previous assembler directive" >&5 +echo "configure:2724: checking for .previous assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2733,7 +2728,7 @@ else .section foo_section .previous EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2732: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_previous_directive=yes else libc_cv_asm_previous_directive=no @@ -2749,7 +2744,7 @@ EOF else echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6 -echo "configure:2753: checking for .popsection assembler directive" >&5 +echo "configure:2748: checking for .popsection assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2757,7 +2752,7 @@ else .pushsection foo_section .popsection EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2761: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2756: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_popsection_directive=yes else libc_cv_asm_popsection_directive=no @@ -2774,7 +2769,7 @@ EOF fi fi echo $ac_n "checking for .protected and .hidden assembler directive""... $ac_c" 1>&6 -echo "configure:2778: checking for .protected and .hidden assembler directive" >&5 +echo "configure:2773: checking for .protected and .hidden assembler directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_protected_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2784,7 +2779,7 @@ foo: .hidden bar bar: EOF - if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2788: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_protected_directive=yes else libc_cv_asm_protected_directive=no @@ -2796,14 +2791,16 @@ echo "$ac_t""$libc_cv_asm_protected_dire echo $ac_n "checking for -z nodelete option""... $ac_c" 1>&6 -echo "configure:2800: checking for -z nodelete option" >&5 +echo "configure:2795: checking for -z nodelete option" >&5 if eval "test \"`echo '$''{'libc_cv_z_nodelete'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } + if { ac_try='${CC-cc} -shared -o conftest.so conftest.c + -nostartfiles -nostdlib + -Wl,--enable-new-dtags,-z,nodelete 1>&5'; { (eval echo configure:2804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } then libc_cv_z_nodelete=yes else @@ -2816,14 +2813,16 @@ echo "$ac_t""$libc_cv_z_nodelete" 1>&6 echo $ac_n "checking for -z nodlopen option""... $ac_c" 1>&6 -echo "configure:2820: checking for -z nodlopen option" >&5 +echo "configure:2817: checking for -z nodlopen option" >&5 if eval "test \"`echo '$''{'libc_cv_z_nodlopen'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } + if { ac_try='${CC-cc} -shared -o conftest.so conftest.c + -nostartfiles -nostdlib + -Wl,--enable-new-dtags,-z,nodlopen 1>&5'; { (eval echo configure:2826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } then libc_cv_z_nodlopen=yes else @@ -2836,14 +2835,16 @@ echo "$ac_t""$libc_cv_z_nodlopen" 1>&6 echo $ac_n "checking for -z initfirst option""... $ac_c" 1>&6 -echo "configure:2840: checking for -z initfirst option" >&5 +echo "configure:2839: checking for -z initfirst option" >&5 if eval "test \"`echo '$''{'libc_cv_z_initfirst'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } + if { ac_try='${CC-cc} -shared -o conftest.so conftest.c + -nostartfiles -nostdlib + -Wl,--enable-new-dtags,-z,initfirst 1>&5'; { (eval echo configure:2848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } then libc_cv_z_initfirst=yes else @@ -2856,14 +2857,14 @@ echo "$ac_t""$libc_cv_z_initfirst" 1>&6 echo $ac_n "checking for -Bgroup option""... $ac_c" 1>&6 -echo "configure:2860: checking for -Bgroup option" >&5 +echo "configure:2861: checking for -Bgroup option" >&5 if eval "test \"`echo '$''{'libc_cv_Bgroup'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } + if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&5'; { (eval echo configure:2868: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } then libc_cv_Bgroup=yes else @@ -2874,16 +2875,49 @@ fi echo "$ac_t""$libc_cv_Bgroup" 1>&6 + + echo $ac_n "checking for -z combreloc""... $ac_c" 1>&6 +echo "configure:2881: checking for -z combreloc" >&5 +if eval "test \"`echo '$''{'libc_cv_z_combreloc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } + then + if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then + libc_cv_z_combreloc=yes + else + libc_cv_z_combreloc=no + fi + else + libc_cv_z_combreloc=no + fi + rm -f conftest* +fi + +echo "$ac_t""$libc_cv_z_combreloc" 1>&6 + if test "$libc_cv_z_combreloc" = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_Z_COMBRELOC 1 +EOF + + fi fi + if test $elf != yes; then echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6 -echo "configure:2882: checking for .init and .fini sections" >&5 +echo "configure:2916: checking for .init and .fini sections" >&5 if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2930: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_have_initfini=yes else @@ -2915,7 +2949,7 @@ fi if test $elf = yes -a $gnu_ld = yes; then echo $ac_n "checking whether cc puts quotes around section names""... $ac_c" 1>&6 -echo "configure:2919: checking whether cc puts quotes around section names" >&5 +echo "configure:2953: checking whether cc puts quotes around section names" >&5 if eval "test \"`echo '$''{'libc_cv_have_section_quotes'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2952,19 +2986,19 @@ if test $elf = yes; then else if test $ac_cv_prog_cc_works = yes; then echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6 -echo "configure:2956: checking for _ prefix on C symbol names" >&5 +echo "configure:2990: checking for _ prefix on C symbol names" >&5 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* libc_cv_asm_underscores=yes else @@ -2979,17 +3013,17 @@ fi echo "$ac_t""$libc_cv_asm_underscores" 1>&6 else echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6 -echo "configure:2983: checking for _ prefix on C symbol names" >&5 +echo "configure:3017: checking for _ prefix on C symbol names" >&5 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3027: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if grep _underscore_test conftest* >/dev/null; then rm -f conftest* libc_cv_asm_underscores=yes @@ -3021,7 +3055,7 @@ if test $elf = yes; then fi echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6 -echo "configure:3025: checking for assembler .weak directive" >&5 +echo "configure:3059: checking for assembler .weak directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3044,7 +3078,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive if test $libc_cv_asm_weak_directive = no; then echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6 -echo "configure:3048: checking for assembler .weakext directive" >&5 +echo "configure:3082: checking for assembler .weakext directive" >&5 if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3091,14 +3125,14 @@ EOF ;; hppa*linux*) echo $ac_n "checking for assembler line separator""... $ac_c" 1>&6 -echo "configure:3095: checking for assembler line separator" >&5 +echo "configure:3129: checking for assembler line separator" >&5 if eval "test \"`echo '$''{'libc_cv_asm_line_sep'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.s <&5; (eval $ac_try) 2>&5; }; }; then + if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:3136: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_asm_line_sep='!' else if test -z "$enable_hacker_mode"; then @@ -3120,7 +3154,7 @@ EOF esac echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6 -echo "configure:3124: checking for ld --no-whole-archive" >&5 +echo "configure:3158: checking for ld --no-whole-archive" >&5 if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3131,7 +3165,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -Wl,--no-whole-archive - -o conftest conftest.c 1>&5'; { (eval echo configure:3135: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c 1>&5'; { (eval echo configure:3169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_ld_no_whole_archive=yes else libc_cv_ld_no_whole_archive=no @@ -3145,7 +3179,7 @@ if test $libc_cv_ld_no_whole_archive = y fi echo $ac_n "checking for gcc -fexceptions""... $ac_c" 1>&6 -echo "configure:3149: checking for gcc -fexceptions" >&5 +echo "configure:3183: checking for gcc -fexceptions" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_exceptions'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3156,7 +3190,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -fexceptions - -o conftest conftest.c 1>&5'; { (eval echo configure:3160: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c 1>&5'; { (eval echo configure:3194: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_exceptions=yes else libc_cv_gcc_exceptions=no @@ -3171,14 +3205,14 @@ fi if test "$base_machine" = alpha ; then echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6 -echo "configure:3175: checking for function ..ng prefix" >&5 +echo "configure:3209: checking for function ..ng prefix" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_alpha_ng_prefix'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <<\EOF foo () { } EOF -if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:3182: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; +if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:3216: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_alpha_ng_prefix=yes else @@ -3205,19 +3239,19 @@ if test "$host_cpu" = powerpc ; then # Check for a bug present in at least versions 2.8.x of GCC # and versions 1.0.x of EGCS. echo $ac_n "checking whether clobbering cr0 causes problems""... $ac_c" 1>&6 -echo "configure:3209: checking whether clobbering cr0 causes problems" >&5 +echo "configure:3243: checking whether clobbering cr0 causes problems" >&5 if eval "test \"`echo '$''{'libc_cv_c_asmcr0_bug'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_c_asmcr0_bug='no' else @@ -3239,12 +3273,12 @@ fi fi echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6 -echo "configure:3243: checking for DWARF2 unwind info support" >&5 +echo "configure:3277: checking for DWARF2 unwind info support" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3309: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_dwarf2_unwind_info=static else libc_cv_gcc_dwarf2_unwind_info=no @@ -3279,7 +3313,7 @@ fi if test $libc_cv_gcc_dwarf2_unwind_info = no; then if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame -nostdlib -nostartfiles - -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3283: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3317: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_dwarf2_unwind_info=yes else libc_cv_gcc_dwarf2_unwind_info=no @@ -3309,12 +3343,12 @@ EOF esac echo $ac_n "checking for __builtin_expect""... $ac_c" 1>&6 -echo "configure:3313: checking for __builtin_expect" >&5 +echo "configure:3347: checking for __builtin_expect" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_builtin_expect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3360: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_builtin_expect=yes else libc_cv_gcc_builtin_expect=no @@ -3339,12 +3373,12 @@ EOF fi echo $ac_n "checking for local label subtraction""... $ac_c" 1>&6 -echo "configure:3343: checking for local label subtraction" >&5 +echo "configure:3377: checking for local label subtraction" >&5 if eval "test \"`echo '$''{'libc_cv_gcc_subtract_local_labels'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c -lgcc >&5'; { (eval echo configure:3395: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_subtract_local_labels=yes else libc_cv_gcc_subtract_local_labels=no @@ -3374,7 +3408,7 @@ EOF fi echo $ac_n "checking for libgd""... $ac_c" 1>&6 -echo "configure:3378: checking for libgd" >&5 +echo "configure:3412: checking for libgd" >&5 if test "$with_gd" != "no"; then old_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $libgd_include" @@ -3383,14 +3417,14 @@ if test "$with_gd" != "no"; then old_LIBS="$LIBS" LIBS="$LIBS -lgd -lpng -lz -lm" cat > conftest.$ac_ext < int main() { gdImagePng (0, 0) ; return 0; } EOF -if { (eval echo configure:3394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBGD=yes else @@ -3410,7 +3444,7 @@ echo "$ac_t""$LIBGD" 1>&6 echo $ac_n "checking size of long double""... $ac_c" 1>&6 -echo "configure:3414: checking size of long double" >&5 +echo "configure:3448: checking size of long double" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3418,7 +3452,7 @@ else ac_cv_sizeof_long_double=0 else cat > conftest.$ac_ext < main() @@ -3429,7 +3463,7 @@ main() exit(0); } EOF -if { (eval echo configure:3433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long_double=`cat conftestval` else @@ -3462,6 +3496,7 @@ libc_link_sources= use_ldconfig=no ldd_rewrite_script=no libc_cv_sysconfdir=$sysconfdir +libc_cv_gcc_unwind_find_fde=no # Iterate over all the sysdep directories we will use, running their # configure fragments, and looking for a uname implementation. @@ -3486,6 +3521,14 @@ for dir in $sysnames; do fi done +if test x$libc_cv_gcc_unwind_find_fde = xyes; then + cat >> confdefs.h <<\EOF +#define EXPORT_UNWIND_FIND_FDE 1 +EOF + +fi + + # If we will use the generic uname implementation, we must figure out what @@ -3498,7 +3541,7 @@ if test "$uname" = "sysdeps/generic"; th fi echo $ac_n "checking OS release for uname""... $ac_c" 1>&6 -echo "configure:3502: checking OS release for uname" >&5 +echo "configure:3545: checking OS release for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3520,7 +3563,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>& uname_release="$libc_cv_uname_release" echo $ac_n "checking OS version for uname""... $ac_c" 1>&6 -echo "configure:3524: checking OS version for uname" >&5 +echo "configure:3567: checking OS version for uname" >&5 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3542,7 +3585,7 @@ else fi echo $ac_n "checking stdio selection""... $ac_c" 1>&6 -echo "configure:3546: checking stdio selection" >&5 +echo "configure:3589: checking stdio selection" >&5 case $stdio in libio) cat >> confdefs.h <<\EOF @@ -3556,7 +3599,7 @@ echo "$ac_t""$stdio" 1>&6 # Test for old glibc 2.0.x headers so that they can be removed properly # Search only in includedir. echo $ac_n "checking for old glibc 2.0.x headers""... $ac_c" 1>&6 -echo "configure:3560: checking for old glibc 2.0.x headers" >&5 +echo "configure:3603: checking for old glibc 2.0.x headers" >&5 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h" then old_glibc_headers=yes @@ -3617,7 +3660,7 @@ if test $shared = default; then fi echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6 -echo "configure:3621: checking whether -fPIC is default" >&5 +echo "configure:3664: checking whether -fPIC is default" >&5 if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3794,6 +3837,7 @@ s%@includedir@%$includedir%g s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g +s%@with_fp@%$with_fp%g s%@with_cvs@%$with_cvs%g s%@oldest_abi@%$oldest_abi%g s%@subdirs@%$subdirs%g @@ -3830,6 +3874,7 @@ s%@RANLIB@%$RANLIB%g s%@MIG@%$MIG%g s%@CCVERSION@%$CCVERSION%g s%@SYSINCLUDES@%$SYSINCLUDES%g +s%@libc_cv_gcc_static_libgcc@%$libc_cv_gcc_static_libgcc%g s%@BASH@%$BASH%g s%@libc_cv_have_bash2@%$libc_cv_have_bash2%g s%@KSH@%$KSH%g @@ -3845,11 +3890,13 @@ s%@libc_cv_z_nodelete@%$libc_cv_z_nodele s%@libc_cv_z_nodlopen@%$libc_cv_z_nodlopen%g s%@libc_cv_z_initfirst@%$libc_cv_z_initfirst%g s%@libc_cv_Bgroup@%$libc_cv_Bgroup%g +s%@libc_cv_z_combreloc@%$libc_cv_z_combreloc%g s%@libc_cv_have_initfini@%$libc_cv_have_initfini%g s%@no_whole_archive@%$no_whole_archive%g s%@exceptions@%$exceptions%g s%@LIBGD@%$LIBGD%g s%@sizeof_long_double@%$sizeof_long_double%g +s%@libc_cv_gcc_unwind_find_fde@%$libc_cv_gcc_unwind_find_fde%g s%@uname_sysname@%$uname_sysname%g s%@uname_release@%$uname_release%g s%@uname_version@%$uname_version%g diff -durpN glibc-2.2.4/configure.in glibc-2.2.5/configure.in --- glibc-2.2.4/configure.in Fri Aug 10 12:11:47 2001 +++ glibc-2.2.5/configure.in Wed Dec 12 10:45:27 2001 @@ -59,6 +59,7 @@ dnl Arguments to specify presence of oth AC_ARG_WITH(fp, dnl [ --with-fp if using floating-point hardware [default=yes]], with_fp=$withval, with_fp=yes) +AC_SUBST(with_fp) AC_ARG_WITH(binutils, dnl --with-binutils=PATH specify location of binutils (as and ld), path_binutils=$withval, path_binutils='') @@ -255,7 +256,7 @@ gnu* | linux* | sysv4* | solaris2* | iri aix*) # These systems are always xcoff xcoff=yes - elf=no + elf=no ;; esac @@ -636,27 +637,6 @@ test -n "$aux_missing" && AC_MSG_WARN([ CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'` AC_SUBST(CCVERSION) -case $CCVERSION in - 3.*) gcc3=yes;; -esac - -if test x"$gcc3" = xyes; then - echo "\ -*** This version of GNU libc cannot be compiled by GCC 3.x. -*** GCC 3.x will generate a library that is binary incompatible to -*** older and future releases of GNU libc. -*** You should compile this GNU libc release by an older GCC version -*** or wait for the next GNU libc release." - if test $enable_sanity = yes; then - echo "\ -*** If you really mean to use GCC 3.x, run configure again -*** using the extra parameter \`--disable-sanity-checks'." - exit 1 - else - echo "\ -*** This configuration is not supported by the GNU libc developers." - fi -fi # if using special system headers, find out the compiler's sekrit # header directory and add that to the list. NOTE: Only does the right # thing on a system that doesn't need fixincludes. (Not presently a problem.) @@ -713,6 +693,14 @@ AC_MSG_ERROR([ *** and run configure again.]) fi +AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl +if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then + libc_cv_gcc_static_libgcc= +else + libc_cv_gcc_static_libgcc=-static-libgcc +fi]) +AC_SUBST(libc_cv_gcc_static_libgcc) + AC_PATH_PROG(BASH, bash, no) if test "$BASH" != no && $BASH -c 'test "$BASH_VERSINFO" \ @@ -1011,7 +999,9 @@ EOF cat > conftest.c <&AC_FD_CC]) + if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c + -nostartfiles -nostdlib + -Wl,--enable-new-dtags,-z,nodelete 1>&AC_FD_CC]) then libc_cv_z_nodelete=yes else @@ -1025,7 +1015,9 @@ EOF cat > conftest.c <&AC_FD_CC]) + if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c + -nostartfiles -nostdlib + -Wl,--enable-new-dtags,-z,nodlopen 1>&AC_FD_CC]) then libc_cv_z_nodlopen=yes else @@ -1039,7 +1031,9 @@ EOF cat > conftest.c <&AC_FD_CC]) + if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c + -nostartfiles -nostdlib + -Wl,--enable-new-dtags,-z,initfirst 1>&AC_FD_CC]) then libc_cv_z_initfirst=yes else @@ -1061,7 +1055,36 @@ EOF fi rm -f conftest*]) AC_SUBST(libc_cv_Bgroup) + + AC_CACHE_CHECK(for -z combreloc, + libc_cv_z_combreloc, [dnl + cat > conftest.c <&AC_FD_CC]) + then +dnl The following test is a bit weak. We must use a tool which can test +dnl cross-platform since the gcc used can be a cross compiler. Without +dnl introducing new options this is not easily doable. Instead use a tool +dnl which always is cross-platform: readelf. To detect whether -z combreloc +dnl look for a section named .rel.dyn. + if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then + libc_cv_z_combreloc=yes + else + libc_cv_z_combreloc=no + fi + else + libc_cv_z_combreloc=no + fi + rm -f conftest*]) + if test "$libc_cv_z_combreloc" = yes; then + AC_DEFINE(HAVE_Z_COMBRELOC) + fi fi +AC_SUBST(libc_cv_z_combreloc) if test $elf != yes; then AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini, @@ -1433,6 +1456,7 @@ libc_link_sources= use_ldconfig=no ldd_rewrite_script=no libc_cv_sysconfdir=$sysconfdir +libc_cv_gcc_unwind_find_fde=no # Iterate over all the sysdep directories we will use, running their # configure fragments, and looking for a uname implementation. @@ -1457,6 +1481,11 @@ for dir in $sysnames; do fi ]dnl done + +if test x$libc_cv_gcc_unwind_find_fde = xyes; then + AC_DEFINE(EXPORT_UNWIND_FIND_FDE) +fi +AC_SUBST(libc_cv_gcc_unwind_find_fde) AC_LINK_FILES(`echo $libc_link_sources`, `echo $libc_link_dests`) diff -durpN glibc-2.2.4/conform/conformtest.pl glibc-2.2.5/conform/conformtest.pl --- glibc-2.2.4/conform/conformtest.pl Fri Feb 9 10:03:59 2001 +++ glibc-2.2.5/conform/conformtest.pl Wed Aug 22 21:34:36 2001 @@ -53,6 +53,7 @@ $CFLAGS{"XOPEN2K"} = "-I. -fno-builtin ' @knownproblems = ('unix', 'linux', 'i386'); # Some headers need a bit more attention. +$mustprepend{'inttypes.h'} = "#include \n"; $mustprepend{'regex.h'} = "#include \n"; $mustprepend{'sched.h'} = "#include \n"; $mustprepend{'signal.h'} = "#include \n"; @@ -224,11 +225,19 @@ sub newtoken { if ($isknown{$token}) { ++$nknown; } else { - ++$nerrors; - if ($nerrors == 1) { - printf ("FAIL\n " . "-" x 72 . "\n"); - } - printf (" Namespace violation: \"%s\"\n", $token); + $errors{$token} = 1; + } +} + + +sub removetoken { + my($token) = @_; + my($idx); + + return if ($token =~ /^[0-9_]/ || $iskeyword{$token}); + + if (exists $errors{$token}) { + undef $errors{$token}; } } @@ -243,14 +252,15 @@ sub checknamespace { print TESTFILE "#include <$h>\n"; close (TESTFILE); - $nerrors = 0; + undef %errors; $nknown = 0; open (CONTENT, "$CC $CFLAGS{$dialect} -E $fnamebase.c -P -Wp,-dN | sed -e '/^# [1-9]/d' -e '/^[[:space:]]*\$/d' |"); loop: while () { - next loop if (/^#undef /); chop; if (/^#define (.*)/) { newtoken ($1, @allow); + } elsif (/^#undef (.*)/) { + removetoken ($1); } else { # We have to tokenize the line. my($str) = $_; @@ -266,14 +276,29 @@ sub checknamespace { } close (CONTENT); unlink "$fnamebase.c"; - if ($nerrors != 0) { - printf (" " . "-" x 72 . "\n"); - ++$errors; - } elsif ($nknown > 0) { - printf ("EXPECTED FAILURES\n"); - ++$known; - } else { - printf ("OK\n"); + $realerror = 0; + if ($#errors != 0) { + # Sort the output list so it's easier to compare results with diff. + foreach $f (sort keys(%errors)) { + if ($errors{$f} == 1) { + if ($realerror == 0) { + printf ("FAIL\n " . "-" x 72 . "\n"); + $realerror = 1; + ++$errors; + } + printf (" Namespace violation: \"%s\"\n", $f); + } + } + printf (" " . "-" x 72 . "\n") if ($realerror != 0); + } + + if ($realerror == 0) { + if ($nknown > 0) { + printf ("EXPECTED FAILURES\n"); + ++$known; + } else { + printf ("OK\n"); + } } } diff -durpN glibc-2.2.4/conform/data/netdb.h-data glibc-2.2.5/conform/data/netdb.h-data --- glibc-2.2.4/conform/data/netdb.h-data Fri Feb 9 10:03:59 2001 +++ glibc-2.2.5/conform/data/netdb.h-data Fri Aug 17 17:34:57 2001 @@ -77,7 +77,7 @@ function void endnetent (void) function void endprotoent (void) function void endservent (void) function void freeaddrinfo (struct addrinfo*) -function {char*} gai_strerror (int) +function {const char*} gai_strerror (int) function int getaddrinfo (const char*, const char*, const struct addrinfo*, struct addrinfo**) function {struct hostent*} gethostbyaddr (const void*, socklen_t, int) function {struct hostent*} gethostbyname (const char*) diff -durpN glibc-2.2.4/conform/data/netinet/in.h-data glibc-2.2.5/conform/data/netinet/in.h-data --- glibc-2.2.4/conform/data/netinet/in.h-data Fri Feb 9 10:04:01 2001 +++ glibc-2.2.5/conform/data/netinet/in.h-data Sat Aug 18 04:06:38 2001 @@ -58,7 +58,7 @@ function uint16_t htons (uint16_t) function uint32_t ntohl (uint32_t) function uint16_t ntohs (uint16_t) -allow-header intttypes.h +allow-header inttypes.h allow-header arpa/inet.h constant INET6_ADDRSTRLEN 46 diff -durpN glibc-2.2.4/conform/data/stddef.h-data glibc-2.2.5/conform/data/stddef.h-data --- glibc-2.2.4/conform/data/stddef.h-data Mon Feb 28 12:34:05 2000 +++ glibc-2.2.5/conform/data/stddef.h-data Sat Aug 18 15:11:09 2001 @@ -5,6 +5,5 @@ macro offsetof type ptrdiff_t type wchar_t type size_t -type wint_t allow *_t diff -durpN glibc-2.2.4/conform/data/sys/select.h-data glibc-2.2.5/conform/data/sys/select.h-data --- glibc-2.2.4/conform/data/sys/select.h-data Sat Jan 27 11:20:05 2001 +++ glibc-2.2.5/conform/data/sys/select.h-data Sat Aug 18 16:33:19 2001 @@ -1,10 +1,10 @@ #if !defined ISO && !defined POSIX +type time_t +type suseconds_t + type {struct timeval} element {struct timeval} time_t tv_sec element {struct timeval} suseconds_t tv_usec - -type time_t -type suseconds_t type sigset_t diff -durpN glibc-2.2.4/conform/data/sys/socket.h-data glibc-2.2.5/conform/data/sys/socket.h-data --- glibc-2.2.4/conform/data/sys/socket.h-data Mon Mar 26 20:52:47 2001 +++ glibc-2.2.5/conform/data/sys/socket.h-data Sat Aug 18 04:00:27 2001 @@ -103,6 +103,7 @@ function int setsockopt (int, int, int, function int shutdown (int, int) function int socket (int, int, int) function int socketpair (int, int, int, int[2]) +function int sockatmark (int) allow-header sys/uio.h diff -durpN glibc-2.2.4/conform/data/sys/uio.h-data glibc-2.2.5/conform/data/sys/uio.h-data --- glibc-2.2.4/conform/data/sys/uio.h-data Sun Feb 27 15:30:13 2000 +++ glibc-2.2.5/conform/data/sys/uio.h-data Sat Aug 18 16:21:50 2001 @@ -9,3 +9,4 @@ function ssize_t writev (int, const stru allow iov_* allow IOV_* allow *_t +allow UIO_MAXIOV diff -durpN glibc-2.2.4/conform/data/ucontext.h-data glibc-2.2.5/conform/data/ucontext.h-data --- glibc-2.2.4/conform/data/ucontext.h-data Mon May 1 14:56:30 2000 +++ glibc-2.2.5/conform/data/ucontext.h-data Sat Aug 18 18:02:25 2001 @@ -2,10 +2,10 @@ type mcontext_t type ucontext_t -element {struct ucontext_t} {ucontext_t*} uc_link -element {struct ucontext_t} sigset_t uc_sigmask -element {struct ucontext_t} stack_t uc_stack -element {struct ucontext_t} mcontext_t uc_mcontext +element ucontext_t {ucontext_t*} uc_link +element ucontext_t sigset_t uc_sigmask +element ucontext_t stack_t uc_stack +element ucontext_t mcontext_t uc_mcontext type sigset_t type stack_t diff -durpN glibc-2.2.4/conform/data/unistd.h-data glibc-2.2.5/conform/data/unistd.h-data --- glibc-2.2.4/conform/data/unistd.h-data Mon Mar 26 20:52:47 2001 +++ glibc-2.2.5/conform/data/unistd.h-data Sat Aug 18 18:04:28 2001 @@ -174,7 +174,6 @@ constant _SC_MESSAGE_PASSING constant _SC_MONOTONIC_CLOCK constant _SC_MQ_OPEN_MAX constant _SC_MQ_PRIO_MAX -constant _SC_MULTIPLE_PROCESS constant _SC_NETWORKING constant _SC_NGROUPS_MAX constant _SC_OPEN_MAX diff -durpN glibc-2.2.4/crypt/md5-crypt.c glibc-2.2.5/crypt/md5-crypt.c --- glibc-2.2.4/crypt/md5-crypt.c Mon Jul 23 10:53:37 2001 +++ glibc-2.2.5/crypt/md5-crypt.c Thu Aug 30 18:45:02 2001 @@ -1,5 +1,5 @@ /* One way encryption based on MD5 sum. - Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -179,10 +179,10 @@ __md5_crypt_r (key, salt, buffer, buflen /* Now we can construct the result string. It consists of three parts. */ cp = __stpncpy (buffer, md5_salt_prefix, MAX (0, buflen)); - buflen -= sizeof (md5_salt_prefix); + buflen -= sizeof (md5_salt_prefix) - 1; - cp = __stpncpy (cp, salt, MIN ((size_t) buflen, salt_len)); - buflen -= MIN ((size_t) buflen, salt_len); + cp = __stpncpy (cp, salt, MIN ((size_t) MAX (0, buflen), salt_len)); + buflen -= MIN ((size_t) MAX (0, buflen), salt_len); if (buflen > 0) { diff -durpN glibc-2.2.4/crypt/md5.c glibc-2.2.5/crypt/md5.c --- glibc-2.2.4/crypt/md5.c Mon Jul 23 10:53:37 2001 +++ glibc-2.2.5/crypt/md5.c Thu Dec 13 22:34:47 2001 @@ -1,6 +1,6 @@ /* Functions to compute MD5 message digest of files or memory blocks. according to the definition of MD5 in RFC 1321 from April 1992. - Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1995,1996,1997,1999,2000,2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -217,8 +217,6 @@ md5_process_bytes (buffer, len, ctx) size_t len; struct md5_ctx *ctx; { - //const void aligned_buffer = buffer; - /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) @@ -226,9 +224,6 @@ md5_process_bytes (buffer, len, ctx) size_t left_over = ctx->buflen; size_t add = 128 - left_over > len ? len : 128 - left_over; - /* Only put full words in the buffer. */ - add -= add % __alignof__ (md5_uint32); - memcpy (&ctx->buffer[left_over], buffer, add); ctx->buflen += add; @@ -247,11 +242,30 @@ md5_process_bytes (buffer, len, ctx) } /* Process available complete blocks. */ - if (len > 64) + if (len >= 64) { - md5_process_block (buffer, len & ~63, ctx); - buffer = (const char *) buffer + (len & ~63); - len &= 63; +#if !_STRING_ARCH_unaligned +/* To check alignment gcc has an appropriate operator. Other + compilers don't. */ +# if __GNUC__ >= 2 +# define UNALIGNED_P(p) (((md5_uintptr) p) % __alignof__ (md5_uint32) != 0) +# else +# define UNALIGNED_P(p) (((md5_uintptr) p) % sizeof (md5_uint32) != 0) +# endif + if (UNALIGNED_P (buffer)) + while (len > 64) + { + md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); + buffer = (const char *) buffer + 64; + len -= 64; + } + else +#endif + { + md5_process_block (buffer, len & ~63, ctx); + buffer = (const char *) buffer + (len & ~63); + len &= 63; + } } /* Move remaining bytes in internal buffer. */ diff -durpN glibc-2.2.4/crypt/md5.h glibc-2.2.5/crypt/md5.h --- glibc-2.2.4/crypt/md5.h Mon Jul 23 10:53:37 2001 +++ glibc-2.2.5/crypt/md5.h Fri Dec 14 10:14:05 2001 @@ -1,6 +1,6 @@ /* Declaration of functions and data types used for MD5 sum computing library functions. - Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1995,1996,1997,1999,2000,2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -35,8 +35,9 @@ is usually not possible. */ #ifdef _LIBC -# include -typedef u_int32_t md5_uint32; +# include +typedef uint32_t md5_uint32; +typedef uintptr_t md5_uintptr; #else # if defined __STDC__ && __STDC__ # define UINT_MAX_32_BITS 4294967295U @@ -68,6 +69,9 @@ typedef u_int32_t md5_uint32; # endif # endif # endif +/* We have to make a guess about the integer type equivalent in size + to pointers which should always be correct. */ +typedef unsigned long int md5_uintptr; #endif #undef __P diff -durpN glibc-2.2.4/csu/version.c glibc-2.2.5/csu/version.c --- glibc-2.2.4/csu/version.c Mon Jul 23 10:53:37 2001 +++ glibc-2.2.5/csu/version.c Sun Jan 20 19:20:34 2002 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992,93,94,95,96,97,98,99,2000 Free Software Foundation, Inc. +/* Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,7 +24,7 @@ static const char __libc_version[] = VER static const char banner[] = "GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\ -Copyright (C) 1992-1999, 2000, 2001 Free Software Foundation, Inc.\n\ +Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions.\n\ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ PARTICULAR PURPOSE.\n\ diff -durpN glibc-2.2.4/debug/Makefile glibc-2.2.5/debug/Makefile --- glibc-2.2.4/debug/Makefile Mon Jul 23 10:53:38 2001 +++ glibc-2.2.5/debug/Makefile Wed Aug 29 15:45:25 2001 @@ -40,14 +40,15 @@ libpcprofile-routines = pcprofile libpcprofile-inhibit-o = $(filter-out .os,$(object-suffixes)) others = pcprofiledump -install-bin = pcprofiledump xtrace +install-bin = pcprofiledump +install-bin-script = xtrace include ../Makeconfig distribute += catchsegv.sh xtrace.sh ifeq ($(elf),yes) ifeq ($(build-shared),yes) -install-bin += catchsegv +install-bin-script += catchsegv endif endif generated = catchsegv xtrace diff -durpN glibc-2.2.4/debug/xtrace.sh glibc-2.2.5/debug/xtrace.sh --- glibc-2.2.4/debug/xtrace.sh Mon Jul 23 10:53:38 2001 +++ glibc-2.2.5/debug/xtrace.sh Sun Jan 20 19:20:44 2002 @@ -1,5 +1,5 @@ #! @BASH@ -# Copyright (C) 1999, 2001 Free Software Foundation, Inc. +# Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Ulrich Drepper , 1999. @@ -53,7 +53,7 @@ Report bugs using the \`glibcbug' script do_version() { echo 'xtrace (GNU libc) @VERSION@' - echo $"Copyright (C) 2001 Free Software Foundation, Inc. + echo $"Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Ulrich Drepper." diff -durpN glibc-2.2.4/dlfcn/dlfcn.h glibc-2.2.5/dlfcn/dlfcn.h --- glibc-2.2.4/dlfcn/dlfcn.h Mon Jul 23 10:53:38 2001 +++ glibc-2.2.5/dlfcn/dlfcn.h Fri Oct 26 17:01:25 2001 @@ -1,5 +1,5 @@ /* User functions for run-time dynamic loading. - Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,6 +25,7 @@ /* Collect various system dependent definitions and declarations. */ #include + #ifdef __USE_GNU /* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT the run-time address of the symbol called NAME in the next shared @@ -38,6 +39,7 @@ # define RTLD_DEFAULT ((void *) 0) #endif + __BEGIN_DECLS /* Open the shared object FILE and map it in; return a handle that can be @@ -66,6 +68,7 @@ extern void *dlvsym (void *__restrict __ the error string so that a following call returns null. */ extern char *dlerror (void) __THROW; + #ifdef __USE_GNU /* Structure containing information about object searched using `dladdr'. */ @@ -79,7 +82,7 @@ typedef struct /* Fill in *INFO with the following information about ADDRESS. Returns 0 iff no shared object's segments contain that address. */ -extern int dladdr (const void *__address, Dl_info *__info) __THROW; +extern int dladdr (__const void *__address, Dl_info *__info) __THROW; #endif __END_DECLS diff -durpN glibc-2.2.4/dlfcn/tst-dladdr.c glibc-2.2.5/dlfcn/tst-dladdr.c --- glibc-2.2.4/dlfcn/tst-dladdr.c Mon Jul 23 10:53:38 2001 +++ glibc-2.2.5/dlfcn/tst-dladdr.c Wed Aug 22 21:01:56 2001 @@ -1,5 +1,5 @@ /* Test for dladdr. - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Volkmar Sieh and Andreas Jaeger . @@ -25,6 +25,8 @@ #include #include +#include + #define TEST_FUNCTION do_test () extern int do_test (void); @@ -52,7 +54,8 @@ do_test (void) if (ret == 0) error (EXIT_FAILURE, 0, "dladdr failed"); - printf ("address of ref1 = %p\n", sym); + printf ("address of ref1 = %lx\n", + (unsigned long int) DL_LOOKUP_ADDRESS (sym)); printf ("ret = %d\n", ret); printf ("info.dli_fname = %p (\"%s\")\n", info.dli_fname, info.dli_fname); printf ("info.dli_fbase = %p\n", info.dli_fbase); diff -durpN glibc-2.2.4/elf/Makefile glibc-2.2.5/elf/Makefile --- glibc-2.2.4/elf/Makefile Fri Jul 27 23:13:13 2001 +++ glibc-2.2.5/elf/Makefile Tue Jan 8 13:38:17 2002 @@ -1,4 +1,4 @@ -# Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -55,15 +55,26 @@ distribute := $(rtld-routines:=.c) dynam nodlopenmod.c nodelete.c nodelmod1.c nodelmod2.c \ nodelmod3.c nodelmod4.c nodlopen.c dl-osinfo.h \ reldepmod1.c reldepmod2.c reldepmod3.c reldepmod4.c \ + reldepmod5.c reldepmod6.c \ reldep4mod1.c reldep4mod2.c reldep4mod3.c reldep4mod4.c \ nextmod1.c nextmod2.c pathoptobj.c tst-pathopt.sh \ neededobj1.c neededobj2.c neededobj3.c neededobj4.c \ neededobj5.c neededobj6.c firstobj.c \ unload2mod.c unload2dep.c ltglobmod1.c ltglobmod2.c \ - testobj.h vismod.h globalmod1.c + testobj.h vismod.h globalmod1.c \ + dblloadmod1.c dblloadmod2.c dblloadmod3.c \ + reldep6mod4.c reldep6mod3.c reldep6mod2.c reldep6mod1.c \ + reldep6mod0.c \ + unwind-dw2.c unwind-dw2-fde.c unwind.h unwind-pe.h \ + unwind-dw2-fde.h dwarf2.h include ../Makeconfig +ifeq ($(unwind-find-fde),yes) +routines += unwind-dw2-fde-glibc +shared-only-routines = unwind-dw2-fde-glibc +endif + before-compile = $(objpfx)trusted-dirs.h generated := trusted-dirs.h trusted-dirs.st for-renamed/renamed.so generated-dirs := for-renamed @@ -76,11 +87,11 @@ ifeq (yes,$(build-shared)) extra-objs = $(all-rtld-routines:%=%.os) soinit.os sofini.os interp.os generated += librtld.os dl-allobjs.os ld.so ldd install-others = $(inst_slibdir)/$(rtld-installed-name) -install-bin = ldd +install-bin-script = ldd endif others = sprof sln -install-bin += sprof +install-bin = sprof others-static = sln install-rootsbin = sln @@ -102,10 +113,10 @@ endif ifeq (yes,$(build-shared)) tests = loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ constload1 order $(tests-vis-$(have-protected)) noload filter unload \ - reldep reldep2 reldep3 reldep4 next $(tests-nodelete-$(have-z-nodelete)) \ + reldep reldep2 reldep3 reldep4 $(tests-nodelete-$(have-z-nodelete)) \ $(tests-nodlopen-$(have-z-nodlopen)) neededtest neededtest2 \ neededtest3 neededtest4 unload2 lateglobal initfirst global \ - restest2 + restest2 next dblload dblunload reldep5 reldep6 test-srcs = tst-pathopt tests-vis-yes = vismain tests-nodelete-yes = nodelete @@ -120,7 +131,9 @@ modules-names = testobj1 testobj2 testob reldep4mod1 reldep4mod2 reldep4mod3 reldep4mod4 \ neededobj1 neededobj2 neededobj3 neededobj4 \ neededobj5 neededobj6 firstobj globalmod1 \ - unload2mod unload2dep ltglobmod1 ltglobmod2 pathoptobj + unload2mod unload2dep ltglobmod1 ltglobmod2 pathoptobj \ + dblloadmod1 dblloadmod2 dblloadmod3 reldepmod5 reldepmod6 \ + reldep6mod0 reldep6mod1 reldep6mod2 reldep6mod3 reldep6mod4 modules-vis-yes = vismod1 vismod2 vismod3 modules-nodelete-yes = nodelmod1 nodelmod2 nodelmod3 nodelmod4 modules-nodlopen-yes = nodlopenmod @@ -281,6 +294,14 @@ $(objpfx)firstobj.so: $(shared-thread-li $(objpfx)globalmod1.so: $(libdl) $(objpfx)reldep4mod1.so: $(objpfx)reldep4mod3.so $(objpfx)reldep4mod2.so: $(objpfx)reldep4mod4.so +$(objpfx)dblloadmod1.so: $(objpfx)dblloadmod3.so +$(objpfx)dblloadmod2.so: $(objpfx)dblloadmod3.so +$(objpfx)reldepmod5.so: $(objpfx)reldepmod2.so +$(objpfx)reldepmod6.so: $(objpfx)reldepmod2.so +$(objpfx)reldep6mod1.so: $(objpfx)reldep6mod0.so +$(objpfx)reldep6mod2.so: $(objpfx)reldep6mod1.so +$(objpfx)reldep6mod3.so: $(objpfx)reldep6mod2.so +$(objpfx)reldep6mod4.so: $(objpfx)reldep6mod1.so # filtmod1.so has a special rule $(filter-out $(objpfx)filtmod1.so, $(test-modules)): $(objpfx)%.so: $(objpfx)%.os @@ -413,3 +434,15 @@ $(objpfx)initfirst.out: $(objpfx)firstob $(objpfx)global: $(objpfx)globalmod1.so $(objpfx)global.out: $(objpfx)reldepmod1.so + +$(objpfx)dblload: $(libdl) +$(objpfx)dblload.out: $(objpfx)dblloadmod1.so $(objpfx)dblloadmod2.so + +$(objpfx)dblunload: $(libdl) +$(objpfx)dblunload.out: $(objpfx)dblloadmod1.so $(objpfx)dblloadmod2.so + +$(objpfx)reldep5: $(libdl) +$(objpfx)reldep5.out: $(objpfx)reldepmod5.so $(objpfx)reldepmod5.so + +$(objpfx)reldep6: $(libdl) +$(objpfx)reldep6.out: $(objpfx)reldep6mod3.so $(objpfx)reldep6mod4.so diff -durpN glibc-2.2.4/elf/Versions glibc-2.2.5/elf/Versions --- glibc-2.2.4/elf/Versions Fri Jul 27 23:13:13 2001 +++ glibc-2.2.5/elf/Versions Thu Dec 6 00:10:06 2001 @@ -2,6 +2,9 @@ libc { GLIBC_2.0 { # functions used in other libraries _dl_open; _dl_close; _dl_addr; +%ifdef EXPORT_UNWIND_FIND_FDE + __register_frame_info; __deregister_frame_info; +%endif } GLIBC_2.1 { # functions used in other libraries @@ -17,6 +20,12 @@ libc { GLIBC_2.2.4 { dl_iterate_phdr; } +%ifdef EXPORT_UNWIND_FIND_FDE + GCC_3.0 { + __register_frame_info_bases; __deregister_frame_info_bases; + __register_frame_info_table_bases; _Unwind_Find_FDE; + } +%endif } ld { diff -durpN glibc-2.2.4/elf/dblload.c glibc-2.2.5/elf/dblload.c --- glibc-2.2.4/elf/dblload.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/dblload.c Wed Sep 5 18:01:12 2001 @@ -0,0 +1,53 @@ +#include +#include +#include +#include + + +int +main (void) +{ + void *p1; + void *p2; + int (*fp) (void); + int result; + + mtrace (); + + p1 = dlopen ("dblloadmod1.so", RTLD_LAZY); + if (p1 == NULL) + { + printf ("cannot open dblloadmod1.so: %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + p2 = dlopen ("dblloadmod2.so", RTLD_LAZY); + if (p1 == NULL) + { + printf ("cannot open dblloadmod2.so: %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + fp = dlsym (p1, "foo"); + if (fp == NULL) + { + printf ("cannot get function \"foo\": %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + result = fp (); + + if (dlclose (p1) != 0) + { + printf ("error while closing dblloadmod1.so: %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + if (dlclose (p2) != 0) + { + printf ("error while closing dblloadmod2.so: %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + return result; +} diff -durpN glibc-2.2.4/elf/dblloadmod1.c glibc-2.2.5/elf/dblloadmod1.c --- glibc-2.2.4/elf/dblloadmod1.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/dblloadmod1.c Wed Sep 5 18:01:32 2001 @@ -0,0 +1,7 @@ +extern int bar (void); + +int +foo (void) +{ + return 10 + bar (); +} diff -durpN glibc-2.2.4/elf/dblloadmod2.c glibc-2.2.5/elf/dblloadmod2.c --- glibc-2.2.4/elf/dblloadmod2.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/dblloadmod2.c Wed Sep 5 18:01:32 2001 @@ -0,0 +1,13 @@ +extern int bar (void); + +int +baz (void) +{ + return -42; +} + +int +xyzzy (void) +{ + return 10 + bar (); +} diff -durpN glibc-2.2.4/elf/dblloadmod3.c glibc-2.2.5/elf/dblloadmod3.c --- glibc-2.2.4/elf/dblloadmod3.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/dblloadmod3.c Wed Sep 5 18:01:33 2001 @@ -0,0 +1,7 @@ +extern int baz (void); + +int +bar (void) +{ + return 32 + baz (); +} diff -durpN glibc-2.2.4/elf/dblunload.c glibc-2.2.5/elf/dblunload.c --- glibc-2.2.4/elf/dblunload.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/dblunload.c Wed Sep 5 18:02:08 2001 @@ -0,0 +1,53 @@ +#include +#include +#include +#include + + +int +main (void) +{ + void *p1; + void *p2; + int (*fp) (void); + int result; + + mtrace (); + + p1 = dlopen ("dblloadmod1.so", RTLD_LAZY); + if (p1 == NULL) + { + printf ("cannot load dblloadmod1.so: %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + p2 = dlopen ("dblloadmod2.so", RTLD_LAZY); + if (p2 == NULL) + { + printf ("cannot load dblloadmod2.so: %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + if (dlclose (p1) != 0) + { + printf ("error while closing dblloadmod1.so: %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + fp = dlsym (p2, "xyzzy"); + if (fp == NULL) + { + printf ("cannot get function \"xyzzy\": %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + result = fp (); + + if (dlclose (p2) != 0) + { + printf ("error while closing dblloadmod2.so: %s\n", dlerror ()); + exit (EXIT_FAILURE); + } + + return result; +} diff -durpN glibc-2.2.4/elf/dl-addr.c glibc-2.2.5/elf/dl-addr.c --- glibc-2.2.4/elf/dl-addr.c Mon Jul 23 10:53:38 2001 +++ glibc-2.2.5/elf/dl-addr.c Wed Aug 22 19:45:31 2001 @@ -1,5 +1,5 @@ /* Locate the shared object symbol nearest a given address. - Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1996-2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -30,6 +30,7 @@ _dl_addr (const void *address, Dl_info * struct link_map *l, *match; const ElfW(Sym) *symtab, *matchsym; const char *strtab; + ElfW(Word) strtabsize; /* Find the highest-addressed object that ADDRESS is not below. */ match = NULL; @@ -70,15 +71,18 @@ _dl_addr (const void *address, Dl_info * symtab = (const void *) D_PTR (match, l_info[DT_SYMTAB]); strtab = (const void *) D_PTR (match, l_info[DT_STRTAB]); + strtabsize = match->l_info[DT_STRSZ]->d_un.d_val; /* We assume that the string table follows the symbol table, because there is no way in ELF to know the size of the dynamic symbol table!! */ for (matchsym = NULL; (void *) symtab < (void *) strtab; ++symtab) if (addr >= match->l_addr + symtab->st_value - && (!matchsym - || (matchsym->st_value < symtab->st_value - && (ELFW(ST_BIND) (symtab->st_info) == STB_GLOBAL - || ELFW(ST_BIND) (symtab->st_info) == STB_WEAK)))) + && ((symtab->st_size == 0 && addr == match->l_addr + symtab->st_value) + || addr < match->l_addr + symtab->st_value + symtab->st_size) + && symtab->st_name < strtabsize + && (matchsym == NULL || matchsym->st_value < symtab->st_value) + && (ELFW(ST_BIND) (symtab->st_info) == STB_GLOBAL + || ELFW(ST_BIND) (symtab->st_info) == STB_WEAK)) matchsym = symtab; if (matchsym) diff -durpN glibc-2.2.4/elf/dl-close.c glibc-2.2.5/elf/dl-close.c --- glibc-2.2.4/elf/dl-close.c Sat Aug 4 12:31:41 2001 +++ glibc-2.2.5/elf/dl-close.c Sat Sep 8 13:02:49 2001 @@ -32,11 +32,6 @@ typedef void (*fini_t) (void); -/* During the program run we must not modify the global data of - loaded shared object simultanously in two threads. Therefore we - protect `dlopen' and `dlclose' in dlclose.c. */ -__libc_lock_define (extern, _dl_load_lock) - void internal_function _dl_close (void *_map) @@ -53,42 +48,44 @@ _dl_close (void *_map) unsigned int *new_opencount; /* First see whether we can remove the object at all. */ - if ((map->l_flags_1 & DF_1_NODELETE) && map->l_init_called) + if (__builtin_expect (map->l_flags_1 & DF_1_NODELETE, 0) + && map->l_init_called) /* Nope. Do nothing. */ return; if (__builtin_expect (map->l_opencount, 1) == 0) - _dl_signal_error (0, map->l_name, N_("shared object not open")); + _dl_signal_error (0, map->l_name, NULL, N_("shared object not open")); /* Acquire the lock. */ - __libc_lock_lock (_dl_load_lock); + __libc_lock_lock_recursive (_dl_load_lock); /* Decrement the reference count. */ if (map->l_opencount > 1 || map->l_type != lt_loaded) { /* There are still references to this object. Do nothing more. */ if (__builtin_expect (_dl_debug_mask & DL_DEBUG_FILES, 0)) - { - char buf[20]; - - buf[sizeof buf - 1] = '\0'; - - _dl_debug_printf ("\nclosing file=%s; opencount == %u\n", - map->l_name, map->l_opencount); - } + _dl_debug_printf ("\nclosing file=%s; opencount == %u\n", + map->l_name, map->l_opencount); /* One decrement the object itself, not the dependencies. */ --map->l_opencount; - __libc_lock_unlock (_dl_load_lock); + __libc_lock_unlock_recursive (_dl_load_lock); return; } list = map->l_initfini; /* Compute the new l_opencount values. */ - new_opencount = (unsigned int *) alloca (map->l_searchlist.r_nlist - * sizeof (unsigned int)); + i = map->l_searchlist.r_nlist; + if (__builtin_expect (i == 0, 0)) + /* This can happen if we handle relocation dependencies for an + object which wasn't loaded directly. */ + for (i = 1; list[i] != NULL; ++i) + ; + + new_opencount = (unsigned int *) alloca (i * sizeof (unsigned int)); + for (i = 0; list[i] != NULL; ++i) { list[i]->l_idx = i; @@ -151,6 +148,25 @@ _dl_close (void *_map) (imap, (void *) imap->l_addr + imap->l_info[DT_FINI]->d_un.d_ptr)) (); } + else if (new_opencount[i] != 0 && imap->l_type == lt_loaded) + { + /* The object is still used. But the object we are unloading + right now is responsible for loading it and therefore we + have the search list of the current object in its scope. + Remove it. */ + struct r_scope_elem **runp = imap->l_scope; + + while (*runp != NULL) + if (*runp == &map->l_searchlist) + { + /* Copy all later elements. */ + while ((runp[0] = runp[1]) != NULL) + ++runp; + break; + } + else + ++runp; + } /* Store the new l_opencount value. */ imap->l_opencount = new_opencount[i]; @@ -238,7 +254,8 @@ _dl_close (void *_map) { struct libname_list *this = lnp; lnp = lnp->next; - free (this); + if (!this->dont_free) + free (this); } while (lnp != NULL); @@ -246,6 +263,10 @@ _dl_close (void *_map) if (imap != map) free (imap->l_initfini); + /* Remove the scope array if we allocated it. */ + if (imap->l_scope != imap->l_scope_mem) + free (imap->l_scope); + if (imap->l_phdr_allocated) free ((void *) imap->l_phdr); @@ -277,7 +298,7 @@ _dl_close (void *_map) free (list); /* Release the lock. */ - __libc_lock_unlock (_dl_load_lock); + __libc_lock_unlock_recursive (_dl_load_lock); } diff -durpN glibc-2.2.4/elf/dl-deps.c glibc-2.2.5/elf/dl-deps.c --- glibc-2.2.4/elf/dl-deps.c Mon Jul 23 10:53:38 2001 +++ glibc-2.2.5/elf/dl-deps.c Thu Sep 13 21:23:07 2001 @@ -97,7 +97,7 @@ struct list \ /* DST must not appear in SUID/SGID programs. */ \ if (__libc_enable_secure) \ - _dl_signal_error (0, __str, \ + _dl_signal_error (0, __str, NULL, \ N_("DST not allowed in SUID/SGID programs")); \ \ __newp = (char *) alloca (DL_DST_REQUIRED (l, __str, strlen (__str), \ @@ -110,7 +110,7 @@ struct list /* The replacement for the DST is not known. We can't \ processed. */ \ if (fatal) \ - _dl_signal_error (0, __str, N_("\ + _dl_signal_error (0, __str, NULL, N_("\ empty dynamics string token substitution")); \ else \ { \ @@ -362,11 +362,11 @@ _dl_map_object_deps (struct link_map *ma /* This object is already in the search list we are building. Don't add a duplicate pointer. Just added by _dl_map_object. */ - for (late = newp; late->next; late = late->next) + for (late = newp; late->next != NULL; late = late->next) if (late->next->map == args.aux) break; - if (late->next) + if (late->next != NULL) { /* The object is somewhere behind the current position in the search path. We have to @@ -380,9 +380,9 @@ _dl_map_object_deps (struct link_map *ma late->next = late->next->next; /* We must move the object earlier in the chain. */ - if (args.aux->l_prev) + if (args.aux->l_prev != NULL) args.aux->l_prev->l_next = args.aux->l_next; - if (args.aux->l_next) + if (args.aux->l_next != NULL) args.aux->l_next->l_prev = args.aux->l_prev; args.aux->l_prev = newp->map->l_prev; @@ -394,21 +394,10 @@ _dl_map_object_deps (struct link_map *ma else { /* The object must be somewhere earlier in the - list. That's good, we only have to insert - an entry for the duplicate list. */ - orig->next = NULL; /* Never used. */ - - /* Now we have a problem. The element - pointing to ORIG in the list must - point to NEWP now. This is the only place - where we need this backreference and this - situation is really not that frequent. So - we don't use a double-linked list but - instead search for the preceding element. */ - late = known; - while (late->next != orig) - late = late->next; - late->next = newp; + list. Undo to the current list element what + we did above. */ + memcpy (orig, newp, sizeof (*newp)); + continue; } } else @@ -448,11 +437,13 @@ _dl_map_object_deps (struct link_map *ma { needed[nneeded++] = NULL; - l->l_initfini = malloc (nneeded * sizeof needed[0]); + l->l_initfini = (struct link_map **) + malloc ((nneeded + 1) * sizeof needed[0]); if (l->l_initfini == NULL) - _dl_signal_error (ENOMEM, map->l_name, + _dl_signal_error (ENOMEM, map->l_name, NULL, N_("cannot allocate dependency list")); - memcpy (l->l_initfini, needed, nneeded * sizeof needed[0]); + l->l_initfini[0] = l; + memcpy (&l->l_initfini[1], needed, nneeded * sizeof needed[0]); } /* If we have no auxiliary objects just go on to the next map. */ @@ -462,7 +453,7 @@ _dl_map_object_deps (struct link_map *ma while (runp != NULL && runp->done); } -out: + out: if (errno == 0 && errno_saved != 0) __set_errno (errno_saved); @@ -480,7 +471,7 @@ out: (struct link_map **) malloc ((2 * nlist + 1) * sizeof (struct link_map *)); if (map->l_initfini == NULL) - _dl_signal_error (ENOMEM, map->l_name, + _dl_signal_error (ENOMEM, map->l_name, NULL, N_("cannot allocate symbol search list")); @@ -489,7 +480,7 @@ out: for (nlist = 0, runp = known; runp; runp = runp->next) { - if (trace_mode && runp->map->l_faked) + if (__builtin_expect (trace_mode, 0) && runp->map->l_faked) /* This can happen when we trace the loading. */ --map->l_searchlist.r_nlist; else @@ -500,6 +491,30 @@ out: runp->map->l_reserved = 0; } + /* Maybe we can remove some relocation dependencies now. */ + assert (map->l_searchlist.r_list[0] == map); + for (i = 0; i < map->l_reldepsact; ++i) + { + unsigned int j; + + for (j = 1; j < nlist; ++j) + if (map->l_searchlist.r_list[j] == map->l_reldeps[i]) + { + /* A direct or transitive dependency is also on the list + of relocation dependencies. Remove the latter. */ + --map->l_reldeps[i]->l_opencount; + + for (j = i + 1; j < map->l_reldepsact; ++j) + map->l_reldeps[j - 1] = map->l_reldeps[j]; + + --map->l_reldepsact; + + /* Account for the '++i' performed by the 'for'. */ + --i; + break; + } + } + /* Now determine the order in which the initialization has to happen. */ memcpy (map->l_initfini, map->l_searchlist.r_list, nlist * sizeof (struct link_map *)); @@ -527,7 +542,7 @@ out: if (runp != NULL) { while (*runp != NULL) - if (*runp == l) + if (__builtin_expect (*runp++ == l, 0)) { struct link_map *here = map->l_initfini[k]; @@ -539,8 +554,6 @@ out: break; } - else - ++runp; } } } @@ -549,5 +562,5 @@ out: if (errno_reason) _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, - objname, errstring); + objname, NULL, errstring); } diff -durpN glibc-2.2.4/elf/dl-error.c glibc-2.2.5/elf/dl-error.c --- glibc-2.2.4/elf/dl-error.c Mon Jul 23 10:53:38 2001 +++ glibc-2.2.5/elf/dl-error.c Tue Sep 4 20:40:02 2001 @@ -63,7 +63,8 @@ static receiver_fct receiver; void internal_function -_dl_signal_error (int errcode, const char *objname, const char *errstring) +_dl_signal_error (int errcode, const char *objname, const char *occation, + const char *errstring) { struct catch *lcatch; @@ -99,9 +100,9 @@ _dl_signal_error (int errcode, const cha { /* Lossage while resolving the program's own symbols is always fatal. */ char buffer[1024]; - _dl_fatal_printf ("\ -%s: error while loading shared libraries: %s%s%s%s%s\n", + _dl_fatal_printf ("%s: %s: %s%s%s%s%s\n", _dl_argv[0] ?: "", + occation ?: N_("error while loading shared libraries"), objname, *objname ? ": " : "", errstring, errcode ? ": " : "", (errcode @@ -113,8 +114,7 @@ _dl_signal_error (int errcode, const cha void internal_function -_dl_signal_cerror (int errcode, - const char *objname, +_dl_signal_cerror (int errcode, const char *objname, const char *occation, const char *errstring) { if (receiver) @@ -125,7 +125,7 @@ _dl_signal_cerror (int errcode, (*receiver) (errcode, objname, errstring); } else - _dl_signal_error (errcode, objname, errstring); + _dl_signal_error (errcode, objname, occation, errstring); } diff -durpN glibc-2.2.4/elf/dl-iteratephdr.c glibc-2.2.5/elf/dl-iteratephdr.c --- glibc-2.2.4/elf/dl-iteratephdr.c Wed Jul 25 13:42:47 2001 +++ glibc-2.2.5/elf/dl-iteratephdr.c Wed Aug 22 23:02:45 2001 @@ -23,8 +23,6 @@ #include #include -__libc_lock_define (extern, _dl_load_lock) - int __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info, size_t size, void *data), void *data) @@ -34,7 +32,7 @@ __dl_iterate_phdr (int (*callback) (stru int ret = 0; /* Make sure we are alone. */ - __libc_lock_lock (_dl_load_lock); + __libc_lock_lock_recursive (_dl_load_lock); for (l = _dl_loaded; l != NULL; l = l->l_next) { @@ -51,7 +49,7 @@ __dl_iterate_phdr (int (*callback) (stru } /* Release the lock. */ - __libc_lock_unlock (_dl_load_lock); + __libc_lock_unlock_recursive (_dl_load_lock); return ret; } diff -durpN glibc-2.2.4/elf/dl-load.c glibc-2.2.5/elf/dl-load.c --- glibc-2.2.4/elf/dl-load.c Sat Aug 11 18:28:49 2001 +++ glibc-2.2.5/elf/dl-load.c Sat Nov 10 14:43:10 2001 @@ -131,18 +131,6 @@ static const struct r_strlenpair *capstr static size_t ncapstr; static size_t max_capstrlen; -const unsigned char _dl_pf_to_prot[8] = -{ - [0] = PROT_NONE, - [PF_R] = PROT_READ, - [PF_W] = PROT_WRITE, - [PF_R | PF_W] = PROT_READ | PROT_WRITE, - [PF_X] = PROT_EXEC, - [PF_R | PF_X] = PROT_READ | PROT_EXEC, - [PF_W | PF_X] = PROT_WRITE | PROT_EXEC, - [PF_R | PF_W | PF_X] = PROT_READ | PROT_WRITE | PROT_EXEC -}; - /* Get the generated information about the trusted directories. */ #include "trusted-dirs.h" @@ -170,6 +158,30 @@ local_strdup (const char *s) } +static size_t +is_dst (const char *start, const char *name, const char *str, size_t cmplen, + int is_path, int secure) +{ + size_t len; + + if (strncmp (name, str, cmplen) == 0) + len = cmplen + 1; + else if (strncmp (name, str + 1, cmplen - 2) == 0 + && (name[cmplen - 2] == '\0' || name[cmplen - 2] == '/' + || (is_path && name[cmplen - 2] == ':'))) + len = cmplen - 1; + else + return 0; + + if (__builtin_expect (secure, 0) + && ((name[len - 1] != '\0' && (!is_path || name[len - 1] != ':')) + || (name != start + 1 && (!is_path || name[-2] != ':')))) + return 0; + + return len; +} + + size_t _dl_dst_count (const char *name, int is_path) { @@ -186,23 +198,10 @@ _dl_dst_count (const char *name, int is_ Note that it is no bug that the string in the second and fourth `strncmp' call is longer than the sequence which is actually tested. */ - if (((strncmp (&name[1], "{ORIGIN}", 8) == 0 && (len = 9) != 0) - || (strncmp (&name[1], "{ORIGIN}" + 1, 6) == 0 - && (name[7] == '\0' || name[7] == '/' - || (is_path && name[7] == ':')) - && (len = 7) != 0))) - { - if ((__builtin_expect (!__libc_enable_secure, 1) - || name[len] == '\0' || (is_path && name[len] == ':')) - && (name == start || (is_path && name[-1] == ':'))) - ++cnt; - } - else if ((strncmp (&name[1], "{PLATFORM}", 10) == 0 - && (len = 11) != 0) - || (strncmp (&name[1], "{PLATFORM}" + 1, 8) == 0 - && (name[9] == '\0' || name[9] == '/' - || (is_path && name[9] == ':')) - && (len = 9) != 0)) + if ((len = is_dst (start, name + 1, "{ORIGIN}", 8, is_path, + __libc_enable_secure)) != 0 + || ((len = is_dst (start, name + 1, "{PLATFORM}", 10, is_path, 0)) + != 0)) ++cnt; name = strchr (name + len, '$'); @@ -228,7 +227,7 @@ _dl_dst_substitute (struct link_map *l, do { - if (__builtin_expect (*name, 'a') == '$') + if (__builtin_expect (*name == '$', 0)) { const char *repl = NULL; size_t len = 1; @@ -236,25 +235,13 @@ _dl_dst_substitute (struct link_map *l, /* Note that it is no bug that the string in the second and fourth `strncmp' call is longer than the sequence which is actually tested. */ - if (((strncmp (&name[1], "{ORIGIN}", 8) == 0 && (len = 9) != 0) - || (strncmp (&name[1], "{ORIGIN}" + 1, 6) == 0 - && (name[7] == '\0' || name[7] == '/' - || (is_path && name[7] == ':')) - && (len = 7) != 0))) - { - if ((__builtin_expect (!__libc_enable_secure, 1) - || name[len] == '\0' || (is_path && name[len] == ':')) - && (name == start || (is_path && name[-1] == ':'))) - repl = l->l_origin; - } - else if ((strncmp (&name[1], "{PLATFORM}", 10) == 0 - && (len = 11) != 0) - || (strncmp (&name[1], "{PLATFORM}" + 1, 8) == 0 - && (name[9] == '\0' || name[9] == '/' || name[9] == ':') - && (len = 9) != 0)) + if ((len = is_dst (start, name + 1, "{ORIGIN}", 8, is_path, + __libc_enable_secure)) != 0) + repl = l->l_origin; + else if ((len = is_dst (start, name + 1, "{PLATFORM}", 10, is_path, + 0)) != 0) repl = _dl_platform; - if (repl != NULL && repl != (const char *) -1) { wp = __stpcpy (wp, repl); @@ -345,7 +332,7 @@ add_name_to_object (struct link_map *l, if (newname == NULL) { /* No more memory. */ - _dl_signal_error (ENOMEM, name, N_("cannot allocate name record")); + _dl_signal_error (ENOMEM, name, NULL, N_("cannot allocate name record")); return; } /* The object should have a libname set from _dl_new_object. */ @@ -452,7 +439,7 @@ fillin_rpath (char *rpath, struct r_sear malloc (sizeof (*dirp) + ncapstr * sizeof (enum r_dir_status) + where_len + len + 1); if (dirp == NULL) - _dl_signal_error (ENOMEM, NULL, + _dl_signal_error (ENOMEM, NULL, NULL, N_("cannot create cache for search path")); dirp->dirname = ((char *) dirp + sizeof (*dirp) @@ -504,6 +491,8 @@ decompose_rpath (struct r_search_path_st char *cp; struct r_search_path_elem **result; size_t nelems; + /* Initialize to please the compiler. */ + const char *errstring = NULL; /* First see whether we must forget the RUNPATH and RPATH from this object. */ @@ -521,8 +510,13 @@ decompose_rpath (struct r_search_path_st result = (struct r_search_path_elem **) malloc (sizeof (*result)); if (result == NULL) - _dl_signal_error (ENOMEM, NULL, - N_("cannot create cache for search path")); + { + signal_error_cache: + errstring = N_("cannot create cache for search path"); + signal_error: + _dl_signal_error (ENOMEM, NULL, NULL, errstring); + } + result[0] = NULL; sps->dirs = result; @@ -537,7 +531,10 @@ decompose_rpath (struct r_search_path_st string tokens. */ copy = expand_dynamic_string_token (l, rpath); if (copy == NULL) - _dl_signal_error (ENOMEM, NULL, N_("cannot create RUNPATH/RPATH copy")); + { + errstring = N_("cannot create RUNPATH/RPATH copy"); + goto signal_error; + } /* Count the number of necessary elements in the result array. */ nelems = 0; @@ -550,7 +547,7 @@ decompose_rpath (struct r_search_path_st result = (struct r_search_path_elem **) malloc ((nelems + 1 + 1) * sizeof (*result)); if (result == NULL) - _dl_signal_error (ENOMEM, NULL, N_("cannot create cache for search path")); + goto signal_error_cache; fillin_rpath (copy, result, ":", 0, what, where); @@ -575,6 +572,8 @@ _dl_init_paths (const char *llp) #ifdef SHARED struct link_map *l; #endif + /* Initialize to please the compiler. */ + const char *errstring = NULL; /* Fill in the information about the application's RPATH and the directories addressed by the LD_LIBRARY_PATH environment variable. */ @@ -587,7 +586,11 @@ _dl_init_paths (const char *llp) aelem = rtld_search_dirs.dirs = (struct r_search_path_elem **) malloc ((nsystem_dirs_len + 1) * sizeof (struct r_search_path_elem *)); if (rtld_search_dirs.dirs == NULL) - _dl_signal_error (ENOMEM, NULL, N_("cannot create search path array")); + { + errstring = N_("cannot create search path array"); + signal_error: + _dl_signal_error (ENOMEM, NULL, NULL, errstring); + } round_size = ((2 * sizeof (struct r_search_path_elem) - 1 + ncapstr * sizeof (enum r_dir_status)) @@ -597,7 +600,10 @@ _dl_init_paths (const char *llp) malloc ((sizeof (system_dirs) / sizeof (system_dirs[0])) * round_size * sizeof (struct r_search_path_elem)); if (rtld_search_dirs.dirs[0] == NULL) - _dl_signal_error (ENOMEM, NULL, N_("cannot create cache for search path")); + { + errstring = N_("cannot create cache for search path"); + goto signal_error; + } rtld_search_dirs.malloced = 0; pelem = _dl_all_dirs = rtld_search_dirs.dirs[0]; @@ -689,8 +695,10 @@ _dl_init_paths (const char *llp) env_path_list.dirs = (struct r_search_path_elem **) malloc ((nllp + 1) * sizeof (struct r_search_path_elem *)); if (env_path_list.dirs == NULL) - _dl_signal_error (ENOMEM, NULL, - N_("cannot create cache for search path")); + { + errstring = N_("cannot create cache for search path"); + goto signal_error; + } (void) fillin_rpath (llp_tmp, env_path_list.dirs, ":;", __libc_enable_secure, "LD_LIBRARY_PATH", NULL); @@ -717,7 +725,6 @@ _dl_init_paths (const char *llp) performance does not count. The function used to be "inlinable" and the compiled did so all the time. This increased the code size for absolutely no good reason. */ -#define LOSE(code, s) lose (code, fd, name, realname, l, s) static void __attribute__ ((noreturn)) lose (int code, int fd, const char *name, char *realname, struct link_map *l, @@ -727,21 +734,27 @@ lose (int code, int fd, const char *name is to avoid the function from being inlined. There is no official way to do this so we use this trick. gcc never inlines functions which use `alloca'. */ - int *a = alloca (sizeof (int)); + int *a = (int *) alloca (sizeof (int)); a[0] = fd; - (void) __close (a[0]); + /* The file might already be closed. */ + if (a[0] != -1) + (void) __close (a[0]); if (l != NULL) { /* Remove the stillborn object from the list and free it. */ - if (l->l_prev) - l->l_prev->l_next = l->l_next; - if (l->l_next) - l->l_next->l_prev = l->l_prev; + assert (l->l_next == NULL); +#ifndef SHARED + if (l->l_prev == NULL) + /* No other module loaded. */ + _dl_loaded = NULL; + else +#endif + l->l_prev->l_next = NULL; --_dl_nloaded; free (l); } free (realname); - _dl_signal_error (code, name, msg); + _dl_signal_error (code, name, NULL, msg); } @@ -757,31 +770,25 @@ _dl_map_object_from_fd (const char *name int mode) { struct link_map *l = NULL; - - auto inline caddr_t map_segment (ElfW(Addr) mapstart, size_t len, - int prot, int fixed, off_t offset); - - inline caddr_t map_segment (ElfW(Addr) mapstart, size_t len, - int prot, int fixed, off_t offset) - { - caddr_t mapat = __mmap ((caddr_t) mapstart, len, prot, - fixed|MAP_COPY|MAP_FILE, - fd, offset); - if (mapat == MAP_FAILED) - LOSE (errno, N_("failed to map segment from shared object")); - return mapat; - } - const ElfW(Ehdr) *header; const ElfW(Phdr) *phdr; const ElfW(Phdr) *ph; size_t maplength; int type; struct stat64 st; + /* Initialize to keep the compiler happy. */ + const char *errstring = NULL; + int errval = 0; /* Get file information. */ - if (__fxstat64 (_STAT_VER, fd, &st) < 0) - LOSE (errno, N_("cannot stat shared object")); + if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st) < 0, 0)) + { + errstring = N_("cannot stat shared object"); + call_lose_errno: + errval = errno; + call_lose: + lose (errval, fd, name, realname, l, errstring); + } /* Look again to see if the real name matched another already loaded. */ for (l = _dl_loaded; l; l = l->l_next) @@ -819,7 +826,8 @@ _dl_map_object_from_fd (const char *name if (_dl_zerofd == -1) { __close (fd); - _dl_signal_error (errno, NULL, N_("cannot open zero fill device")); + _dl_signal_error (errno, NULL, NULL, + N_("cannot open zero fill device")); } } #endif @@ -827,7 +835,10 @@ _dl_map_object_from_fd (const char *name /* Enter the new object in the list of loaded objects. */ l = _dl_new_object (realname, name, l_type, loader); if (__builtin_expect (! l, 0)) - LOSE (ENOMEM, N_("cannot create shared object descriptor")); + { + errstring = N_("cannot create shared object descriptor"); + goto call_lose_errno; + } /* Extract the remaining details we need from the ELF header and then read in the program header table. */ @@ -843,7 +854,10 @@ _dl_map_object_from_fd (const char *name phdr = alloca (maplength); __lseek (fd, SEEK_SET, header->e_phoff); if (__libc_read (fd, (void *) phdr, maplength) != maplength) - LOSE (errno, N_("cannot read file data")); + { + errstring = N_("cannot read file data"); + goto call_lose_errno; + } } { @@ -870,6 +884,7 @@ _dl_map_object_from_fd (const char *name l->l_ld = (void *) ph->p_vaddr; l->l_ldnum = ph->p_memsz / sizeof (ElfW(Dyn)); break; + case PT_PHDR: l->l_phdr = (void *) ph->p_vaddr; break; @@ -877,11 +892,18 @@ _dl_map_object_from_fd (const char *name case PT_LOAD: /* A load command tells us to map in part of the file. We record the load commands and process them all later. */ - if (ph->p_align % _dl_pagesize != 0) - LOSE (0, N_("ELF load command alignment not page-aligned")); - if ((ph->p_vaddr - ph->p_offset) % ph->p_align) - LOSE (0, - N_("ELF load command address/offset not properly aligned")); + if ((ph->p_align & (_dl_pagesize - 1)) != 0) + { + errstring = N_("ELF load command alignment not page-aligned"); + goto call_lose; + } + if (((ph->p_vaddr - ph->p_offset) & (ph->p_align - 1)) != 0) + { + errstring + = N_("ELF load command address/offset not properly aligned"); + goto call_lose; + } + { struct loadcmd *c = &loadcmds[nloadcmds++]; c->mapstart = ph->p_vaddr & ~(ph->p_align - 1); @@ -892,19 +914,18 @@ _dl_map_object_from_fd (const char *name c->mapoff = ph->p_offset & ~(ph->p_align - 1); /* Optimize a common case. */ - if ((PF_R | PF_W | PF_X) == 7 - && (PROT_READ | PROT_WRITE | PROT_EXEC) == 7) - c->prot = _dl_pf_to_prot[ph->p_flags & (PF_R | PF_W | PF_X)]; - else - { - c->prot = 0; - if (ph->p_flags & PF_R) - c->prot |= PROT_READ; - if (ph->p_flags & PF_W) - c->prot |= PROT_WRITE; - if (ph->p_flags & PF_X) - c->prot |= PROT_EXEC; - } +#if (PF_R | PF_W | PF_X) == 7 && (PROT_READ | PROT_WRITE | PROT_EXEC) == 7 + c->prot = (PF_TO_PROT + >> ((ph->p_flags & (PF_R | PF_W | PF_X)) * 4)) & 0xf; +#else + c->prot = 0; + if (ph->p_flags & PF_R) + c->prot |= PROT_READ; + if (ph->p_flags & PF_W) + c->prot |= PROT_WRITE; + if (ph->p_flags & PF_X) + c->prot |= PROT_EXEC; +#endif } break; } @@ -933,8 +954,16 @@ _dl_map_object_from_fd (const char *name - MAP_BASE_ADDR (l)); /* Remember which part of the address space this object uses. */ - l->l_map_start = (ElfW(Addr)) map_segment (mappref, maplength, c->prot, - 0, c->mapoff); + l->l_map_start = (ElfW(Addr)) __mmap ((void *) mappref, maplength, + c->prot, MAP_COPY | MAP_FILE, + fd, c->mapoff); + if ((void *) l->l_map_start == MAP_FAILED) + { + map_error: + errstring = N_("failed to map segment from shared object"); + goto call_lose_errno; + } + l->l_map_end = l->l_map_start + maplength; l->l_addr = l->l_map_start - c->mapstart; @@ -955,7 +984,8 @@ _dl_map_object_from_fd (const char *name happen for objects loaded with dlopen(). */ if (__builtin_expect (mode & __RTLD_DLOPEN, 0)) { - LOSE (0, N_("cannot dynamically load executable")); + errstring = N_("cannot dynamically load executable"); + goto call_lose; } /* Notify ELF_PREFERRED_ADDRESS that we have to load this one @@ -969,10 +999,13 @@ _dl_map_object_from_fd (const char *name while (c < &loadcmds[nloadcmds]) { - if (c->mapend > c->mapstart) - /* Map the segment contents from the file. */ - map_segment (l->l_addr + c->mapstart, c->mapend - c->mapstart, - c->prot, MAP_FIXED, c->mapoff); + if (c->mapend > c->mapstart + /* Map the segment contents from the file. */ + && (__mmap ((void *) (l->l_addr + c->mapstart), + c->mapend - c->mapstart, c->prot, + MAP_FIXED | MAP_COPY | MAP_FILE, fd, c->mapoff) + == MAP_FAILED)) + goto map_error; postmap: if (l->l_phdr == 0 @@ -1005,7 +1038,10 @@ _dl_map_object_from_fd (const char *name /* Dag nab it. */ if (__mprotect ((caddr_t) (zero & ~(_dl_pagesize - 1)), _dl_pagesize, c->prot|PROT_WRITE) < 0) - LOSE (errno, N_("cannot change memory protections")); + { + errstring = N_("cannot change memory protections"); + goto call_lose_errno; + } } memset ((void *) zero, '\0', zeropage - zero); if ((c->prot & PROT_WRITE) == 0) @@ -1021,7 +1057,10 @@ _dl_map_object_from_fd (const char *name c->prot, MAP_ANON|MAP_PRIVATE|MAP_FIXED, ANONFD, 0); if (mapat == MAP_FAILED) - LOSE (errno, N_("cannot map zero-fill pages")); + { + errstring = N_("cannot map zero-fill pages"); + goto call_lose_errno; + } } } @@ -1036,7 +1075,10 @@ _dl_map_object_from_fd (const char *name ElfW(Phdr) *newp = (ElfW(Phdr) *) malloc (header->e_phnum * sizeof (ElfW(Phdr))); if (newp == NULL) - LOSE (ENOMEM, N_("cannot allocate memory for program header")); + { + errstring = N_("cannot allocate memory for program header"); + goto call_lose_errno; + } l->l_phdr = memcpy (newp, phdr, (header->e_phnum * sizeof (ElfW(Phdr)))); @@ -1049,6 +1091,8 @@ _dl_map_object_from_fd (const char *name /* We are done mapping in the file. We no longer need the descriptor. */ __close (fd); + /* Signal that we closed the file. */ + fd = -1; if (l->l_type == lt_library && type == ET_EXEC) l->l_type = lt_executable; @@ -1056,7 +1100,10 @@ _dl_map_object_from_fd (const char *name if (l->l_ld == 0) { if (type == ET_DYN) - LOSE (0, N_("object file has no dynamic section")); + { + errstring = N_("object file has no dynamic section"); + goto call_lose; + } } else (ElfW(Addr)) l->l_ld += l->l_addr; @@ -1080,28 +1127,17 @@ _dl_map_object_from_fd (const char *name if (__builtin_expect (l->l_flags_1 & DF_1_NOOPEN, 0) && (mode & __RTLD_DLOPEN)) { - /* Remove from the module list. */ - assert (l->l_next == NULL); -#ifndef SHARED - if (l->l_prev == NULL) - /* No other module loaded. */ - _dl_loaded = NULL; - else -#endif - l->l_prev->l_next = NULL; - --_dl_nloaded; - /* We are not supposed to load this object. Free all resources. */ __munmap ((void *) l->l_map_start, l->l_map_end - l->l_map_start); - free (l->l_libname); + if (!l->l_libname->dont_free) + free (l->l_libname); if (l->l_phdr_allocated) free ((void *) l->l_phdr); - free (l); - - _dl_signal_error (0, name, N_("shared object cannot be dlopen()ed")); + errstring = N_("shared object cannot be dlopen()ed"); + goto call_lose; } if (l->l_info[DT_HASH]) @@ -1122,21 +1158,24 @@ _dl_map_object_from_fd (const char *name (struct link_map **) malloc (sizeof (struct link_map *)); if (l->l_symbolic_searchlist.r_list == NULL) - LOSE (ENOMEM, N_("cannot create searchlist")); + { + errstring = N_("cannot create searchlist"); + goto call_lose_errno; + } l->l_symbolic_searchlist.r_list[0] = l; l->l_symbolic_searchlist.r_nlist = 1; /* Now move the existing entries one back. */ memmove (&l->l_scope[1], &l->l_scope[0], - sizeof (l->l_scope) - sizeof (l->l_scope[0])); + (l->l_scope_max - 1) * sizeof (l->l_scope[0])); /* Now add the new entry. */ l->l_scope[0] = &l->l_symbolic_searchlist; } /* Remember whether this object must be initialized first. */ - if (__builtin_expect (l->l_flags_1 & DF_1_INITFIRST, 0)) + if (l->l_flags_1 & DF_1_INITFIRST) _dl_initfirst = l; /* Finally the file information. */ @@ -1169,13 +1208,9 @@ print_search_path (struct r_search_path_ cp[0] = '\0'; else cp[-1] = '\0'; - if (first) - { - _dl_debug_printf_c ("%s", buf); - first = 0; - } - else - _dl_debug_printf_c (":%s", buf); + + _dl_debug_printf_c (first ? "%s" : ":%s", buf); + first = 0; } ++list; @@ -1216,11 +1251,17 @@ open_verify (const char *name, struct fi [EI_OSABI] = ELFOSABI_SYSV, [EI_ABIVERSION] = 0 }; - static const struct { - ElfW(Word) vendorlen, datalen, type; + static const struct + { + ElfW(Word) vendorlen; + ElfW(Word) datalen; + ElfW(Word) type; char vendor[4]; } expected_note = { 4, 16, 1, "GNU" }; int fd; + /* Initialize it to make the compiler happy. */ + const char *errstring = NULL; + int errval = 0; /* Open the file. We always open files read-only. */ fd = __open (name, O_RDONLY); @@ -1243,8 +1284,13 @@ open_verify (const char *name, struct fi /* Now run the tests. */ if (__builtin_expect (fbp->len < (ssize_t) sizeof (ElfW(Ehdr)), 0)) - lose (errno, fd, name, NULL, NULL, - errno == 0 ? N_("file too short") : N_("cannot read file data")); + { + errval = errno; + errstring = (errval == 0 + ? N_("file too short") : N_("cannot read file data")); + call_lose: + lose (errval, fd, name, NULL, NULL, errstring); + } /* See whether the ELF header is what we expect. */ if (__builtin_expect (! VALID_ELF_HEADER (ehdr->e_ident, expected, @@ -1264,49 +1310,54 @@ open_verify (const char *name, struct fi (ELFMAG3 << (EI_MAG0 * 8))) #endif ) - lose (0, fd, name, NULL, NULL, N_("invalid ELF header")); - - if (ehdr->e_ident[EI_CLASS] != ELFW(CLASS)) + errstring = N_("invalid ELF header"); + else if (ehdr->e_ident[EI_CLASS] != ELFW(CLASS)) /* This is not a fatal error. On architectures where 32-bit and 64-bit binaries can be run this might happen. */ goto close_and_out; - - if (ehdr->e_ident[EI_DATA] != byteorder) + else if (ehdr->e_ident[EI_DATA] != byteorder) { if (BYTE_ORDER == BIG_ENDIAN) - lose (0, fd, name, NULL, NULL, - "ELF file data encoding not big-endian"); + errstring = N_("ELF file data encoding not big-endian"); else - lose (0, fd, name, NULL, NULL, - "ELF file data encoding not little-endian"); + errstring = N_("ELF file data encoding not little-endian"); } - if (ehdr->e_ident[EI_VERSION] != EV_CURRENT) - lose (0, fd, name, NULL, NULL, - N_("ELF file version ident does not match current one")); + else if (ehdr->e_ident[EI_VERSION] != EV_CURRENT) + errstring + = N_("ELF file version ident does not match current one"); /* XXX We should be able so set system specific versions which are allowed here. */ - if (!VALID_ELF_OSABI (ehdr->e_ident[EI_OSABI])) - lose (0, fd, name, NULL, NULL, N_("ELF file OS ABI invalid")); - if (!VALID_ELF_ABIVERSION (ehdr->e_ident[EI_ABIVERSION])) - lose (0, fd, name, NULL, NULL, - N_("ELF file ABI version invalid")); - lose (0, fd, name, NULL, NULL, N_("internal error")); + else if (!VALID_ELF_OSABI (ehdr->e_ident[EI_OSABI])) + errstring = N_("ELF file OS ABI invalid"); + else if (!VALID_ELF_ABIVERSION (ehdr->e_ident[EI_ABIVERSION])) + errstring = N_("ELF file ABI version invalid"); + else + /* Otherwise we don't know what went wrong. */ + errstring = N_("internal error"); + + goto call_lose; } if (__builtin_expect (ehdr->e_version, EV_CURRENT) != EV_CURRENT) - lose (0, fd, name, NULL, NULL, - N_("ELF file version does not match current one")); + { + errstring = N_("ELF file version does not match current one"); + goto call_lose; + } if (! __builtin_expect (elf_machine_matches_host (ehdr), 1)) goto close_and_out; else if (__builtin_expect (ehdr->e_phentsize, sizeof (ElfW(Phdr))) != sizeof (ElfW(Phdr))) - lose (0, fd, name, NULL, NULL, - N_("ELF file's phentsize not the expected size")); + { + errstring = N_("ELF file's phentsize not the expected size"); + goto call_lose; + } else if (__builtin_expect (ehdr->e_type, ET_DYN) != ET_DYN && __builtin_expect (ehdr->e_type, ET_EXEC) != ET_EXEC) - lose (0, fd, name, NULL, NULL, - N_("only ET_DYN and ET_EXEC can be loaded")); + { + errstring = N_("only ET_DYN and ET_EXEC can be loaded"); + goto call_lose; + } maplength = ehdr->e_phnum * sizeof (ElfW(Phdr)); if (ehdr->e_phoff + maplength <= fbp->len) @@ -1316,7 +1367,12 @@ open_verify (const char *name, struct fi phdr = alloca (maplength); __lseek (fd, SEEK_SET, ehdr->e_phoff); if (__libc_read (fd, (void *) phdr, maplength) != maplength) - lose (errno, fd, name, NULL, NULL, N_("cannot read file data")); + { + read_error: + errval = errno; + errstring = N_("cannot read file data"); + goto call_lose; + } } /* Check .note.ABI-tag if present. */ @@ -1329,8 +1385,8 @@ open_verify (const char *name, struct fi { __lseek (fd, SEEK_SET, ph->p_offset); if (__libc_read (fd, (void *) abi_note_buf, 32) != 32) - lose (errno, fd, name, NULL, NULL, - N_("cannot read file data")); + goto read_error; + abi_note = abi_note_buf; } @@ -1460,7 +1516,7 @@ open_path (const char *name, size_t name if (fd != -1) { - *realname = malloc (buflen); + *realname = (char *) malloc (buflen); if (*realname != NULL) { memcpy (*realname, buf, buflen); @@ -1566,8 +1622,11 @@ _dl_map_object (struct link_map *loader, if (l->l_rpath_dirs.dirs == NULL) { if (l->l_info[DT_RPATH] == NULL) - /* There is no path. */ - l->l_rpath_dirs.dirs = (void *) -1; + { + /* There is no path. */ + l->l_rpath_dirs.dirs = (void *) -1; + continue; + } else { /* Make sure the cache information is available. */ @@ -1575,13 +1634,10 @@ _dl_map_object (struct link_map *loader, + l->l_info[DT_RPATH]->d_un.d_val); decompose_rpath (&l->l_rpath_dirs, (const char *) ptrval, l, "RPATH"); - - if (l->l_rpath_dirs.dirs != (void *) -1) - fd = open_path (name, namelen, preloaded, - &l->l_rpath_dirs, &realname, &fb); } } - else if (l->l_rpath_dirs.dirs != (void *) -1) + + if (l->l_rpath_dirs.dirs != (void *) -1) fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs, &realname, &fb); } @@ -1600,14 +1656,22 @@ _dl_map_object (struct link_map *loader, fd = open_path (name, namelen, preloaded, &env_path_list, &realname, &fb); - /* Look at the RUNPATH information for this binary. */ - if (loader != NULL && loader->l_runpath_dirs.dirs != (void *) -1) + /* Look at the RUNPATH information for this binary. + + Note that this is no real loop. 'while' is used only to enable + us to use 'break' instead of a 'goto' to jump to the end. The + loop is always left after the first round. */ + while (fd == -1 && loader != NULL + && loader->l_runpath_dirs.dirs != (void *) -1) { if (loader->l_runpath_dirs.dirs == NULL) { if (loader->l_info[DT_RUNPATH] == NULL) - /* No RUNPATH. */ - loader->l_runpath_dirs.dirs = (void *) -1; + { + /* No RUNPATH. */ + loader->l_runpath_dirs.dirs = (void *) -1; + break; + } else { /* Make sure the cache information is available. */ @@ -1615,15 +1679,13 @@ _dl_map_object (struct link_map *loader, + loader->l_info[DT_RUNPATH]->d_un.d_val); decompose_rpath (&loader->l_runpath_dirs, (const char *) ptrval, loader, "RUNPATH"); - - if (loader->l_runpath_dirs.dirs != (void *) -1) - fd = open_path (name, namelen, preloaded, - &loader->l_runpath_dirs, &realname, &fb); } } - else if (loader->l_runpath_dirs.dirs != (void *) -1) + + if (loader->l_runpath_dirs.dirs != (void *) -1) fd = open_path (name, namelen, preloaded, &loader->l_runpath_dirs, &realname, &fb); + break; } if (fd == -1 @@ -1633,17 +1695,22 @@ _dl_map_object (struct link_map *loader, for compatibility with Linux's ldconfig program. */ const char *cached = _dl_load_cache_lookup (name); + if (cached != NULL) + { #ifdef SHARED - l = loader ?: _dl_loaded; + l = loader ?: _dl_loaded; #else - l = loader; + l = loader; #endif - if (cached) - { /* If the loader has the DF_1_NODEFLIB flag set we must not use a cache entry from any of these directories. */ - if (l && __builtin_expect (l->l_flags_1 & DF_1_NODEFLIB, 0)) + if ( +#ifndef SHARED + /* 'l' is always != NULL for dynamically linked objects. */ + l != NULL && +#endif + __builtin_expect (l->l_flags_1 & DF_1_NODEFLIB, 0)) { const char *dirp = system_dirs; unsigned int cnt = 0; @@ -1663,10 +1730,10 @@ _dl_map_object (struct link_map *loader, while (cnt < nsystem_dirs_len); } - if (cached) + if (cached != NULL) { fd = open_verify (cached, &fb); - if (__builtin_expect (fd, 0) != -1) + if (__builtin_expect (fd != -1, 1)) { realname = local_strdup (cached); if (realname == NULL) @@ -1681,7 +1748,13 @@ _dl_map_object (struct link_map *loader, /* Finally, try the default path. */ if (fd == -1 - && (l == NULL || + && ((l = loader ?: _dl_loaded) + /* 'l' is always != NULL for dynamically linked objects. */ +#ifdef SHARED + , +#else + == NULL || +#endif __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1)) && rtld_search_dirs.dirs != (void *) -1) fd = open_path (name, namelen, preloaded, &rtld_search_dirs, @@ -1720,7 +1793,7 @@ _dl_map_object (struct link_map *loader, /* Enter the new object in the list of loaded objects. */ if ((name_copy = local_strdup (name)) == NULL || (l = _dl_new_object (name_copy, name, type, loader)) == NULL) - _dl_signal_error (ENOMEM, name, + _dl_signal_error (ENOMEM, name, NULL, N_("cannot create shared object descriptor")); /* Signal that this is a faked entry. */ l->l_faked = 1; @@ -1734,7 +1807,8 @@ _dl_map_object (struct link_map *loader, return l; } else - _dl_signal_error (errno, name, N_("cannot open shared object file")); + _dl_signal_error (errno, name, NULL, + N_("cannot open shared object file")); } return _dl_map_object_from_fd (name, fd, &fb, realname, loader, type, mode); diff -durpN glibc-2.2.4/elf/dl-lookup.c glibc-2.2.5/elf/dl-lookup.c --- glibc-2.2.4/elf/dl-lookup.c Mon Jul 23 10:53:39 2001 +++ glibc-2.2.5/elf/dl-lookup.c Sat Sep 8 10:11:36 2001 @@ -18,6 +18,7 @@ 02111-1307 USA. */ #include +#include #include #include #include @@ -61,15 +62,6 @@ struct sym_val /* Statistics function. */ unsigned long int _dl_num_relocations; -/* During the program run we must not modify the global data of - loaded shared object simultanously in two threads. Therefore we - protect `_dl_open' and `_dl_close' in dl-close.c. - - This must be a recursive lock since the initializer function of - the loaded object might as well require a call to this function. - At this time it is not anymore a problem to modify the tables. */ -__libc_lock_define (extern, _dl_load_lock) - /* We have two different situations when looking up a simple: with or without versioning. gcc is not able to optimize a single function @@ -87,94 +79,103 @@ internal_function add_dependency (struct link_map *undef_map, struct link_map *map) { struct link_map **list; + struct link_map *runp; unsigned int act; unsigned int i; int result = 0; + /* Avoid self-references. */ + if (undef_map == map) + return 0; + /* Make sure nobody can unload the object while we are at it. */ - __libc_lock_lock (_dl_load_lock); + __libc_lock_lock_recursive (_dl_load_lock); /* Determine whether UNDEF_MAP already has a reference to MAP. First look in the normal dependencies. */ - list = undef_map->l_initfini; - - for (i = 0; list[i] != NULL; ++i) - if (list[i] == map) - break; - - if (__builtin_expect (list[i] == NULL, 1)) + if (undef_map->l_searchlist.r_list != NULL) { - /* No normal dependency. See whether we already had to add it - to the special list of dynamic dependencies. */ - list = undef_map->l_reldeps; - act = undef_map->l_reldepsact; + list = undef_map->l_initfini; - for (i = 0; i < act; ++i) + for (i = 0; list[i] != NULL; ++i) if (list[i] == map) - break; + goto out; + } - if (i == act) - { - /* The object is not yet in the dependency list. Before we add - it make sure just one more time the object we are about to - reference is still available. There is a brief period in - which the object could have been removed since we found the - definition. */ - struct link_map *runp = _dl_loaded; + /* No normal dependency. See whether we already had to add it + to the special list of dynamic dependencies. */ + list = undef_map->l_reldeps; + act = undef_map->l_reldepsact; - while (runp != NULL && runp != map) - runp = runp->l_next; + for (i = 0; i < act; ++i) + if (list[i] == map) + goto out; - if (runp != NULL) - { - /* The object is still available. Add the reference now. */ - if (__builtin_expect (act >= undef_map->l_reldepsmax, 0)) - { - /* Allocate more memory for the dependency list. Since - this can never happen during the startup phase we can - use `realloc'. */ - void *newp; + /* The object is not yet in the dependency list. Before we add + it make sure just one more time the object we are about to + reference is still available. There is a brief period in + which the object could have been removed since we found the + definition. */ + runp = _dl_loaded; + while (runp != NULL && runp != map) + runp = runp->l_next; - undef_map->l_reldepsmax += 5; - newp = realloc (undef_map->l_reldeps, - undef_map->l_reldepsmax - * sizeof(struct link_map *)); + if (runp != NULL) + { + /* The object is still available. Add the reference now. */ + if (__builtin_expect (act >= undef_map->l_reldepsmax, 0)) + { + /* Allocate more memory for the dependency list. Since this + can never happen during the startup phase we can use + `realloc'. */ + void *newp; - if (__builtin_expect (newp != NULL, 1)) - undef_map->l_reldeps = (struct link_map **) newp; - else - /* Correct the addition. */ - undef_map->l_reldepsmax -= 5; - } + undef_map->l_reldepsmax += 5; + newp = realloc (undef_map->l_reldeps, + undef_map->l_reldepsmax + * sizeof (struct link_map *)); - /* If we didn't manage to allocate memory for the list this - is no fatal mistake. We simply increment the use counter - of the referenced object and don't record the dependencies. - This means this increment can never be reverted and the - object will never be unloaded. This is semantically the - correct behaviour. */ - if (__builtin_expect (act < undef_map->l_reldepsmax, 1)) - undef_map->l_reldeps[undef_map->l_reldepsact++] = map; + if (__builtin_expect (newp != NULL, 1)) + undef_map->l_reldeps = (struct link_map **) newp; + else + /* Correct the addition. */ + undef_map->l_reldepsmax -= 5; + } - /* And increment the counter in the referenced object. */ - ++map->l_opencount; + /* If we didn't manage to allocate memory for the list this is + no fatal mistake. We simply increment the use counter of the + referenced object and don't record the dependencies. This + means this increment can never be reverted and the object + will never be unloaded. This is semantically the correct + behaviour. */ + if (__builtin_expect (act < undef_map->l_reldepsmax, 1)) + undef_map->l_reldeps[undef_map->l_reldepsact++] = map; - /* Display information if we are debugging. */ - if (__builtin_expect (_dl_debug_mask & DL_DEBUG_FILES, 0)) - _dl_debug_printf ("\ + if (map->l_searchlist.r_list != NULL) + /* And increment the counter in the referenced object. */ + ++map->l_opencount; + else + /* We have to bump the counts for all dependencies since so far + this object was only a normal or transitive dependency. + Now it might be closed with _dl_close() directly. */ + for (list = map->l_initfini; *list != NULL; ++list) + ++(*list)->l_opencount; + + /* Display information if we are debugging. */ + if (__builtin_expect (_dl_debug_mask & DL_DEBUG_FILES, 0)) + _dl_debug_printf ("\ \nfile=%s; needed by %s (relocation dependency)\n\n", - map->l_name[0] ? map->l_name : _dl_argv[0], - undef_map->l_name[0] - ? undef_map->l_name : _dl_argv[0]); - } - else - /* Whoa, that was bad luck. We have to search again. */ - result = -1; - } + map->l_name[0] ? map->l_name : _dl_argv[0], + undef_map->l_name[0] + ? undef_map->l_name : _dl_argv[0]); } + else + /* Whoa, that was bad luck. We have to search again. */ + result = -1; + out: /* Release the lock. */ - __libc_lock_unlock (_dl_load_lock); + __libc_lock_unlock_recursive (_dl_load_lock); return result; } @@ -184,14 +185,15 @@ internal_function _dl_do_lookup (const char *undef_name, unsigned long int hash, const ElfW(Sym) *ref, struct sym_val *result, struct r_scope_elem *scope, size_t i, - struct link_map *skip, int noexec, int noplt); + struct link_map *skip, int type_class); static int internal_function _dl_do_lookup_versioned (const char *undef_name, unsigned long int hash, const ElfW(Sym) *ref, struct sym_val *result, struct r_scope_elem *scope, size_t i, const struct r_found_version *const version, - struct link_map *skip, int noexec, int noplt); + struct link_map *skip, int type_class); + /* Search loaded objects' symbol tables for a definition of the symbol UNDEF_NAME. */ @@ -200,52 +202,49 @@ lookup_t internal_function _dl_lookup_symbol (const char *undef_name, struct link_map *undef_map, const ElfW(Sym) **ref, struct r_scope_elem *symbol_scope[], - int reloc_type, int explicit) + int type_class, int explicit) { - const char *reference_name = undef_map ? undef_map->l_name : NULL; - const unsigned long int hash = _dl_elf_hash (undef_name); + unsigned long int hash = _dl_elf_hash (undef_name); struct sym_val current_value = { NULL, NULL }; struct r_scope_elem **scope; int protected; - int noexec = elf_machine_lookup_noexec_p (reloc_type); - int noplt = elf_machine_lookup_noplt_p (reloc_type); ++_dl_num_relocations; /* Search the relevant loaded objects for a definition. */ for (scope = symbol_scope; *scope; ++scope) if (do_lookup (undef_name, hash, *ref, ¤t_value, *scope, 0, NULL, - noexec, noplt)) + type_class)) { /* We have to check whether this would bind UNDEF_MAP to an object in the global scope which was dynamically loaded. In this case we have to prevent the latter from being unloaded unless the UNDEF_MAP object is also unloaded. */ - if (__builtin_expect (current_value.m->l_global, 0) - && (__builtin_expect (current_value.m->l_type, lt_library) - == lt_loaded) - && undef_map != current_value.m + if (__builtin_expect (current_value.m->l_type == lt_loaded, 0) /* Don't do this for explicit lookups as opposed to implicit runtime lookups. */ - && __builtin_expect (! explicit, 1) + && ! explicit /* Add UNDEF_MAP to the dependencies. */ && add_dependency (undef_map, current_value.m) < 0) /* Something went wrong. Perhaps the object we tried to reference was just removed. Try finding another definition. */ return _dl_lookup_symbol (undef_name, undef_map, ref, symbol_scope, - reloc_type, 0); + type_class, 0); break; } if (__builtin_expect (current_value.s == NULL, 0)) { + const char *reference_name = undef_map ? undef_map->l_name : NULL; + if (*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK) /* We could find no value for a strong reference. */ /* XXX We cannot translate the messages. */ _dl_signal_cerror (0, (reference_name && reference_name[0] ? reference_name : (_dl_argv[0] ?: "
")), + N_("relocation error"), make_string (undefined_msg, undef_name)); *ref = NULL; return 0; @@ -254,12 +253,16 @@ _dl_lookup_symbol (const char *undef_nam protected = *ref && ELFW(ST_VISIBILITY) ((*ref)->st_other) == STV_PROTECTED; if (__builtin_expect (_dl_debug_mask & DL_DEBUG_BINDINGS, 0)) - _dl_debug_printf ("binding file %s to %s: %s symbol `%s'\n", - (reference_name && reference_name[0] - ? reference_name : (_dl_argv[0] ?: "
")), - current_value.m->l_name[0] - ? current_value.m->l_name : _dl_argv[0], - protected ? "protected" : "normal", undef_name); + { + const char *reference_name = undef_map ? undef_map->l_name : NULL; + + _dl_debug_printf ("binding file %s to %s: %s symbol `%s'\n", + (reference_name && reference_name[0] + ? reference_name : (_dl_argv[0] ?: "
")), + current_value.m->l_name[0] + ? current_value.m->l_name : _dl_argv[0], + protected ? "protected" : "normal", undef_name); + } if (__builtin_expect (protected == 0, 1)) { @@ -274,7 +277,7 @@ _dl_lookup_symbol (const char *undef_nam for (scope = symbol_scope; *scope; ++scope) if (_dl_do_lookup (undef_name, hash, *ref, &protected_value, *scope, - 0, NULL, 0, 1)) + 0, NULL, ELF_RTYPE_CLASS_PLT)) break; if (protected_value.s == NULL || protected_value.m == undef_map) @@ -315,10 +318,10 @@ _dl_lookup_symbol_skip (const char *unde assert (i < (*scope)->r_nlist); if (! _dl_do_lookup (undef_name, hash, *ref, ¤t_value, *scope, i, - skip_map, 0, 0)) + skip_map, 0)) while (*++scope) if (_dl_do_lookup (undef_name, hash, *ref, ¤t_value, *scope, 0, - skip_map, 0, 0)) + skip_map, 0)) break; if (__builtin_expect (current_value.s == NULL, 0)) @@ -350,10 +353,10 @@ _dl_lookup_symbol_skip (const char *unde if (i >= (*scope)->r_nlist || !_dl_do_lookup (undef_name, hash, *ref, &protected_value, *scope, - i, skip_map, 0, 1)) + i, skip_map, ELF_RTYPE_CLASS_PLT)) while (*++scope) if (_dl_do_lookup (undef_name, hash, *ref, &protected_value, *scope, - 0, skip_map, 0, 1)) + 0, skip_map, ELF_RTYPE_CLASS_PLT)) break; if (protected_value.s == NULL || protected_value.m == undef_map) @@ -378,15 +381,12 @@ _dl_lookup_versioned_symbol (const char struct link_map *undef_map, const ElfW(Sym) **ref, struct r_scope_elem *symbol_scope[], const struct r_found_version *version, - int reloc_type, int explicit) + int type_class, int explicit) { - const char *reference_name = undef_map ? undef_map->l_name : NULL; - const unsigned long int hash = _dl_elf_hash (undef_name); + unsigned long int hash = _dl_elf_hash (undef_name); struct sym_val current_value = { NULL, NULL }; struct r_scope_elem **scope; int protected; - int noexec = elf_machine_lookup_noexec_p (reloc_type); - int noplt = elf_machine_lookup_noplt_p (reloc_type); ++_dl_num_relocations; @@ -394,27 +394,24 @@ _dl_lookup_versioned_symbol (const char for (scope = symbol_scope; *scope; ++scope) { int res = do_lookup_versioned (undef_name, hash, *ref, ¤t_value, - *scope, 0, version, NULL, noexec, noplt); + *scope, 0, version, NULL, type_class); if (res > 0) { /* We have to check whether this would bind UNDEF_MAP to an object in the global scope which was dynamically loaded. In this case we have to prevent the latter from being unloaded unless the UNDEF_MAP object is also unloaded. */ - if (__builtin_expect (current_value.m->l_global, 0) - && (__builtin_expect (current_value.m->l_type, lt_library) - == lt_loaded) - && undef_map != current_value.m + if (__builtin_expect (current_value.m->l_type == lt_loaded, 0) /* Don't do this for explicit lookups as opposed to implicit runtime lookups. */ - && __builtin_expect (! explicit, 1) + && ! explicit /* Add UNDEF_MAP to the dependencies. */ && add_dependency (undef_map, current_value.m) < 0) /* Something went wrong. Perhaps the object we tried to reference was just removed. Try finding another definition. */ return _dl_lookup_versioned_symbol (undef_name, undef_map, ref, symbol_scope, version, - reloc_type, 0); + type_class, 0); break; } @@ -423,10 +420,13 @@ _dl_lookup_versioned_symbol (const char { /* Oh, oh. The file named in the relocation entry does not contain the needed symbol. */ + const char *reference_name = undef_map ? undef_map->l_name : NULL; + /* XXX We cannot translate the message. */ _dl_signal_cerror (0, (reference_name && reference_name[0] ? reference_name : (_dl_argv[0] ?: "
")), + N_("relocation error"), make_string ("symbol ", undef_name, ", version ", version->name, " not defined in file ", @@ -442,13 +442,18 @@ _dl_lookup_versioned_symbol (const char if (__builtin_expect (current_value.s == NULL, 0)) { if (*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK) - /* We could find no value for a strong reference. */ - /* XXX We cannot translate the message. */ - _dl_signal_cerror (0, (reference_name && reference_name[0] - ? reference_name - : (_dl_argv[0] ?: "
")), - make_string (undefined_msg, undef_name, - ", version ", version->name ?: NULL)); + { + /* We could find no value for a strong reference. */ + const char *reference_name = undef_map ? undef_map->l_name : NULL; + + /* XXX We cannot translate the message. */ + _dl_signal_cerror (0, (reference_name && reference_name[0] + ? reference_name + : (_dl_argv[0] ?: "
")), NULL, + make_string (undefined_msg, undef_name, + ", version ", + version->name ?: NULL)); + } *ref = NULL; return 0; } @@ -456,13 +461,17 @@ _dl_lookup_versioned_symbol (const char protected = *ref && ELFW(ST_VISIBILITY) ((*ref)->st_other) == STV_PROTECTED; if (__builtin_expect (_dl_debug_mask & DL_DEBUG_BINDINGS, 0)) - _dl_debug_printf ("binding file %s to %s: %s symbol `%s' [%s]\n", - (reference_name && reference_name[0] - ? reference_name : (_dl_argv[0] ?: "
")), - current_value.m->l_name[0] - ? current_value.m->l_name : _dl_argv[0], - protected ? "protected" : "normal", - undef_name, version->name); + { + const char *reference_name = undef_map ? undef_map->l_name : NULL; + + _dl_debug_printf ("binding file %s to %s: %s symbol `%s' [%s]\n", + (reference_name && reference_name[0] + ? reference_name : (_dl_argv[0] ?: "
")), + current_value.m->l_name[0] + ? current_value.m->l_name : _dl_argv[0], + protected ? "protected" : "normal", + undef_name, version->name); + } if (__builtin_expect (protected == 0, 1)) { @@ -477,7 +486,8 @@ _dl_lookup_versioned_symbol (const char for (scope = symbol_scope; *scope; ++scope) if (_dl_do_lookup_versioned (undef_name, hash, *ref, &protected_value, - *scope, 0, version, NULL, 0, 1)) + *scope, 0, version, NULL, + ELF_RTYPE_CLASS_PLT)) break; if (protected_value.s == NULL || protected_value.m == undef_map) @@ -517,10 +527,10 @@ _dl_lookup_versioned_symbol_skip (const assert (i < (*scope)->r_nlist); if (! _dl_do_lookup_versioned (undef_name, hash, *ref, ¤t_value, - *scope, i, version, skip_map, 0, 0)) + *scope, i, version, skip_map, 0)) while (*++scope) if (_dl_do_lookup_versioned (undef_name, hash, *ref, ¤t_value, - *scope, 0, version, skip_map, 0, 0)) + *scope, 0, version, skip_map, 0)) break; if (__builtin_expect (current_value.s == NULL, 0)) @@ -535,7 +545,8 @@ _dl_lookup_versioned_symbol_skip (const /* XXX We cannot translate the messages. */ _dl_signal_cerror (0, (reference_name && reference_name[0] ? reference_name - : (_dl_argv[0] ?: "
")), buf); + : (_dl_argv[0] ?: "
")), + NULL, buf); } *ref = NULL; return 0; @@ -566,11 +577,11 @@ _dl_lookup_versioned_symbol_skip (const if (i >= (*scope)->r_nlist || !_dl_do_lookup_versioned (undef_name, hash, *ref, &protected_value, *scope, i, version, - skip_map, 0, 1)) + skip_map, ELF_RTYPE_CLASS_PLT)) while (*++scope) if (_dl_do_lookup_versioned (undef_name, hash, *ref, &protected_value, *scope, 0, version, - skip_map, 0, 1)) + skip_map, ELF_RTYPE_CLASS_PLT)) break; if (protected_value.s == NULL || protected_value.m == undef_map) @@ -611,10 +622,10 @@ internal_function _dl_do_lookup (const char *undef_name, unsigned long int hash, const ElfW(Sym) *ref, struct sym_val *result, struct r_scope_elem *scope, size_t i, - struct link_map *skip, int noexec, int noplt) + struct link_map *skip, int type_class) { - return do_lookup (undef_name, hash, ref, result, scope, i, skip, noexec, - noplt); + return do_lookup (undef_name, hash, ref, result, scope, i, skip, + type_class); } static int @@ -623,8 +634,8 @@ _dl_do_lookup_versioned (const char *und const ElfW(Sym) *ref, struct sym_val *result, struct r_scope_elem *scope, size_t i, const struct r_found_version *const version, - struct link_map *skip, int noexec, int noplt) + struct link_map *skip, int type_class) { return do_lookup_versioned (undef_name, hash, ref, result, scope, i, - version, skip, noexec, noplt); + version, skip, type_class); } diff -durpN glibc-2.2.4/elf/dl-minimal.c glibc-2.2.5/elf/dl-minimal.c --- glibc-2.2.4/elf/dl-minimal.c Mon Jul 23 10:53:39 2001 +++ glibc-2.2.5/elf/dl-minimal.c Fri Nov 9 19:23:20 2001 @@ -111,6 +111,8 @@ void * weak_function realloc (void *ptr, size_t n) { void *new; + if (ptr == NULL) + return malloc (n); assert (ptr == alloc_last_block); alloc_ptr = alloc_last_block; new = malloc (n); diff -durpN glibc-2.2.4/elf/dl-misc.c glibc-2.2.5/elf/dl-misc.c --- glibc-2.2.4/elf/dl-misc.c Mon Jul 23 10:53:39 2001 +++ glibc-2.2.5/elf/dl-misc.c Wed Nov 7 15:57:09 2001 @@ -44,40 +44,38 @@ _dl_sysdep_open_zero_fill (void) #endif /* Read the whole contents of FILE into new mmap'd space with given - protections. *SIZEP gets the size of the file. */ + protections. *SIZEP gets the size of the file. On error MAP_FAILED + is returned. */ void * internal_function _dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot) { - void *result; + void *result = MAP_FAILED; struct stat64 st; int fd = __open (file, O_RDONLY); - if (fd < 0) - return NULL; - if (__fxstat64 (_STAT_VER, fd, &st) < 0 - /* No need to map the file if it is empty. */ - || st.st_size == 0) - result = NULL; - else + if (fd >= 0) { - /* Map a copy of the file contents. */ - result = __mmap (0, st.st_size, prot, + if (__fxstat64 (_STAT_VER, fd, &st) >= 0) + { + *sizep = st.st_size; + + /* No need to map the file if it is empty. */ + if (*sizep != 0) + /* Map a copy of the file contents. */ + result = __mmap (NULL, *sizep, prot, #ifdef MAP_COPY - MAP_COPY + MAP_COPY #else - MAP_PRIVATE + MAP_PRIVATE #endif #ifdef MAP_FILE - | MAP_FILE + | MAP_FILE #endif - , fd, 0); - if (result == MAP_FAILED) - result = NULL; - else - *sizep = st.st_size; + , fd, 0); + } + __close (fd); } - __close (fd); return result; } @@ -208,6 +206,12 @@ _dl_debug_vdprintf (int fd, int tag_p, c /* Get the string argument. */ iov[niov].iov_base = va_arg (arg, char *); iov[niov].iov_len = strlen (iov[niov].iov_base); + ++niov; + break; + + case '%': + iov[niov].iov_base = (void *) fmt; + iov[niov].iov_len = 1; ++niov; break; diff -durpN glibc-2.2.4/elf/dl-object.c glibc-2.2.5/elf/dl-object.c --- glibc-2.2.4/elf/dl-object.c Mon Jul 23 10:53:39 2001 +++ glibc-2.2.5/elf/dl-object.c Thu Nov 8 14:31:53 2001 @@ -37,26 +37,37 @@ _dl_new_object (char *realname, const ch struct link_map *l; int idx; size_t libname_len = strlen (libname) + 1; - struct link_map *new = calloc (sizeof *new, 1); - struct libname_list *newname = malloc (sizeof *newname + libname_len); - if (! new || ! newname) + struct link_map *new; + struct libname_list *newname; + + new = (struct link_map *) calloc (sizeof (*new) + sizeof (*newname) + + libname_len, 1); + if (new == NULL) return NULL; + new->l_libname = newname = (struct libname_list *) (new + 1); + newname->name = (char *) memcpy (newname + 1, libname, libname_len); + /* newname->next = NULL; We use calloc therefore not necessary. */ + newname->dont_free = 1; + new->l_name = realname; - newname->name = memcpy (newname + 1, libname, libname_len); - newname->next = NULL; - new->l_libname = newname; new->l_type = type; new->l_loader = loader; /* new->l_global = 0; We use calloc therefore not necessary. */ + /* Use the 'l_scope_mem' array by default for the the 'l_scope' + information. If we need more entries we will allocate a large + array dynamically. */ + new->l_scope = new->l_scope_mem; + new->l_scope_max = sizeof (new->l_scope_mem) / sizeof (new->l_scope_mem[0]); + /* Counter for the scopes we have to handle. */ idx = 0; if (_dl_loaded != NULL) { l = _dl_loaded; - while (l->l_next) + while (l->l_next != NULL) l = l->l_next; new->l_prev = l; /* new->l_next = NULL; Would be necessary but we use calloc. */ @@ -68,83 +79,83 @@ _dl_new_object (char *realname, const ch else _dl_loaded = new; ++_dl_nloaded; - /* This is our local scope. */ - if (loader != NULL) - { - while (loader->l_loader != NULL) - loader = loader->l_loader; - if (idx == 0 || &loader->l_searchlist != new->l_scope[0]) - new->l_scope[idx] = &loader->l_searchlist; - } - else if (idx == 0 || &new->l_searchlist != new->l_scope[0]) - new->l_scope[idx] = &new->l_searchlist; + + /* If we have no loader the new object acts as it. */ + if (loader == NULL) + loader = new; + else + /* Determine the local scope. */ + while (loader->l_loader != NULL) + loader = loader->l_loader; + + /* Insert the scope if it isn't the global scope we already added. */ + if (idx == 0 || &loader->l_searchlist != new->l_scope[0]) + new->l_scope[idx] = &loader->l_searchlist; new->l_local_scope[0] = &new->l_searchlist; /* Don't try to find the origin for the main map which has the name "". */ if (realname[0] != '\0') { + size_t realname_len = strlen (realname) + 1; char *origin; + char *cp; if (realname[0] == '/') { - /* It an absolute path. Use it. But we have to make a copy since - we strip out the trailing slash. */ - size_t len = strlen (realname) + 1; - origin = malloc (len); + /* It is an absolute path. Use it. But we have to make a + copy since we strip out the trailing slash. */ + cp = origin = (char *) malloc (realname_len); if (origin == NULL) - origin = (char *) -1; - else - memcpy (origin, realname, len); + { + origin = (char *) -1; + goto out; + } } else { - size_t realname_len = strlen (realname) + 1; - size_t len = 128 + realname_len; + size_t len = realname_len; char *result = NULL; /* Get the current directory name. */ - origin = malloc (len); - - while (origin != NULL - && (result = __getcwd (origin, len - realname_len)) == NULL - && errno == ERANGE) + origin = NULL; + do { len += 128; origin = (char *) realloc (origin, len); } + while (origin != NULL + && (result = __getcwd (origin, len - realname_len)) == NULL + && errno == ERANGE); if (result == NULL) { - /* We were not able to determine the current directory. */ - if (origin != NULL) - free (origin); + /* We were not able to determine the current directory. + Note that free(origin) is OK if origin == NULL. */ + free (origin); origin = (char *) -1; + goto out; } - else - { - /* Now append the filename. */ - char *cp = strchr (origin, '\0'); - - if (cp [-1] != '/') - *cp++ = '/'; - memcpy (cp, realname, realname_len); - } + /* Find the end of the path and see whether we have to add + a slash. */ + cp = __rawmemchr (origin, '\0'); + if (cp[-1] != '/') + *cp++ = '/'; } - if (origin != (char *) -1) - { - /* Now remove the filename and the slash. Do this even if the - string is something like "/foo" which leaves an empty string. */ - char *last = strrchr (origin, '/'); + /* Add the real file name. */ + memcpy (cp, realname, realname_len); - if (last == origin) - origin[1] = '\0'; - else - *last = '\0'; - } + /* Now remove the filename and the slash. Leave the slash if it + the name is something like "/foo". */ + cp = strrchr (origin, '/'); + if (cp == origin) + origin[1] = '\0'; + else + *cp = '\0'; + out: new->l_origin = origin; } diff -durpN glibc-2.2.4/elf/dl-open.c glibc-2.2.5/elf/dl-open.c --- glibc-2.2.4/elf/dl-open.c Sat Aug 11 18:28:49 2001 +++ glibc-2.2.5/elf/dl-open.c Sun Sep 30 15:57:52 2001 @@ -58,15 +58,6 @@ extern int _dl_lazy; /* Do we do lazy static void show_scope (struct link_map *new); #endif -/* During the program run we must not modify the global data of - loaded shared object simultanously in two threads. Therefore we - protect `_dl_open' and `_dl_close' in dl-close.c. - - This must be a recursive lock since the initializer function of - the loaded object might as well require a call to this function. - At this time it is not anymore a problem to modify the tables. */ -__libc_lock_define (extern, _dl_load_lock) - extern size_t _dl_platformlen; /* We must be carefull not to leave us in an inconsistent state. Thus we @@ -117,7 +108,7 @@ add_to_global (struct link_map *new) { _dl_global_scope_alloc = 0; nomem: - _dl_signal_error (ENOMEM, new->l_libname->name, + _dl_signal_error (ENOMEM, new->l_libname->name, NULL, N_("cannot extend global scope")); return 1; } @@ -184,7 +175,7 @@ dl_open_worker (void *a) /* DSTs must not appear in SUID/SGID programs. */ if (__libc_enable_secure) /* This is an error. */ - _dl_signal_error (0, "dlopen", + _dl_signal_error (0, "dlopen", NULL, N_("DST not allowed in SUID/SGID programs")); /* We have to find out from which object the caller is calling. */ @@ -215,7 +206,7 @@ dl_open_worker (void *a) /* If the substitution failed don't try to load. */ if (*new_file == '\0') - _dl_signal_error (0, "dlopen", + _dl_signal_error (0, "dlopen", NULL, N_("empty dynamic string token substitution")); /* Now we have a new file name. */ @@ -234,6 +225,10 @@ dl_open_worker (void *a) return; } + if (__builtin_expect (mode & __RTLD_SPROF, 0)) + /* This happens only if we load a DSO for 'sprof'. */ + return; + /* It was already open. */ if (new->l_searchlist.r_list != NULL) { @@ -304,9 +299,67 @@ dl_open_worker (void *a) l = l->l_prev; } - /* Increment the open count for all dependencies. */ + /* Increment the open count for all dependencies. If the file is + not loaded as a dependency here add the search list of the newly + loaded object to the scope. */ for (i = 0; i < new->l_searchlist.r_nlist; ++i) - ++new->l_searchlist.r_list[i]->l_opencount; + if (++new->l_searchlist.r_list[i]->l_opencount > 1 + && new->l_searchlist.r_list[i]->l_type == lt_loaded) + { + struct link_map *imap = new->l_searchlist.r_list[i]; + struct r_scope_elem **runp = imap->l_scope; + size_t cnt = 0; + + while (*runp != NULL) + { + /* This can happen if imap was just loaded, but during + relocation had l_opencount bumped because of relocation + dependency. Avoid duplicates in l_scope. */ + if (__builtin_expect (*runp == &new->l_searchlist, 0)) + break; + + ++cnt; + ++runp; + } + + if (*runp != NULL) + /* Avoid duplicates. */ + continue; + + if (__builtin_expect (cnt + 1 >= imap->l_scope_max, 0)) + { + /* The 'r_scope' array is too small. Allocate a new one + dynamically. */ + struct r_scope_elem **newp; + size_t new_size = imap->l_scope_max * 2; + + if (imap->l_scope == imap->l_scope_mem) + { + newp = (struct r_scope_elem **) + malloc (new_size * sizeof (struct r_scope_elem *)); + if (newp == NULL) + _dl_signal_error (ENOMEM, "dlopen", NULL, + N_("cannot create scope list")); + imap->l_scope = memcpy (newp, imap->l_scope, + cnt * sizeof (imap->l_scope[0])); + } + else + { + newp = (struct r_scope_elem **) + realloc (imap->l_scope, + new_size * sizeof (struct r_scope_elem *)); + if (newp == NULL) + _dl_signal_error (ENOMEM, "dlopen", NULL, + N_("cannot create scope list")); + imap->l_scope = newp; + } + + imap->l_scope_max = new_size; + } + + imap->l_scope[cnt++] = &new->l_searchlist; + imap->l_scope[cnt] = NULL; + } /* Run the initializer functions of new objects. */ _dl_init (new, __libc_argc, __libc_argv, __environ); @@ -346,10 +399,10 @@ _dl_open (const char *file, int mode, co if ((mode & RTLD_BINDING_MASK) == 0) /* One of the flags must be set. */ - _dl_signal_error (EINVAL, file, N_("invalid mode for dlopen()")); + _dl_signal_error (EINVAL, file, NULL, N_("invalid mode for dlopen()")); /* Make sure we are alone. */ - __libc_lock_lock (_dl_load_lock); + __libc_lock_lock_recursive (_dl_load_lock); args.file = file; args.mode = mode; @@ -363,7 +416,7 @@ _dl_open (const char *file, int mode, co #endif /* Release the lock. */ - __libc_lock_unlock (_dl_load_lock); + __libc_lock_unlock_recursive (_dl_load_lock); if (errstring) { @@ -405,7 +458,7 @@ _dl_open (const char *file, int mode, co free ((char *) errstring); /* Reraise the error. */ - _dl_signal_error (errcode, objname, local_errstring); + _dl_signal_error (errcode, objname, NULL, local_errstring); } #ifndef SHARED @@ -435,11 +488,11 @@ show_scope (struct link_map *new) for (cnt = 0; cnt < new->l_scope[scope_cnt]->r_nlist; ++cnt) if (*new->l_scope[scope_cnt]->r_list[cnt]->l_name) - _dl_printf (" %s", new->l_scope[scope_cnt]->r_list[cnt]->l_name) + _dl_printf (" %s", new->l_scope[scope_cnt]->r_list[cnt]->l_name); else - _dl_printf ("
", NULL); + _dl_printf ("
"); - _dl_printf ("\n", NULL); + _dl_printf ("\n"); } } #endif diff -durpN glibc-2.2.4/elf/dl-profile.c glibc-2.2.5/elf/dl-profile.c --- glibc-2.2.4/elf/dl-profile.c Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/dl-profile.c Tue Nov 6 22:26:02 2001 @@ -134,6 +134,9 @@ struct here_cg_arc_record static struct here_cg_arc_record *data; +/* Nonzero if profiling is under way. */ +static int running; + /* This is the number of entry which have been incorporated in the toset. */ static uint32_t narcs; /* This is a pointer to the object representing the number of entries @@ -142,9 +145,6 @@ static uint32_t narcs; lists. */ static volatile uint32_t *narcsp; -/* Description of the currently profiled object. */ -static long int state = GMON_PROF_OFF; - static volatile uint16_t *kcount; static size_t kcountsize; @@ -208,7 +208,7 @@ _dl_start_profile (struct link_map *map, /* Now we can compute the size of the profiling data. This is done with the same formulars as in `monstartup' (see gmon.c). */ - state = GMON_PROF_OFF; + running = 0; lowpc = ROUNDDOWN (mapstart + map->l_addr, HISTFRACTION * sizeof (HISTCOUNTER)); highpc = ROUNDUP (mapend + map->l_addr, @@ -424,7 +424,7 @@ _dl_start_profile (struct link_map *map, __profil ((void *) kcount, kcountsize, lowpc, s_scale); /* Turn on profiling. */ - state = GMON_PROF_ON; + running = 1; } @@ -435,14 +435,8 @@ _dl_mcount (ElfW(Addr) frompc, ElfW(Addr size_t i, fromindex; struct here_fromstruct *fromp; -#if 0 - /* XXX I think this is now not necessary anymore. */ - if (! compare_and_swap (&state, GMON_PROF_ON, GMON_PROF_BUSY)) - return; -#else - if (state != GMON_PROF_ON) + if (! running) return; -#endif /* Compute relative addresses. The shared object can be loaded at any address. The value of frompc could be anything. We cannot @@ -507,7 +501,7 @@ _dl_mcount (ElfW(Addr) frompc, ElfW(Addr /* If we still have no entry stop searching and insert. */ if (*topcindex == 0) { - uint_fast32_t newarc = 1 + exchange_and_add (narcsp, 1); + uint_fast32_t newarc = exchange_and_add (narcsp, 1); /* In rare cases it could happen that all entries in FROMS are occupied. So we cannot count this anymore. */ @@ -538,10 +532,5 @@ _dl_mcount (ElfW(Addr) frompc, ElfW(Addr atomic_add (&fromp->here->count, 1); done: -#if 0 - /* XXX See above, Shouldn't be necessary anymore. */ - state = GMON_PROF_ON; -#else ; -#endif } diff -durpN glibc-2.2.4/elf/dl-reloc.c glibc-2.2.5/elf/dl-reloc.c --- glibc-2.2.4/elf/dl-reloc.c Sat Aug 11 18:28:49 2001 +++ glibc-2.2.5/elf/dl-reloc.c Mon Nov 12 13:02:22 2001 @@ -23,14 +23,28 @@ #include #include #include +#include #include #include "dynamic-link.h" +/* Statistics function. */ +unsigned long int _dl_num_cache_relocations; + void _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], int lazy, int consider_profiling) { + struct textrels + { + caddr_t start; + size_t len; + int prot; + struct textrels *next; + } *textrels = NULL; + /* Initialize it to make the compiler happy. */ + const char *errstring = NULL; + if (l->l_relocated) return; @@ -44,6 +58,9 @@ _dl_relocate_object (struct link_map *l, _dl_printf ("\nrelocation processing: %s%s\n", l->l_name[0] ? l->l_name : _dl_argv[0], lazy ? " (lazy)" : ""); + /* DT_TEXTREL is now in level 2 and might phase out at some time. + But we rewrite the DT_FLAGS entry to a DT_TEXTREL entry to make + testing easier and therefore it will be available at all time. */ if (__builtin_expect (l->l_info[DT_TEXTREL] != NULL, 0)) { /* Bletch. We must make read-only segments writable @@ -52,15 +69,36 @@ _dl_relocate_object (struct link_map *l, for (ph = l->l_phdr; ph < &l->l_phdr[l->l_phnum]; ++ph) if (ph->p_type == PT_LOAD && (ph->p_flags & PF_W) == 0) { - caddr_t mapstart = ((caddr_t) l->l_addr + - (ph->p_vaddr & ~(_dl_pagesize - 1))); - caddr_t mapend = ((caddr_t) l->l_addr + - ((ph->p_vaddr + ph->p_memsz + _dl_pagesize - 1) - & ~(_dl_pagesize - 1))); - if (__builtin_expect (__mprotect (mapstart, mapend - mapstart, - PROT_READ|PROT_WRITE), 0) < 0) - _dl_signal_error (errno, l->l_name, N_("\ -cannot make segment writable for relocation")); + struct textrels *newp; + + newp = (struct textrels *) alloca (sizeof (*newp)); + newp->len = (((ph->p_vaddr + ph->p_memsz + _dl_pagesize - 1) + & ~(_dl_pagesize - 1)) + - (ph->p_vaddr & ~(_dl_pagesize - 1))); + newp->start = ((ph->p_vaddr & ~(_dl_pagesize - 1)) + + (caddr_t) l->l_addr); + + if (__mprotect (newp->start, newp->len, PROT_READ|PROT_WRITE) < 0) + { + errstring = N_("cannot make segment writable for relocation"); + call_error: + _dl_signal_error (errno, l->l_name, NULL, errstring); + } + +#if (PF_R | PF_W | PF_X) == 7 && (PROT_READ | PROT_WRITE | PROT_EXEC) == 7 + newp->prot = (PF_TO_PROT + >> ((ph->p_flags & (PF_R | PF_W | PF_X)) * 4)) & 0xf; +#else + newp->prot = 0; + if (ph->p_flags & PF_R) + newp->prot |= PROT_READ; + if (ph->p_flags & PF_W) + newp->prot |= PROT_WRITE; + if (ph->p_flags & PF_X) + newp->prot |= PROT_EXEC; +#endif + newp->next = textrels; + textrels = newp; } } @@ -71,24 +109,49 @@ cannot make segment writable for relocat const char *strtab = (const void *) D_PTR (l, l_info[DT_STRTAB]); /* This macro is used as a callback from the ELF_DYNAMIC_RELOCATE code. */ -#define RESOLVE_MAP(ref, version, flags) \ +#define RESOLVE_MAP(ref, version, r_type) \ (ELFW(ST_BIND) ((*ref)->st_info) != STB_LOCAL \ - ? ((version) != NULL && (version)->hash != 0 \ - ? _dl_lookup_versioned_symbol (strtab + (*ref)->st_name, l, (ref), \ - scope, (version), (flags), 0) \ - : _dl_lookup_symbol (strtab + (*ref)->st_name, l, (ref), scope, \ - (flags), 0)) \ + ? ((__builtin_expect ((*ref) == l->l_lookup_cache.sym, 0) \ + && elf_machine_type_class (r_type) == l->l_lookup_cache.type_class) \ + ? (++_dl_num_cache_relocations, \ + (*ref) = l->l_lookup_cache.ret, \ + l->l_lookup_cache.value) \ + : ({ lookup_t _lr; \ + int _tc = elf_machine_type_class (r_type); \ + l->l_lookup_cache.type_class = _tc; \ + l->l_lookup_cache.sym = (*ref); \ + _lr = ((version) != NULL && (version)->hash != 0 \ + ? _dl_lookup_versioned_symbol (strtab + (*ref)->st_name, \ + l, (ref), scope, \ + (version), _tc, 0) \ + : _dl_lookup_symbol (strtab + (*ref)->st_name, l, (ref), \ + scope, _tc, 0)); \ + l->l_lookup_cache.ret = (*ref); \ + l->l_lookup_cache.value = _lr; })) \ : l) -#define RESOLVE(ref, version, flags) \ +#define RESOLVE(ref, version, r_type) \ (ELFW(ST_BIND) ((*ref)->st_info) != STB_LOCAL \ - ? ((version) != NULL && (version)->hash != 0 \ - ? _dl_lookup_versioned_symbol (strtab + (*ref)->st_name, l, (ref), \ - scope, (version), (flags), 0) \ - : _dl_lookup_symbol (strtab + (*ref)->st_name, l, (ref), scope, \ - (flags), 0)) \ + ? ((__builtin_expect ((*ref) == l->l_lookup_cache.sym, 0) \ + && elf_machine_type_class (r_type) == l->l_lookup_cache.type_class) \ + ? (++_dl_num_cache_relocations, \ + (*ref) = l->l_lookup_cache.ret, \ + l->l_lookup_cache.value) \ + : ({ lookup_t _lr; \ + int _tc = elf_machine_type_class (r_type); \ + l->l_lookup_cache.type_class = _tc; \ + l->l_lookup_cache.sym = (*ref); \ + _lr = ((version) != NULL && (version)->hash != 0 \ + ? _dl_lookup_versioned_symbol (strtab + (*ref)->st_name, \ + l, (ref), scope, \ + (version), _tc, 0) \ + : _dl_lookup_symbol (strtab + (*ref)->st_name, l, (ref), \ + scope, _tc, 0)); \ + l->l_lookup_cache.ret = (*ref); \ + l->l_lookup_cache.value = _lr; })) \ : l->l_addr) #include "dynamic-link.h" + ELF_DYNAMIC_RELOCATE (l, lazy, consider_profiling); if (__builtin_expect (consider_profiling, 0)) @@ -98,88 +161,59 @@ cannot make segment writable for relocat if it only contains lead function) the l_info[DT_PLTRELSZ] will be NULL. */ if (l->l_info[DT_PLTRELSZ] == NULL) - _dl_fatal_printf ("%s: profiler found no PLTREL in object %s\n", - _dl_argv[0] ?: "", - l->l_name); + { + errstring = N_("%s: profiler found no PLTREL in object %s\n"); + fatal: + _dl_fatal_printf (errstring, + _dl_argv[0] ?: "", + l->l_name); + } l->l_reloc_result = (ElfW(Addr) *) calloc (sizeof (ElfW(Addr)), l->l_info[DT_PLTRELSZ]->d_un.d_val); if (l->l_reloc_result == NULL) - _dl_fatal_printf ("\ -%s: profiler out of memory shadowing PLTREL of %s\n", - _dl_argv[0] ?: "", - l->l_name); + { + errstring = N_("\ +%s: profiler out of memory shadowing PLTREL of %s\n"); + goto fatal; + } } } /* Mark the object so we know this work has been done. */ l->l_relocated = 1; - /* DT_TEXTREL is now in level 2 and might phase out at some time. - But we rewrite the DT_FLAGS entry to make testing easier and - therefore it will be available at all time. */ - if (__builtin_expect (l->l_info[DT_TEXTREL] != NULL, 0)) + /* Undo the segment protection changes. */ + while (__builtin_expect (textrels != NULL, 0)) { - /* Undo the protection change we made before relocating. */ - const ElfW(Phdr) *ph; - for (ph = l->l_phdr; ph < &l->l_phdr[l->l_phnum]; ++ph) - if (ph->p_type == PT_LOAD && (ph->p_flags & PF_W) == 0) - { - caddr_t mapstart = ((caddr_t) l->l_addr + - (ph->p_vaddr & ~(_dl_pagesize - 1))); - caddr_t mapend = ((caddr_t) l->l_addr + - ((ph->p_vaddr + ph->p_memsz + _dl_pagesize - 1) - & ~(_dl_pagesize - 1))); - extern unsigned char _dl_pf_to_prot[8]; - int prot; - - if ((PF_R | PF_W | PF_X) == 7 - && (PROT_READ | PROT_WRITE | PROT_EXEC) == 7) - prot = _dl_pf_to_prot[ph->p_flags & (PF_R | PF_X)]; - else - { - prot = 0; - if (ph->p_flags & PF_R) - prot |= PROT_READ; - if (ph->p_flags & PF_X) - prot |= PROT_EXEC; - } - - if (__builtin_expect (__mprotect (mapstart, mapend - mapstart, - prot), 0) < 0) - _dl_signal_error (errno, l->l_name, - N_("can't restore segment prot after reloc")); + if (__mprotect (textrels->start, textrels->len, textrels->prot) < 0) + { + errstring = N_("cannot restore segment prot after reloc"); + goto call_error; + } -#ifdef CLEAR_CACHE - CLEAR_CACHE (mapstart, mapend); -#endif - } + textrels = textrels->next; } } -#include "../stdio-common/_itoa.h" -#define DIGIT(b) _itoa_lower_digits[(b) & 0xf]; void internal_function -_dl_reloc_bad_type (struct link_map *map, uint_fast8_t type, int plt) +_dl_reloc_bad_type (struct link_map *map, unsigned int type, int plt) { extern const char _itoa_lower_digits[]; - if (plt) - { - /* XXX We cannot translate the message. */ - static char msg[] = "unexpected PLT reloc type 0x??"; - msg[sizeof msg - 3] = DIGIT(type >> 4); - msg[sizeof msg - 2] = DIGIT(type); - _dl_signal_error (0, map->l_name, msg); - } - else - { - /* XXX We cannot translate the message. */ - static char msg[] = "unexpected reloc type 0x??"; - msg[sizeof msg - 3] = DIGIT(type >> 4); - msg[sizeof msg - 2] = DIGIT(type); - _dl_signal_error (0, map->l_name, msg); - } +#define DIGIT(b) _itoa_lower_digits[(b) & 0xf]; + + /* XXX We cannot translate these messages. */ + static const char msg[2][32] = { "unexpected reloc type 0x", + "unexpected PLT reloc type 0x" }; + char msgbuf[sizeof (msg[0])]; + char *cp; + + cp = __stpcpy (msgbuf, msg[plt]); + *cp++ = DIGIT (type >> 4); + *cp = DIGIT (type); + + _dl_signal_error (0, map->l_name, NULL, msgbuf); } diff -durpN glibc-2.2.4/elf/dl-runtime.c glibc-2.2.5/elf/dl-runtime.c --- glibc-2.2.4/elf/dl-runtime.c Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/dl-runtime.c Wed Nov 7 13:18:43 2001 @@ -1,5 +1,5 @@ /* On-demand PLT fixup for shared objects. - Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,7 +42,7 @@ function. */ #ifndef ELF_MACHINE_NO_PLT -static ElfW(Addr) __attribute__ ((unused)) +static ElfW(Addr) __attribute_used__ fixup ( # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS ELF_MACHINE_RUNTIME_FIXUP_ARGS, @@ -89,13 +89,13 @@ fixup ( result = _dl_lookup_versioned_symbol (strtab + sym->st_name, l, &sym, l->l_scope, version, - ELF_MACHINE_JMP_SLOT, 0); + ELF_RTYPE_CLASS_PLT, 0); break; } } case 0: result = _dl_lookup_symbol (strtab + sym->st_name, l, &sym, - l->l_scope, ELF_MACHINE_JMP_SLOT, 0); + l->l_scope, ELF_RTYPE_CLASS_PLT, 0); } /* Currently result contains the base load address (or link map) @@ -105,8 +105,8 @@ fixup ( } else { - /* We already found the symbol. The module (and therefore its load - address) is also known. */ + /* We already found the symbol. The module (and therefore its load + address) is also known. */ value = l->l_addr + sym->st_value; #ifdef DL_LOOKUP_RETURNS_MAP result = l; @@ -126,7 +126,7 @@ fixup ( #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__ -static ElfW(Addr) __attribute__ ((unused)) +static ElfW(Addr) __attribute_used__ profile_fixup ( #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS ELF_MACHINE_RUNTIME_FIXUP_ARGS, @@ -181,14 +181,14 @@ profile_fixup ( result = _dl_lookup_versioned_symbol(strtab + sym->st_name, l, &sym, l->l_scope, version, - ELF_MACHINE_JMP_SLOT, + ELF_RTYPE_CLASS_PLT, 0); break; } } case 0: result = _dl_lookup_symbol (strtab + sym->st_name, l, &sym, - l->l_scope, ELF_MACHINE_JMP_SLOT, 0); + l->l_scope, ELF_RTYPE_CLASS_PLT, 0); } /* Currently result contains the base load address (or link map) @@ -198,11 +198,11 @@ profile_fixup ( } else { - /* We already found the symbol. The module (and therefore its load - address) is also known. */ - value = l->l_addr + sym->st_value; + /* We already found the symbol. The module (and therefore its load + address) is also known. */ + value = l->l_addr + sym->st_value; #ifdef DL_LOOKUP_RETURNS_MAP - result = l; + result = l; #endif } /* And now perhaps the relocation addend. */ diff -durpN glibc-2.2.4/elf/dl-support.c glibc-2.2.5/elf/dl-support.c --- glibc-2.2.4/elf/dl-support.c Fri Jul 27 23:13:13 2001 +++ glibc-2.2.5/elf/dl-support.c Fri Aug 31 23:09:31 2001 @@ -93,8 +93,14 @@ struct r_scope_elem *_dl_main_searchlist /* Nonzero during startup. */ int _dl_starting_up = 1; +/* We expect less than a second for relocation. */ +#ifdef HP_SMALL_TIMING_AVAIL +# undef HP_TIMING_AVAIL +# define HP_TIMING_AVAIL HP_SMALL_TIMING_AVAIL +#endif + /* Initial value of the CPU clock. */ -#if HP_TIMING_AVAIL +#ifndef HP_TIMING_NONAVAIL hp_timing_t _dl_cpuclock_offset; #endif @@ -133,9 +139,8 @@ static void non_dynamic_init (void) __at static void non_dynamic_init (void) { -#if HP_TIMING_AVAIL - HP_TIMING_NOW (_dl_cpuclock_offset); -#endif + if (HP_TIMING_AVAIL) + HP_TIMING_NOW (_dl_cpuclock_offset); if (!_dl_pagesize) _dl_pagesize = __getpagesize (); diff -durpN glibc-2.2.4/elf/dl-sym.c glibc-2.2.5/elf/dl-sym.c --- glibc-2.2.4/elf/dl-sym.c Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/dl-sym.c Tue Sep 4 20:41:19 2001 @@ -1,5 +1,5 @@ /* Look up a symbol in a shared object loaded by `dlopen'. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -69,7 +69,7 @@ _dl_sym (void *handle, const char *name, if (! _dl_loaded || caller < _dl_loaded->l_map_start || caller >= _dl_loaded->l_map_end) - _dl_signal_error (0, NULL, N_("\ + _dl_signal_error (0, NULL, NULL, N_("\ RTLD_NEXT used in code not dynamically loaded")); } @@ -131,7 +131,7 @@ _dl_vsym (void *handle, const char *name if (! _dl_loaded || caller < _dl_loaded->l_map_start || caller >= _dl_loaded->l_map_end) - _dl_signal_error (0, NULL, N_("\ + _dl_signal_error (0, NULL, NULL, N_("\ RTLD_NEXT used in code not dynamically loaded")); } diff -durpN glibc-2.2.4/elf/dl-version.c glibc-2.2.5/elf/dl-version.c --- glibc-2.2.4/elf/dl-version.c Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/dl-version.c Wed Nov 7 15:19:14 2001 @@ -81,6 +81,9 @@ match_symbol (const char *name, ElfW(Wor const char *strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]); ElfW(Addr) def_offset; ElfW(Verdef) *def; + /* Initialize to make the compiler happy. */ + const char *errstring = NULL; + int result = 0; /* Display information about what we are doing while debugging. */ if (__builtin_expect (_dl_debug_mask & DL_DEBUG_VERSIONS, 0)) @@ -95,11 +98,12 @@ checking for version `%s' in file %s req object was linked against another version of this file. We only print a message if verbose output is requested. */ if (verbose) - /* XXX We cannot translate the messages. */ - _dl_signal_cerror (0, map->l_name[0] ? map->l_name : _dl_argv[0], - make_string ("\ -no version information available (required by ", - name, ")")); + { + /* XXX We cannot translate the messages. */ + errstring = make_string ("\ +no version information available (required by ", name, ")"); + goto call_cerror; + } return 0; } @@ -116,13 +120,12 @@ no version information available (requir char buf[20]; buf[sizeof (buf) - 1] = '\0'; /* XXX We cannot translate the message. */ - _dl_signal_error (0, map->l_name[0] ? map->l_name : _dl_argv[0], - make_string ("unsupported version ", - _itoa_word (def->vd_version, - &buf[sizeof (buf) - 1], - 10, 0), - " of Verdef record")); - return 1; + errstring = make_string ("unsupported version ", + _itoa_word (def->vd_version, + &buf[sizeof (buf) - 1], 10, 0), + " of Verdef record"); + result = 1; + goto call_cerror; } /* Compare the hash values. */ @@ -149,19 +152,23 @@ no version information available (requir if (__builtin_expect (weak, 1)) { if (verbose) - /* XXX We cannot translate the message. */ - _dl_signal_cerror (0, map->l_name[0] ? map->l_name : _dl_argv[0], - make_string ("weak version `", string, - "' not found (required by ", name, - ")")); + { + /* XXX We cannot translate the message. */ + errstring = make_string ("weak version `", string, + "' not found (required by ", name, ")"); + goto call_cerror; + } return 0; } /* XXX We cannot translate the message. */ - _dl_signal_cerror (0, map->l_name[0] ? map->l_name : _dl_argv[0], - make_string ("version `", string, - "' not found (required by ", name, ")")); - return 1; + errstring = make_string ("version `", string, "' not found (required by ", + name, ")"); + result = 1; + call_cerror: + _dl_signal_cerror (0, map->l_name[0] ? map->l_name : _dl_argv[0], NULL, + errstring); + return result; } @@ -178,6 +185,9 @@ _dl_check_map_versions (struct link_map /* We need to find out which is the highest version index used in a dependecy. */ unsigned int ndx_high = 0; + /* Initialize to make the compiler happy. */ + const char *errstring = NULL; + int errval = 0; /* If we don't have a string table, we must be ok. */ if (map->l_info[DT_STRTAB] == NULL) @@ -199,13 +209,13 @@ _dl_check_map_versions (struct link_map char buf[20]; buf[sizeof (buf) - 1] = '\0'; /* XXX We cannot translate the message. */ - _dl_signal_error (0, (*map->l_name ? map->l_name : _dl_argv[0]), - make_string ("unsupported version ", - _itoa_word (ent->vn_version, - &buf[sizeof (buf) - 1], - 10, 0), - " of Verneed record\n")); - return 1; + errstring = make_string ("unsupported version ", + _itoa_word (ent->vn_version, + &buf[sizeof (buf) - 1], 10, 0), + " of Verneed record\n"); + call_error: + _dl_signal_error (errval, (*map->l_name ? map->l_name : _dl_argv[0]), + NULL, errstring); } while (1) @@ -288,78 +298,75 @@ _dl_check_map_versions (struct link_map calloc (ndx_high + 1, sizeof (*map->l_versions)); if (__builtin_expect (map->l_versions == NULL, 0)) { - _dl_signal_error (ENOMEM, (*map->l_name ? map->l_name : _dl_argv[0]), - N_("cannot allocate version reference table")); - result = 1; + errstring = N_("cannot allocate version reference table"); + errval = ENOMEM; + goto call_error; } - else - { - /* Store the number of available symbols. */ - map->l_nversions = ndx_high + 1; - /* Compute the pointer to the version symbols. */ - map->l_versyms = - (void *) D_PTR (map, l_info[VERSYMIDX (DT_VERSYM)]); + /* Store the number of available symbols. */ + map->l_nversions = ndx_high + 1; - if (dyn != NULL) + /* Compute the pointer to the version symbols. */ + map->l_versyms = (void *) D_PTR (map, l_info[VERSYMIDX (DT_VERSYM)]); + + if (dyn != NULL) + { + ElfW(Verneed) *ent; + ent = (ElfW(Verneed) *) (map->l_addr + dyn->d_un.d_ptr); + while (1) { - ElfW(Verneed) *ent; - ent = (ElfW(Verneed) *) (map->l_addr + dyn->d_un.d_ptr); + ElfW(Vernaux) *aux; + aux = (ElfW(Vernaux) *) ((char *) ent + ent->vn_aux); while (1) { - ElfW(Vernaux) *aux; - aux = (ElfW(Vernaux) *) ((char *) ent + ent->vn_aux); - while (1) - { - ElfW(Half) ndx = aux->vna_other & 0x7fff; - map->l_versions[ndx].hash = aux->vna_hash; - map->l_versions[ndx].hidden = aux->vna_other & 0x8000; - map->l_versions[ndx].name = &strtab[aux->vna_name]; - map->l_versions[ndx].filename = &strtab[ent->vn_file]; - - if (aux->vna_next == 0) - /* No more symbols. */ - break; - - /* Advance to next symbol. */ - aux = (ElfW(Vernaux) *) ((char *) aux + aux->vna_next); - } + ElfW(Half) ndx = aux->vna_other & 0x7fff; + map->l_versions[ndx].hash = aux->vna_hash; + map->l_versions[ndx].hidden = aux->vna_other & 0x8000; + map->l_versions[ndx].name = &strtab[aux->vna_name]; + map->l_versions[ndx].filename = &strtab[ent->vn_file]; - if (ent->vn_next == 0) - /* No more dependencies. */ + if (aux->vna_next == 0) + /* No more symbols. */ break; - /* Advance to next dependency. */ - ent = (ElfW(Verneed) *) ((char *) ent + ent->vn_next); + /* Advance to next symbol. */ + aux = (ElfW(Vernaux) *) ((char *) aux + aux->vna_next); } + + if (ent->vn_next == 0) + /* No more dependencies. */ + break; + + /* Advance to next dependency. */ + ent = (ElfW(Verneed) *) ((char *) ent + ent->vn_next); } + } - /* And insert the defined versions. */ - if (def != NULL) + /* And insert the defined versions. */ + if (def != NULL) + { + ElfW(Verdef) *ent; + ent = (ElfW(Verdef) *) (map->l_addr + def->d_un.d_ptr); + while (1) { - ElfW(Verdef) *ent; - ent = (ElfW(Verdef) *) (map->l_addr + def->d_un.d_ptr); - while (1) - { - ElfW(Verdaux) *aux; - aux = (ElfW(Verdaux) *) ((char *) ent + ent->vd_aux); + ElfW(Verdaux) *aux; + aux = (ElfW(Verdaux) *) ((char *) ent + ent->vd_aux); - if ((ent->vd_flags & VER_FLG_BASE) == 0) - { - /* The name of the base version should not be - available for matching a versioned symbol. */ - ElfW(Half) ndx = ent->vd_ndx & 0x7fff; - map->l_versions[ndx].hash = ent->vd_hash; - map->l_versions[ndx].name = &strtab[aux->vda_name]; - map->l_versions[ndx].filename = NULL; - } + if ((ent->vd_flags & VER_FLG_BASE) == 0) + { + /* The name of the base version should not be + available for matching a versioned symbol. */ + ElfW(Half) ndx = ent->vd_ndx & 0x7fff; + map->l_versions[ndx].hash = ent->vd_hash; + map->l_versions[ndx].name = &strtab[aux->vda_name]; + map->l_versions[ndx].filename = NULL; + } - if (ent->vd_next == 0) - /* No more definitions. */ - break; + if (ent->vd_next == 0) + /* No more definitions. */ + break; - ent = (ElfW(Verdef) *) ((char *) ent + ent->vd_next); - } + ent = (ElfW(Verdef) *) ((char *) ent + ent->vd_next); } } } diff -durpN glibc-2.2.4/elf/do-lookup.h glibc-2.2.5/elf/do-lookup.h --- glibc-2.2.4/elf/do-lookup.h Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/do-lookup.h Sun Aug 26 15:24:08 2001 @@ -31,7 +31,7 @@ static inline int FCT (const char *undef_name, unsigned long int hash, const ElfW(Sym) *ref, struct sym_val *result, struct r_scope_elem *scope, size_t i, ARG - struct link_map *skip, int noexec, int noplt) + struct link_map *skip, int type_class) { struct link_map **list = scope->r_list; size_t n = scope->r_nlist; @@ -56,7 +56,7 @@ FCT (const char *undef_name, unsigned lo continue; /* Don't search the executable when resolving a copy reloc. */ - if (noexec && map->l_type == lt_executable) + if ((type_class & ELF_RTYPE_CLASS_COPY) && map->l_type == lt_executable) continue; /* Print some debugging info if wanted. */ @@ -76,8 +76,11 @@ FCT (const char *undef_name, unsigned lo { sym = &symtab[symidx]; + assert (ELF_RTYPE_CLASS_PLT == 1); if (sym->st_value == 0 || /* No value. */ - (noplt && sym->st_shndx == SHN_UNDEF)) + /* ((type_class & ELF_RTYPE_CLASS_PLT) + && (sym->st_shndx == SHN_UNDEF)) */ + (type_class & (sym->st_shndx == SHN_UNDEF))) continue; if (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC) diff -durpN glibc-2.2.4/elf/do-rel.h glibc-2.2.5/elf/do-rel.h --- glibc-2.2.4/elf/do-rel.h Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/do-rel.h Fri Aug 24 11:45:23 2001 @@ -1,5 +1,5 @@ /* Do relocations for ELF dynamic linking. - Copyright (C) 1995,96,97,98,99,2000 Free Software Foundation, Inc. + Copyright (C) 1995,96,97,98,99,2000,2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,9 +21,13 @@ `elf_dynamic_do_rel' and `elf_dynamic_do_rela'. */ #ifdef DO_RELA -# define elf_dynamic_do_rel elf_dynamic_do_rela -# define Rel Rela -# define elf_machine_rel elf_machine_rela +# define elf_dynamic_do_rel elf_dynamic_do_rela +# define RELCOUNT_IDX VERSYMIDX (DT_RELACOUNT) +# define Rel Rela +# define elf_machine_rel elf_machine_rela +# define elf_machine_rel_relative elf_machine_rela_relative +#else +# define RELCOUNT_IDX VERSYMIDX (DT_RELCOUNT) #endif #ifndef VERSYMIDX @@ -42,18 +46,48 @@ elf_dynamic_do_rel (struct link_map *map { const ElfW(Rel) *r = (const void *) reladdr; const ElfW(Rel) *end = (const void *) (reladdr + relsize); + ElfW(Addr) l_addr = map->l_addr; +#ifndef RTLD_BOOTSTRAP + /* We never bind lazily during ld.so bootstrap. Unfortunately gcc is + not clever enough to see through all the function calls to realize + that. */ if (lazy) { /* Doing lazy PLT relocations; they need very little info. */ - ElfW(Addr) l_addr = map->l_addr; for (; r < end; ++r) elf_machine_lazy_rel (map, l_addr, r); } else +#endif { const ElfW(Sym) *const symtab = (const void *) D_PTR (map, l_info[DT_SYMTAB]); + ElfW(Word) nrelative = (map->l_info[RELCOUNT_IDX] == NULL + ? 0 : map->l_info[RELCOUNT_IDX]->d_un.d_val); + const ElfW(Rel) *relative = r; + r = MIN (r + nrelative, end); + +#ifndef RTLD_BOOTSTRAP + /* This is defined in rtld.c, but nowhere in the static libc.a; make + the reference weak so static programs can still link. This + declaration cannot be done when compiling rtld.c (i.e. #ifdef + RTLD_BOOTSTRAP) because rtld.c contains the common defn for + _dl_rtld_map, which is incompatible with a weak decl in the same + file. */ + weak_extern (_dl_rtld_map); + if (map != &_dl_rtld_map) /* Already done in rtld itself. */ +# ifndef DO_RELA + /* Rela platforms get the offset from r_addend and this must + be copied in the relocation address. Therefore we can skip + the relative relocations only if this is for rel + relocations. */ + if (l_addr != 0) +# endif +#endif + for (; relative < r; ++relative) + elf_machine_rel_relative (l_addr, relative, + (void *) (l_addr + relative->r_offset)); if (map->l_info[VERSYMIDX (DT_VERSYM)]) { @@ -65,16 +99,18 @@ elf_dynamic_do_rel (struct link_map *map ElfW(Half) ndx = version[ELFW(R_SYM) (r->r_info)]; elf_machine_rel (map, r, &symtab[ELFW(R_SYM) (r->r_info)], &map->l_versions[ndx], - (void *) (map->l_addr + r->r_offset)); + (void *) (l_addr + r->r_offset)); } } else for (; r < end; ++r) elf_machine_rel (map, r, &symtab[ELFW(R_SYM) (r->r_info)], NULL, - (void *) (map->l_addr + r->r_offset)); + (void *) (l_addr + r->r_offset)); } } #undef elf_dynamic_do_rel #undef Rel #undef elf_machine_rel +#undef elf_machine_rel_relative +#undef RELCOUNT_IDX diff -durpN glibc-2.2.4/elf/elf.h glibc-2.2.5/elf/elf.h --- glibc-2.2.4/elf/elf.h Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/elf.h Mon Jan 7 22:28:21 2002 @@ -137,8 +137,18 @@ typedef struct /* Value must be EV_CURRENT */ #define EI_OSABI 7 /* OS ABI identification */ -#define ELFOSABI_SYSV 0 /* UNIX System V ABI */ +#define ELFOSABI_NONE 0 /* UNIX System V ABI */ +#define ELFOSABI_SYSV 0 /* Alias. */ #define ELFOSABI_HPUX 1 /* HP-UX */ +#define ELFOSABI_NETBSD 2 /* NetBSD. */ +#define ELFOSABI_LINUX 3 /* Linux. */ +#define ELFOSABI_SOLARIS 6 /* Sun Solaris. */ +#define ELFOSABI_AIX 7 /* IBM AIX. */ +#define ELFOSABI_IRIX 8 /* SGI Irix. */ +#define ELFOSABI_FREEBSD 9 /* FreeBSD. */ +#define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */ +#define ELFOSABI_MODESTO 11 /* Novell Modesto. */ +#define ELFOSABI_OPENBSD 12 /* OpenBSD. */ #define ELFOSABI_ARM 97 /* ARM */ #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ @@ -316,6 +326,7 @@ typedef struct #define SHT_SYMTAB_SHNDX 18 /* Extended section indeces */ #define SHT_NUM 19 /* Number of defined types. */ #define SHT_LOOS 0x60000000 /* Start OS-specific */ +#define SHT_GNU_LIBLIST 0x6ffffff7 /* Prelink library list */ #define SHT_CHECKSUM 0x6ffffff8 /* Checksum for DSO content. */ #define SHT_LOSUNW 0x6ffffffa /* Sun-specific low bound. */ #define SHT_SUNW_move 0x6ffffffa @@ -342,6 +353,8 @@ typedef struct #define SHF_LINK_ORDER (1 << 7) /* Preserve order after combining */ #define SHF_OS_NONCONFORMING (1 << 8) /* Non-standard OS specific handling required */ +#define SHF_GROUP (1 << 9) /* Section is member of a group. */ +#define SHF_TLS (1 << 10) /* Section hold thread-local data. */ #define SHF_MASKOS 0x0ff00000 /* OS-specific. */ #define SHF_MASKPROC 0xf0000000 /* Processor-specific */ @@ -544,8 +557,10 @@ typedef struct #define PT_NOTE 4 /* Auxiliary information */ #define PT_SHLIB 5 /* Reserved */ #define PT_PHDR 6 /* Entry for header table itself */ -#define PT_NUM 7 /* Number of defined types */ +#define PT_TLS 7 /* Thread-local storage segment */ +#define PT_NUM 8 /* Number of defined types */ #define PT_LOOS 0x60000000 /* Start of OS-specific */ +#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ #define PT_HIOS 0x6fffffff /* End of OS-specific */ #define PT_LOPROC 0x70000000 /* Start of processor-specific */ #define PT_HIPROC 0x7fffffff /* End of processor-specific */ @@ -649,6 +664,9 @@ typedef struct Dyn.d_un.d_val field of the Elf*_Dyn structure. This follows Sun's approach. */ #define DT_VALRNGLO 0x6ffffd00 +#define DT_GNU_PRELINKED 0x6ffffdf5 /* Prelinking timestamp */ +#define DT_GNU_CONFLICTSZ 0x6ffffdf6 /* Size of conflict section */ +#define DT_GNU_LIBLISTSZ 0x6ffffdf7 /* Size of library list */ #define DT_CHECKSUM 0x6ffffdf8 #define DT_PLTPADSZ 0x6ffffdf9 #define DT_MOVEENT 0x6ffffdfa @@ -666,6 +684,8 @@ typedef struct If any adjustment is made to the ELF object after it has been built these entries will need to be adjusted. */ #define DT_ADDRRNGLO 0x6ffffe00 +#define DT_GNU_CONFLICT 0x6ffffef8 /* Start of conflict section */ +#define DT_GNU_LIBLIST 0x6ffffef9 /* Library list */ #define DT_CONFIG 0x6ffffefa /* Configuration information. */ #define DT_DEPAUDIT 0x6ffffefb /* Dependency auditing. */ #define DT_AUDIT 0x6ffffefc /* Object auditing. */ @@ -1706,18 +1726,9 @@ typedef Elf32_Addr Elf32_Conflict; #define R_ALPHA_SREL16 9 /* PC relative 16 bit */ #define R_ALPHA_SREL32 10 /* PC relative 32 bit */ #define R_ALPHA_SREL64 11 /* PC relative 64 bit */ -#define R_ALPHA_OP_PUSH 12 /* OP stack push */ -#define R_ALPHA_OP_STORE 13 /* OP stack pop and store */ -#define R_ALPHA_OP_PSUB 14 /* OP stack subtract */ -#define R_ALPHA_OP_PRSHIFT 15 /* OP stack right shift */ -#define R_ALPHA_GPVALUE 16 -#define R_ALPHA_GPRELHIGH 17 -#define R_ALPHA_GPRELLOW 18 -#define R_ALPHA_IMMED_GP_16 19 -#define R_ALPHA_IMMED_GP_HI32 20 -#define R_ALPHA_IMMED_SCN_HI32 21 -#define R_ALPHA_IMMED_BR_HI32 22 -#define R_ALPHA_IMMED_LO32 23 +#define R_ALPHA_GPRELHIGH 17 /* GP relative 32 bit, high 16 bits */ +#define R_ALPHA_GPRELLOW 18 /* GP relative 32 bit, low 16 bits */ +#define R_ALPHA_GPREL16 19 /* GP relative 16 bit */ #define R_ALPHA_COPY 24 /* Copy symbol at runtime */ #define R_ALPHA_GLOB_DAT 25 /* Create GOT entry */ #define R_ALPHA_JMP_SLOT 26 /* Create PLT entry */ @@ -2038,36 +2049,36 @@ typedef Elf32_Addr Elf32_Conflict; /* Additional s390 relocs */ -#define R_390_NONE 0 /* No reloc. */ -#define R_390_8 1 /* Direct 8 bit. */ -#define R_390_12 2 /* Direct 12 bit. */ -#define R_390_16 3 /* Direct 16 bit. */ -#define R_390_32 4 /* Direct 32 bit. */ -#define R_390_PC32 5 /* PC relative 32 bit. */ -#define R_390_GOT12 6 /* 12 bit GOT offset. */ -#define R_390_GOT32 7 /* 32 bit GOT offset. */ -#define R_390_PLT32 8 /* 32 bit PC relative PLT address. */ -#define R_390_COPY 9 /* Copy symbol at runtime. */ -#define R_390_GLOB_DAT 10 /* Create GOT entry. */ -#define R_390_JMP_SLOT 11 /* Create PLT entry. */ -#define R_390_RELATIVE 12 /* Adjust by program base. */ -#define R_390_GOTOFF 13 /* 32 bit offset to GOT. */ -#define R_390_GOTPC 14 /* 32 bit PC relative offset to GOT. */ -#define R_390_GOT16 15 /* 16 bit GOT offset. */ -#define R_390_PC16 16 /* PC relative 16 bit. */ -#define R_390_PC16DBL 17 /* PC relative 16 bit shifted by 1. */ -#define R_390_PLT16DBL 18 /* 16 bit PC rel. PLT shifted by 1. */ -#define R_390_PC32DBL 19 /* PC relative 32 bit shifted by 1. */ -#define R_390_PLT32DBL 20 /* 32 bit PC rel. PLT shifted by 1. */ -#define R_390_GOTPCDBL 21 /* 32 bit PC rel. GOT shifted by 1. */ -#define R_390_64 22 /* Direct 64 bit. */ -#define R_390_PC64 23 /* PC relative 64 bit. */ -#define R_390_GOT64 24 /* 64 bit GOT offset. */ -#define R_390_PLT64 25 /* 64 bit PC relative PLT address. */ -#define R_390_GOTENT 26 /* 32 bit PC rel. to GOT entry >> 1. */ +#define R_390_NONE 0 /* No reloc. */ +#define R_390_8 1 /* Direct 8 bit. */ +#define R_390_12 2 /* Direct 12 bit. */ +#define R_390_16 3 /* Direct 16 bit. */ +#define R_390_32 4 /* Direct 32 bit. */ +#define R_390_PC32 5 /* PC relative 32 bit. */ +#define R_390_GOT12 6 /* 12 bit GOT offset. */ +#define R_390_GOT32 7 /* 32 bit GOT offset. */ +#define R_390_PLT32 8 /* 32 bit PC relative PLT address. */ +#define R_390_COPY 9 /* Copy symbol at runtime. */ +#define R_390_GLOB_DAT 10 /* Create GOT entry. */ +#define R_390_JMP_SLOT 11 /* Create PLT entry. */ +#define R_390_RELATIVE 12 /* Adjust by program base. */ +#define R_390_GOTOFF 13 /* 32 bit offset to GOT. */ +#define R_390_GOTPC 14 /* 32 bit PC relative offset to GOT. */ +#define R_390_GOT16 15 /* 16 bit GOT offset. */ +#define R_390_PC16 16 /* PC relative 16 bit. */ +#define R_390_PC16DBL 17 /* PC relative 16 bit shifted by 1. */ +#define R_390_PLT16DBL 18 /* 16 bit PC rel. PLT shifted by 1. */ +#define R_390_PC32DBL 19 /* PC relative 32 bit shifted by 1. */ +#define R_390_PLT32DBL 20 /* 32 bit PC rel. PLT shifted by 1. */ +#define R_390_GOTPCDBL 21 /* 32 bit PC rel. GOT shifted by 1. */ +#define R_390_64 22 /* Direct 64 bit. */ +#define R_390_PC64 23 /* PC relative 64 bit. */ +#define R_390_GOT64 24 /* 64 bit GOT offset. */ +#define R_390_PLT64 25 /* 64 bit PC relative PLT address. */ +#define R_390_GOTENT 26 /* 32 bit PC rel. to GOT entry >> 1. */ /* Keep this the last entry. */ -#define R_390_NUM 19 +#define R_390_NUM 27 /* CRIS relocations. */ #define R_CRIS_NONE 0 @@ -2092,6 +2103,27 @@ typedef Elf32_Addr Elf32_Conflict; #define R_CRIS_32_PLT_PCREL 19 #define R_CRIS_NUM 20 + +/* AMD x86-64 relocations. */ +#define R_X86_64_NONE 0 /* No reloc */ +#define R_X86_64_64 1 /* Direct 64 bit */ +#define R_X86_64_PC32 2 /* PC relative 32 bit signed */ +#define R_X86_64_GOT32 3 /* 32 bit GOT entry */ +#define R_X86_64_PLT32 4 /* 32 bit PLT address */ +#define R_X86_64_COPY 5 /* Copy symbol at runtime */ +#define R_X86_64_GLOB_DAT 6 /* Create GOT entry */ +#define R_X86_64_JUMP_SLOT 7 /* Create PLT entry */ +#define R_X86_64_RELATIVE 8 /* Adjust by program base */ +#define R_X86_64_GOTPCREL 9 /* 32 bit signed pc relative + offset to GOT */ +#define R_X86_64_32 10 /* Direct 32 bit zero extended */ +#define R_X86_64_32S 11 /* Direct 32 bit sign extended */ +#define R_X86_64_16 12 /* Direct 16 bit zero extended */ +#define R_X86_64_PC16 13 /* 16 bit sign extended pc relative */ +#define R_X86_64_8 14 /* Direct 8 bit sign extended */ +#define R_X86_64_PC8 15 /* 8 bit sign extended pc relative */ + +#define R_X86_64_NUM 16 __END_DECLS diff -durpN glibc-2.2.4/elf/ldconfig.c glibc-2.2.5/elf/ldconfig.c --- glibc-2.2.4/elf/ldconfig.c Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/ldconfig.c Sun Jan 20 19:20:46 2002 @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 1999. @@ -260,7 +260,7 @@ print_version (FILE *stream, struct argp Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "2001"); +"), "2002"); fprintf (stream, gettext ("Written by %s.\n"), "Andreas Jaeger"); } @@ -699,6 +699,10 @@ search_dir (const struct dir_entry *entr { if (opt_verbose) error (0, errno, _("Cannot stat %s"), file_name); + + /* Remove stale symlinks. */ + if (strstr (direntry->d_name, ".so.")) + unlink (real_file_name); continue; } is_dir = S_ISDIR (stat_buf.st_mode); diff -durpN glibc-2.2.4/elf/ldd.bash.in glibc-2.2.5/elf/ldd.bash.in --- glibc-2.2.4/elf/ldd.bash.in Mon Jul 23 10:53:40 2001 +++ glibc-2.2.5/elf/ldd.bash.in Sun Jan 20 19:20:46 2002 @@ -1,5 +1,5 @@ #! @BASH@ -# Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -36,7 +36,7 @@ while test $# -gt 0; do case "$1" in --vers | --versi | --versio | --version) echo 'ldd (GNU libc) @VERSION@' - echo $"Copyright (C) 1999 Free Software Foundation, Inc. + echo $"Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper." diff -durpN glibc-2.2.4/elf/loadtest.c glibc-2.2.5/elf/loadtest.c --- glibc-2.2.4/elf/loadtest.c Fri Dec 1 11:55:02 2000 +++ glibc-2.2.5/elf/loadtest.c Sat Sep 8 09:21:22 2001 @@ -5,6 +5,7 @@ #include #include #include +#include /* How many load/unload operations do we do. */ @@ -139,6 +140,23 @@ main (int argc, char *argv[]) testobjs[index].name, testobjs[index].handle); testobjs[index].handle = NULL; + + if (testobjs[0].handle == NULL + && testobjs[1].handle == NULL + && testobjs[5].handle == NULL) + { + /* In this case none of the objects above should be + present. */ + for (map = _r_debug.r_map; map != NULL; map = map->l_next) + if (map->l_type == lt_loaded + && (strstr (map->l_name, testobjs[0].name) != NULL + || strstr (map->l_name, testobjs[1].name) != NULL + || strstr (map->l_name, testobjs[5].name) != NULL)) + { + printf ("`%s' is still loaded\n", map->l_name); + result = 1; + } + } } if (debug) @@ -151,8 +169,8 @@ main (int argc, char *argv[]) { printf ("\nclose: %s: l_initfini = %p, l_versions = %p\n", testobjs[count].name, - ((struct link_map*)testobjs[count].handle)->l_initfini, - ((struct link_map*)testobjs[count].handle)->l_versions); + ((struct link_map *) testobjs[count].handle)->l_initfini, + ((struct link_map *) testobjs[count].handle)->l_versions); if (dlclose (testobjs[count].handle) != 0) { diff -durpN glibc-2.2.4/elf/reldep2.c glibc-2.2.5/elf/reldep2.c --- glibc-2.2.4/elf/reldep2.c Sat Aug 26 16:37:48 2000 +++ glibc-2.2.5/elf/reldep2.c Sat Sep 8 09:21:56 2001 @@ -53,8 +53,8 @@ main (void) exit (1); } - /* Now close the first object. If must still be around since we have - a implicit dependency. */ + /* Now close the first object. It must still be around since we have + an implicit dependency. */ if (dlclose (h1) != 0) { printf ("closing h1 failed: %s\n", dlerror ()); diff -durpN glibc-2.2.4/elf/reldep4.c glibc-2.2.5/elf/reldep4.c --- glibc-2.2.4/elf/reldep4.c Tue May 22 16:53:38 2001 +++ glibc-2.2.5/elf/reldep4.c Sat Sep 22 08:43:35 2001 @@ -4,7 +4,7 @@ #include int -main() +main (void) { int i; void *h1, *h2; diff -durpN glibc-2.2.4/elf/reldep5.c glibc-2.2.5/elf/reldep5.c --- glibc-2.2.4/elf/reldep5.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldep5.c Sat Sep 22 08:44:27 2001 @@ -0,0 +1,70 @@ +#include +#include +#include +#include + +int +main (void) +{ + void *h1; + void *h2; + int (*fp) (void); + + mtrace (); + + /* Open the two objects. */ + h1 = dlopen ("reldepmod5.so", RTLD_LAZY); + if (h1 == NULL) + { + printf ("cannot open reldepmod5.so: %s\n", dlerror ()); + exit (1); + } + h2 = dlopen ("reldepmod6.so", RTLD_LAZY); + if (h2 == NULL) + { + printf ("cannot open reldepmod6.so: %s\n", dlerror ()); + exit (1); + } + + /* Get the address of the variable in reldepmod1.so. */ + fp = dlsym (h2, "bar"); + if (fp == NULL) + { + printf ("cannot get address of \"bar\": %s\n", dlerror ()); + exit (1); + } + + /* Call the function. */ + puts ("calling fp for the first time"); + if (fp () != 0) + { + puts ("function \"call_me\" returned wrong result"); + exit (1); + } + + /* Now close the first object. It must still be around since we have + an implicit dependency. */ + if (dlclose (h1) != 0) + { + printf ("closing h1 failed: %s\n", dlerror ()); + exit (1); + } + + /* Calling the function must still work. */ + puts ("calling fp for the second time"); + if (fp () != 0) + { + puts ("function \"call_me\" the second time returned wrong result"); + exit (1); + } + puts ("second call suceeded as well"); + + /* Close the second object, we are done. */ + if (dlclose (h2) != 0) + { + printf ("closing h2 failed: %s\n", dlerror ()); + exit (1); + } + + return 0; +} diff -durpN glibc-2.2.4/elf/reldep6.c glibc-2.2.5/elf/reldep6.c --- glibc-2.2.4/elf/reldep6.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldep6.c Sun Sep 30 16:28:24 2001 @@ -0,0 +1,97 @@ +#include +#include +#include +#include + +typedef int (*fn)(void); +#define CHUNKS 1024 +#define REPEAT 64 + +int +main (void) +{ + void *h1; + void *h2; + fn **foopp; + fn bar, baz; + int i, j; + int n; + void *allocs[REPEAT][CHUNKS]; + + mtrace (); + + /* Open the two objects. */ + h1 = dlopen ("reldep6mod3.so", RTLD_LAZY); + if (h1 == NULL) + { + printf ("cannot open reldep6mod3.so: %s\n", dlerror ()); + exit (1); + } + + foopp = dlsym (h1, "foopp"); + if (foopp == NULL) + { + printf ("cannot get address of \"foopp\": %s\n", dlerror ()); + exit (1); + } + n = (**foopp) (); + if (n != 20) + { + printf ("(**foopp)() return %d, not return 20\n", n); + exit (1); + } + + h2 = dlopen ("reldep6mod4.so", RTLD_LAZY); + if (h2 == NULL) + { + printf ("cannot open reldep6mod4.so: %s\n", dlerror ()); + exit (1); + } + + if (dlclose (h1) != 0) + { + printf ("closing h1 failed: %s\n", dlerror ()); + exit (1); + } + + /* Clobber memory. */ + for (i = 0; i < REPEAT; ++i) + for (j = 0; j < CHUNKS; ++j) + allocs[i][j] = calloc (1, j + 1); + + bar = dlsym (h2, "bar"); + if (bar == NULL) + { + printf ("cannot get address of \"bar\": %s\n", dlerror ()); + exit (1); + } + if (bar () != 40) + { + printf ("bar() did not return 40\n"); + exit (1); + } + + baz = dlsym (h2, "baz"); + if (baz == NULL) + { + printf ("cannot get address of \"baz\": %s\n", dlerror ()); + exit (1); + } + if (baz () != 31) + { + printf ("baz() did not return 31\n"); + exit (1); + } + + for (i = 0; i < REPEAT; ++i) + for (j = 0; j < CHUNKS; ++j) + free (allocs[i][j]); + + if (dlclose (h2) != 0) + { + printf ("closing h2 failed: %s\n", dlerror ()); + exit (1); + } + + return 0; +} diff -durpN glibc-2.2.4/elf/reldep6mod0.c glibc-2.2.5/elf/reldep6mod0.c --- glibc-2.2.4/elf/reldep6mod0.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldep6mod0.c Sun Sep 30 16:28:54 2001 @@ -0,0 +1,8 @@ +int bar (void); +extern void free (void *); + +int bar (void) +{ + free (0); + return 40; +} diff -durpN glibc-2.2.4/elf/reldep6mod1.c glibc-2.2.5/elf/reldep6mod1.c --- glibc-2.2.4/elf/reldep6mod1.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldep6mod1.c Sun Sep 30 16:28:54 2001 @@ -0,0 +1,14 @@ +int foo (void); +int baz (void); +extern int weak (void); +asm (".weak weak"); + +int foo (void) +{ + return 20; +} + +int baz (void) +{ + return weak () + 1; +} diff -durpN glibc-2.2.4/elf/reldep6mod2.c glibc-2.2.5/elf/reldep6mod2.c --- glibc-2.2.4/elf/reldep6mod2.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldep6mod2.c Sun Sep 30 16:28:54 2001 @@ -0,0 +1,3 @@ +extern int foo (void); + +void *foop = (void *) foo; diff -durpN glibc-2.2.4/elf/reldep6mod3.c glibc-2.2.5/elf/reldep6mod3.c --- glibc-2.2.4/elf/reldep6mod3.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldep6mod3.c Sun Sep 30 16:28:54 2001 @@ -0,0 +1,3 @@ +extern void *foop; + +void **foopp = &foop; diff -durpN glibc-2.2.4/elf/reldep6mod4.c glibc-2.2.5/elf/reldep6mod4.c --- glibc-2.2.4/elf/reldep6mod4.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldep6mod4.c Sun Sep 30 16:28:54 2001 @@ -0,0 +1,12 @@ +int foo (void); +int weak (void); + +int foo (void) +{ + return 10; +} + +int weak (void) +{ + return 30; +} diff -durpN glibc-2.2.4/elf/reldepmod5.c glibc-2.2.5/elf/reldepmod5.c --- glibc-2.2.4/elf/reldepmod5.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldepmod5.c Sat Sep 8 09:25:56 2001 @@ -0,0 +1,5 @@ +int +foo (void) +{ + return 42; +} diff -durpN glibc-2.2.4/elf/reldepmod6.c glibc-2.2.5/elf/reldepmod6.c --- glibc-2.2.4/elf/reldepmod6.c Wed Dec 31 16:00:00 1969 +++ glibc-2.2.5/elf/reldepmod6.c Sat Sep 8 09:25:56 2001 @@ -0,0 +1,7 @@ +extern int call_me (void); + +int +bar (void) +{ + return call_me (); +} diff -durpN glibc-2.2.4/elf/rtld.c glibc-2.2.5/elf/rtld.c --- glibc-2.2.4/elf/rtld.c Sat Aug 11 18:28:49 2001 +++ glibc-2.2.5/elf/rtld.c Wed Nov 7 15:58:50 2001 @@ -22,6 +22,7 @@ #include #include #include /* Check if MAP_ANON is defined. */ +#include #include #include #include @@ -120,13 +121,20 @@ struct link_map _dl_rtld_map; struct libname_list _dl_rtld_libname; struct libname_list _dl_rtld_libname2; +/* We expect less than a second for relocation. */ +#ifdef HP_SMALL_TIMING_AVAIL +# undef HP_TIMING_AVAIL +# define HP_TIMING_AVAIL HP_SMALL_TIMING_AVAIL +#endif + /* Variable for statistics. */ #ifndef HP_TIMING_NONAVAIL static hp_timing_t rtld_total_time; static hp_timing_t relocate_time; static hp_timing_t load_time; #endif -extern unsigned long int _dl_num_relocations; /* in dl-lookup.c */ +extern unsigned long int _dl_num_relocations; /* in dl-lookup.c */ +extern unsigned long int _dl_num_cache_relocations; /* in dl-reloc.c */ static ElfW(Addr) _dl_start_final (void *arg, struct link_map *bootstrap_map_p, hp_timing_t start_time); @@ -134,10 +142,10 @@ static ElfW(Addr) _dl_start_final (void #ifdef RTLD_START RTLD_START #else -#error "sysdeps/MACHINE/dl-machine.h fails to define RTLD_START" +# error "sysdeps/MACHINE/dl-machine.h fails to define RTLD_START" #endif -static ElfW(Addr) +static ElfW(Addr) __attribute_used__ _dl_start (void *arg) { struct link_map bootstrap_map; @@ -546,6 +554,8 @@ of this helper program; chances are you _dl_loaded->l_map_end = 0; /* Perhaps the executable has no PT_LOAD header entries at all. */ _dl_loaded->l_map_start = ~0; + /* We opened the file, account for it. */ + ++_dl_loaded->l_opencount; /